/*
Theme Name: Iuri Studio
Description: A lightweight, accessible theme for Iuri Santos’s software and systems practice. Use with Iuri Site Setup for the planned page layouts.
Author: Drive By Websites Ltd
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: iuri-studio
*/
@font-face{font-family:"Barlow Semi Condensed";src:url("assets/fonts/barlow-semi-condensed-latin-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url("assets/fonts/barlow-semi-condensed-latin-700-normal.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("assets/fonts/source-sans-3-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("assets/fonts/source-sans-3-latin-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
:root{
	--ink:#0B0F14;--pale:#FAFFFB;--lime:#C0FF3E;--blue:#4361EE;
	--head:"Barlow Semi Condensed","Arial Narrow",sans-serif;--body:"Source Sans 3","Segoe UI",sans-serif;
	--gutter:32px;--width:1240px;--focus:var(--ink);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--pale);color:var(--ink);font:400 1.125rem/1.6 var(--body);overflow-wrap:break-word}
img,svg,video{max-width:100%}
img{height:auto}
button,input,textarea,select{font:inherit}
button,summary{cursor:pointer}
[hidden]{display:none!important}
h1,h2,h3,h4,h5,h6,p,ul,ol{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--head);line-height:1.07;letter-spacing:-.017em;text-wrap:balance}
h1{font-size:clamp(2.75rem,5.4vw,4.5rem)}
h2{font-size:clamp(2.125rem,3.65vw,3rem)}
h3{font-size:clamp(1.5rem,2.6vw,1.875rem)}
a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:.08em}
:focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:3px}
main:focus{outline:none}
.iu-wrap{width:min(calc(100% - var(--gutter) * 2),var(--width));margin-inline:auto}
.iu-icon{width:1.16em;height:1.16em;display:inline-block;vertical-align:-.16em;flex:none}
.iu-skip{position:fixed;top:8px;left:8px;z-index:100001;padding:12px 24px;background:var(--pale);color:var(--ink);transform:translateY(-180%)}
.iu-skip:focus{transform:none}
.iu-surface-ink,.iu-header,.iu-footer{background:var(--ink);color:var(--pale);--focus:var(--pale);--em:var(--lime);--button:var(--lime);--button-text:var(--ink)}
.iu-surface-lime{background:var(--lime);color:var(--ink);--focus:var(--ink);--em:var(--ink);--button:var(--ink);--button-text:var(--pale)}
.iu-surface-blue{background:var(--blue);color:var(--pale);--focus:var(--pale);--em:var(--lime);--button:var(--lime);--button-text:var(--ink)}
.iu-surface-pale{background:var(--pale);color:var(--ink);--focus:var(--ink);--em:var(--blue);--button:var(--blue);--button-text:var(--pale)}
.iu-em{color:var(--em,inherit)}
.iu-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;max-width:100%;padding:12px 24px;color:var(--button-text,var(--pale));background:var(--button,var(--ink));border:0;border-radius:6px;font-weight:600;font-size:1.0625rem;line-height:1.3;text-decoration:none;transition:transform .15s}
.iu-button:active{transform:translateY(1px)}
.iu-text-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:underline;padding-block:4px}
.iu-surface-pale .iu-text-link,.iu-faq .iu-text-link,.iu-prose a{color:var(--blue)}
.iu-surface-ink .iu-text-link{color:var(--lime)}
.iu-text-link .iu-icon{width:18px;height:18px}
.iu-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:20px}
.iu-links:empty{display:none}
.iu-header{position:relative;z-index:5}
.iu-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}
.iu-brand,.iu-footer-name{color:var(--pale);text-decoration:none;font:700 2rem/1.1 var(--head);letter-spacing:-.02em}
.iu-brand{position:relative;display:inline-flex;align-items:center;min-height:48px;max-width:100%;padding-right:4px}
.iu-navigation{margin-left:auto}
.iu-header-linkedin{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;color:var(--pale)}
.iu-nav-list .iu-header-linkedin .iu-icon{width:25px;height:25px}
.iu-header-linkedin>span{display:none}
.iu-nav-list,.iu-submenu{list-style:none;padding:0}
.iu-nav-list{display:flex;align-items:center;gap:4px;font-size:1.0625rem;font-weight:600}
.iu-nav-link,.iu-menu-toggle{display:flex;align-items:center;gap:8px;padding:10px 14px;min-height:48px;font-size:1.0625rem;font-weight:600;line-height:1.25;border:0;border-radius:6px;text-decoration:none}
.iu-nav-link{color:inherit;background:transparent}
.iu-nav-link .iu-icon{width:21px;height:21px}
.iu-nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:none}
.iu-dropdown[open]>summary{background:var(--pale);color:var(--ink)}
.iu-nav-link.iu-current-blue{background:var(--blue);color:var(--pale)}
.iu-nav-link.iu-current-lime{background:var(--lime);color:var(--ink)}
.iu-nav-link.iu-current-pale,.iu-nav-link.iu-current-ink{background:var(--pale);color:var(--ink)}
.iu-dropdown{position:relative}
.iu-dropdown>summary{list-style:none;user-select:none}
.iu-dropdown>summary::-webkit-details-marker{display:none}
.iu-dropdown>summary>.iu-icon:last-child{width:14px;height:14px}
.iu-dropdown[open]>summary>.iu-icon:last-child{transform:rotate(180deg)}
.iu-submenu{position:absolute;right:0;top:100%;width:min(355px,85vw);padding:12px;background:var(--pale);color:var(--ink);--focus:var(--ink);box-shadow:0 10px 25px rgb(11 15 20 / 14%);border-radius:6px}
.iu-submenu .iu-nav-link{min-height:60px;gap:12px}
.iu-submenu .iu-nav-icon{padding:8px;border-radius:6px}
.iu-submenu .iu-icon{width:26px;height:26px}
.iu-submenu .iu-nav-link small{display:block;margin-top:3px;font-size:1rem;font-weight:400;line-height:1.3}
.iu-parent-link{display:block;padding:8px 14px;background:var(--pale);color:var(--ink)}
.iu-menu-toggle{background:var(--pale);color:var(--ink);justify-content:center}
.iu-menu-close-icon,.iu-menu-toggle[aria-expanded=true] .iu-menu-open-icon{display:none}
.iu-menu-toggle[aria-expanded=true] .iu-menu-close-icon{display:inline}
.iu-menu-toggle{display:none}
.iu-hero-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"copy art";align-items:center;gap:48px}
.iu-art-group{grid-area:art;width:100%;max-width:560px;justify-self:center;display:grid;justify-items:center;padding:28px 0 24px;min-width:0}
.iu-art{position:relative;min-width:0;width:100%;display:grid;justify-items:center}
.iu-home-title{width:100%;font-size:clamp(2.5rem,4vw,3.65rem);margin:12px 0 24px;text-align:center}
.iu-laptop{width:100%;max-width:550px;display:block;position:relative;z-index:1}
.iu-ring{display:none;position:absolute;inset:auto 0;top:0;width:100%;aspect-ratio:1;transform-origin:50% 50%}
.iu-ring svg{display:block;width:100%;height:100%;overflow:visible}
.iu-ring text{fill:var(--pale);font:700 27px var(--head);letter-spacing:0}
.iu-ring-accent{fill:var(--lime)}
.iu-art-group.iu-ring-running .iu-art{aspect-ratio:1.2;display:flex;align-items:flex-end;justify-content:center}
.iu-art-group.iu-ring-running .iu-ring{display:block;animation:iu-circle-turn var(--iu-turn,32s) linear infinite}
.iu-ring-running .iu-home-title,.iu-type-enhanced>.iu-type-source{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.iu-art-group.iu-ring-running .iu-laptop{width:93%}
@keyframes iu-circle-turn{to{transform:rotate(1turn)}}
.iu-motion-toggle{display:inline-flex;align-items:center;gap:7px;min-height:48px;margin-top:4px;padding:10px 12px;background:transparent;color:var(--pale);border:0;font-size:1rem;font-weight:600}
.iu-motion-toggle:hover{color:var(--lime);text-decoration:underline}
.iu-play-icon,.iu-motion-toggle.iu-paused .iu-pause-icon{display:none}
.iu-motion-toggle.iu-paused .iu-play-icon{display:block}
.iu-home-intro{grid-area:copy;min-width:0;padding-bottom:64px}
.iu-home-intro p{max-width:540px;padding-block:64px;font-size:clamp(1.75rem,2.55vw,2rem);font-weight:600;line-height:1.21;text-wrap:pretty}
.iu-home-intro p>span{display:block;margin-top:18px;font-size:clamp(1.25rem,1.75vw,1.375rem);line-height:1.48;font-weight:400}
.iu-service-selector{display:grid;grid-template-columns:repeat(var(--iu-count,4),minmax(0,1fr))}
.iu-card{display:grid;grid-template-rows:auto auto 1fr;align-content:start;padding:clamp(24px,2.5vw,40px);text-decoration:none;min-width:0}
.iu-card-icon{display:block;margin-bottom:24px}
.iu-card-icon .iu-icon{display:block;width:clamp(64px,5.4vw,80px);height:auto}
.iu-card h2{font-size:clamp(1.75rem,2.65vw,2.65rem);margin-bottom:16px;line-height:1.07;min-height:2.15em}
.iu-card p{max-width:33ch}
.iu-card:focus-visible h2{text-decoration:underline;text-underline-offset:.12em;text-decoration-thickness:.06em}
.iu-card:focus-visible{outline-offset:-6px}
@supports(grid-template-rows:subgrid){.iu-card{grid-row:span 3;grid-template-rows:subgrid}}
.iu-home-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.iu-home-section{min-width:0;padding:clamp(64px,5.55vw,88px) var(--gutter)}
.iu-home-section:nth-child(odd){padding-inline-start:max(var(--gutter),calc((100vw - var(--width))/2));padding-inline-end:clamp(32px,4vw,64px)}
.iu-home-section:nth-child(even){padding-inline-end:max(var(--gutter),calc((100vw - var(--width))/2));padding-inline-start:clamp(32px,4vw,64px)}
.iu-home-section h2{margin-bottom:24px}
.iu-home-section p+p,.iu-closing p,.iu-info-head p,.iu-service-head p{margin-top:16px}
.iu-home-section p{max-width:66ch}
.iu-closing{padding-block:clamp(64px,6vw,88px)}
.iu-closing-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}
.iu-closing-inner>div{max-width:720px}
.iu-closing .iu-button{flex:none}
.iu-footer-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px}
.iu-footer-name{font-size:1.65rem}
.iu-footer a{font-weight:600}
.iu-footer-inner{flex-wrap:wrap}
.iu-footer-links,.iu-footer-privacy,.iu-contact-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;min-width:0}
.iu-footer-privacy:empty,.iu-contact-links:empty{display:none}
.iu-footer-privacy{gap:4px 16px}
.iu-contact-links{margin-top:28px;align-items:flex-start;flex-direction:column;gap:2px}
.iu-detail-link{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px}
.iu-detail-link>span{min-width:0;overflow-wrap:anywhere}
.iu-about-head{display:grid;align-items:center;gap:40px}
.iu-about-with-photo{grid-template-columns:minmax(0,1fr) minmax(240px,360px)}
.iu-about-portrait{display:block;width:100%;height:auto;border-radius:8px}
.iu-profile{min-width:0}
.iu-profile>.iu-detail-link{color:var(--blue)}
.iu-lead{font-size:clamp(1.25rem,1.9vw,1.5rem);line-height:1.45;max-width:690px;text-wrap:pretty}
.iu-service-head,.iu-info-head{padding-block:clamp(72px,7vw,100px)}
.iu-service-head-inner{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr);gap:48px;align-items:center}
.iu-service-head h1,.iu-info-head h1{max-width:820px}
.iu-service-head .iu-lead,.iu-info-head .iu-lead{margin-top:24px}
.iu-service-head .iu-button,.iu-info-head .iu-button{margin-top:32px}
.iu-service-symbol{justify-self:center}
.iu-service-symbol .iu-icon{display:block;width:clamp(120px,12vw,180px);height:auto}
.iu-reading-band{padding-block:clamp(64px,5.8vw,88px)}
.iu-reading-inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);grid-template-rows:auto;gap:16px clamp(48px,7vw,112px)}
.iu-reading-inner .iu-section-body{max-width:710px}
.iu-section-body p+p{margin-top:16px}
.iu-info-head h1{max-width:790px}
.iu-faq{padding-block:72px}
.iu-faq-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px 64px}
.iu-faq-group+.iu-faq-group,.iu-faq-extra{margin-top:72px}
.iu-question+.iu-question{margin-top:12px}
.iu-question h3{font-size:clamp(1.375rem,1.9vw,1.6rem)}
.iu-question button{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;width:100%;min-height:60px;background:var(--ink);color:var(--pale);border:0;text-align:left;font:inherit;line-height:1.2}
.iu-question button:disabled{cursor:auto;opacity:1}
.iu-faq-state{flex:none}
.iu-faq-state .iu-icon{width:22px;height:22px}
.iu-faq-minus,.iu-question button:disabled .iu-faq-state,.iu-question button[aria-expanded=true] .iu-faq-plus{display:none}
.iu-question button[aria-expanded=true] .iu-faq-minus{display:inline}
.iu-answer{padding:20px 24px 24px}
.iu-answer a{margin-top:8px;margin-right:16px}
.iu-faq-extra{max-width:710px}
.iu-faq-extra h2{margin-bottom:16px}
.iu-contact-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.iu-contact-form-panel,.iu-contact-aside{padding:64px var(--gutter);min-width:0}
.iu-contact-form-panel{padding-inline-start:max(var(--gutter),calc((100vw - var(--width))/2));padding-inline-end:clamp(32px,4vw,64px)}
.iu-contact-aside{padding-inline-end:max(var(--gutter),calc((100vw - var(--width))/2));padding-inline-start:clamp(32px,4vw,64px)}
.iu-contact-aside h2{margin-bottom:24px}
.iu-contact-aside section+section,.iu-contact-aside section+p{margin-top:32px}
.iu-contact-aside p+p{margin-top:16px}
.iu-page{padding-block:clamp(48px,6vw,88px);min-height:40vh}
.iu-prose{max-width:720px}
.iu-prose>*+*,.iu-page>article+article,.iu-page>h1+article,.iu-page>.iu-button{margin-top:1em}
.iu-prose ul,.iu-prose ol{padding-inline-start:1.4em}
.iu-prose{margin-top:24px}
.iu-prose .alignwide,.iu-prose .alignfull{max-width:100%}
.iu-type-source{display:inline}
.iu-type-copy{display:inline}
.iu-type-word,.iu-type-char{display:inline-block}
.iu-type-char{position:relative}
.iu-type-pending{visibility:hidden}
.iu-type-cursor::after{content:"";position:absolute;left:100%;top:.12em;height:.9em;width:2px;background:currentColor}
.iu-type-finished::after{animation:iu-blink 1s step-end 3}
@keyframes iu-blink{50%{opacity:0}}
.iu-transition-layer{position:fixed;inset:0;pointer-events:none;opacity:0;z-index:100000}
.iu-transition-layer.iu-transition-active{opacity:.97;transition:opacity .2s linear}
@media(max-width:1023px){
	:root{--gutter:24px}
	.iu-header-inner{min-height:72px;flex-wrap:wrap;gap:0 8px}
	.iu-brand{min-height:72px}
	.iu-menu-toggle:not([hidden]){display:flex;margin-left:auto}
	.iu-navigation{order:1;width:100%;margin-left:0;padding-block:4px 16px}
	.iu-nav-list{display:block}
	.iu-header-linkedin{justify-content:flex-start}
	.iu-header-linkedin>span{display:inline}
	.iu-nav-link{width:100%}
	.iu-submenu{position:static;width:auto;padding:8px;box-shadow:none}
	.iu-dropdown>summary>.iu-icon:last-child{margin-left:auto}
	.iu-hero-inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"art" "copy";gap:0;justify-items:center}
	.iu-art-group{max-width:520px;padding-bottom:0}
	.iu-home-intro{width:min(100%,620px);padding-bottom:40px}
	.iu-home-intro p{max-width:none;padding-block:40px}
	.iu-service-selector{grid-template-columns:repeat(2,minmax(0,1fr))}
	.iu-card{padding:32px}
	.iu-home-sections,.iu-contact-layout{grid-template-columns:minmax(0,1fr)}
	.iu-home-section:nth-child(n){padding:64px var(--gutter)}
	.iu-home-section .iu-section-body{max-width:720px}
	.iu-faq-group{grid-template-columns:1fr;gap:24px}
	.iu-reading-inner{grid-template-columns:minmax(0,1fr);gap:24px}
	.iu-contact-form-panel,.iu-contact-aside{padding:48px var(--gutter)}
}
@media(max-width:767px){
	:root{--gutter:20px}
	h1{font-size:clamp(2.25rem,7.6vw,2.75rem)}
	h2{font-size:clamp(1.875rem,6.5vw,2.125rem)}
	.iu-brand{font-size:1.75rem}
	.iu-art-group{max-width:380px;padding-top:28px}
	.iu-home-title{font-size:clamp(2.25rem,7.6vw,2.75rem)}
	.iu-ring text{font-size:33px}
	.iu-home-intro p{font-size:clamp(1.5rem,5.6vw,1.75rem)}
	.iu-home-intro p>span{font-size:1.2rem}
	.iu-home-section:nth-child(n),.iu-service-head,.iu-info-head,.iu-reading-band,.iu-closing,.iu-faq{padding-block:48px}
	.iu-card{padding:24px var(--gutter)}
	.iu-service-head-inner{display:flex;align-items:flex-start;flex-direction:column-reverse;gap:24px}
	.iu-service-symbol .iu-icon{width:80px}
	.iu-closing-inner{display:grid;gap:24px;justify-items:start}
	.iu-footer-inner{align-items:flex-start;flex-direction:column;gap:16px}
	.iu-footer-links{align-items:flex-start;flex-direction:column;gap:0}
	.iu-about-with-photo{grid-template-columns:minmax(0,1fr);gap:32px}
	.iu-about-portrait{width:min(100%,320px)}
	.iu-faq-group+.iu-faq-group,.iu-faq-extra{margin-top:48px}
	.iu-question button,.iu-answer{padding:16px}
}
@media(max-width:599px){
	.iu-service-selector{grid-template-columns:minmax(0,1fr)}
	.iu-card{grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;grid-row:auto;column-gap:20px}
	.iu-card-icon{grid-area:1/1/span 2/2;margin-bottom:0}
	.iu-card-icon .iu-icon{width:52px}
	.iu-card h2{min-height:0;margin-bottom:8px}
	.iu-card p{grid-column:2;max-width:none}
}
@media(max-width:359px){:root{--gutter:16px}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){
	*,*::before,*::after{animation-duration:0s!important;transition-duration:0s!important}
	.iu-transition-layer,.iu-motion-toggle,.iu-art-group.iu-ring-running .iu-ring{display:none}
	.iu-art-group.iu-ring-running .iu-art{display:grid;aspect-ratio:auto}
	.iu-ring-running .iu-home-title{position:static;width:100%;height:auto;padding:0;margin:12px 0 24px;overflow:visible;clip-path:none;white-space:normal}
	.iu-type-cursor::after{display:none}
}
@media(forced-colors:active){
	.iu-button,.iu-nav-link[aria-current],.iu-question button,.iu-menu-toggle{border:2px solid ButtonText}
	.iu-em,.iu-ring-accent{color:inherit}
}
@media print{
	body{font-size:11pt;background:white;color:black}
	.iu-header,.iu-footer,.iu-motion-toggle,.iu-transition-layer,.iu-ring,.iu-button{display:none!important}
	[class*="iu-surface-"]{color:black!important;background:white!important}
	.iu-hero-inner,.iu-home-sections,.iu-service-selector,.iu-reading-inner,.iu-contact-layout,.iu-faq-group{display:block}
	.iu-art-group.iu-ring-running .iu-art{display:grid;aspect-ratio:auto}
	.iu-home-title,.iu-type-enhanced>.iu-type-source{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip-path:none!important;white-space:normal!important}
	.iu-type-copy,.iu-laptop{display:none!important}
	.iu-answer[hidden]{display:block!important}
	.iu-contact-form-panel{display:none}
}
.iu-art-group.iu-ring-running .iu-art{overflow:hidden}
/* Continue the ink surface behind the laptop's foot, so the lower arc
   disappears behind the silver base at every rotation angle. */
.iu-ring-running .iu-art::after{content:"";position:absolute;z-index:0;inset:auto 0 0;height:5%;background:var(--ink);pointer-events:none}
.iu-name-typing .iu-ring-running .iu-ring{animation-play-state:paused}

.iu-service-head.iu-surface-lime .iu-em{color:var(--blue)}
@media(min-width:1024px){
	.iu-reading-accent-lime,.iu-reading-accent-blue{position:relative}
	.iu-reading-accent-lime::before,.iu-reading-accent-blue::before{content:"";position:absolute;inset:0 auto 0 0;width:calc(50% - min(11%,120px));background:var(--lime)}
	.iu-reading-accent-blue::before{background:var(--blue)}
	.iu-reading-accent-lime .iu-reading-inner,.iu-reading-accent-blue .iu-reading-inner{position:relative}
	.iu-reading-accent-lime h2{color:var(--ink)}
	.iu-reading-accent-blue h2{color:var(--pale)}
}
/* Give ordinary contact links the same icon as the header and footer details. */
a[href^="tel:" i]:not(:has(svg))::before,
a[href^="mailto:" i]:not(:has(svg))::before{
	content:"";
	display:inline-block;
	width:1em;
	height:1em;
	margin-right:.35em;
	vertical-align:-.12em;
	background-color:currentColor;
	mask:center / contain no-repeat var(--iu-contact-icon);
}
a[href^="tel:" i]{--iu-contact-icon:url("assets/icons/phone.svg")}
a[href^="mailto:" i]{--iu-contact-icon:url("assets/icons/envelope.svg")}
/* The About section already names the profile in its h2. */
.iu-profile .ip-title{display:none}
