/* V2 design layer: loads after style.css and only refines it. */
.eyebrow{font-size:12px;letter-spacing:1.8px}
.card .tag{font-size:11.5px}.small{font-size:13px}.diagram-title,.diagram-caption{font-size:11.5px}
.footer a{font-size:14px}.footer-bottom{font-size:12.5px}.audience p{font-size:13px}
.card p,.step p{font-size:15px}.reading p{font-size:17px;line-height:1.75}
.num{font-size:13px}
/* buttons */
.btn{transition:background .18s,transform .18s,box-shadow .18s,border-color .18s}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,229,199,.28)}
.btn:active{transform:none;box-shadow:none}
.btn.outline:hover{background:#ffffff14;border-color:#ffffff99;box-shadow:none}
.btn.dark:hover{background:#13213d;box-shadow:0 6px 18px rgba(5,11,26,.28)}
.btn:focus-visible,.textlink:focus-visible{outline:3px solid #7fb2ff;outline-offset:3px}
.textlink:hover{text-decoration:underline;text-underline-offset:4px}
.menu{border-radius:6px;min-height:44px}.menu[aria-expanded=true]{background:#00e5c7;color:#050b1a;border-color:#00e5c7}
/* cards + icons */
.icon{width:46px;height:46px;background:#e6f7f4;border:1px solid #bfe9e2;color:#00695d;font-size:22px;border-radius:10px}
.card.link:hover{box-shadow:0 14px 34px rgba(5,11,26,.09)}
.card.link:hover .arrow{color:#007568}
/* hero diagram */
.hero-svg{width:100%;height:auto;display:block}
.hero-svg text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;dominant-baseline:auto}
.hero-svg .t0{font-size:18px;font-weight:700;letter-spacing:1px}.hero-svg .t1{font-size:12.5px;font-weight:600;letter-spacing:.4px}.hero-svg .t2{font-size:10px}
.hero-svg .t3{font-size:8.6px;letter-spacing:.2px}.hero-svg .tg{font-size:10px;font-weight:600}
.hero-svg .hex{animation:pulse 3s ease-in-out infinite}.hero-svg .bccp{animation:pulse 3s ease-in-out infinite 1.5s}
.hero-svg .mv circle{filter:drop-shadow(0 0 6px currentColor)}
@keyframes pulse{0%,100%{stroke-opacity:1}50%{stroke-opacity:.45}}
.flight-title{margin-top:22px}.flight-svg{margin-top:0}
.diagram-caption{margin-top:14px;color:#a5b6cf}
/* proof section */
.proof{background:#f5f7fb}
.proof-lead{max-width:640px;color:#5a6b8c;font-size:17px}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:34px 0 18px}
.cmp-col{border:1px solid #dce2ec;border-radius:12px;padding:30px;background:#fff}
.cmp-col.after{background:#050b1a;border-color:#050b1a;color:#fff}
.cmp-tag{font:12px ui-monospace,monospace;letter-spacing:1.6px;color:#566681;margin-bottom:22px}
.cmp-col.after .cmp-tag{color:#00e5c7}
.flow{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.flow li{display:flex;gap:16px;align-items:flex-start;font-size:16px;line-height:1.5;padding:14px 16px;border-radius:8px;background:#f5f7fb}
.cmp-col.after .flow li{background:#0e1730;color:#d7e2f2}
.flow b{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;font:600 13px ui-monospace,monospace;background:#dce2ec;color:#26354f}
.cmp-col.after .flow b{background:#1c2b4b;color:#bcd7ff}
.flow li.bad{background:#fdeeee;color:#5d1d20}.flow li.bad b{background:#c0383d;color:#fff}
.flow li.good{background:#0b2b30;color:#e8fffb;outline:1px solid #00b8a0}.flow li.good b{background:#00e5c7;color:#050b1a}
.proof-note{max-width:720px;margin:0 0 10px}
/* how it works timeline */
.steps{position:relative}
.step{border-top:2px solid #cbd5e2;position:relative;padding-top:30px}
.step::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:#00e5c7;border:3px solid #050b1a;box-shadow:0 0 0 4px #e6f7f4}
/* threat pages */
.reading-grid{display:grid;grid-template-columns:300px minmax(0,660px);gap:64px;align-items:start;justify-content:start}
.reading-grid .side{order:-1}
.reading-grid .reading{max-width:none}
.reading h3{margin-top:34px;scroll-margin-top:110px}
.side{position:sticky;top:112px;display:grid;gap:22px}
.side .notice{margin:0;background:#eef7f5;border-left:3px solid #007568;border-radius:0 8px 8px 0;font-size:15px;line-height:1.6}
.toc{border:1px solid #dce2ec;border-radius:10px;padding:20px 22px;background:#fff}
.toc h4{margin:0 0 12px;font:600 12px ui-monospace,monospace;letter-spacing:1.5px;color:#566681;text-transform:uppercase}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.toc a{display:block;padding:8px 0;font-size:15px;color:#26354f;border-bottom:1px solid #eef1f6}
.toc li:last-child a{border:0}.toc a:hover{color:#007568}
.side-cta{justify-self:start}
/* reveal on scroll (content stays visible without JS) */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.js .rv.in{opacity:1;transform:none}
@media(max-width:1050px){.reading-grid{grid-template-columns:1fr;gap:34px}.reading-grid .side{order:-1}.side{position:static;order:-1}.cmp{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}.hero-svg .pkt{display:none}}

/* contrast: lift the light-grey small text and captions to 4.5:1 or better */
.small{color:#566681}.hero .small{color:#9db0cb}
.diagram-title,.diagram-caption{color:#566681}
.hero .diagram-title{color:#9db0cb}.hero .diagram-caption{color:#a5b6cf}
.cta .eyebrow,.thesis .eyebrow{color:#00e5c7}
.footer .small{color:#9aaac4}

/* hero: wider diagram column, capability chips */
@media(min-width:1051px){.hero-grid{grid-template-columns:.8fr 1.3fr;gap:44px;padding-top:34px;padding-bottom:40px}.hero h1{font-size:clamp(38px,3.7vw,58px);letter-spacing:-2.4px}}
.chips{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font:600 12.5px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2px;color:#cfe0f3;border:1px solid #ffffff2e;border-radius:999px;padding:7px 13px;background:#ffffff0a}
.chips li.chain{color:#e0e8ff;border-color:#9db2ff;background:#1b2350}
@media(max-width:760px){.hero-svg .t2,.hero-svg .t3{display:none}.hero-svg .t1{font-size:15px}.hero-svg .t0{font-size:22px}.hero-svg .tg{font-size:12px}}
@media(max-width:760px){.diagram-title span:nth-child(2){display:none}.flight-title{margin-top:26px}}

/* hero story line, motion control, phone tabs */
.chips a{color:inherit;display:inline-block}.chips li:hover{border-color:#00e5c7}.chips li.chain:hover{border-color:#fff}.chips a:focus-visible{outline:3px solid #7fb2ff;outline-offset:6px;border-radius:999px}
.story{margin-top:16px;min-height:48px;padding:12px 16px;border-left:3px solid #00e5c7;background:#ffffff0a;border-radius:0 8px 8px 0;font:600 14px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#e2edf9;transition:opacity .25s}
.story.out{opacity:0}
.diagram-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px}
.diagram-foot .diagram-caption{margin:8px 0}
.motion-btn{flex:0 0 auto;min-height:44px;padding:8px 16px;border-radius:6px;border:1px solid #ffffff45;background:transparent;color:#e2edf9;font-size:13px;font-weight:600}
.motion-btn:hover{background:#ffffff14;border-color:#ffffff99}.motion-btn:focus-visible{outline:3px solid #7fb2ff;outline-offset:3px}
.dtabs{display:none}
@media(max-width:760px){
  .dtabs{display:flex;gap:8px;margin-bottom:14px}
  .dtab{flex:1;min-height:44px;border-radius:8px;border:1px solid #ffffff3a;background:transparent;color:#cfe0f3;font-weight:600;font-size:14px}
  .dtab[aria-pressed=true]{background:#00e5c7;color:#050b1a;border-color:#00e5c7}
  .diagram .flight-part{display:none}.diagram.show-flight .life-part{display:none}.diagram.show-flight .flight-part{display:block}
  .flight-title{margin-top:0}
  .diagram-foot{flex-direction:column;align-items:stretch}.motion-btn{width:100%}
}
/* data sovereignty page */
.ds-panel{margin-top:34px;background:#050b1a;color:#fff;border-radius:12px;padding:26px 28px 14px}
.ds-panel .diagram-title{color:#9db0cb}.ds-panel .diagram-caption{color:#a5b6cf}
.ds-panel .hero-svg{max-width:760px;margin:8px auto 0}
@media(max-width:760px){.ds-panel{padding:18px 14px 8px}.ds-panel .diagram-title span:nth-child(2){display:none}}
.roles-sec .cards{margin-top:34px}

/* replay table + sample certificate */
.replay{margin:8px 0 22px;padding:28px;border:1px solid #dce2ec;border-radius:12px;background:#fff}
.replay h3{margin:0 0 18px;font-size:20px}
.rtab-wrap{overflow-x:auto}
.rtab th,.rtab td{padding:14px 16px;font-size:14px}
.rtab code{font:700 14px ui-monospace,monospace;padding:2px 8px;border-radius:4px}
.rtab code.ok{background:#e1f5ec;color:#0d6a3d}.rtab code.no{background:#fbe4e6;color:#a1202f}
.cert-sec{background:#f5f7fb}
.cert{margin:30px 0 22px;background:#050b1a;color:#fff;border-radius:12px;padding:26px 28px}
.cert-head{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;border-bottom:1px solid #ffffff22;padding-bottom:16px;margin-bottom:22px;font:11px ui-monospace,monospace;letter-spacing:1.2px;color:#a5b6cf}
.cert-tag{color:#ffd27a;font-weight:700}
.cert-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.cert-tiles div{background:#0e1730;border:1px solid #ffffff1c;border-radius:8px;padding:16px}
.cert-tiles b{display:block;font-size:20px;color:#00e5c7;margin-bottom:4px}
.cert-tiles span{font-size:13px;color:#b9c8de}
.cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.cert-box{background:#0e1730;border:1px solid #ffffff1c;border-radius:8px;padding:20px 22px;margin-bottom:12px}
.cert-grid .cert-box{margin-bottom:0}
.cert-box h3{font-size:13px;letter-spacing:1.4px;text-transform:uppercase;color:#9db0cb;font-family:ui-monospace,monospace;margin:0 0 14px}
.cert-box dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:14px}
.cert-box dt{color:#9db0cb}.cert-box dd{margin:0;color:#e6eefb}
.allow{background:#00e5c7;color:#050b1a;font-weight:700;padding:2px 10px;border-radius:4px}
.cert-box p{color:#d0dcee;font-size:14px;margin:0}
.cert-box p.small{color:#a5b6cf;margin-top:10px}
.vals{display:flex;flex-wrap:wrap;gap:8px}
.vals i{font:700 13px ui-monospace,monospace;font-style:normal;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#00e5c7;color:#050b1a}
.vals i.floor{box-shadow:0 0 0 2px #050b1a,0 0 0 4px #ffd27a}
.cert .notice{background:#16213f;border-left-color:#ffd27a;color:#e6eefb;margin:0}
.cert .notice ul{margin:10px 0 0;padding-left:20px}.cert .notice li{margin:4px 0}
@media(max-width:900px){.cert-tiles{grid-template-columns:1fr 1fr}.cert-grid{grid-template-columns:1fr}}
@media(max-width:560px){.cert{padding:20px 16px}.cert-tiles{grid-template-columns:1fr}.cert-box dl{grid-template-columns:1fr;gap:2px}.cert-box dd{margin-bottom:8px}.replay{padding:20px 16px}}
