/* Round 1 — clear commercial action within the existing visual world. */
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px}.hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:52px;padding:15px 20px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.3}.hero-cta svg{width:22px;height:22px;flex-shrink:0;transition:transform .25s}.hero-cta:hover svg{transform:translate(3px,-3px)}
@media(prefers-reduced-motion:reduce){.hero-cta svg{transition:none}}
.hero{padding-top:42px}.hero-type{align-items:center;margin-bottom:42px}.hero-copy{max-width:37ch}.hero-copy p{max-width:32ch}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-cta{background:var(--blue);color:#fff;border-radius:5px}.hero-actions>.text-link{font-size:14px}.hero-scene{padding-top:44px}
@media(max-width:760px){.hero{padding-top:25px}.hero-type{margin-bottom:32px}.hero h1{margin-bottom:22px}.hero-actions{gap:20px}.hero-cta{font-size:14px;min-height:50px;padding:14px 18px}.hero-scene{height:auto;min-height:575px;padding:28px 25px 65px;gap:0}.scene-photo{width:100%;height:210px;max-width:520px}.scene-photo img{object-position:center}.scene-platform{width:93%;margin-top:-8px}.photo-caption{font-size:11px}.scene-label{font-size:11px;left:25px;right:25px}.hero-copy{padding-bottom:0}}

/* Round 2 — a compact profile story and a legible community diagram. */
.role-experience{grid-template-columns:.55fr 1.7fr;gap:4.5vw;padding-top:38px}.role-panel{grid-template-columns:.95fr 1fr;gap:30px;align-items:center}.role-detail h3{font-size:28px;line-height:1.22;max-width:23ch}.role-detail p{font-size:17px;line-height:1.65;max-width:42ch}.role-detail ul{display:grid;gap:12px;font-size:14px;line-height:1.5}.role-detail li{align-items:flex-start}.role-detail li:before{margin-top:8px;flex-shrink:0}.role-visual{padding:24px;border-radius:12px;width:100%;margin:0}.visual-head{font-size:14px;line-height:1.5;margin-bottom:18px}.visual-row{align-items:flex-start;flex-direction:column;gap:7px;font-size:14px;line-height:1.4;padding:17px 18px}.visual-row span{font-size:12px;line-height:1.5}.visual-bottom{font-size:13px;line-height:1.5;padding-top:17px}.map-lines{stroke:#718ba2;stroke-width:1.4;stroke-dasharray:none}.map-center{border-radius:12px;width:116px;height:116px}.map-item>span{font-size:20px}.map-item small{font-size:14px;line-height:1.5;color:#c6d3df;max-width:22ch}.connect-intro p{line-height:1.7}
@media(max-width:1100px){.role-panel{display:block}.role-visual{margin-top:28px;max-width:650px}.role-detail h3{font-size:29px}.map-item>span{font-size:18px}.map-item small{font-size:12px}}
@media(max-width:760px){.scene-platform{margin-top:16px}.role-experience{display:block;padding-top:10px}.role-panel{display:block}.role-detail h3{font-size:28px;line-height:1.23}.role-detail p{font-size:17px}.role-detail ul{font-size:14px;gap:11px}.role-visual{padding:20px;margin-top:28px}.visual-row{padding:16px;font-size:14px;gap:5px}.visual-row span{font-size:12px}.visual-head{font-size:14px}.map-center{width:100px;height:100px;border-radius:12px}.map-item>span{font-size:16px}.map-item small{font-size:12px;max-width:15ch}.map-item{padding:12px 0}.connect-map{height:400px}}
:root{--field-surface:#173cc4;--field-border:#7d96f1;--field-focus:#d3ed7c;--field-placeholder:#dce4ff;--field-text:#ffffff;--feedback-ground:#d3ed7c;--feedback-ink:#10243b;--faq-open:#e9eefb;--faq-active:#2348e5}
/* Round 3 — inputs read as controls, and feedback has a deliberate visual state. */
.contact-section{align-items:start}.contact-form label{font-size:15px;line-height:1.5;gap:9px;margin-bottom:23px}.contact-form input:not([type=checkbox]),.contact-form textarea{background:var(--field-surface);border:1px solid var(--field-border);border-radius:6px;min-height:54px;padding:14px 16px;font-size:18px;line-height:1.4;caret-color:currentColor;transition:border-color .2s,background-color .2s}.contact-form textarea{min-height:140px}.contact-form input:not([type=checkbox]):focus,.contact-form textarea:focus{border:1px solid var(--field-focus);outline:2px solid var(--field-focus);outline-offset:3px}.contact-form input:not([type=checkbox])::placeholder,.contact-form textarea::placeholder{color:var(--field-placeholder);opacity:1}.contact-form .consent{font-size:13px;line-height:1.65;gap:13px;margin:5px 0 24px}.contact-form .consent input{width:19px;height:19px;min-height:19px;margin-top:2px;padding:0;flex-shrink:0}.contact-form .button{min-height:56px;font-size:15px;padding:17px 23px}.form-status:empty{min-height:0;margin:0}.form-status[data-state]{min-height:0;padding:15px 18px;border-radius:6px;line-height:1.65;font-size:14px;background:var(--field-surface);color:var(--field-text);margin-top:20px;overflow-wrap:anywhere}.form-status[data-state=success]{background:var(--feedback-ground);color:var(--feedback-ink)}.form-status[data-state=error]{background:#f6d5c7;color:#4f2d2f}.form-status[data-state=auth] a{font-weight:600;text-underline-offset:4px}.faq details{padding:0 18px}.faq details[open]{background:var(--faq-open)}.faq summary{font-size:18px;line-height:1.5;padding:25px 42px 25px 0}.faq summary:hover,.faq details[open] summary{color:var(--faq-active)}.faq summary:after,.faq details[open] summary:after{content:'';position:absolute;width:16px;height:1.5px;right:8px;top:37px;background:currentColor;border:0;transform:none}.faq summary:before{content:'';position:absolute;width:1.5px;height:16px;right:15.25px;top:29.75px;background:currentColor;transition:transform .22s}.faq details[open] summary:before{transform:rotate(90deg)}.faq details p{font-size:17px;line-height:1.7;margin-bottom:26px;max-width:57ch}
@media(max-width:760px){.contact-form label{font-size:14px}.contact-form input:not([type=checkbox]),.contact-form textarea{font-size:17px;padding:14px;min-height:52px}.contact-form textarea{min-height:135px}.contact-form .button{font-size:14px}.contact-form .consent{font-size:13px}.faq details{padding:0 14px}.faq summary{font-size:17px;line-height:1.5;padding:22px 38px 22px 0}.faq summary:after{top:34px}.faq summary:before{top:26.75px}.faq details p{font-size:16px;line-height:1.7}.form-status[data-state]{font-size:14px;padding:15px}}
@media(max-width:520px){.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.contact-form input,.contact-form textarea,.faq summary:before{transition:none}}

/* Round 4 — persistent wayfinding with real section selection. */
html{scroll-padding-top:112px}.header{z-index:60}.header.is-scrolled{box-shadow:0 8px 28px #10243b18}.nav a[aria-current=location]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}.nav a{transition:color .2s}.nav-cta:hover svg{transform:translate(2px,-2px)}.nav-cta svg{transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.menu-toggle span{transition:transform .2s}
@media(max-width:760px){html{scroll-padding-top:96px}.header .nav{top:100%}.nav a[aria-current=location]{text-underline-offset:6px}}
@media(prefers-reduced-motion:reduce){.nav a,.nav-cta svg,.menu-toggle span{transition:none}}
.header{position:sticky;top:0;height:86px}.header .nav a[aria-current=location]{color:inherit}
@media(max-width:760px){.header{height:76px}}
.map-replay{display:inline-flex;align-items:center;gap:18px;margin-top:28px;min-height:46px;padding:11px 16px;border:1px solid #728b99;border-radius:5px;background:none;color:var(--lime);font-size:14px}.map-replay svg{width:19px;height:19px}.map-replay:hover{border-color:var(--lime)}.map-replay:disabled{opacity:.6;cursor:wait}.map-lines path{stroke-linecap:round;stroke-linejoin:round}

/* Round 5 — the narrow header retains breathing room and full touch targets. */
@media(max-width:360px){.header{gap:8px}.header .wordmark{font-size:25px;gap:7px}.header .wordmark svg{width:25px;height:25px}.header .nav-cta{gap:7px;padding:10px}.header .nav-cta svg{display:none}.header .menu-toggle{flex:0 0 44px}.scene-label{font-size:10px}.photo-caption{font-size:10px}}

/* Finish review F1 — labels outside the illustration stay legible. */
.photo-caption,.scene-label,.illustrative{font-size:11px}
@media(max-width:360px){.photo-caption,.scene-label,.illustrative{font-size:11px}}
