/* Shared public-site chrome. Extend the approved electric / timber homepage.
   Navigation, grid and inner-page heroes must use this file on every route. */
.site-shell{--content-gutter:clamp(20px,5vw,96px);--site-width:1600px}
.site-shell .wrap,.site-shell>header .wrap,.site-shell .hero-v2-content{width:calc(100% - 2 * var(--content-gutter));max-width:var(--site-width);margin-inline:auto;padding-inline:0}
.site-shell>header{position:absolute!important;inset:0 0 auto;z-index:20;background:transparent!important;box-shadow:none}
.site-shell>header .header-row{padding-block:14px;gap:24px;min-height:74px}
.site-shell>header .brand{flex:none}
.site-shell>header .brand svg{height:20px;width:auto;display:block}
.site-shell>header #site-nav{gap:clamp(20px,2.1vw,34px);padding:12px 20px;border:1px solid rgba(226,247,240,.16);border-radius:999px;background:rgba(7,29,34,.84);box-shadow:inset 0 1px rgba(255,255,255,.16),inset 0 -1px rgba(213,242,233,.035),0 3px 12px rgba(0,10,15,.06)}
.site-shell>header #site-nav .navlink{position:relative;display:block;white-space:nowrap;font:400 12px/1.6 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#edf4ef;text-shadow:0 1px 5px rgba(1,15,20,.35);text-decoration:none}
.site-shell>header #site-nav .navlink.accent{color:#f1c396}
.site-shell>header #site-nav .navlink:hover{color:#fff}
.site-shell>header #site-nav .navlink[aria-current=page]{color:#f1c396}
.site-shell>header #site-nav .navlink[aria-current=page]::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:#d98a4b}
.site-shell a:focus-visible,.site-shell button:focus-visible{outline:2px solid #d98a4b;outline-offset:5px}
.site-shell>header .nav-toggle{border-radius:999px;border:1px solid rgba(226,247,240,.22);background:rgba(7,29,34,.84);box-shadow:inset 0 1px rgba(255,255,255,.15);color:#edf4ef;min-height:42px}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .site-shell>header #site-nav{background:linear-gradient(115deg,rgba(241,255,250,.075),rgba(220,245,239,.025) 52%,rgba(230,250,248,.05));-webkit-backdrop-filter:blur(12px) saturate(150%) brightness(.65);backdrop-filter:blur(12px) saturate(150%) brightness(.65)}
}
/* The five primary links switch together before their labels collide. */
@media(max-width:1100px){
 .js .site-shell>header .nav-toggle{display:inline-flex;align-items:center}
 .js .site-shell>header #site-nav{display:none;position:absolute;left:var(--content-gutter);right:var(--content-gutter);top:calc(100% - 4px);padding:8px;border-radius:24px;flex-direction:column;align-items:stretch;gap:0;background:rgba(7,29,34,.94)}
 .js .site-shell>header.nav-open #site-nav{display:flex}
 .js .site-shell>header.nav-open #site-nav .navlink{display:block;padding:15px 16px;border-top:1px solid rgba(226,247,240,.1);font-size:13px}
 .js .site-shell>header.nav-open #site-nav .navlink:first-child{border-top:0}
 .site-shell>header #site-nav .navlink[aria-current=page]::after{display:none}
 .js .site-shell>header.nav-open #site-nav .navlink[aria-current=page]{background:rgba(226,247,240,.06);border-radius:12px}
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-shell>header .nav-toggle{background:rgba(230,250,243,.055);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%)}
  .js .site-shell>header.nav-open #site-nav{background:linear-gradient(120deg,rgba(238,252,245,.045),rgba(220,245,239,.015)),rgba(7,29,34,.74);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}
 }
 html:not(.js) .site-shell>header .header-row{align-items:flex-start}
 html:not(.js) .site-shell>header #site-nav{flex-wrap:wrap;justify-content:flex-end;border-radius:20px;gap:12px 20px}
 html:not(.js) .site-shell>header #site-nav .navlink{display:inline-block;font-size:10px;white-space:normal}
}
@media(min-width:1101px){.site-shell>header .nav-toggle{display:none}.site-shell>header #site-nav{display:flex;position:static;flex-direction:row;align-items:center}}
/* Inner pages share the scene, typography and alignment; the home retains its motion. */
.site-inner .page-hero{isolation:isolate;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:610px;background:#061a20;color:#edf3ee;padding:0}
.site-inner .page-visual{position:absolute;inset:0;z-index:-2;pointer-events:none}
.site-inner .page-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.site-inner .page-visual .page-inlay{opacity:.65}
.site-inner .page-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,20,25,.96),rgba(3,20,25,.88) 36%,rgba(3,20,25,.38) 69%,rgba(3,20,25,.13)),linear-gradient(0deg,rgba(3,20,25,.8),transparent 48%);pointer-events:none}
.site-inner .page-hero .inner{flex:0;display:block;padding-top:156px;padding-bottom:0;position:relative}
.site-inner .page-hero .kicker,.site-inner .page-hero .research-kicker{display:block;margin:0 0 26px!important;font:400 10px/1.7 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#d3a26e}
.site-inner .page-hero h1{font:500 clamp(46px,5.3vw,80px)/1.06 'Space Grotesk',Inter,sans-serif;letter-spacing:-.045em;max-width:19ch;margin:0 0 28px;text-wrap:balance;color:#f2f4f2}
.site-inner .page-hero .baseband{border:0;position:relative;margin-top:auto}
.site-inner .page-hero .baseband .pulse{display:none;animation:none}
.site-inner .page-hero .baseband .row{display:flex;align-items:flex-start;flex-direction:column;gap:24px;padding-block:0 40px}
.site-inner .page-hero .baseband .sub{font-size:17px;line-height:1.7;max-width:640px;color:#c6d5ce}
.site-inner .page-hero .baseband .sub strong{font-weight:500;color:#edf3ee}
.site-inner .page-hero .baseband .micro{order:3;padding-top:18px!important;font-size:9px;letter-spacing:.11em;color:#a9c0b7;border-top:1px solid #9fbbae44;width:100%;margin-top:8px}
.site-inner .page-hero .baseband .micro br{display:none}
.site-inner .page-hero .baseband .micro br::after{content:' '}
.site-inner .page-hero .btn{background:#e8efe5;color:#0a292e;white-space:normal}
.site-inner .page-hero .btn:hover{background:#fff}
.site-inner .page-hero .research-deck{font-size:19px;line-height:1.65;max-width:660px!important;color:#c6d5ce;margin:0 0 28px}
.site-inner .page-hero .research-meta{font:11px/1.7 'IBM Plex Mono',monospace;color:#adc1b9;margin:26px 0 0!important}
.site-inner.site-research .page-hero .inner{padding-bottom:58px}
.site-inner.site-research .page-hero{min-height:550px}
.site-inner.site-research-article .page-hero h1{font-size:clamp(38px,4.5vw,66px);max-width:24ch}
.site-inner .page-hero .research-back{display:inline-block;font-size:12px;color:#c9d8d0;margin-bottom:25px;text-decoration:none}
.site-inner.site-research-article .page-hero .inner{padding-top:126px}
/* The wide page grid and restrained reading measures coexist. */
.site-inner .copy-section,.site-inner .textact{padding-block:clamp(64px,6.5vw,104px)}
.site-inner .copy-section+.copy-section{padding-top:32px}
.site-inner .copy-section h2,.site-inner .textact h2{font-weight:500;font-size:clamp(30px,3.4vw,50px);line-height:1.12;letter-spacing:-.03em;max-width:29ch}
.site-inner .ledger .rows>div{grid-template-columns:64px minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,64px);padding-block:32px}
.site-inner .ledger h3{font-weight:500;line-height:1.15;max-width:25ch}
.site-inner .ledger .rows p{font-size:16px;max-width:66ch}
.site-inner .statement{padding-block:clamp(70px,8vw,125px)}
.site-inner .statement .lede{max-width:38ch;font-size:clamp(29px,3.4vw,49px);line-height:1.2;letter-spacing:-.025em}
.site-inner .textact .body{max-width:70ch;font-size:17px}
.site-inner .chain-band img{max-width:var(--site-width);width:calc(100% - 2 * var(--content-gutter));margin:auto;padding-block:30px}
.site-inner .startact .role-head h2{font-weight:500;letter-spacing:-.03em}
.site-inner .startact .btn{background:#0f2f33;color:#edf3ee}
.site-inner .startact .btn:hover{background:#224c4e}
.site-shell .research-zone{background:var(--paper);color:var(--paper-ink)}
.site-shell .research-zone h1,.site-shell .research-zone h2,.site-shell .research-zone h3{font-family:'Space Grotesk',Inter,sans-serif;font-weight:500}
.site-shell .research-kicker,.site-shell .research-diagram span{font-family:'IBM Plex Mono',monospace}
.site-research-main>.research-body{padding:76px var(--content-gutter) 90px}
.site-research-main>.research-body>.research-feature{max-width:var(--site-width);margin:0 auto 65px;gap:clamp(30px,5vw,80px)}
.site-research-main>.research-body>.research-head{max-width:var(--site-width)}
.site-research-main>.research-body>.research-head>p{max-width:70ch}
.site-shell .research-feature h2{font-size:clamp(28px,3vw,43px);line-height:1.14}
.site-research-main .research-layout{max-width:1280px;margin:0 auto;grid-template-columns:220px minmax(0,800px);gap:clamp(40px,5vw,80px)}
.site-shell .research-toc{font-family:Inter,sans-serif}
.site-shell .research-section h2{font-size:clamp(27px,2.5vw,36px)}
.site-shell .research-section p{color:#425e5d}
.site-shell>footer{border-top:1px solid var(--black-line);background:var(--black);margin:0}
.site-shell>footer .inner{padding-block:72px 40px}
.site-shell>footer .foot-grid{grid-template-columns:minmax(0,1.15fr) minmax(210px,.8fr) auto;gap:44px;align-items:start}
.site-shell>footer .foot-boiler{max-width:60ch;font-size:15px}
.site-shell>footer .btn{background:#e8efe5;color:#0a292e}
@media(max-width:1000px){
 .site-research-main .research-layout{grid-template-columns:minmax(0,1fr);gap:36px;max-width:800px}
 .site-shell>footer .foot-grid{grid-template-columns:1fr 1fr}.site-shell>footer .foot-cta{grid-column:1/-1;justify-self:start}
}
@media(max-width:760px){
 .site-inner .page-hero{min-height:0}
 .site-inner .page-hero .inner{padding-top:128px}
 .site-inner .page-hero h1{font-size:clamp(38px,9vw,58px);max-width:19ch;margin-bottom:26px}
 .site-inner .page-hero .kicker,.site-inner .page-hero .research-kicker{font-size:9px;letter-spacing:.09em;margin-bottom:21px!important}
 .site-inner .page-hero::after{background:linear-gradient(90deg,rgba(3,20,25,.91),rgba(3,20,25,.62)),linear-gradient(0deg,rgba(3,20,25,.94),transparent 75%)}
 .site-inner .page-visual img{object-position:65% top}
 .site-inner .page-hero .baseband .row{gap:23px;padding-bottom:30px}
 .site-inner .page-hero .baseband .sub,.site-inner .page-hero .research-deck{font-size:16px;max-width:100%!important}
 .site-inner .page-hero .btn{font-size:14px;padding:14px 20px;max-width:100%}
 .site-inner.site-research .page-hero{min-height:0}
 .site-inner.site-research .page-hero .inner{padding:128px 0 42px}
 .site-inner.site-research-article .page-hero h1{font-size:clamp(34px,8vw,48px)}
 .site-inner .ledger .rows>div{grid-template-columns:1fr;gap:12px;padding-block:28px}
 .site-inner .ledger .rows p{font-size:15px}
 .site-inner .statement .lede{font-size:clamp(27px,6.4vw,36px)}
 .site-inner .statement-support,.site-inner .textact .body{font-size:16px}
 .site-research-main>.research-body{padding:44px var(--content-gutter) 60px}
 .site-research-main>.research-body>.research-feature{grid-template-columns:1fr;gap:32px;margin-bottom:45px}
 .site-shell>footer .foot-grid{grid-template-columns:1fr;gap:28px}.site-shell>footer .foot-cta{grid-column:auto}
 .site-shell>footer .inner{padding-block:48px 30px}
}
@media print{.site-shell>header,.site-inner .page-visual{display:none!important}.site-inner .page-hero::after{display:none}.site-inner .page-hero{background:white;color:#153438;min-height:0}.site-inner .page-hero h1,.site-inner .page-hero .research-deck,.site-inner .page-hero .research-meta{color:#153438}.site-inner .page-hero .inner{padding-top:20px!important}.site-research-main>.research-body{padding:20px 0}}
@media(max-width:1100px){html:not(.js) .site-shell>header{position:relative!important;background:#061a20!important}html:not(.js) .site-inner .page-hero .inner{padding-top:60px}}

/* Official social profile: shared footer */
.foot-contact{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.foot-row .foot-social{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-bottom:0}
.foot-social svg{width:14px;height:14px;flex:none;fill:currentColor}
.foot-social:focus-visible{outline:2px solid var(--copper-d);outline-offset:5px}

/* Website legal links: ordinary text, independent of primary navigation. */
.foot-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px 24px}
.foot-legal nav{display:flex;gap:20px}.foot-legal nav a{font-size:12px}
.foot-legal .legal{max-width:100%}
@media(max-width:760px){.foot-legal{justify-content:flex-start}.foot-row{align-items:flex-start;gap:22px}.foot-legal .legal{flex-basis:100%;line-height:1.6}}
