/* ============================================================
   DECK v4 — replaces deck-v2.css + deck-v3.css
   Tokens from BRAND_GUIDE_v4.md: navy #07121F, navy-2 #152F4A,
   gold #F5B94E, champagne #FFE0A0, paper #F7F8FA, ink #17283A.
   Scope: visual language + real motion for the d-*/v-* deck only.
   The detail-drawer (.p-* / presentation.css) is left as-is.
   ============================================================ */

.v3-deck{
  --navy:#07121F; --navy-2:#152F4A; --gold:#F5B94E; --champagne:#FFE0A0;
  --paper:#F7F8FA; --ink:#17283A; --gold-ink:#8B570F;
  --line-dark:#ffffff1f; --line-light:#e2e6ea;
  --ease:cubic-bezier(.19,1,.22,1);
}

/* ---- base structural layout (ported from deck-v2.css; deck-v4 only redefined decoration on top of it) ---- */
html{overflow:hidden;height:100%}
body.presentation-page{overflow:hidden;height:100%}
body.presentation-page>header,body.presentation-page>footer{display:none}
.presentation-page main{height:100dvh}
.v3-deck{height:100dvh;font-family:Inter,Arial,sans-serif;position:relative;display:flex;flex-direction:column}
.v3-deck .d-header{height:72px;position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;z-index:5;flex-shrink:0}
.v3-deck .d-header>a img{width:195px}
.v3-deck .d-x-celestia{display:block;width:1px;height:30px;background:#ffffff26;margin:0 20px;flex-shrink:0}
.v3-deck .d-celestia-logo{height:24px;width:auto;flex-shrink:0;opacity:.92}
.v3-deck .d-header button{font-size:12px;display:flex;align-items:center;cursor:pointer}
.v3-deck .d-track{flex:1 1 auto;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;outline:none}
.v3-deck .d-track::-webkit-scrollbar{display:none}
.v3-deck .d-slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative}
.v3-deck .d-controls{height:70px;position:relative;display:flex;align-items:center;justify-content:center;gap:18px;padding:0 4vw;flex-shrink:0}
.v3-deck .d-controls nav{display:flex;align-items:center;gap:14px;order:0}
.v3-deck .d-arrows{display:contents}
.v3-deck .d-arrows [data-prev]{order:-1}
.v3-deck .d-arrows [data-next]{order:1}
.v3-deck .d-controls nav button{padding:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer}
.v3-deck .d-arrows button{width:54px;height:54px;background:transparent;color:inherit;border-radius:50%;font-size:22px;cursor:pointer}
.v3-deck .d-arrows button:disabled{opacity:.3;cursor:default}
.v3-deck .d-progress{position:absolute;left:0;right:0;height:2px;bottom:0;background:#1c2c3d}
.v3-deck .d-progress i{display:block;height:100%;transition:width .5s ease}
.v3-deck .d-details{position:absolute}
@media(prefers-reduced-motion:reduce){.v3-deck .d-track{scroll-behavior:auto}}
.v3-deck .d-canvas{padding:34px clamp(24px,5vw,72px) 56px;max-width:1760px}
.v3-deck .d-slide{overflow-y:auto;background:var(--paper)}
/* ---- light-slide video backdrop: glass-sphere plate behind the real content, tinted toward --paper so dense text/tables keep full contrast ---- */
.v3-deck .d-light-bg{position:absolute;inset:0;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:50% 50%;z-index:0;pointer-events:none}
.v3-deck .d-light-tint{position:absolute;inset:0;background:#f7f8fac2;z-index:0;pointer-events:none}
.v3-deck .d-light .d-canvas{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.v3-deck .d-light-bg{display:none}.v3-deck .d-light-tint{background:var(--paper)}}
/* ---- dark-slide video backdrop: same technique, dark tint. Not used on the cover slide, which keeps its own hero art. ---- */
.v3-deck .d-dark-bg{position:absolute;inset:0;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:50% 50%;z-index:0;pointer-events:none}
.v3-deck .d-dark-tint{position:absolute;inset:0;background:#000000c2;z-index:0;pointer-events:none}
.v3-deck .d-dark .d-canvas{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.v3-deck .d-dark-bg{display:none}.v3-deck .d-dark-tint{background:var(--navy)}}
.v3-deck .d-dark{background:var(--navy);color:#fff}
.v3-deck .d-canvas{min-height:100%;height:auto}
.v3-deck .d-cover .d-canvas{height:100%}
.v3-deck p{line-height:1.6}

/* ---- heading system ---- */
.v-heading{margin-bottom:38px;flex-shrink:0}
.v-heading .d-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 14px!important;display:inline-flex;align-items:center;gap:10px}
.v-heading .d-label::before{content:'';width:20px;height:1px;background:var(--gold-ink)}
.d-dark .v-heading .d-label{color:var(--gold)}
.d-dark .v-heading .d-label::before{background:var(--gold)}
.v-heading h2{font-size:clamp(36px,4vw,58px);line-height:1.04;font-weight:500;letter-spacing:-.045em;max-width:900px}
.v-heading h2 em{font-style:normal;color:var(--gold-ink)}
.d-dark .v-heading h2 em{color:var(--gold)}
.v-intro{font-size:14px;line-height:1.65;color:#57687a;margin-top:18px;max-width:620px}
.d-dark .v-intro{color:#a8b7c7}

/* ---- deck chrome: header / controls / dialogs ---- */
.v3-deck .d-header{background:#000000;border-bottom:1px solid #ffffff14}
.v3-deck .d-controls{background:#000000;border-top:1px solid #ffffff14;color:#fff}
.v3-deck .d-current{color:#dde6ee}

/* ---- slide number + name, on the slide itself, no badge ---- */
.v3-deck .d-position{position:absolute;left:22px;bottom:108px;z-index:4;display:flex;align-items:baseline;gap:16px;pointer-events:none}
.v3-deck .d-position b{font-size:clamp(30px,4.2vw,50px);font-weight:600;color:#ffffff2e;letter-spacing:-.03em;line-height:1}
.v3-deck .d-position span{display:none}
.v3-deck .d-position strong{font-size:clamp(38px,5.6vw,64px);font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1}
.v3-deck .d-position.on-light b{color:#17283a26}
.v3-deck .d-position.on-light strong{color:var(--ink)}

/* ---- liquid-glass chrome: switchers, resource icons ---- */
.v3-deck .d-arrows button,
.v3-deck .d-resources a{
  position:relative;color:#eef2f6;
  background:linear-gradient(165deg,#ffffff52,#ffffff1c);
  backdrop-filter:blur(3px) saturate(200%);
  -webkit-backdrop-filter:blur(3px) saturate(200%);
  box-shadow:0 14px 34px #00000040,inset 0 1px 1px #ffffffd9,inset 0 -8px 18px #ffffff28,inset 0 0 0 1px #ffffff40;
  transition:color .2s,transform .2s,box-shadow .2s;
}
/* liquid-glass.js takes over backdrop-filter at runtime with real SVG refraction (url(#lg-filter-N) ...); the rule above is only the pre-JS/no-JS baseline. background/box-shadow stay CSS-driven so the glass reads as a visibly lighter material even where the backdrop itself is near-black (brightness() can't lift true black — it's multiplicative). */
.v3-deck .d-arrows button:hover:not(:disabled),
.v3-deck .d-resources a:hover{color:#fff;transform:translateY(-1px);box-shadow:0 16px 36px #0000004d,inset 0 1px 1px #ffffffec,inset 0 -8px 18px #ffffff38,inset 0 0 0 1px #ffffff55}
.v3-deck .d-arrows button:disabled{opacity:.3}
.v3-deck .d-arrows button{border-radius:50%}
.v3-deck .d-resources{display:flex;gap:10px;margin-left:auto;margin-right:22px}
.v3-deck .d-resources a{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.v3-deck .d-resources svg{width:19px;height:19px}
.v3-deck .d-website-button{
  display:flex;align-items:center;gap:8px;
  background:#fff;color:#0a0a0a;font-size:13px;font-weight:700;letter-spacing:.01em;
  padding:11px 18px;border-radius:100px;
  box-shadow:0 8px 20px #00000030;
  transition:transform .2s,box-shadow .2s,background .2s;
}
.v3-deck .d-website-button svg{width:14px;height:14px;flex-shrink:0}
.v3-deck .d-website-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0000003d;background:#f2f2f2}

/* ---- bottom slide-position dots: large liquid-glass circles, active biggest + brightest, 2 neighbours each side fading, rest hidden ---- */
.v3-deck .d-controls nav button[data-dist="3"]{display:none}
.v3-deck .d-controls nav span{
  position:relative;display:block;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(165deg,#ffffff52,#ffffff1c);
  backdrop-filter:blur(3px) saturate(200%);
  -webkit-backdrop-filter:blur(3px) saturate(200%);
  box-shadow:0 10px 22px #00000030,inset 0 1px 1px #ffffffd9,inset 0 -6px 14px #ffffff24,inset 0 0 0 1px #ffffff38;
  opacity:.4;
  transition:opacity .35s var(--ease),transform .35s var(--ease),width .35s var(--ease),height .35s var(--ease),border-radius .35s var(--ease);
}
.v3-deck .d-controls nav button[data-dist="0"] span{width:54px;height:30px;border-radius:15px;opacity:1;animation:lg-breathe 3.4s ease-in-out infinite}
.v3-deck .d-controls nav button[data-dist="1"] span{opacity:.62}
.v3-deck .d-controls nav button[data-dist="2"] span{opacity:.3}
.v3-deck .d-controls nav button:hover span{transform:scale(1.14)}
.v3-deck .d-controls nav button:active span{transform:scale(.92)}
@keyframes lg-breathe{
  0%,100%{box-shadow:0 10px 22px #00000030,inset 0 1px 1px #ffffffd9,inset 0 -6px 14px #ffffff24,inset 0 0 0 1px #ffffff38}
  50%{box-shadow:0 12px 28px #00000045,inset 0 1px 1px #ffffffff,inset 0 -6px 16px #ffffff38,inset 0 0 0 1px #ffffff55}
}
@media(prefers-reduced-motion:reduce){.v3-deck .d-controls nav button[data-dist="0"] span{animation:none}}
.v3-deck .d-progress{background:#263649}
.v3-deck .d-progress i{background:linear-gradient(90deg,var(--gold),var(--champagne));transition:width .5s var(--ease)}
.v3-deck .d-details{
  bottom:18px;right:clamp(24px,5vw,72px);font-size:11px;font-weight:600;letter-spacing:.04em;border-radius:100px;padding:9px 16px;
  color:#17283a;
  background:linear-gradient(165deg,#ffffffc2,#ffffff8a);
  backdrop-filter:blur(10px) saturate(160%);
  -webkit-backdrop-filter:blur(10px) saturate(160%);
  box-shadow:0 8px 20px #00000026,inset 0 1px 1px #ffffffe6,inset 0 0 0 1px #ffffff80;
  transition:background .2s,color .2s,box-shadow .2s;
}
.v3-deck .d-details:hover{background:linear-gradient(165deg,#ffffffe8,#ffffffb8);color:#000;box-shadow:0 10px 26px #00000030,inset 0 1px 1px #ffffff,inset 0 0 0 1px #ffffffb0}
.d-dark .d-details{color:#fff;background:linear-gradient(165deg,#ffffff38,#ffffff14);box-shadow:0 8px 20px #00000045,inset 0 1px 1px #ffffff70,inset 0 0 0 1px #ffffff38}
.d-dark .d-details:hover{background:linear-gradient(165deg,#ffffff52,#ffffff22);color:#fff;box-shadow:0 10px 26px #00000055,inset 0 1px 1px #ffffffa0,inset 0 0 0 1px #ffffff52}
.v3-deck .v-track-record-col{display:flex;flex-direction:column;align-items:flex-start}
.v3-deck .v-track-record-col .d-details{position:static;margin-top:18px;bottom:auto;right:auto}
.v3-deck .d-drawer,.v3-deck .d-zoom{transition:opacity .35s var(--ease),transform .35s var(--ease),overlay .35s allow-discrete,display .35s allow-discrete}
.v3-deck .d-drawer::backdrop,.v3-deck .d-zoom::backdrop{background:#020a13;opacity:0;transition:opacity .35s var(--ease),overlay .35s allow-discrete,display .35s allow-discrete}
.v3-deck .d-drawer[open]::backdrop,.v3-deck .d-zoom[open]::backdrop{opacity:.82}
@starting-style{
  .v3-deck .d-drawer[open],.v3-deck .d-zoom[open]{opacity:0;transform:translateY(14px) scale(.97)}
  .v3-deck .d-drawer[open]::backdrop,.v3-deck .d-zoom[open]::backdrop{opacity:0}
}
.v3-deck .d-drawer{background:var(--navy);color:#fff;border:1px solid var(--line-dark);border-radius:16px}
/* ---- dialog base structure (padding/width/close button; lost in the v2->v4 port, same gap as .d-track) ---- */
.v3-deck .d-drawer,.v3-deck .d-zoom{padding:32px;max-height:90dvh;max-width:94vw;overflow:auto;box-shadow:0 30px 100px #000000a6}
.v3-deck .d-close{display:block;margin:0 0 20px auto;background:transparent;color:inherit;border:1px solid #ffffff2e;font-size:11px;padding:10px 16px;border-radius:100px;cursor:pointer;transition:border-color .2s,color .2s}
.v3-deck .d-close:hover{border-color:#ffffff70;color:#fff}
.v3-deck .d-drawer{width:1100px}
.v3-deck .d-zoom{width:min(1500px,96vw);background:#081522;color:#fff;padding:18px}
.v3-deck .d-zoom>img{width:100%;max-height:78dvh;object-fit:contain}

/* ---- cover slide ---- */
.v3-deck .d-cover-art{position:absolute;inset:0;overflow:hidden}
.v3-deck .d-cover-art img{width:100%;height:100%;object-fit:cover;animation:cover-drift 26s ease-in-out infinite alternate}
.v3-deck .d-cover-art::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,var(--navy) 10%,#07121fcc 42%,transparent 72%)}
@keyframes cover-drift{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.12) translate(-1.5%,-1%)}}
.v3-deck .d-cover-copy .d-label{color:var(--gold);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:26px;display:block}
.v3-deck .d-cover-copy h1{font-size:clamp(52px,7vw,96px);line-height:.98;font-weight:500;letter-spacing:-.05em;margin:0}
.v3-deck .d-cover-copy h1 em{font-style:normal;color:var(--gold)}
.v3-deck .d-cover-sub{font-size:clamp(18px,2vw,24px);color:#cfdbe6;margin:24px 0 30px;font-weight:400;letter-spacing:-.01em}
.v3-deck .d-cover-badges{display:flex;gap:10px;margin-bottom:34px}
.v3-deck .d-cover-badges span{border:1px solid #42546a;border-radius:100px;padding:8px 16px;font-size:11px;color:#cfdbe6;letter-spacing:.02em}
.v3-deck .d-primary{display:inline-flex;align-items:center;gap:14px;background:var(--gold);color:var(--navy);border:0;border-radius:9px;padding:16px 22px;font-size:14px;font-weight:600;transition:transform .25s var(--ease),box-shadow .25s}
.v3-deck .d-primary:hover{transform:translateY(-3px);box-shadow:0 16px 32px #f5b94e3a}
.v3-deck .d-primary span{transition:transform .25s}
.v3-deck .d-primary:hover span{transform:translateX(4px)}
.v3-deck .d-cover-copy,.v3-deck .d-cover-bottom{display:none}
.v3-deck .d-cover-bottom{color:#92a5b9;font-size:10px;letter-spacing:.12em}
.v3-deck .d-cover-bottom a{color:#cfdbe6}

/* ---- team slide ---- */
.v-team{display:grid;grid-template-columns:1.4fr 1fr;gap:7%;margin-top:4px;min-height:390px}
.v-roster article{display:grid;grid-template-columns:48px 1fr;column-gap:18px;align-items:center;padding:22px 0;border-top:1px solid var(--line-light)}
.v-role-index{font-size:14px;font-weight:700;color:var(--gold-ink);letter-spacing:-.02em}
.v-roster h3{font-size:22px;font-weight:700;letter-spacing:-.02em}
.v-roster p{font-size:13px;color:#57687a;margin:7px 0 0}
.v-track-record{
  padding:30px 32px;border-radius:18px;position:relative;overflow:hidden;color:#fff;
  display:flex;flex-direction:column;justify-content:flex-start;
  margin-top:-150px;min-height:calc(100% + 150px);
  background:linear-gradient(165deg,#07121f40,#07121f1f);
  backdrop-filter:blur(28px) saturate(160%);
  -webkit-backdrop-filter:blur(28px) saturate(160%);
  box-shadow:0 24px 60px #00000030,inset 0 1px 1px #ffffff3d,inset 0 0 0 1px #ffffff24;
  transition:box-shadow .3s var(--ease);
}
.v-track-record::after{
  content:'';position:absolute;inset:-50%;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,#ffffff6b 45%,#a9d8ff66 50%,#ffd79966 55%,transparent 65%);
  transform:translateX(-65%) rotate(8deg);
  transition:transform .9s var(--ease);
}
.v-track-record:hover::after{transform:translateX(65%) rotate(8deg)}
.v-track-record:hover{box-shadow:0 28px 70px #00000038,inset 0 1px 1px #ffffff5c,inset 0 0 0 1px #ffffff38}
.v-stat{display:flex;gap:20px;align-items:baseline;position:relative;flex-wrap:nowrap}
.v-stat b{font-size:92px;font-weight:500;letter-spacing:-.06em;line-height:1;color:#fff;flex-shrink:0}
.v-stat span{font-size:19px;line-height:1.4;color:#fff;white-space:nowrap}
.v-network-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:84px 44px;margin:54px 0 4px;position:relative}
.v-network-logos>span{display:flex;align-items:center;justify-content:center;transition:transform .25s}
.v-network-logos img{width:94px;height:94px;object-fit:contain;filter:brightness(1.5) grayscale(.15);transition:filter .25s,transform .25s}
.v-network-logos>span:hover img{filter:none;transform:scale(1.12)}

/* ---- infrastructure + security architecture ---- */
.v-architecture{width:100%}
.v-dc{border:1px solid var(--line-dark);border-radius:16px;padding:22px 26px 16px;background:#0a1826}
.v-dc-label{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#8295a9;padding-bottom:22px}
.v-dc-label b{font-weight:600;color:#e2e9ee}
.v-hosts{display:grid;grid-template-columns:28% 8% 28% 8% 28%;position:relative;align-items:start}
.v-host{border:1px solid #2d4155;border-radius:12px;padding:18px 16px;background:linear-gradient(160deg,#152838,#0d1b28);position:relative;z-index:1;min-height:290px;transition:border-color .3s,transform .3s}
.v-host:hover{border-color:#4a6378;transform:translateY(-4px)}
.v-host.signer-host{border-color:#5a4f33;background:linear-gradient(160deg,#241d10,#15120a)}
.v-host.signer-host:hover{border-color:var(--gold)}
.v-host-title{display:flex;flex-direction:column;gap:5px;height:42px}
.v-host-title>span{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--gold)}
.v-host-title i{font-style:normal;color:#71899c;font-size:9px}
.v-process{min-height:65px;border:1px solid #38506a;border-radius:9px;margin:11px 0;padding:11px 13px;background:#ffffff06}
.v-process small{display:block;font-size:8px;letter-spacing:.14em;color:#8295a9;margin-bottom:5px;font-weight:600}
.v-process b{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:500;color:#eff3f8}
.v-process em{font-size:8px;font-style:normal;color:#9cabb7;display:block;margin-top:4px}
.v-process svg{width:27px;height:17px;fill:none;stroke:var(--gold);stroke-width:1.4}
.mocha-process{background:#ffffff04;border-color:#2d4155;min-height:80px}
.mocha-process small{color:#7c93a8}
.mocha-process svg{stroke:#7c93a8}
.v-host-spec{font-size:10.5px;color:#9fb0c2;line-height:1.8;padding-top:13px;border-top:1px solid var(--line-dark);margin-top:13px;min-height:50px}
.v-offline{font-size:12.5px;line-height:1.65;color:#cfdbe6;min-height:80px;padding:20px 10px;font-weight:500}
.v-wires{position:absolute;inset:0;width:100%;height:290px;z-index:0;overflow:visible}
.v-wires path{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke}
.main-wire{stroke:var(--gold);stroke-dasharray:6 4;animation:wire-flow 6s linear infinite}
.test-wire{stroke:#5f7A91;stroke-dasharray:4 3}
@keyframes wire-flow{to{stroke-dashoffset:-40}}
.v-link-note{font-size:9px;text-align:center;line-height:1.6;color:#8295a9;padding:73px 4px 0;z-index:1}
.v-link-note span{display:block;margin-bottom:31px;background:transparent}
.signer-note{padding-top:76px}
.signer-note span{margin-bottom:10px}
.v-arch-legend{display:flex;gap:28px;font-size:10px;color:#8295a9;margin-top:18px;align-items:center}
.v-arch-legend>span{display:flex;align-items:center;gap:8px}
.v-arch-legend>span:last-child{margin-left:auto}
.v-arch-legend i{width:20px;height:1px;background:var(--gold)}
.v-arch-legend>span:nth-child(2) i{background:#5f7A91}
.v-infra-foot{display:flex;gap:60px;margin:30px 0 10px;align-items:center;font-size:10.5px;color:#9fb0c2}
.v-infra-foot span b{display:block;font-size:28px;font-weight:500;color:var(--gold);margin-bottom:6px;letter-spacing:-.03em}
.v-infra-foot p{margin-left:auto;color:#8295a9}

/* ---- Infrastructure slide: black background + liquid-glass cards. Scoped to #infrastructure only
   (the .security-view variant of .v-dc/.v-hosts/.v-host/.v-process/.v-wires below is dead CSS now
   that the Security slide — which duplicated this same diagram — was removed from the deck). ---- */
/* ---- Products placeholder: two liquid-glass cards (dev photo + live-product OG preview) ---- */
#products .v-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
#products .v-product-card{
  position:relative;border-radius:18px;overflow:hidden;display:block;text-decoration:none;color:inherit;margin:0;line-height:0;
  box-shadow:0 16px 36px #00000030,inset 0 1px 1px #ffffff40,inset 0 0 0 1px #ffffff24;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
#products .v-product-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px #00000040,inset 0 1px 1px #ffffff60,inset 0 0 0 1px #ffffff38}
#products .v-product-card img{display:block;width:100%;height:380px;object-fit:cover}
#products .v-product-badge{position:absolute;left:14px;bottom:14px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;padding:8px 14px;border-radius:100px;background:#07121fb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px #ffffff2e}
#products .v-product-dev{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.03em;color:#fff;text-shadow:0 1px 6px #00000080,0 0 14px #00000060}
#products .v-product-dev svg{width:15px;height:15px;flex-shrink:0;filter:drop-shadow(0 1px 4px #00000080)}
#products .v-og-badge{text-transform:none;opacity:0;transform:translateY(6px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
#products .v-og-card:hover .v-og-badge{opacity:1;transform:translateY(0)}
@media(max-width:900px){#products .v-product-grid{grid-template-columns:1fr}}

/* ---- small caption below the cards ---- */
#products .v-other-note{margin-top:44px;text-align:center;font-size:clamp(26px,3.6vw,44px);font-weight:500;letter-spacing:-.03em;line-height:1.15;color:var(--ink)}
#products .v-other-note em{font-style:normal;color:var(--gold-ink);font-weight:600}

/* ---- Work in chain: mainnet/mocha upgrade log, two columns of liquid-glass rows ---- */
#work-in-chain .v-chain-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:34px;align-items:stretch}
#work-in-chain .v-chain-col{display:flex;flex-direction:column}
#work-in-chain .v-chain-col h3{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 16px}
#work-in-chain .v-chain-list{display:flex;flex-direction:column;gap:12px;flex:1}
#work-in-chain .v-chain-list li{flex:1}
#work-in-chain .v-chain-list li{
  display:flex;gap:18px;align-items:center;padding:16px 20px;border-radius:18px;list-style:none;
  background:linear-gradient(165deg,#ffffff16,#ffffff07);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  box-shadow:inset 0 1px 1px #ffffff30,inset 0 0 0 1px #ffffff1c,0 12px 28px #00000030;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
#work-in-chain .v-chain-list li:hover{transform:translateY(-2px);box-shadow:inset 0 1px 1px #ffffff44,inset 0 0 0 1px #ffffff2a,0 16px 34px #00000040}
#work-in-chain .v-chain-icon{
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:linear-gradient(165deg,#ffffff2c,#ffffff0e);
  box-shadow:inset 0 0 0 1px #ffffff28;
}
#work-in-chain .v-chain-icon svg{width:20px;height:20px;color:#fff}
#work-in-chain .v-chain-body{flex:1;min-width:0}
#work-in-chain .v-chain-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
#work-in-chain .v-chain-top b{font-size:16.5px;font-weight:700;color:#fff;letter-spacing:-.01em}
#work-in-chain .v-chain-date{font-size:12px;font-weight:600;letter-spacing:.02em;color:#8295a9;white-space:nowrap}
#work-in-chain .v-chain-list p{margin:8px 0 0;font-size:13.5px;line-height:1.6;color:#b9c6d2}
#work-in-chain .v-chain-updated.reveal{
  flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.03em;color:#8ee6a8;text-transform:none;
  transform:translateY(-20px);
  transition:opacity 1.3s var(--ease),transform 1.3s var(--ease);
}
#work-in-chain .v-chain-updated svg{width:26px;height:26px}
#work-in-chain.is-active .v-chain-updated.reveal{transform:none}
#work-in-chain .v-chain-list li:nth-child(1) .v-chain-updated{transition-delay:.35s}
#work-in-chain .v-chain-list li:nth-child(2) .v-chain-updated{transition-delay:.7s}
#work-in-chain .v-chain-list li:nth-child(3) .v-chain-updated{transition-delay:1.05s}
#work-in-chain .v-chain-marketing{margin-top:32px;text-align:center;font-size:clamp(24px,3.2vw,38px);font-weight:500;letter-spacing:-.03em;line-height:1.15;color:#fff}
@media(max-width:900px){#work-in-chain .v-chain-grid{grid-template-columns:1fr}}

/* ---- brandmark overlay on the CelestiaBridge card ---- */
#products .v-product-brandmark{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:center;gap:10px}
#products .v-celestia-mark{width:22px;height:22px;overflow:hidden;display:block;flex-shrink:0}
#products .v-celestia-mark img{height:22px;width:auto;max-width:none;display:block}
#products .v-product-brandmark b{font-size:14px;font-weight:700;letter-spacing:.06em;color:#fff;white-space:nowrap}
#infrastructure{background:#000}
#infrastructure .v-heading .d-label,#infrastructure .v-intro{display:none}
#infrastructure .v-heading{margin-bottom:22px}
#work-in-chain .v-heading{margin-bottom:22px}
#infrastructure .v-heading h2{color:#fff}
#infrastructure .v-heading h2 em{color:#fff;font-style:normal}

/* ---- About Validexis (formerly roadmap): light lore slide, no gold, glass card + icon list ---- */
#roadmap .v-heading .d-label{color:var(--ink)}
#roadmap .v-heading .d-label::before{background:var(--ink)}
#roadmap .v-heading h2 em{color:var(--ink);font-style:normal}
#roadmap .v-heading h2{font-size:clamp(44px,5.4vw,74px)}

/* ---- Our road in Celestia: Celestia mark inline in the heading ---- */
#roadmap .v-road-celestia-mark{display:inline-flex;vertical-align:middle;width:clamp(46px,4.8vw,64px);height:clamp(46px,4.8vw,64px);border-radius:50%;overflow:hidden;margin:0 0 0 18px;transform:translateY(-0.08em)}
#roadmap .v-road-celestia-mark img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- 5-event staircase ---- */
#roadmap .v-stairs{display:flex;align-items:flex-end;gap:20px;margin-top:64px}
#roadmap .v-stair{flex:1;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
#roadmap .v-stair:nth-child(2){margin-bottom:40px}
#roadmap .v-stair:nth-child(3){margin-bottom:80px}
#roadmap .v-stair:nth-child(4){margin-bottom:120px}
#roadmap .v-stair:nth-child(5){margin-bottom:160px}
#roadmap .v-stair-date{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:700;letter-spacing:.02em;color:#2f4255;margin:0 0 16px}
#roadmap .v-stair-date svg{width:22px;height:22px;flex-shrink:0;color:#57687a}
#roadmap .v-stair-card{
  width:100%;border-radius:22px;padding:30px 24px;
  background:linear-gradient(165deg,#07121f40,#07121f20);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  box-shadow:0 16px 36px #00000026,inset 0 1px 1px #ffffff40,inset 0 0 0 1px #ffffff24;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
#roadmap .v-stair-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px #00000034,inset 0 1px 1px #ffffff55,inset 0 0 0 1px #ffffff34}
#roadmap .v-stair-icon{
  width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  background:linear-gradient(165deg,#ffffff38,#ffffff14);
  box-shadow:inset 0 0 0 1px #ffffff30;
}
#roadmap .v-stair-icon svg{width:25px;height:25px;color:#fff}
#roadmap .v-stair-card h3{font-size:clamp(21px,1.9vw,26px);font-weight:700;letter-spacing:-.015em;line-height:1.28;color:#fff;margin:0}
#roadmap .v-road-closing{margin:40px 0 0;text-align:right;font-size:clamp(26px,3.4vw,42px);font-weight:600;letter-spacing:-.025em;line-height:1.15;color:var(--ink)}
@media(max-width:900px){
  #roadmap .v-stairs{flex-direction:column;gap:16px;margin-top:36px}
  #roadmap .v-stair,#roadmap .v-stair:nth-child(2),#roadmap .v-stair:nth-child(3),#roadmap .v-stair:nth-child(4),#roadmap .v-stair:nth-child(5){margin-bottom:0;width:100%}
}
#infrastructure .v-dc{background:transparent;border-color:#ffffff1f}
#infrastructure .v-dc-label{display:flex;align-items:center;gap:14px;justify-content:flex-start;padding-bottom:18px}
#infrastructure .v-dc-icon{width:24px;height:24px;flex-shrink:0;color:#fff}
#infrastructure .v-dc-label b{font-size:22px;font-weight:600}
#infrastructure .v-hosts{display:flex;align-items:stretch;gap:0}
#infrastructure .v-process,#infrastructure .v-wires,#infrastructure .v-link-note,#infrastructure .v-arch-legend,#infrastructure .v-offline,#infrastructure .v-infra-foot{display:none}
#infrastructure .v-host{
  flex:1 1 0;min-height:0;border:0;position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:24px 20px;
  background:linear-gradient(165deg,#ffffff1c,#ffffff08);
  backdrop-filter:blur(18px) saturate(180%);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
  box-shadow:inset 0 1px 1px #ffffff30,inset 0 0 0 1px #ffffff20,0 14px 30px #00000040;
  border-radius:18px;
  transition:transform .25s,box-shadow .25s;
}
#infrastructure .v-host:hover{transform:translateY(-4px);box-shadow:inset 0 1px 1px #ffffff50,inset 0 0 0 1px #ffffff38,0 18px 40px #00000050}
#infrastructure .v-host.signer-host{background:linear-gradient(165deg,#ffffff1c,#ffffff08);border:0}
#infrastructure .v-host.signer-host:hover{border:0}
#infrastructure .v-host-title{height:auto}
#infrastructure .v-host-title>span{color:#fff;font-size:17px;font-weight:700;letter-spacing:-.01em;text-transform:none}
#infrastructure .v-host-status{display:flex;align-items:center;gap:14px}
#infrastructure .v-host-icon{
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:linear-gradient(165deg,#ffffff38,#ffffff14);
  backdrop-filter:blur(10px) saturate(180%);
  -webkit-backdrop-filter:blur(10px) saturate(180%);
  box-shadow:inset 0 1px 1px #ffffff70,inset 0 0 0 1px #ffffff30;
}
#infrastructure .v-host-icon svg{width:22px;height:22px;stroke:#fff}
#infrastructure .v-host-spec{border:0;margin:0;padding:0;min-height:0;color:#b9c6d2;font-size:12px;line-height:1.6}
#infrastructure .v-host-pct{display:flex;align-items:center;gap:10px;font-size:32px;font-weight:700;color:#fff;letter-spacing:-.01em;white-space:nowrap;line-height:1}
#infrastructure .v-host-check{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}
#infrastructure .v-host-check svg{width:17px;height:17px}
#infrastructure .v-host-arrow{
  flex:0 0 auto;width:40px;height:40px;align-self:center;display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:linear-gradient(165deg,#ffffff26,#ffffff0c);
  backdrop-filter:blur(10px) saturate(180%);
  -webkit-backdrop-filter:blur(10px) saturate(180%);
  box-shadow:inset 0 1px 1px #ffffff50,inset 0 0 0 1px #ffffff26;
  margin:0 -4px;color:#fff;
}
#infrastructure .v-host-arrow svg{width:18px;height:18px}
#infrastructure .v-infra-stat{text-align:center;margin:22px 0 0}
#infrastructure .v-infra-stat b{display:block;font-size:46px;font-weight:600;color:#fff;letter-spacing:-.03em;line-height:1}
#infrastructure .v-infra-stat b small{font-size:18px;font-weight:600;margin-left:8px;color:#9fb0c2}
#infrastructure .v-infra-stat p{margin-top:8px;font-size:12px;color:#9fb0c2;line-height:1.6}
@media(max-width:540px){#infrastructure .v-host-arrow{transform:rotate(90deg)}}

.v-security-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:48px;margin-top:4px}
.security-view .v-dc{background:#fff;border-color:var(--line-light)}
.security-view .v-dc-label{color:#57687a}
.security-view .v-dc-label b{color:var(--ink)}
.security-view .v-host{background:#fff;border-color:var(--line-light)}
.security-view .v-host:hover{border-color:var(--gold-ink)}
.security-view .v-host-title>span{color:var(--gold-ink)}
.security-view .v-host-title i{color:#8295a9}
.security-view .v-process{background:#f7f8fa;border-color:#e2e6ea}
.security-view .v-process b{color:var(--ink)}
.security-view .v-process small{color:#8b95a1}
.security-view .v-process svg{stroke:var(--gold-ink)}
.security-view .main-wire{stroke:var(--gold-ink)}
.security-view .v-host-spec{color:#57687a;border-top-color:var(--line-light)}
.security-view .v-offline{color:var(--ink)}
.security-view .v-arch-legend{color:#57687a}
.security-view .v-arch-legend i{background:var(--gold-ink)}
.v-external{display:flex;gap:12px;align-items:center;padding:18px 20px;margin:0 0 26px;border:1px dashed #c6d0db;border-radius:12px;font-size:11px;position:relative;background:#fff}
.v-external:after{content:'';height:26px;border-left:1px dashed #c6d0db;position:absolute;bottom:-27px;left:50%}
.v-external b{font-weight:600}
.v-external span:last-child{margin-left:auto;font-size:10px;color:#8b95a1}
.v-monitor-dot{width:7px;height:7px;border-radius:50%;background:var(--gold-ink);box-shadow:0 0 0 0 #8b570f55;animation:monitor-pulse 2.6s ease-in-out infinite}
@keyframes monitor-pulse{0%,100%{box-shadow:0 0 0 0 #8b570f33}50%{box-shadow:0 0 0 7px #8b570f00}}
.v-controls-list>div{padding:18px 0;border-top:1px solid var(--line-light)}
.v-controls-list b{font-size:17px;font-weight:600}
.v-controls-list p{font-size:12px;color:#57687a;max-width:360px;margin-top:8px;line-height:1.7}
.v-controls-list .v-response{display:flex;gap:28px}
.v-response span{font-size:10px;color:#8b95a1}
.v-response strong{display:block;font-size:34px;font-weight:500;letter-spacing:-.04em;color:var(--gold-ink);margin-bottom:6px}
.v-security-note{font-size:11px;color:#8b95a1;margin-top:22px}

/* ---- networks table ---- */
.v-network-table{margin-top:14px}
.v-net-head,.v-network-table article{display:grid;grid-template-columns:2fr .8fr 1.2fr 1.1fr 1fr;gap:25px;align-items:center}
.v-net-head{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8295a9;padding:0 24px 20px}
.v-network-table article{padding:34px 24px;border-top:1px solid var(--line-dark);min-height:145px;border-radius:14px;transition:background .3s}
.v-network-table article:hover{background:#ffffff06}
.v-network-table article:last-child{border-bottom:1px solid var(--line-dark)}
.v-network-table h3{font-size:30px;letter-spacing:-.03em;font-weight:500}
.v-network-table p{font-size:10.5px;color:#8295a9;margin-top:9px}
.v-network-table article>div{font-size:14px}
.v-network-table small{font-size:11px;color:#8295a9}
.v-state-dot{display:inline-block;width:6px;height:6px;background:#53c27a;border-radius:50%;margin-right:8px;box-shadow:0 0 0 0 #53c27a55;animation:monitor-pulse 2.6s ease-in-out infinite}
.v-network-table svg{display:block;width:36px;height:24px;stroke:var(--gold);fill:none;stroke-width:1.3;margin-bottom:6px}
.v-network-table b{font-weight:500}
.v-network-table a{font-size:11.5px;color:var(--gold);display:block;font-weight:500}
.v-network-table button{display:block;font-size:9.5px;background:none;border:1px solid #42546a;color:#9fb0c2;padding:8px 12px;border-radius:7px;margin-top:10px;transition:border-color .2s,color .2s}
.v-network-table button:hover{border-color:var(--gold);color:var(--gold)}
.v-evidence-strip{display:flex;align-items:center;gap:25px;margin-top:50px;font-size:13px;color:#cfdbe6}
.v-evidence-strip i{color:var(--gold);font-style:normal}
.v-evidence-strip>p{font-size:11px;margin-left:auto;color:#8295a9}

/* ---- evolution / one-platform slide ---- */
.v-evolution{display:grid;grid-template-columns:1.15fr 70px 1fr;gap:28px;min-height:400px}
.v-origin{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;align-items:center}
.v-origin-image button{border:0;padding:0;background:transparent;box-shadow:0 24px 48px #13233324;border-radius:12px;overflow:hidden;transition:transform .35s var(--ease)}
.v-origin-image button:hover{transform:scale(1.02)}
.v-origin-image img{width:100%;display:block}
.v-origin-image>span{font-size:9px;color:#8b95a1;display:block;margin-top:11px}
.v-origin-list>div{padding:24px 0;border-bottom:1px solid var(--line-light)}
.v-origin-list b{font-size:16px;font-weight:600;display:block}
.v-origin-list span{font-size:11px;line-height:1.65;color:#57687a;display:block;margin-top:8px}
.v-converge{display:flex;align-items:center;justify-content:center;color:var(--gold-ink);font-size:28px}
.v-converge b{display:block;animation:converge-nudge 2.4s ease-in-out infinite}
@keyframes converge-nudge{50%{transform:translateX(6px)}}
.v-platform-result{background:var(--navy);color:#fff;border-radius:18px;padding:34px;align-self:center;position:relative;overflow:hidden}
.v-platform-result::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 100% 100%,#f5b94e1f,transparent 55%);pointer-events:none}
.v-platform-result .d-label{color:var(--gold)!important}
.v-platform-result h3{font-size:44px;font-weight:500;letter-spacing:-.05em;line-height:1.05;color:#fff;position:relative}
.v-platform-result>p:not(.d-label){font-size:12.5px;color:#b7c4d2;margin-top:18px;position:relative}
.v-result-areas{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;border-top:1px solid var(--line-dark);padding-top:22px;font-size:10.5px;position:relative}
.v-result-areas span{color:#cfdbe6}
.v-platform-result .v-small{font-size:10px!important;line-height:1.65;color:#8295a9}
.v-text-button{border:0;background:none;color:var(--gold);padding:18px 0 0;font-size:12px;font-weight:600;position:relative;display:inline-flex;gap:8px}
.v-text-button:hover{text-decoration:underline;text-underline-offset:4px}

/* ---- product tour ---- */
.v-tour-tabs{background:none!important;border-bottom:1px solid var(--line-light);margin:0 0 26px;display:flex;flex-shrink:0;gap:4px}
.v-tour-tabs button{font-size:12px;color:#57687a;padding:13px 22px;border:0;border-bottom:2px solid transparent;background:none;font-weight:500;transition:color .2s}
.v-tour-tabs button:hover{color:var(--ink)}
.v-tour-tabs [aria-selected=true]{border-bottom-color:var(--gold-ink);color:var(--ink);font-weight:600}
.v-tour-panels{min-height:0}
.v-tour-panel{display:grid;grid-template-columns:300px 1fr;gap:40px;position:static!important;background:none!important}
.v-tour-panel[hidden]{display:none}
.v-tour-story{padding:18px 0}
.v-tour-story h3{font-size:28px;line-height:1.15;letter-spacing:-.03em;font-weight:500}
.v-tour-story>p{font-size:13px;color:#57687a;margin:18px 0;line-height:1.65}
.v-tour-story ol{padding:0;list-style:none;counter-reset:tour}
.v-tour-story li{font-size:12px;line-height:1.65;border-top:1px solid var(--line-light);margin-top:14px;padding-top:14px;position:relative;padding-left:28px;color:#57687a;counter-increment:tour}
.v-tour-story li:before{content:counter(tour);position:absolute;left:0;top:14px;color:var(--gold-ink);font-size:11px;font-weight:600}
.v-tour-story>a{position:static!important;display:inline-flex;gap:8px;margin-top:26px;font-size:12px;background:none!important;border:0!important;padding:0!important;color:var(--gold-ink)!important;font-weight:600}
.v-tour-story>a:hover{text-decoration:underline;text-underline-offset:4px}
.v-tour-panel figure{min-width:0;max-height:none;border:1px solid #2d4155;border-radius:14px;overflow:hidden;background:var(--navy);box-shadow:0 24px 48px #13233324}
.v-screen-caption{display:flex;justify-content:space-between;align-items:center;color:#9fb0c2;font-size:9px;padding:13px 16px;border-bottom:1px solid var(--line-dark)}
.v-screen-caption span:first-child::before{content:'● ● ●';letter-spacing:3px;color:#3d5168;margin-right:12px;font-size:8px}
.v-tour-panel figure>button{border:0;width:100%;padding:0;background:none;display:block}
.v-tour-panel img{width:100%;height:100%;max-height:calc(100dvh - 425px);min-height:260px;object-fit:contain!important;object-position:center!important}
.v-tour-panel figcaption{font-size:9px;color:#8295a9;padding:10px 16px}

/* ---- resource grid ---- */
.v-resource-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:34px;margin-top:4px}
.v-resource-grid article{border-top:1px solid var(--line-dark);padding-top:26px;transition:transform .3s}
.v-resource-grid article:hover{transform:translateY(-4px)}
.v-resource-visual{height:180px;border:1px solid #2d4155;background:linear-gradient(160deg,#152838,#0d1b28);border-radius:14px;padding:22px;margin-bottom:22px;overflow:hidden;position:relative}
.v-resource-grid h3{font-size:23px;font-weight:500;letter-spacing:-.03em}
.v-resource-grid p{font-size:12.5px;color:#9fb0c2;max-width:320px;min-height:54px;margin:11px 0 14px;line-height:1.65}
.v-resource-grid a{font-size:11px;color:var(--gold);font-weight:600}
.v-doc-visual>span{display:block;font-size:16px;padding-bottom:16px;border-bottom:1px solid var(--line-dark);margin-bottom:16px;color:#fff}
.v-doc-visual i{font-size:10px;font-style:normal;margin-right:10px;color:#9fb0c2}
.v-doc-visual b{display:block;font-size:10px;font-weight:600;color:var(--gold);margin-top:20px}
.v-access-visual>b{font-size:22px;font-weight:500;color:var(--gold)}
.v-access-visual>div{display:flex;justify-content:space-between;margin:24px 0 16px;gap:10px}
.v-access-visual span{flex:1;text-align:center;border:1px solid #38506a;border-radius:7px;padding:10px 2px;font-size:11px;color:#cfdbe6}
.v-access-visual i{font-size:9px;font-style:normal;color:#8295a9}
.v-access-visual svg{stroke:var(--gold)!important}
.v-relay-visual>b{display:inline-block;font-size:21px;font-weight:500;padding-right:20px;color:#fff}
.v-relay-visual>i{font-size:10px;color:var(--champagne);font-style:normal}
.v-relay-visual>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;padding-top:15px;border-top:1px solid var(--line-dark);font-size:10px;color:#9fb0c2}
.v-relay-visual svg{stroke:#38506a!important}
.v-relay-center{background:var(--navy)!important;border:1px solid #38506a}
.relay-a,.relay-b,.relay-c,.relay-d{background:#0d1b28!important;border-color:#38506a!important;color:#cfdbe6}
.v-source-line{display:flex;gap:26px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line-dark);font-size:10.5px;color:#8295a9}
.v-source-line a{color:#cfdbe6;font-weight:500}

/* ---- monthly history ---- */
.v-history{margin-top:10px}
.v-month-nav{display:grid;grid-template-columns:repeat(15,1fr);border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.v-month-nav button{border:0;border-bottom:2px solid transparent;background:none;color:#8b95a1;padding:16px 3px;min-width:0;transition:color .2s,background .2s}
.v-month-nav button:hover{color:var(--ink);background:#f0f2f4}
.v-month-nav button>span{font-size:13px;display:block;font-weight:500}
.v-month-nav small{font-size:8px;display:block;margin-top:5px;color:#aab4be}
.v-month-nav [aria-selected=true]{border-bottom-color:var(--gold-ink);background:#fbf3e4;color:var(--gold-ink)}
.v-month-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 24px}
.v-month-heading time{font-size:36px;font-weight:500;letter-spacing:-.04em}
.v-month-heading>span{font-size:10.5px;color:#8b95a1}
.v-month-entries{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.v-month-entries article{padding-top:19px;border-top:1px solid var(--line-light)}
.v-entry-status{font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-ink);font-weight:600}
.v-month-entries h3{font-size:24px;font-weight:500;letter-spacing:-.035em;line-height:1.15;margin:18px 0 12px}
.v-month-entries p{font-size:12.5px;color:#57687a;line-height:1.65}
.v-month-entries a{display:inline-flex;gap:6px;font-size:10px;line-height:1.5;color:var(--gold-ink);margin-top:20px;font-weight:600}
.v-month-entries a:hover{text-decoration:underline;text-underline-offset:3px}
.v-history-foot{display:flex;justify-content:space-between;font-size:10.5px;color:#8b95a1;margin-top:36px;padding-top:18px;border-top:1px solid var(--line-light)}
.v-history-foot a{color:var(--gold-ink);font-weight:600}

/* ---- roadmap ---- */
.v-roadmap{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;margin:0 0 22px}
.v-renewal{background:linear-gradient(160deg,#152838,#0d1b28);border:1px solid #2d4155;border-radius:18px;padding:30px 32px;position:relative;overflow:hidden}
.v-renewal::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 0% 100%,#f5b94e22,transparent 55%);pointer-events:none}
.v-renewal>img{width:48px;height:48px;object-fit:contain;margin-bottom:18px;position:relative}
.v-renewal h3{font-size:30px;font-weight:500;letter-spacing:-.035em;position:relative}
.v-renewal p{font-size:13px;line-height:1.7;color:#b7c4d2;margin:16px 0 26px;max-width:340px;position:relative}
.v-next-list article{display:flex;gap:24px;padding:16px 0;border-top:1px solid var(--line-dark)}
.v-next-list article>span{font-size:11px;color:var(--gold);padding-top:5px;font-weight:600}
.v-next-list h3{font-size:24px;font-weight:500;letter-spacing:-.03em}
.v-next-list p{font-size:11.5px;color:#9fb0c2;margin-top:6px;max-width:400px;line-height:1.65}
.v-next-list>small{display:block;font-size:9.5px;color:#7c93a8;line-height:1.65;margin-top:16px}
.v-close-contact{display:flex;gap:26px;align-items:center;font-size:11px;color:#cfdbe6}
.v-close-contact a:hover,.v-close-contact button:hover{color:var(--gold)}
.v-close-contact button{padding:0;border:0;color:#cfdbe6;font-size:11px;background:transparent;transition:color .2s}

/* ---- reveal-on-enter motion ---- */
.v3-deck .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.v3-deck .d-slide.is-active .reveal{opacity:1;transform:none}
.v3-deck .d-slide.is-active .v-heading.reveal{transition-delay:.05s}
.v3-deck .d-slide.is-active .v-team.reveal,
.v3-deck .d-slide.is-active .v-architecture.reveal,
.v3-deck .d-slide.is-active .v-network-table.reveal,
.v3-deck .d-slide.is-active .v-evolution.reveal,
.v3-deck .d-slide.is-active .v-history.reveal,
.v3-deck .d-slide.is-active .v-roadmap.reveal{transition-delay:.16s}
.v3-deck .d-slide:not(.is-active) .reveal{transition:none}
.v3-deck .d-cover-copy{opacity:0;transform:translateY(18px);animation:cover-enter 1s var(--ease) .15s forwards}
@keyframes cover-enter{to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  .v3-deck .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .v3-deck .d-cover-copy{opacity:1!important;transform:none!important;animation:none!important}
  .v3-deck .d-cover-art img{animation:none!important}
  .main-wire,.v-monitor-dot,.v-state-dot,.v-converge b{animation:none!important}
}

/* ---- misc shared bits ---- */
.v-network-logos{gap:44px 24px;margin:34px 0 4px}.v-network-logos img{width:68px;height:68px}
.v-roster article{min-height:0}
.v-pages{display:none}
.v-doc-visual{padding:22px}
.v-access-root{display:flex!important;flex-direction:row;align-items:center;justify-content:center!important;gap:10px!important;margin:0 0 4px!important}
.v-access-root img{width:24px;height:24px;object-fit:contain;filter:brightness(2)}
.v-access-root span{border:0!important;padding:0!important;flex:none!important;font-size:15px!important;color:#fff!important;font-weight:500}
.v-access-visual>svg{display:block;width:100%;height:57px;stroke:#38506a;stroke-width:1;fill:none}
.v-relay-visual{padding:0}
.v-relay-visual>svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:1}
.v-relay-visual>.v-relay-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;border:0;margin:0;padding:0;width:66px;height:66px;border-radius:50%;font-size:8px}
.v-relay-center img{width:28px;height:28px;object-fit:contain;filter:brightness(2)}
.v-relay-visual>span{position:absolute;font-size:10px;padding:7px 11px;border-radius:7px}
.relay-a{left:8%;top:12%}.relay-b{right:8%;top:12%}.relay-c{left:10%;bottom:12%}.relay-d{right:8%;bottom:12%}

/* ============================================================
   RESPONSIVE — preserves the original breakpoint structure
   ============================================================ */
@media(min-width:901px) and (max-height:780px){
  .v3-deck .d-header{height:60px}.v3-deck .d-header>a img{width:174px}.v3-deck .d-controls{height:58px}
  .v3-deck .d-position{bottom:96px}
  .v3-deck .d-track{height:calc(100dvh - 118px)}.v3-deck .d-canvas{padding-top:24px;padding-bottom:42px}
  .v3-deck .d-arrows button{height:33px}.v3-deck .d-details{bottom:12px}
  .v-heading{margin-bottom:22px}.v-heading h2{font-size:38px}.v-heading .d-label{font-size:9px;margin-bottom:10px!important}
  .v-intro{margin-top:12px;font-size:12px}.v-team{min-height:0}.v-roster article{padding:13px 0}
  .v-roster h3{font-size:18px}.v-roster p{font-size:11px}.v-track-record{padding:20px 24px;margin-top:-90px;min-height:calc(100% + 90px)}.v-stat b{font-size:66px}
  .v-dc{padding:14px 18px 10px}.v-host{min-height:265px;padding:12px}.v-host-title{height:32px}
  .v-process{margin:8px 0;min-height:61px}.mocha-process{min-height:72px}.v-host-spec{font-size:9.5px;padding-top:9px;margin-top:9px}
  .v-wires{height:265px}.v-infra-foot{margin-top:20px}.v-infra-foot span b{font-size:22px}
  .v-security-layout{gap:32px}.v-controls-list>div{padding:11px 0}.v-controls-list p{font-size:10.5px}
  .v-response strong{font-size:27px}.v-security-note{font-size:9px;margin-top:11px}
  .v-external{padding:13px 15px;margin-bottom:20px}.security-view .v-host{min-height:250px}
  .v-network-table article{min-height:120px;padding:25px 22px}.v-evidence-strip{margin-top:30px}
  .v-evolution{min-height:0}.v-origin-list>div{padding:17px 0}.v-platform-result{padding:25px}
  .v-platform-result h3{font-size:34px}.v-result-areas{margin:16px 0;padding-top:16px}
  .v-tour-tabs{margin-bottom:12px}.v-tour-tabs button{padding:11px 20px;font-size:11px}
  .v-tour-story{padding-top:9px}.v-tour-story h3{font-size:24px}.v-tour-story>p{font-size:12px;margin:13px 0}
  .v-tour-panel{grid-template-columns:280px 1fr;gap:34px}.v-tour-panel img{max-height:calc(100dvh - 365px);min-height:220px}
  .v-resource-visual{height:155px;padding:18px}.v-resource-grid{gap:30px}.v-resource-grid h3{font-size:21px}
  .v-resource-grid p{font-size:11.5px;min-height:48px}.v-month-nav button{padding:13px 3px}
  .v-month-heading{margin:19px 0}.v-month-entries h3{font-size:22px;margin:13px 0}.v-month-entries p{font-size:11.5px}
  .v-renewal{padding:23px 27px}.v-renewal>img{width:40px;height:40px;margin-bottom:13px}.v-renewal h3{font-size:26px}
  .v-next-list article{padding:11px 0}.v-next-list h3{font-size:22px}
}
@media(max-width:1000px){
  .v-security-layout{gap:24px;grid-template-columns:1.6fr 1fr}.v-evolution{gap:16px;grid-template-columns:1.2fr 35px 1fr}
  .v-origin{gap:16px}.v-tour-panel{grid-template-columns:240px 1fr;gap:26px}
  .v-network-table article,.v-net-head{gap:15px}.v-network-table h3{font-size:25px}
  .v-host-spec{font-size:9px}.v-link-note{font-size:8px}
}
@media(max-width:900px){
  .v3-deck .d-canvas{padding:30px 5vw 64px}.v-heading h2{font-size:36px}.v-heading{margin-bottom:28px}
  .v-team{grid-template-columns:1fr;gap:28px}.v-track-record{max-width:none;margin-top:0;min-height:0}
  .v-architecture{min-width:0}.v-host{padding:13px 9px;min-height:280px}.v-host-title>span{font-size:9px}
  .v-host-title i{font-size:7px}.v-host-spec{font-size:9px}.v-process b{font-size:15px}.v-process{padding:11px 9px}
  .v-link-note{font-size:7px}.v-security-layout{grid-template-columns:1fr;gap:28px}
  .v-controls-list{display:grid;grid-template-columns:1fr 1fr;gap:22px}.v-security-note{font-size:10px}
  .v-network-table article{grid-template-columns:1.6fr .7fr 1fr 1fr;gap:12px}.v-net-head{grid-template-columns:1.6fr .7fr 1fr 1fr;gap:12px}
  .v-net-head span:last-child{display:none}
  .v-network-table article>div:last-child{grid-column:1/-1;display:flex;gap:25px;align-items:center;margin-top:14px}
  .v-evidence-strip{flex-wrap:wrap;gap:16px;margin-top:32px}.v-evidence-strip p{margin-left:0;flex-basis:100%}
  .v-evolution{grid-template-columns:1fr;gap:28px}.v-converge{display:none}.v-origin-image{max-width:240px}
  .v-origin{grid-template-columns:1fr 1fr;gap:36px}.v-tour-panel{grid-template-columns:1fr;gap:22px}
  .v-tour-story{padding:0}.v-tour-story ol{display:grid;grid-template-columns:1fr 1fr;gap:26px}
  .v-tour-story a{margin-top:16px}.v-tour-panel img{max-height:none;height:auto;min-height:0}
  .v-resource-grid{gap:22px}.v-resource-visual{padding:16px;height:160px}.v-resource-grid h3{font-size:20px}
  .v-resource-grid p{font-size:11.5px;min-height:80px}.v-source-line{flex-wrap:wrap;gap:16px}
  .v-month-nav{display:flex;overflow-x:auto;scrollbar-width:thin}.v-month-nav button{flex:0 0 55px}
  .v-month-entries{gap:22px}.v-month-entries h3{font-size:21px}.v-history-foot{gap:22px;line-height:1.5}
  .v-roadmap{gap:32px}.v-renewal{padding:24px}.v-next-list p{font-size:11px}.v-close-contact{flex-wrap:wrap;gap:16px}
  .v-infra-foot{gap:26px;flex-wrap:wrap}.v-infra-foot p{margin-left:0;flex-basis:100%}
}
@media(max-width:540px){
  .v3-deck .d-canvas{padding:27px 24px 65px}.v3-deck .d-cover .d-canvas{padding-top:65px}
  .v-heading h2{font-size:32px}.v-intro{font-size:12px}.v-heading br{display:none}
  .v-roster article{grid-template-columns:28px 1fr;gap:10px}.v-roster h3{font-size:19px}.v-roster p{font-size:11.5px}
  .v-track-record{padding:24px}.v-stat b{font-size:72px}.v-dc{padding:16px}.v-dc-label{display:block;font-size:10px}
  .v-dc-label>span{display:block;font-size:8px;margin-top:8px}.v-hosts{display:flex;flex-direction:column;gap:16px}
  .v-host{width:100%;min-height:0;padding:16px}.v-host-title{height:auto;margin-bottom:16px}
  .v-host-title>span{font-size:10px}.v-process{min-height:0;padding:11px 13px;margin:11px 0}.v-process b{font-size:17px}
  .v-host-spec{font-size:10.5px;min-height:0}.v-wires{display:none}
  .v-link-note{font-size:9.5px;padding:0;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;position:relative}
  .v-link-note:before{content:'↓';color:var(--gold)}.v-link-note span{margin:0;background:none}
  .v-offline{min-height:0;font-size:12px;padding:10px}.v-arch-legend{flex-wrap:wrap;gap:13px;font-size:9px}
  .v-arch-legend>span:last-child{margin-left:0}.v-infra-foot span b{font-size:22px}.v-infra-foot p{font-size:10px}
  .v-external{padding:13px;gap:10px;flex-wrap:wrap;font-size:10.5px}
  .security-view .v-hosts{display:flex}.security-view .v-host{min-height:0;padding:16px}
  .v-controls-list{display:block}.v-controls-list>div{padding:18px 0}.v-response{gap:36px!important}
  .v-net-head{display:none}.v-network-table article{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:26px 0}
  .v-network-table article>div:first-child{grid-column:1/-1}.v-network-table h3{font-size:30px}
  .v-network-table article>div:nth-child(2):before{content:'VALIDATOR';display:block;font-size:8px;color:#8295a9;margin-bottom:8px}
  .v-network-table article>div:nth-child(3):before{content:'FIBRE';display:block;font-size:8px;color:#8295a9;margin-bottom:8px}
  .v-network-table article>div:nth-child(4){display:flex;gap:10px;align-items:center;grid-column:1/-1}
  .v-network-table svg{margin:0;width:30px}.v-evidence-strip{font-size:11px;gap:11px}
  .v-origin{grid-template-columns:1fr;gap:18px}
  .v-origin-image{max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
  .v-origin-image>span{font-size:10px;line-height:1.6}.v-origin-list>div{padding:15px 0}.v-origin-list b{font-size:17px}
  .v-platform-result{padding:26px}.v-platform-result h3{font-size:37px}.v-tour-tabs{overflow:auto}
  .v-tour-tabs button{white-space:nowrap;padding:12px 14px;font-size:10px}.v-tour-story h3{font-size:27px}
  .v-tour-story ol{display:block}.v-tour-story>p{font-size:12.5px}.v-tour-story li{font-size:11.5px}
  .v-tour-panel figure{margin:0 -8px}.v-screen-caption{font-size:7px;padding:11px}.v-tour-panel figcaption{font-size:8px}
  .v-resource-grid{grid-template-columns:1fr;gap:28px}.v-resource-visual{height:180px;padding:25px}
  .v-resource-grid h3{font-size:25px}.v-resource-grid p{font-size:12.5px;min-height:0;max-width:none}
  .v-month-nav{margin:0 -4px}.v-month-nav button{flex-basis:51px}.v-month-heading{margin:24px 0}
  .v-month-heading time{font-size:30px}.v-month-entries{grid-template-columns:1fr;gap:26px}
  .v-month-entries h3{font-size:25px;margin:13px 0}.v-history-foot{flex-direction:column;gap:14px;font-size:9.5px}
  .v-roadmap{grid-template-columns:1fr;gap:28px}.v-renewal{padding:27px}.v-renewal h3{font-size:29px}
  .v-next-list p{font-size:12.5px}.v-next-list article{padding:18px 0}.v-close-contact{font-size:10px;margin-bottom:16px}
  .v3-deck .d-details{right:24px}.v3-deck .d-cover-sub{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.v3-deck *{transition:none!important}}
