/* Shared page chrome. Keep this after the page styles. */
/* Keep the existing main-content fade; whole-document snapshots also capture
   the persistent bars and can abort on cross-page section jumps. */
@view-transition{navigation:none}
:root{--site-header-height:95px;--contact-bar-height:83px;
 --brand-night:#0d151e;--brand-sky:#b4dcfa;--brand-sky-hover:#d5edff;--brand-pine:#27634e;--brand-ivory:#f4f1ea;--brand-paper:#fbfaf7;
 --brand-white:#edf2f6;--brand-muted:#b4c4d2;--brand-line:#405363;
 --bg:var(--brand-night);--blue:var(--brand-sky);--text:var(--brand-white);--muted:var(--brand-muted);--rule:var(--brand-line)}
html{scroll-padding-top:calc(var(--site-header-height) + 22px);scroll-padding-bottom:calc(var(--contact-bar-height) + 24px)}
body{padding-bottom:calc(var(--contact-bar-height) + 20px)}
main [id],main[id]{scroll-margin-top:0}
#solution-story,#work,#solution-workspace,#solution-opportunity{scroll-margin-top:0}
.header{position:sticky;top:0;z-index:40;background:linear-gradient(125deg,#172330f5,#101922ed 65%,#192938ed);border-bottom:1px solid #91bad53d;box-shadow:0 8px 32px #0004;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.header .header-inner{min-height:94px;position:relative;flex-wrap:nowrap;gap:28px;padding-block:12px}
.header .brand{font:18px/1.25 var(--mono);letter-spacing:.08em;flex:none}
.header .brand span{display:block;margin:0}
.header .nav{display:flex;width:auto;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:nowrap}
.header .nav a{font:600 17px/1.4 var(--sans);text-decoration:none}
.header .nav-home,.nav-group-heading>a{display:flex;align-items:center;min-height:46px;padding:10px 0;white-space:nowrap}
.header .nav a:hover,.header .nav a[aria-current=page]{color:#b5dfff}
.header .nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px}
.nav-group{position:relative}
.nav-group-heading{display:flex;align-items:center;gap:1px}
.nav-toggle,.menu-toggle{align-items:center;justify-content:center;min-height:44px;background:transparent;border:1px solid transparent;border-radius:6px;color:#afc5d6;cursor:pointer}
.nav-toggle{display:flex;width:30px;padding:0;margin-right:-6px}
.nav-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform 180ms}
.nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.nav-toggle:hover,.nav-toggle[aria-expanded=true]{background:#9acfff14;color:#d9edfc}
.header .nav .outline{display:flex;gap:16px;align-items:center;justify-content:center;padding:12px 19px;min-height:48px;border:1px solid #b9dcf170;border-radius:6px;background:#a1d2ff0a;font:600 16px/1.4 var(--sans);white-space:nowrap}
.header .nav .outline:hover{background:#b5dbff1c}
.nav-panel{position:absolute;top:calc(100% + 13px);left:-20px;width:310px;max-height:calc(100dvh - var(--site-header-height) - var(--contact-bar-height) - 32px);overflow:auto;list-style:none;margin:0;padding:10px;border:1px solid #9fc9e74d;border-radius:10px;background:linear-gradient(135deg,#263b4cfb,#16232efc 70%);box-shadow:0 18px 50px #0007;animation:navigation-arrive 180ms ease-out both}
.nav-group:last-of-type .nav-panel{left:auto;right:-12px}
.header .nav-panel a{display:block;padding:13px 14px;border-radius:6px;font:600 16px/1.4 var(--sans);white-space:normal}
.header .nav-panel a:hover,.header .nav-panel a:focus-visible{background:#addbff12;color:#e1f1ff;outline-offset:-3px}
.nav-panel a small{display:block;color:#b3c5d3;font:400 13px/1.5 var(--sans);margin-top:4px}
.nav-panel[hidden],.nav-toggle[hidden],.menu-toggle[hidden]{display:none!important}
.menu-toggle{display:none;gap:10px;padding:8px 12px;font:600 15px/1.4 var(--sans);border-color:#a7ccea40}
.menu-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}
.skip{position:fixed;z-index:60;top:-120px}
.skip:focus{top:12px}
.contact-bar{position:fixed;inset:auto 0 0;z-index:35;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #a5cde547;background:linear-gradient(115deg,#1a2c3af7,#111d29f5 65%,#203648f5);box-shadow:0 -10px 35px #0003;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.contact-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px}
.contact-inner>p{color:#e0ecf4;font:500 16px/1.45 var(--sans)}
.contact-eyebrow{display:block;color:#96b6cf;font:10px/1.6 var(--mono);letter-spacing:.14em;margin-bottom:2px}
.contact-actions{display:flex;align-items:center;gap:12px}
.contact-actions a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 18px;border:1px solid #9ec9e137;border-radius:6px;text-decoration:none;font:500 15px/1.5 var(--sans);white-space:nowrap;background:#a3ccef07}
.contact-actions a:hover{background:#a3ccef1a;border-color:#a3ccef80}
.contact-actions .contact-phone{background:#badfff;color:#142536;border-color:#badfff;font-weight:600}
.contact-actions .contact-phone:hover{background:#d3ebff}
.contact-actions svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.contact-email-short{display:none}
.field-control{position:static;margin-bottom:24px}
@keyframes navigation-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1440px) and (min-width:1281px){
 .header .nav{gap:12px}
 .header .nav a{font-size:16px}
 .header .header-inner{gap:20px}
 .header .brand{font-size:16px}
 .header .nav .outline{padding-inline:14px}
}
@media(max-width:1280px){
 :root{--site-header-height:79px;--contact-bar-height:75px}
 .header .header-inner{min-height:78px;padding-block:12px;gap:16px}
 .header .brand{font-size:16px}
 .navigation-ready .menu-toggle{display:flex}
 .header .nav{justify-content:flex-start;flex-wrap:wrap;gap:8px 18px}
 .navigation-ready .header .nav{position:absolute;top:100%;left:0;right:0;display:none;max-height:calc(100dvh - var(--site-header-height) - var(--contact-bar-height) - 16px);overflow-y:auto;overscroll-behavior:contain;padding:12px 16px 18px;background:linear-gradient(135deg,#233646fd,#121f2bfc);border:1px solid #a4cee744;border-radius:0 0 10px 10px;box-shadow:0 18px 38px #0006}
 .navigation-ready .header .nav.is-open{display:block;animation:navigation-arrive 180ms ease-out both}
 .header .nav a{font-size:17px}
 .nav-group{border-top:1px solid #a4cee723}
 .nav-group-heading{justify-content:space-between;gap:12px}
 .nav-group-heading>a{flex:1;min-height:53px}
 .nav-toggle{width:44px;margin:0}
 .header .nav-home{min-height:50px}
 .nav-panel,.nav-group:last-of-type .nav-panel{position:static;width:100%;max-height:none;border:0;border-left:1px solid #7da6c56b;border-radius:0;box-shadow:none;background:#a6d7ff06;margin:0 0 14px;padding:4px 6px}
 .header .nav-panel a{font-size:15px;padding:12px}
 .nav-panel a small{font-size:12px}
 .header .nav .outline{margin-top:10px;width:100%}
 .contact-inner{min-height:74px}
 .contact-inner>p{display:none}
 .contact-actions{width:100%;justify-content:center}
 .contact-actions a{flex:1;max-width:360px}
 html:not(.navigation-ready) .header{position:relative}
 html:not(.navigation-ready) .header-inner{flex-wrap:wrap}
 html:not(.navigation-ready) .nav{width:100%}
 html:not(.navigation-ready){scroll-padding-top:20px}
}
@media(max-width:600px){
 .header .header-inner,.contact-inner{width:calc(100% - 32px)}
 .header .brand{font-size:14px}
 .contact-inner{gap:0;padding-block:10px;min-height:70px}
 .contact-actions{gap:8px}
 .contact-actions a{font-size:13px;padding:10px 11px;gap:8px;min-height:48px}
 .contact-actions svg{width:17px;height:17px}
 .contact-email-full{display:none}
 .contact-email-short{display:inline}
}
@media(prefers-reduced-motion:reduce){
 .nav-panel,.navigation-ready .header .nav.is-open{animation:none}
 .nav-toggle svg{transition:none}
}

/* Geometric type and transparent-window review, September 7.
   Jost is the OFL-licensed Futura-inspired alternative, not Futura. */
@font-face{font-family:'Jost';src:url('assets/fonts/Jost-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Jost';src:url('assets/fonts/Jost-Italic-Variable.ttf') format('truetype');font-style:italic;font-weight:100 900;font-display:swap}
:root{--sans:'Jost',Arial,Helvetica,sans-serif;--type-display:clamp(48px,5.6vw,86px);--type-section:clamp(34px,3.9vw,58px)}
body{font-size:19px}
.hero-content h1,.page-intro h1,.service h1,.about-intro h1,.disclosure-page .page-intro h1{font-size:var(--type-display);line-height:1.04;font-weight:400;letter-spacing:-.035em}
.hero-content h1{font-size:clamp(56px,6.5vw,100px);max-width:820px}
.about-intro h1{font-size:clamp(48px,5.2vw,80px);letter-spacing:-.035em}
main :is(.value-story,.growth-story,.value-evidence,.ticket-story,.solution-heading,.task-section-heading,.about-story,.partnership-intro,.roles-section,.boundary-section,.owner-flow) h2{font-size:var(--type-section);font-weight:400;line-height:1.08;letter-spacing:-.025em}
main .solution-teaser h2{font-size:clamp(34px,3.7vw,52px);line-height:1.1}
main .faq h2,main .pilot h2{font-size:clamp(30px,2.5vw,38px);line-height:1.18}
.page-intro>p:not(.report-date),.hero-content>p{font-size:clamp(20px,1.65vw,25px);line-height:1.6}
.about-intro .about-lead{font-size:25px!important;line-height:1.55}
.about-intro>p:not(.status-label):not(.about-lead){font-size:19px}
.status-label{font-size:11px;letter-spacing:.12em}
.header .brand{font-family:var(--sans);font-weight:600;letter-spacing:.12em}
.header .nav-home,.header .nav-group-heading>a{font-size:18px;font-weight:500}
.header .nav-panel a{font-size:21px;font-weight:500;line-height:1.25;padding:15px 14px;color:#f0f7fc}
.nav-panel a small{font:400 13px/1.45 var(--sans);color:#e0edf7;margin-top:5px}
.header .nav-panel a:hover,.header .nav-panel a:focus-visible{background:#e0f1ff16;color:#fff}

/* A sibling backdrop keeps dropdowns free to blur the page underneath.
   Applying blur to the header itself would bound descendant backdrops. */
.header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.header::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,#172330ed,#101922e8 65%,#192938e8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.nav-panel{width:330px;background:linear-gradient(135deg,rgba(18,30,43,.68),rgba(20,37,52,.78));border:1px solid #cce7f870;box-shadow:inset 0 1px 0 #e6f4ff1a,0 18px 50px #0005;backdrop-filter:blur(12px) saturate(115%);-webkit-backdrop-filter:blur(12px) saturate(115%)}

@media(max-width:1440px) and (min-width:1281px){
 .header .nav-home,.header .nav-group-heading>a{font-size:17px}
 .header .nav{gap:12px}
}
@media(max-width:1280px){
 .navigation-ready .header .nav{background:linear-gradient(135deg,rgba(18,30,43,.68),rgba(20,37,52,.78));border-color:#cce7f870;box-shadow:inset 0 1px 0 #e6f4ff1a,0 18px 38px #0005;backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%)}
 .nav-panel,.nav-group:last-of-type .nav-panel{width:100%;background:linear-gradient(110deg,rgba(172,216,248,.06),rgba(172,216,248,.015));backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:0;border-left:1px solid #badcf561}
 .header .nav-home,.header .nav-group-heading>a{font-size:21px}
 .header .nav-panel a{font-size:19px;padding:13px 12px}
 .nav-panel a small{font-size:12px}
 .about-intro .about-lead{font-size:22px!important}
}
@media(max-width:760px){
 :root{--type-display:clamp(46px,9vw,68px);--type-section:clamp(34px,6.4vw,46px)}
 body{font-size:18px}
 .hero-content h1{font-size:clamp(52px,10vw,76px)}
 .about-intro h1{font-size:clamp(46px,9.5vw,66px)}
 .about-intro>p:not(.status-label):not(.about-lead){font-size:18px}
 .about-intro .about-lead{font-size:21px!important}
 .page-intro>p:not(.report-date),.hero-content>p{font-size:20px}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .nav-panel,.navigation-ready .header .nav{background:linear-gradient(135deg,#1b2d3bed,#142332f5)}
}
@media(prefers-reduced-transparency:reduce){
 .nav-panel,.navigation-ready .header .nav{background:#182a39;backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* Approved brand-frame refinement: solid header, vector signature,
   clear glass rims, and fixed icon-only contact actions. */
:root{--contact-bar-height:0px;--contact-clearance:120px}
html{scroll-padding-bottom:var(--contact-clearance)}
body{padding-bottom:var(--contact-clearance)}
.header{background:transparent;border-bottom-color:#bedfff45;box-shadow:0 5px 24px #020b1659;backdrop-filter:none;-webkit-backdrop-filter:none}
/* Blur only this sibling surface, never the dropdowns' ancestor. */
.header::before{display:block;background:rgba(5,11,18,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.header .header-inner{width:calc(100% - 64px);max-width:1600px;min-height:98px;padding-block:14px;gap:24px;justify-content:space-between}
.header .brand{display:flex;align-items:center;gap:13px;text-decoration:none;letter-spacing:0;color:#eff7ff;zoom:1.2}
.brand-mark{width:60px;height:60px;flex:none;object-fit:contain;overflow:visible}
.brand-orbit{fill:none;stroke:#8dcfff;stroke-width:1.5}
.brand-a{fill:#eaf5ff;fill-rule:evenodd}
.brand-i,.brand-node{fill:#91cfff}
.header .brand .brand-wordmark{display:flex;flex-direction:column;gap:2px}
.header .brand .brand-line{font:500 16px/1 var(--sans);letter-spacing:.24em}
.header .brand .brand-name{font:600 25px/1.12 var(--sans);letter-spacing:.055em}
.header .nav{flex:1;justify-content:center;gap:22px;margin-left:24px}
.header .nav .nav-home,.header .nav-group-heading>a{font-size:21px;font-weight:500}
.header .nav .outline{font-size:18px;padding-inline:25px;background:var(--brand-sky);color:var(--brand-night);border-color:var(--brand-sky);border-radius:999px}
.header .nav .outline:hover{background:var(--brand-sky-hover)}
.nav-toggle{color:#c4ddee}
.nav-panel{background:linear-gradient(135deg,rgba(8,19,31,.10),rgba(8,19,31,.16));border-color:#c4eaff9c;border-top-color:#e5f7ffd9;box-shadow:inset 0 1px 0 #f2fbff66,inset 1px 0 0 #bddfff26,0 0 18px #83caff24,0 20px 48px #0006;backdrop-filter:none;-webkit-backdrop-filter:none;max-height:calc(100dvh - var(--site-header-height) - 30px)}
.header .nav-panel a{color:#f6faff;text-shadow:0 1px 5px #061220cc}
.nav-panel a small{color:#e4f0fb;text-shadow:0 1px 4px #061220cc}
.contact-bar{inset:auto max(24px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) auto;width:auto;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}
.contact-inner,.contact-inner.wrap{width:auto;min-height:0;padding:0;margin:0;gap:0}
.contact-actions{width:auto;gap:12px}
.contact-actions a{pointer-events:auto;flex:none;width:78px;height:78px;min-height:78px;padding:0;border-radius:50%;border:1px solid #b3d8f29c;background:#233e59;color:#f4faff;box-shadow:inset 0 1px 0 #ffffff30,0 6px 24px #0006;transition:background-color 160ms,border-color 160ms}
.contact-actions a:hover{background:#325474;border-color:#e8f6ff}
.contact-actions .contact-phone{background:var(--brand-sky);color:var(--brand-night);border-color:var(--brand-sky)}
.contact-actions .contact-phone:hover{background:var(--brand-sky-hover)}
.contact-actions svg{width:32.5px;height:32.5px;stroke-width:1.65}
.contact-actions a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.page-intro{padding-top:54px;padding-bottom:44px}
.about-hero{padding-top:48px;padding-bottom:60px;gap:48px}
.hero-content{padding-top:64px}
@media(min-width:1281px) and (max-width:1440px){
 .header .header-inner{width:calc(100% - 48px);gap:18px}
 .header .nav{gap:15px;margin-left:12px}
 .header .nav .nav-home,.header .nav-group-heading>a{font-size:19px}
 .header .brand .brand-name{font-size:23px}
 .header .nav .outline{padding-inline:16px;font-size:17px}
}
@media(max-width:1280px){
 .header .header-inner{min-height:88px}
 .header .nav{flex:none;margin-left:0}
 .header .brand .brand-name{font-size:24px}
 .brand-mark{width:54px;height:54px}
 .navigation-ready .header .nav{background:linear-gradient(135deg,rgba(8,19,31,.10),rgba(8,19,31,.16));border-color:#c4eaff9c;box-shadow:inset 0 1px 0 #f2fbff66,0 0 18px #83caff24,0 20px 48px #0006;backdrop-filter:none;-webkit-backdrop-filter:none;max-height:calc(100dvh - var(--site-header-height) - var(--contact-clearance))}
 .nav-panel,.nav-group:last-of-type .nav-panel{background:linear-gradient(110deg,#a6d7ff0a,#a6d7ff02);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;max-height:none;border:0;border-left:1px solid #c4eaff9c}
 .header .nav .nav-home,.header .nav-group-heading>a{font-size:23px}
 .header .nav-panel a{font-size:20px}
 .menu-toggle{font-size:17px;color:#e4f2fc;border-color:#badcfa66}
}
@media(max-width:760px){
 :root{--contact-clearance:110px}
 .header .header-inner{width:calc(100% - 32px);min-height:82px;gap:10px;padding-block:12px}
 .header .brand{gap:9px}
 .brand-mark{width:46px;height:46px}
 .header .brand .brand-line{font-size:12px;letter-spacing:.23em}
 .header .brand .brand-name{font-size:20px;letter-spacing:.045em}
 .menu-toggle{padding:8px 10px;gap:7px;font-size:15px}
 .contact-bar{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
 .contact-actions{gap:10px}
 .contact-actions a{width:67.6px;height:67.6px;min-height:67.6px}
 .contact-actions svg{width:29.9px;height:29.9px}
 .page-intro{padding-top:34px;padding-bottom:30px}
 .about-hero{padding-top:32px;padding-bottom:42px;gap:30px}
 .hero-content{padding-top:36px}
}
@media(max-width:360px){
 .header .brand .brand-name{font-size:17px}
 .header .brand .brand-line{font-size:11px}
 .brand-mark{width:40px;height:40px}
 .header .brand{gap:7px}
 .menu-toggle{padding-inline:8px;gap:5px}
}
@media(max-width:400px){
 .menu-toggle{width:44px;padding:8px;flex:none}
 .menu-toggle>span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .nav-panel,.navigation-ready .header .nav{background:#152a3ef5}
}
@media(prefers-reduced-transparency:reduce){
 .nav-panel,.navigation-ready .header .nav{background:#182a39;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(prefers-reduced-motion:reduce){
 .contact-actions a{transition:none}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .header::before{background:#080f18f5}
}
@media(prefers-reduced-transparency:reduce){
 .header::before{background:#080f18;backdrop-filter:none;-webkit-backdrop-filter:none}
}
/* Keep the live field sharp through clear menus; quiet competing page copy. */
body:has(.header .nav-toggle[aria-expanded=true]) main>*,
body:has(.header .menu-toggle[aria-expanded=true]) main>*{opacity:.18}
/* Clear menus no longer depend on backdrop-filter support. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .nav-panel{background:linear-gradient(135deg,rgba(8,19,31,.10),rgba(8,19,31,.16))}
}
@media(max-width:1280px){
 @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .navigation-ready .header .nav{background:linear-gradient(135deg,rgba(8,19,31,.10),rgba(8,19,31,.16))}
 }
}
@media(prefers-reduced-transparency:reduce){
 .nav-panel,.navigation-ready .header .nav{background:#182a39}
}
