:root{
  --bg:#FAFAF9;
  --fg:#080503;
  --muted:#ECEBE7;
  --muted-fg:#5E534A;
  --border:#DAD7D0;
  --surface:#F3F2EE;
  --accent-surface:#E7E4DD;
  --card:#FFFFFF;
  --signal:#00C950;
  --brand-blue:#465EAB;
  --brand-purple:#9356A3;
  --brand-pink:#EC1C55;
  --news-blue:#1B3DA3;
  --news-blue-deep:#0B1A47;
  --news-tile-sky:#7C9AE8;
  --fg-5:rgba(8,5,3,.05);
  --fg-10:rgba(8,5,3,.10);
  --fg-20:rgba(8,5,3,.20);
  --fg-40:rgba(8,5,3,.40);
  --fg-60:rgba(8,5,3,.60);
  --font-display:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gutter:clamp(22px, 4.2vw, 64px);
  --maxw:1400px;
  --radius:16px;
  --ease-out-expo:cubic-bezier(.22,1,.36,1);
  --ease-inout-quint:cubic-bezier(.77,0,.175,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; background:var(--bg)}
body{margin:0; background:var(--bg); color:var(--fg); font-family:var(--font-display); font-size:16px; line-height:1.5; font-weight:400; -webkit-font-smoothing:antialiased; overflow-x:hidden}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer}
h1,h2,h3,h4,h5,p,figure,blockquote{margin:0}
ul{margin:0; padding:0; list-style:none}
canvas{display:block; width:100%; height:100%}
img{max-width:100%; height:auto}
sub,sup{font-size:.7em}
.wrap{max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter)}
.mono{font-family:var(--font-mono)}
.tnum{font-variant-numeric:tabular-nums}
.brand-mark{display:flex; align-items:center; gap:12px}
.brand-dots{display:flex; gap:5px}
.brand-dots i{width:8px; height:8px; border-radius:50%; display:block}
.brand-dots i:nth-child(1){background:var(--brand-blue)}
.brand-dots i:nth-child(2){background:var(--brand-purple)}
.brand-dots i:nth-child(3){background:var(--brand-pink)}
.brand-dots i:nth-child(4){background:#F37328}
.brand-dots i:nth-child(5){background:#F6D00C}
.brand-word{font-size:15px; letter-spacing:.08em; text-transform:uppercase}
.eyebrow{font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; color:var(--muted-fg); display:inline-flex; align-items:center; gap:16px}
.eyebrow::before{content:""; width:32px; height:1px; background:var(--fg-20); display:block}
.eyebrow.bare{display:block; letter-spacing:.18em}
.eyebrow.bare::before{display:none}
h1{font-size:clamp(2.75rem,min(11vw,15vh),8.5rem); line-height:.9; letter-spacing:-.03em; font-weight:400}
.h2{font-size:clamp(2.1rem,4.6vw,3.5rem); line-height:1.02; letter-spacing:-.025em; font-weight:400}
.h2 .dim{color:var(--muted-fg); display:block}
.lede{font-size:clamp(1rem,1.4vw,1.125rem); color:var(--muted-fg); line-height:1.6; max-width:34em}
.btn{display:inline-flex; align-items:center; gap:10px; height:48px; padding:0 26px; border-radius:999px; font-size:15px; font-weight:500; white-space:nowrap; transition:transform .3s var(--ease-out-expo), background-color .3s ease, color .3s ease, border-color .3s ease}
.btn svg{transition:transform .3s var(--ease-out-expo); flex:none}
.btn-solid{background:var(--fg); color:var(--bg)}
.btn-ghost{border:1px solid var(--border); background:transparent}
@media (hover:hover) and (pointer:fine){.btn:hover svg{transform:translateX(4px)}.btn-solid:hover{transform:translateY(-2px)}.btn-ghost:hover{border-color:var(--fg); transform:translateY(-2px)}}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--fg); outline-offset:3px}
.textlink{border-bottom:1px solid var(--fg-20); padding-bottom:2px; transition:border-color .3s ease}
@media (hover:hover) and (pointer:fine){.textlink:hover{border-color:var(--fg)}}
.site-header{position:fixed; z-index:50; top:0; left:0; right:0; transition:top .5s ease,left .5s ease,right .5s ease}
.site-header.is-stuck{top:16px; left:16px; right:16px}
.site-nav{max-width:var(--maxw); margin:0 auto; height:80px; display:flex; align-items:center; justify-content:space-between; padding-inline:var(--gutter); background:transparent; border:1px solid transparent; border-radius:0; box-shadow:none; transition:max-width .5s ease, background-color .5s ease, border-color .5s ease, border-radius .5s ease, box-shadow .5s ease, backdrop-filter .5s ease, height .5s ease}
.is-stuck .site-nav{max-width:1200px; height:64px; padding-inline:clamp(18px,2vw,30px); background:rgba(250,250,249,.8); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); border-color:var(--fg-10); border-radius:var(--radius); box-shadow:0 10px 15px -3px rgba(0,0,0,.06),0 4px 6px -4px rgba(0,0,0,.06)}
.brand{display:flex; align-items:center; text-decoration:none}
.nav-links{display:flex; gap:34px; font-size:14px; list-style:none; margin:0; padding:0}
.nav-links a{color:var(--muted-fg); transition:color .3s ease}
.nav-right{display:flex; align-items:center; gap:20px; font-size:14px}
.nav-right .mailto{color:var(--muted-fg); transition:color .3s ease; font-family:var(--font-mono); font-size:13px}
@media (hover:hover) and (pointer:fine){.nav-links a:hover{color:var(--fg)}.nav-right .mailto:hover{color:var(--fg)}}
.nav-toggle{display:none; width:40px; height:40px; align-items:center; justify-content:center}
.nav-toggle span{display:block; width:20px; height:1px; background:var(--fg); position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:""; position:absolute; left:0; width:20px; height:1px; background:var(--fg)}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}
.nav-open .nav-toggle span{background:transparent}
.nav-open .nav-toggle span::before{transform:translateY(6px) rotate(45deg)}
.nav-open .nav-toggle span::after{transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{position:fixed; inset:0; z-index:45; background:var(--bg); padding:120px var(--gutter) 40px; display:flex; flex-direction:column; gap:8px; opacity:0; pointer-events:none; transition:opacity .4s ease}
.nav-open .mobile-menu{opacity:1; pointer-events:auto}
.mobile-menu a.big{font-size:clamp(2rem,9vw,3rem); letter-spacing:-.02em; padding:8px 0}
.hero{position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:center; overflow:hidden}
.hero-field,.hero-gradient{position:absolute; inset:0}
.hero-scrim{position:absolute; inset:0; pointer-events:none; background:linear-gradient(96deg,rgba(250,250,249,.84) 0%,rgba(250,250,249,.75) 28%,rgba(250,250,249,.38) 47%,rgba(250,250,249,0) 68%)}
.hero-topfade{position:absolute; left:0; right:0; top:0; height:170px; pointer-events:none; background:linear-gradient(180deg,rgba(250,250,249,.95) 0%,rgba(250,250,249,.78) 42%,rgba(250,250,249,0) 100%)}
.hero-botfade{position:absolute; left:0; right:0; bottom:0; height:190px; pointer-events:none; background:linear-gradient(0deg,rgba(250,250,249,.95) 0%,rgba(250,250,249,.72) 45%,rgba(250,250,249,0) 100%)}
@media(max-width:900px){.hero-scrim{background:rgba(250,250,249,.86)}}
.hero-inner{position:relative; z-index:2; width:100%; max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter); padding-top:120px; padding-bottom:200px}
.hero h1 .row{display:block}
.word-slot{position:relative; display:inline-block}
.word-slot .chars{display:inline-flex}
.word-slot .bar{position:absolute; left:0; right:0; bottom:-8px; height:12px; background:var(--fg-10)}
.hero .lede{margin-top:40px; max-width:32em; font-size:clamp(1.0625rem,1.5vw,1.1875rem)}
.hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:40px}
.hero-device{position:absolute; right:var(--gutter); bottom:186px; z-index:2; width:clamp(210px, min(30vw, 38vh), 440px)}
.hero-device-fallback{aspect-ratio:4/5; background:linear-gradient(160deg,#ecebe7,#fff); border:1px solid var(--fg-10); border-radius:8px}
@media(max-width:900px){.hero-device{position:static; width:min(230px,58vw); margin:44px 0 0}}
.hero-ticker{position:absolute; bottom:48px; left:0; right:0; overflow:hidden; opacity:0; transform:translateY(16px); transition:opacity .7s ease .5s, transform .7s var(--ease-out-expo) .5s; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hero-ticker.in{opacity:1; transform:none}
.ticker-track{display:flex; gap:64px; white-space:nowrap; width:max-content}
.ticker-item{display:flex; align-items:baseline; gap:12px}
.ticker-item .n{font-size:clamp(1.5rem,2.6vw,2.375rem); letter-spacing:-.03em; line-height:1}
.ticker-item .l{font-size:13px; color:var(--muted-fg)}
.ticker-item .c{font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; color:var(--fg-40); display:block}
[data-reveal]{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s var(--ease-out-expo)}
[data-reveal].in{opacity:1; transform:none}
.line-reveal{clip-path:inset(0 100% 0 0)}
.line-reveal.in{animation:line-reveal .8s var(--ease-inout-quint) forwards}
@keyframes line-reveal{to{clip-path:inset(0)}}
.char-in{display:inline-block; opacity:0; filter:blur(40px); transform:translateY(100%); animation:char-in .5s var(--ease-out-expo) forwards}
@keyframes char-in{to{opacity:1; filter:blur(0); transform:translateY(0)}}
.code-line{opacity:0; transform:translateX(-8px); animation:codeLine .4s var(--ease-out-expo) forwards}
@keyframes codeLine{to{opacity:1; transform:translate(0)}}
.section{position:relative; padding-block:96px}
@media(min-width:1024px){.section{padding-block:128px}}
.section-head{margin-bottom:80px}
.section-head .h2{margin-top:24px}
.section-head .lede{margin-top:26px}
.chapter .inner{display:grid; grid-template-columns:360px 1fr; gap:60px; align-items:start}
.chap-intro{position:sticky; top:110px}
.chap-intro .eyebrow{margin:0 0 18px}
.chap-intro .h2{font-size:clamp(1.75rem,2.5vw,2.5rem); line-height:1.05}
.chap-intro p:not(.eyebrow){color:var(--muted-fg); margin-top:20px; max-width:23em; font-size:21px; font-weight:400; line-height:1.45}
@media(max-width:1023px){.chapter .inner{grid-template-columns:1fr; gap:30px}.chap-intro{position:static}}
.svc details{border-bottom:1px solid var(--fg-10)}
.svc details:first-of-type{border-top:1px solid var(--fg-10)}
.svc summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:22px; padding:26px 0}
.svc summary::-webkit-details-marker{display:none}
.svc .snum{font-family:var(--font-mono); font-size:12px; color:var(--fg-40); width:26px; flex:none}
.svc summary h3{font-size:clamp(1.125rem,1.8vw,1.4375rem); font-weight:400; letter-spacing:-.02em; flex:1}
.svc .plus{width:40px; height:40px; border-radius:50%; border:1px solid var(--border); display:grid; place-items:center; font-size:1.05rem; flex:none; color:var(--muted-fg)}
.svc details[open] .plus{transform:rotate(135deg); border-color:var(--brand-blue); color:var(--brand-blue)}
.svc details[open] .snum{color:var(--brand-blue)}
.svc .detail{display:grid; grid-template-columns:1fr 150px; gap:34px; align-items:start; padding:0 0 30px 48px}
.svc .detail p{color:var(--muted-fg); font-size:15px; max-width:48ch}
.svc .aside{margin-top:14px; font-size:14px; color:var(--muted-fg); border-left:1px solid var(--border); padding-left:16px}
.svc .tags{display:flex; gap:8px; flex-wrap:wrap; margin-top:18px}
.svc .tags span{font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; padding:6px 11px; border:1px solid var(--border); border-radius:4px; color:var(--muted-fg)}
@media(max-width:720px){.svc .detail{grid-template-columns:1fr; padding-left:0}}
.cap-foot{display:flex; flex-wrap:wrap; gap:28px; margin-top:44px; font-size:14px}
.process{background:var(--fg); color:var(--bg); overflow:hidden; position:relative}
.process .eyebrow{color:rgba(250,250,249,.55)}
.process .eyebrow::before{background:rgba(250,250,249,.25)}
.process .h2 .dim{color:rgba(250,250,249,.45)}
.process .lede{color:rgba(250,250,249,.6)}
.process-grid{position:relative; display:grid; grid-template-columns:1fr; gap:56px}
@media(min-width:1024px){.process-grid{grid-template-columns:1fr 1fr; gap:80px}}
.step{display:grid; grid-template-columns:32px 1fr; gap:16px; align-items:start; width:100%; text-align:left; padding:26px 0; position:relative; border-bottom:1px solid rgba(250,250,249,.1); opacity:.55; transition:opacity .5s ease}
.step:last-child{border-bottom:0}
.step.active{opacity:1}
.step .num{font-family:var(--font-mono); font-size:13px; padding-top:6px; color:rgba(250,250,249,.6)}
.step h3{font-size:clamp(1.1875rem,1.8vw,1.4375rem); font-weight:400; letter-spacing:-.02em; margin-bottom:10px}
.step p{font-size:14px; color:rgba(250,250,249,.65); max-width:36em}
.step .prog{position:absolute; left:0; bottom:-1px; height:1px; width:0; background:var(--bg)}
.step.active .prog{animation:progress 5s linear forwards}
@keyframes progress{from{width:0}to{width:100%}}
.record{border:1px solid rgba(250,250,249,.12); border-radius:6px; overflow:hidden; background:rgba(250,250,249,.02); font-family:var(--font-mono); font-size:13px}
.record .bar{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid rgba(250,250,249,.1)}
.record .dots{display:flex; gap:6px}
.record .dots i{width:8px; height:8px; border-radius:50%; background:rgba(250,250,249,.2); display:block}
.record .file{font-size:11px; color:rgba(250,250,249,.45); letter-spacing:.04em}
.record .body{padding:22px 18px; min-height:260px}
.record .body .code-line{line-height:2; display:block; color:rgba(250,250,249,.85)}
.record .foot{display:flex; align-items:center; gap:10px; padding:14px 18px; border-top:1px solid rgba(250,250,249,.1); font-size:11px; color:rgba(250,250,249,.5)}
.dot-live{width:6px; height:6px; border-radius:50%; background:var(--signal); display:inline-block; flex:none}
.cond-grid{display:grid; grid-template-columns:1fr; gap:56px; align-items:center}
@media(min-width:1024px){.cond-grid{grid-template-columns:1fr 1fr; gap:80px}}
.stat-row{display:flex; flex-wrap:wrap; gap:44px; margin-top:48px}
.stat .v{font-size:clamp(1.875rem,3.2vw,2.5rem); letter-spacing:-.03em; line-height:1}
.stat .k{font-size:13px; color:var(--muted-fg); margin-top:10px; max-width:16em}
.stat-note{font-size:12px; color:var(--muted-fg); margin-top:28px; max-width:36em; font-family:var(--font-mono); line-height:1.7}
.matrix-card{border:1px solid var(--border); border-radius:6px; background:var(--card); overflow:hidden}
.matrix-card .head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 24px; border-bottom:1px solid var(--fg-10); font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; color:var(--muted-fg)}
.matrix-row{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; border-bottom:1px solid var(--fg-5)}
.matrix-row.active{background:var(--surface)}
.matrix-row .left{display:flex; align-items:center; gap:14px}
.matrix-row .pip{width:6px; height:6px; border-radius:50%; background:var(--fg-20); flex:none}
.matrix-row.active .pip{background:var(--fg)}
.matrix-row .m{font-size:15px; display:block}
.matrix-row .s{font-size:12px; color:var(--muted-fg); margin-top:2px; display:block}
.matrix-row .t{font-family:var(--font-mono); font-size:11px; color:var(--muted-fg); letter-spacing:.06em; text-align:right}
.proc{position:relative; padding-left:58px}
.proc .spine{position:absolute; left:13px; top:12px; bottom:12px; width:2px; background:var(--fg-10)}
.proc .spine .fill{position:absolute; top:0; left:0; width:2px; height:0%; background:var(--brand-blue)}
.phase{position:relative; padding:24px 0 40px}
.phase .dot{position:absolute; left:-52px; top:30px; width:15px; height:15px; border-radius:50%; background:var(--bg); border:2px solid var(--border); box-shadow:0 0 0 6px var(--bg)}
.phase.lit .dot{border-color:var(--brand-blue)}
.phase .rowp{display:flex; align-items:baseline; gap:18px; flex-wrap:wrap}
.phase h3{font-size:clamp(1.1875rem,1.9vw,1.5rem); font-weight:400; letter-spacing:-.02em}
.phase .who{font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--fg-40)}
.phase p{color:var(--muted-fg); max-width:46ch; margin:12px 0 16px; font-size:15px}
.phase .tg{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px}
.phase .tg span{font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; padding:6px 11px; border:1px solid var(--border); border-radius:4px; color:var(--muted-fg)}
.phase .go{font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; color:var(--muted-fg); display:inline-flex; align-items:center; gap:8px}
.evidence{background:rgba(8,5,3,.02); border-top:1px solid var(--fg-10); border-bottom:1px solid var(--fg-10)}
.ev-grid{display:grid; grid-template-columns:1fr}
@media(min-width:900px){.ev-grid{grid-template-columns:repeat(3,1fr)}}
.ev{padding:44px 32px}
.ev-shot{position:relative; margin:0 0 26px; aspect-ratio:5/4; overflow:hidden; outline:1px solid var(--fg-10); outline-offset:-1px; background:var(--muted)}
.ev h3{font-size:1.25rem; font-weight:400; letter-spacing:-.02em; margin:16px 0 14px}
.ev p{font-size:14px; color:var(--muted-fg)}
.ev .src{font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; color:var(--fg-40)}
.belt{padding-block:80px; border-bottom:1px solid var(--fg-10)}
.belt .lab{padding-inline:var(--gutter); text-align:center; font-family:var(--font-mono); font-size:11px; letter-spacing:.16em; color:var(--muted-fg); margin-bottom:36px}
.mq-mask{overflow:hidden}
.mq-track{display:flex; gap:48px; width:max-content; align-items:center}
.mq-track .logo{font-family:var(--font-mono); font-size:13px; letter-spacing:.08em; color:var(--muted-fg); white-space:nowrap}
.invest{background:rgba(8,5,3,.02)}
.invest-grid{display:grid; grid-template-columns:1fr; gap:48px}
@media(min-width:1024px){.invest-grid{grid-template-columns:1fr 1fr; gap:80px}}
.invest-grid p + p{margin-top:18px}
.invest-links{display:flex; flex-wrap:wrap; gap:28px; margin-top:32px; font-size:14px}
.engage-grid{display:grid; grid-template-columns:1fr; border-top:1px solid var(--fg-10)}
@media(min-width:768px){.engage-grid{grid-template-columns:repeat(3,1fr)}}
.engage-col{padding:40px 32px 40px 0; border-bottom:1px solid var(--fg-10)}
@media(min-width:768px){.engage-col{border-bottom:0; border-left:1px solid var(--fg-10); padding:40px 32px}.engage-col:first-child{border-left:0; padding-left:0}}
.engage-col .k{font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; color:var(--fg-40)}
.engage-col h3{font-size:1.125rem; font-weight:400; margin-top:14px}
.engage-col p{margin-top:12px; font-size:15px; color:var(--muted-fg)}
.final{padding-block:96px}
.final-box{position:relative; padding:80px 56px; overflow:hidden}
.final h2{font-size:clamp(1.875rem,4.2vw,3.25rem); line-height:1.05; letter-spacing:-.03em; font-weight:400}
.final .lede{margin-top:24px}
.final .detail{margin-top:18px; font-size:15px; color:var(--muted-fg); line-height:1.6; max-width:44em}
.final-cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:36px}
.final .fine{font-family:var(--font-mono); font-size:12px; color:var(--muted-fg); margin-top:26px; line-height:1.7; max-width:40em}
.band-blue{background:var(--news-blue); color:var(--bg)}
.band-blue .eyebrow{color:rgba(250,250,249,.62)}
.band-blue .eyebrow::before{background:rgba(250,250,249,.32)}
.band-blue .h2{color:var(--bg)}
.band-blue .h2 .dim{color:rgba(250,250,249,.52)}
.band-blue .lede{color:rgba(250,250,249,.74)}
.band-blue .textlink{color:var(--bg); border-bottom-color:rgba(250,250,249,.4)}
.band-blue .engage-grid{border-top-color:rgba(250,250,249,.24)}
.band-blue .engage-col{border-bottom-color:rgba(250,250,249,.24)}
@media(min-width:768px){.band-blue .engage-col{border-left-color:rgba(250,250,249,.24)}}
.band-blue .engage-col .k{color:rgba(250,250,249,.64)}
.band-blue .engage-col p{color:rgba(250,250,249,.84)}
.band-blue .chap-intro p:not(.eyebrow){color:rgba(250,250,249,.74)}
.band-blue .proc .spine{background:rgba(250,250,249,.22)}
.band-blue .proc .spine .fill{background:var(--bg)}
.band-blue .phase .dot{background:var(--news-blue); border-color:rgba(250,250,249,.4); box-shadow:0 0 0 6px var(--news-blue)}
.band-blue .phase.lit .dot{border-color:var(--bg)}
.band-blue .phase .who,.band-blue .phase p,.band-blue .phase .tg span,.band-blue .phase .go{color:rgba(250,250,249,.78)}
.band-blue .phase .tg span{border-color:rgba(250,250,249,.3)}
.news-rail{overflow-x:auto; scroll-snap-type:x proximity; --rail-inset:calc(max(0px, (100% - var(--maxw)) / 2) + var(--gutter)); padding-inline:var(--rail-inset); padding-block:6px; scrollbar-width:none}
.news-track{display:flex; gap:24px; width:max-content}
.news-card{scroll-snap-align:start; flex:none; width:clamp(260px, 27vw, 340px); min-height:286px; display:flex; flex-direction:column; justify-content:space-between; padding:26px 28px; border-radius:10px; background:var(--card); color:#0E2258}
.news-card.tone-sky{background:var(--news-tile-sky)}
.news-card.tone-navy{background:var(--news-blue-deep); color:var(--bg)}
.news-date{font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; opacity:.7}
.news-card h3{font-size:1.0625rem; font-weight:400; margin-top:12px}
.news-tag{font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; border:1px solid currentColor; border-radius:999px; padding:5px 11px; opacity:.7}
.news-head-row{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap}
.news-nav{display:flex; gap:10px; margin-left:auto}
.news-btn{width:38px; height:38px; border-radius:50%; border:1px solid rgba(250,250,249,.38); color:rgba(250,250,249,.85); display:grid; place-items:center}
.news-note{margin-top:28px; font-size:13px; color:rgba(250,250,249,.66); font-style:italic}
.news-foot-links{display:flex; flex-wrap:wrap; gap:28px; margin-top:20px; font-size:14px}
.site-footer{position:relative; background:var(--fg); color:var(--bg); padding-top:72px; overflow:hidden}
.footer-grid{position:relative; display:grid; grid-template-columns:1fr; gap:44px; padding-bottom:56px}
@media(min-width:768px){.footer-grid{grid-template-columns:1.7fr repeat(3,1fr); gap:40px}}
.footer-brand p{font-size:14px; color:rgba(250,250,249,.6); margin-top:20px; max-width:26em}
.footer-brand .addr{font-family:var(--font-mono); font-size:12px; color:rgba(250,250,249,.5); margin-top:24px; line-height:1.8}
.footer-col h5{font-size:13px; font-weight:500; margin-bottom:18px; color:var(--bg)}
.footer-col a{display:block; font-size:13px; color:rgba(250,250,249,.58); padding:5px 0}
.footer-bar{border-top:1px solid rgba(250,250,249,.14); padding-block:26px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:13px; color:rgba(250,250,249,.55)}
.footer-bar .ok{display:inline-flex; align-items:center; gap:8px}
@media(max-width:1150px){.nav-right .mailto{display:none}}
@media(max-width:899px){.nav-links,.nav-right .btn{display:none}.nav-toggle{display:flex}}
@media(max-width:767px){.section-head{margin-bottom:56px}.hero-inner{padding-bottom:160px}.final-box{padding:48px 24px}.ev{padding-inline:0}}
@media(prefers-reduced-motion:reduce){[data-reveal],.hero-ticker{opacity:1 !important; transform:none !important}.line-reveal{clip-path:none !important}}
.page-main{padding-block:128px 96px}
.page-header{margin-bottom:48px}
.page-header .h2{margin-top:18px}
.page-hero-media{margin:0 0 48px}
.page-hero-media img{width:100%; height:auto; display:block}
.entry-blocks{max-width:42rem}
.entry-blocks > .alignwide{max-width:1120px}
.entry-blocks > .alignfull{max-width:none; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw)}
.entry-blocks p{color:var(--muted-fg); margin:0 0 1.1em}
.entry-blocks h2,.entry-blocks h3{font-weight:400; letter-spacing:-.025em; margin:1.4em 0 .5em}
.entry-blocks .wp-block-buttons{display:flex; flex-wrap:wrap; gap:12px; margin:24px 0}
.entry-blocks .wp-block-button__link{display:inline-flex; align-items:center; height:48px; padding:0 26px; font-size:15px; font-weight:500}
.is-style-pavonis-solid .wp-block-button__link{background:var(--fg); color:var(--bg); border-radius:999px}
.is-style-pavonis-ghost .wp-block-button__link{background:transparent; color:var(--fg); border:1px solid var(--border); border-radius:999px}
.is-style-pavonis-display{font-size:clamp(1.85rem,3.4vw,3rem); line-height:1.05}
.post-nav{display:flex; justify-content:space-between; gap:24px; margin-top:64px; font-size:14px}
.wp-block-group.has-ink-background-color{background:var(--fg); color:var(--bg)}
.wp-block-group.has-news-blue-background-color{background:var(--news-blue); color:var(--bg)}
.wp-block-group.has-news-blue-background-color p,
.wp-block-group.has-ink-background-color p{color:inherit}
has-bone-background-color,.has-bone-background-color{background-color:#FAFAF9}
.has-ink-color{color:#080503}
.has-muted-fg-color{color:#5E534A}
.has-eyebrow-font-size{font-family:var(--font-mono); font-size:12px; letter-spacing:.1em}
.has-lede-font-size{font-size:clamp(1rem,1.4vw,1.125rem); line-height:1.6}

.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
