/* Lattica site: everything below the hero. Inter 400 only, IBM Plex Mono 400 for labels. */
:root{
  --page:#02040a;            /* near-black navy page */
  --surface-popover:#0e0e13; /* Figma web: surface/popover (card surface) */
  --navy-0:#0e0e13;          /* alias: card surface = surface/popover */
  --navy-1:#0e0e13;
  --navy-2:rgba(255,255,255,.03); /* raised node: neutral, no blue */
  --navy-line:rgba(134,180,229,.14);
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --acc:#86b4e5;
  --ease:cubic-bezier(.65,0,.35,1);
  --ease-out:cubic-bezier(.22,1,.36,1);
  --wrap:1200px;
  --strip-h:104px;
}
h1,h2,h3,h4,h5,b,strong,th{font-weight:400}
:root{--surface-background:var(--page)}
html,body{background:var(--page)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
::selection{background:rgba(134,180,229,.3)}

/* NAV: transparent over the hero, solid once you scroll past it */
.nav{transition:background-color .3s ease}
.nav.is-solid{background:rgba(2,4,10,.72);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}

/* HERO BLOCK: hero (100svh) + proof strip share one background, fading out at the bottom */
.hero--block{height:auto;min-height:0}
.hero__first{position:relative;height:100svh;min-height:560px}
.hero--block .hero__shade{
  background:
    linear-gradient(to top, var(--surface-background) 0, rgba(2,4,10,.94) 22px, rgba(2,4,10,.76) var(--strip-h), rgba(2,4,10,.5) calc(var(--strip-h) + 22vh), rgba(2,4,10,0) calc(var(--strip-h) + 50vh)),
    linear-gradient(to bottom, rgba(2,4,10,.65) 0, rgba(2,4,10,0) 18vh),
    radial-gradient(120% 90% at 0% 85%, rgba(2,4,10,.5) 0%, rgba(2,4,10,0) 60%)}

.proof{position:relative;height:var(--strip-h);padding:0 var(--gutter)}
.proof__row{height:100%;max-width:none;margin:0;display:flex;align-items:center;justify-content:space-between;gap:32px}
.proof__grp{display:flex;align-items:center;gap:28px}
.proof__k{font-size:15px;line-height:20px;color:rgba(255,255,255,.45);white-space:nowrap}
.proof__logo{display:inline-flex;align-items:center;opacity:.92;transition:opacity .2s ease}
.proof__logo[hidden]{display:none}
a.proof__logo:hover{opacity:1}
.proof__logo img{display:block;width:auto;height:var(--logo-h,24px)}
.proof__logo--zenith{--logo-h:26px}
.proof__logo--veridise{--logo-h:22px}
.proof__logo--poly{--logo-h:22px}

/* LAYOUT */
/* one shared container: full-bleed with the hero's side margins (the hero has no max-width) */
.rails{position:relative;max-width:none;margin:0;padding:0 var(--gutter)}
.sec{position:relative;padding:clamp(96px,11vw,160px) 0 0;scroll-margin-top:24px}
.sec__head{max-width:720px;padding:0;margin-bottom:clamp(40px,5vw,64px)}
.sec__title{text-wrap:balance;font-size:clamp(34px,4.2vw,56px);line-height:1.04;letter-spacing:-.035em;color:var(--text-strong)}
.sec__title--sm{font-size:clamp(28px,3vw,40px)}
.sec__lede{margin-top:18px;max-width:56ch;font-size:clamp(16px,1.2vw,18px);line-height:1.5;color:var(--text-secondary)}

/* PANELS: navy surface, faint 12px dot grid (web app Dot Grid), corner tag */
.panel{position:relative;margin:0;border:0;border-radius:10px;overflow:hidden;
  background:
    radial-gradient(circle at 6px 6px, rgba(255,255,255,.035) .9px, transparent 1.3px) 0 0/12px 12px,
    var(--surface-popover)}
.panel__tag{position:absolute;top:14px;left:16px;font:10px/14px var(--font-mono);letter-spacing:.1em;color:rgba(255,255,255,.32);z-index:1}
.panel__cap{padding:0 32px 28px;font:12px/18px var(--font-mono);color:var(--text-muted);letter-spacing:.01em;max-width:none}
.panel--lg{padding:64px 48px 8px}
.panel--lg .panel__cap{padding:8px 0 28px;margin-top:16px}

/* SVG language */
.dg__svg{display:block;width:100%;height:auto;overflow:visible}
.dg__svg text{font-family:var(--font-mono)}
.lbl{font-size:10px;letter-spacing:.08em;fill:rgba(255,255,255,.62)}
.lbl--dim{fill:rgba(255,255,255,.36)}
.lbl--hi{fill:rgba(255,255,255,.88)}
.lbl--acc{fill:var(--acc)}
.lbl--wide{letter-spacing:.28em;font-size:12px}
.ln{fill:none;stroke:rgba(255,255,255,.16);stroke-width:var(--sw,1);stroke-linecap:round;stroke-linejoin:round}
.ln--hi{stroke:rgba(255,255,255,.72)}
.ln--acc{stroke:var(--acc)}
.dash{stroke-dasharray:2 4}
.node{fill:var(--navy-2);stroke:rgba(255,255,255,.12);stroke-width:var(--sw,1)}
.node--core{fill:rgba(255,255,255,.025);stroke:rgba(255,255,255,.18)}
.node--acc{stroke:rgba(134,180,229,.55)}
.track{fill:none;stroke:rgba(255,255,255,.14);stroke-width:var(--sw,1)}
.solid{fill:rgba(255,255,255,.88)}
.solid--dim{fill:rgba(255,255,255,.4)}
.solid--acc{fill:var(--acc)}
.glyph{fill:none;stroke:rgba(255,255,255,.7);stroke-width:var(--sw,1)}
.ring{fill:none;stroke:rgba(255,255,255,.3);stroke-width:var(--sw,1);stroke-dasharray:1.5 4.5}
.ring--acc{stroke:rgba(134,180,229,.5)}
.dot-acc{fill:var(--acc)}
.dot-hollow{fill:var(--surface-popover);stroke:var(--acc);stroke-width:var(--sw,1)}
.tail{fill:rgba(134,180,229,.22)}
.band{fill:rgba(134,180,229,.08);stroke:rgba(134,180,229,.22);stroke-width:var(--sw,1);stroke-dasharray:2 3}
.bar-track{fill:rgba(255,255,255,.08)}
.bar{fill:var(--acc);transform-box:fill-box;transform-origin:left center;transform:scaleX(0)}
.lev-fill{fill:rgba(134,180,229,.26);stroke:rgba(134,180,229,.55);stroke-width:var(--sw,1);transform-box:fill-box;transform-origin:left center;transform:scaleX(.1)}
.lat{fill:rgba(207,226,247,.7);opacity:.4}
.flow-dot{fill:var(--acc)}
.flow-dot--white{fill:#fff}
.flow-halo{fill:var(--acc);opacity:.18}
.flow-halo--white{fill:#fff}

/* Draw-on + fade-in, triggered when the diagram scrolls into view */
.dg .draw{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease) var(--d,0s)}
.dg .fade{opacity:0;transition:opacity .9s var(--ease-out) var(--d,0s)}
.dg.is-in .draw{stroke-dashoffset:0}
.dg.is-in .fade{opacity:1}
.dg .spin{transform-box:fill-box;transform-origin:center;animation:spin 48s linear infinite;animation-play-state:paused}
.dg.is-live .spin{animation-play-state:running}
@keyframes spin{to{transform:rotate(360deg)}}
.dg .lat{animation:lat 4.4s var(--ease) infinite;animation-delay:var(--i,0s);animation-play-state:paused}
.dg.is-live .lat{animation-play-state:running}
@keyframes lat{0%,100%{opacity:.4}12%{opacity:1}30%{opacity:.4}}
.dg .lev-fill{animation:lev 7s var(--ease) infinite 1.4s;animation-play-state:paused}
.dg.is-live .lev-fill{animation-play-state:running}
@keyframes lev{0%,8%{transform:scaleX(.1)}42%,78%{transform:scaleX(1)}100%{transform:scaleX(.1)}}
.dg .bar{transition:transform 1.4s var(--ease) 1.4s}
.dg.is-in .q1{transform:scaleX(.18)}
.dg.is-in .q2{transform:scaleX(.46)}
.dg.is-in .q3{transform:scaleX(.84)}
.dg.is-live .q1{animation:q1 9s var(--ease) infinite 3s}
.dg.is-live .q2{animation:q2 11s var(--ease) infinite 3.4s}
.dg.is-live .q3{animation:q3 8s var(--ease) infinite 3.8s}
@keyframes q1{0%,100%{transform:scaleX(.18)}50%{transform:scaleX(.24)}}
@keyframes q2{0%,100%{transform:scaleX(.46)}50%{transform:scaleX(.38)}}
@keyframes q3{0%,100%{transform:scaleX(.84)}50%{transform:scaleX(.92)}}

/* Waterfall loop (10s): loss drops, layers drain in order, LP principal stays untouched, layers refill */
.wf-fill{transform-box:fill-box;transform-origin:left center}
.wf-1{fill:rgba(134,180,229,.55)}
.wf-2{fill:rgba(134,180,229,.36)}
.wf-3{fill:rgba(134,180,229,.2)}
.wf-4{fill:rgba(255,255,255,.86)}
.wf-ok{fill:#0e0e13;opacity:0;letter-spacing:.12em}
.wf-drop{fill:#fff;opacity:0;transform-box:view-box}
.dg-wf.is-live .wf-1{animation:wf1 10s var(--ease) infinite}
.dg-wf.is-live .wf-2{animation:wf2 10s var(--ease) infinite}
.dg-wf.is-live .wf-3{animation:wf3 10s var(--ease) infinite}
.dg-wf.is-live .wf-ok{animation:wfok 10s var(--ease) infinite}
.dg-wf.is-live .wf-drop{animation:wfdrop 10s var(--ease) infinite}
@keyframes wf1{0%,18%{transform:scaleX(1)}30%,82%{transform:scaleX(0)}94%,100%{transform:scaleX(1)}}
@keyframes wf2{0%,36%{transform:scaleX(1)}48%,82%{transform:scaleX(0)}94%,100%{transform:scaleX(1)}}
@keyframes wf3{0%,54%{transform:scaleX(1)}62%,82%{transform:scaleX(.55)}94%,100%{transform:scaleX(1)}}
@keyframes wfok{0%,62%{opacity:0}68%,84%{opacity:1}92%,100%{opacity:0}}
@keyframes wfdrop{
  0%,4%{opacity:0;transform:translateY(0)}
  8%{opacity:1;transform:translateY(0)}
  18%,30%{opacity:1;transform:translateY(30px)}
  36%,48%{opacity:1;transform:translateY(102px)}
  54%,60%{opacity:1;transform:translateY(174px) scale(1)}
  66%,100%{opacity:0;transform:translateY(174px)}
}

.dg-wf.is-live .wf-drop--m{animation-name:wfdropm}
@keyframes wfdropm{
  0%,4%{opacity:0;transform:translateY(0)}
  8%{opacity:1;transform:translateY(0)}
  18%,30%{opacity:1;transform:translateY(48px)}
  36%,48%{opacity:1;transform:translateY(144px)}
  54%,60%{opacity:1;transform:translateY(240px)}
  66%,100%{opacity:0;transform:translateY(240px)}
}
.dg--pool-m,.panel__cap--m{display:none}
.dg--pool-d{max-width:560px;margin:0 auto}

/* 01 PILLARS */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,40px)}
.pillar{padding:0}
.pillar .panel{padding:28px 0 8px;margin-bottom:28px}
.pillar__i{font:11px/15px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.pillar__t{margin-top:12px;font-size:24px;line-height:1.2;letter-spacing:-.02em;color:var(--text-strong)}
.pillar__p{margin-top:10px;font-size:15px;line-height:1.55;color:var(--text-secondary);max-width:38ch}

/* 02 ENGINE */
.dg--mob{display:none}
.steps{list-style:none;padding:0;margin:clamp(56px,6vw,88px) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,40px)}
.step{padding:0}
.step .panel{padding:16px 8px 8px;margin-bottom:24px}
.step__n{font:11px/15px var(--font-mono);letter-spacing:.1em;color:var(--acc)}
.step__t{margin-top:12px;font-size:22px;line-height:1.2;letter-spacing:-.02em}
.step__p{margin-top:10px;font-size:15px;line-height:1.55;color:var(--text-secondary);max-width:40ch}

/* 03 POOL */
.pool{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.6vw,24px)}
.pool .panel{padding:56px 32px 28px}
.pool__note{margin:24px 0 0;font-size:15px;line-height:1.55;color:var(--text-secondary);max-width:70ch}
.ext{color:var(--text-strong);white-space:nowrap;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:1px;transition:color .2s ease}
.ext:hover{color:var(--acc)}

/* 04 WHITE PAPERS */
.papers{display:grid;grid-template-columns:repeat(2,minmax(0,380px));justify-content:start;gap:clamp(32px,5vw,72px);padding:24px 0 8px}
.paper{display:block;outline:none;-webkit-tap-highlight-color:transparent}
.paper__obj{position:relative;display:block;aspect-ratio:1/1.3;perspective:1200px}
.paper__cover,.paper__sheet{position:absolute;inset:0;border-radius:3px}
.paper__sheet{background:#cfd5dd;transition:transform .7s var(--ease-out)}
.paper__sheet--3{transform:translate(10px,10px);background:#9aa4b2;opacity:.55}
.paper__sheet--2{transform:translate(5px,5px);background:#c3cad4}
.paper__cover{display:flex;flex-direction:column;padding:26px 26px 28px;color:#0b1a2e;overflow:hidden;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.04 0 0 0 0 0.1 0 0 0 0 0.18 0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
    linear-gradient(160deg,#eef1f5 0%,#e3e8ee 100%);
  box-shadow:inset 0 0 0 1px rgba(11,26,46,.08);
  transform-origin:50% 100%;transition:transform .7s var(--ease-out)}
.paper__cover::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg, rgba(255,255,255,0) 40%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 60%);transform:translateX(-120%);transition:transform 1.1s var(--ease-out)}
.paper__obj::after{content:"";position:absolute;left:6%;right:6%;bottom:-18px;height:40px;border-radius:50%;background:rgba(0,0,0,.65);filter:blur(18px);opacity:.5;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);z-index:-1}
.paper__top{display:flex;justify-content:space-between;font:10px/14px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(11,26,46,.7);padding-bottom:10px;border-bottom:1px solid rgba(11,26,46,.18)}
.paper__date{margin-top:8px;font:10px/14px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(11,26,46,.45)}
.paper__art{display:block;width:100%;margin:auto 0;padding:8px 0}
.pa-grid path{fill:none;stroke:rgba(11,26,46,.08);stroke-width:1}
.pa-ln{fill:none;stroke:#0b1a2e;stroke-width:1;stroke-linecap:round}
.pa-ln--2{stroke-opacity:.45}
.pa-ln--3{stroke-opacity:.22}
.pa-fill{fill:rgba(11,26,46,.12)}
.pa-box{fill:rgba(255,255,255,.4);stroke:#0b1a2e;stroke-width:1}
.pa-dot{fill:#0b1a2e}
.paper__title{display:block;font-size:clamp(22px,2vw,28px);line-height:1.12;letter-spacing:-.025em;color:#0b1a2e;max-width:15ch}
.paper__by{display:block;margin-top:12px;font:10px/14px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(11,26,46,.5)}
.paper__meta{display:flex;justify-content:space-between;align-items:center;margin-top:28px;font-size:14px;line-height:18px}
.paper__type{font:11px/15px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:0;transform:translateY(-6px);transition:opacity .45s var(--ease-out), transform .45s var(--ease-out)}
.paper__open{color:var(--text-strong);opacity:0;transform:translateY(-6px);transition:opacity .45s var(--ease-out) .05s, transform .45s var(--ease-out) .05s}
.paper:hover .paper__cover,.paper:focus-visible .paper__cover{transform:translateY(-14px) rotate(-1.4deg)}
.paper:nth-child(2):hover .paper__cover,.paper:nth-child(2):focus-visible .paper__cover{transform:translateY(-14px) rotate(1.4deg)}
.paper:hover .paper__sheet--2,.paper:focus-visible .paper__sheet--2{transform:translate(6px,-2px) rotate(.6deg)}
.paper:hover .paper__cover::before,.paper:focus-visible .paper__cover::before{transform:translateX(120%)}
.paper:hover .paper__obj::after,.paper:focus-visible .paper__obj::after{opacity:.85;transform:scaleX(.92)}
.paper:hover .paper__type,.paper:hover .paper__open,.paper:focus-visible .paper__type,.paper:focus-visible .paper__open{opacity:1;transform:none}
.paper:focus-visible .paper__cover{box-shadow:inset 0 0 0 1px rgba(11,26,46,.08), 0 0 0 2px var(--acc)}
@media (hover: none){
  .paper__type,.paper__open{opacity:1;transform:none}
}

/* 05 INVESTORS (hidden) */
.sec[hidden]{display:none}
.logos{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.logo-ph{height:120px;display:grid;place-items:center;border-radius:10px;background:var(--surface-popover);font:11px/15px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.28)}

/* CTA */
.cta{position:relative;padding:clamp(120px,14vw,200px) 0 clamp(96px,10vw,140px);text-align:center}
.cta::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 6px 6px, rgba(134,180,229,.16) .9px, transparent 1.3px) 0 0/12px 12px;
  -webkit-mask:radial-gradient(50% 55% at 50% 52%, #000 0%, transparent 100%);mask:radial-gradient(50% 55% at 50% 52%, #000 0%, transparent 100%)}
.cta__in{position:relative}
.cta__title{font-size:clamp(40px,5.6vw,80px);line-height:1;letter-spacing:-.04em}
.cta .sec__lede{margin:18px auto 0}
.cta__btns{justify-content:center;margin-top:32px}

/* FOOTER */
.foot{padding:56px var(--gutter) 40px}
.foot__in,.foot__base{max-width:none;margin:0}
.foot__in{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.foot__brand img{height:22px;width:auto;display:block}
.foot__tag{margin-top:14px;font-size:14px;color:var(--text-muted)}
.foot__cols{display:grid;grid-template-columns:repeat(3,minmax(140px,auto));gap:32px 56px}
.foot__col{display:flex;flex-direction:column;gap:10px}
.foot__h{font:11px/15px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:4px}
.foot__col a{font-size:14px;line-height:20px;color:var(--text-secondary);transition:color .15s ease;width:fit-content}
.foot__col a:hover{color:var(--text-strong)}
.foot__col a span{color:var(--text-muted);font-size:12px}
/* legal: long centred fine print at the very bottom of every page */
.legal{max-width:1240px;margin:88px auto 0;text-align:center;font-size:11.5px;line-height:1.75;font-weight:400;color:rgba(255,255,255,.34);text-wrap:pretty}
.legal p+p{margin-top:14px}
.legal a{color:rgba(255,255,255,.5);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,255,255,.2)}
.legal a:hover{color:var(--text-strong)}
.doc-foot .legal{flex-basis:100%;margin-top:40px;font-family:var(--font-sans,inherit);letter-spacing:0;text-transform:none}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease-out) var(--rd,0s), transform .9s var(--ease-out) var(--rd,0s)}
[data-reveal].is-in{opacity:1;transform:none}
.no-js [data-reveal]{opacity:1;transform:none}

/* RESPONSIVE */
@media (max-width: 1100px){
  .panel--lg{padding:56px 28px 4px}
  .pillars,.steps{grid-template-columns:1fr}
  .pillars,.steps{row-gap:56px}
  .pillar,.step{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:clamp(28px,4vw,48px);align-content:center}
  .pillar .panel,.step .panel{grid-column:1;grid-row:1 / span 3;margin-bottom:0;align-self:center}
  .pillar > :not(.panel),.step > :not(.panel){grid-column:2}
  .pillar__i,.step__n{align-self:end}
  .pool{grid-template-columns:1fr}
  .dg--desk .lbl{font-size:11px}
}
@media (max-width: 860px){
  :root{--strip-h:132px}
  .proof__row{flex-direction:column;align-items:flex-start;justify-content:center;gap:18px}
  .proof__grp{gap:0}
  .proof__k{width:104px;font-size:14px}
  .dg--desk{display:none}
  .dg--mob{display:block;max-width:420px;margin:0 auto}
  .panel--lg{padding:48px 16px 0}
  .panel--lg .panel__cap{padding:20px 0}
}
@media (max-width: 680px){
  .pillars,.steps{row-gap:48px}
  .pillar,.step{display:block;padding:0}
  .pillar .panel{margin-bottom:28px}
  .step .panel{margin-bottom:24px}
  .sec__head{padding:0}
  .pool .panel{padding:48px 16px 20px}
  .dg--pool-d{display:none}
  .dg--pool-m{display:block}
  .pool .panel__cap--m{display:block;padding:16px 0 0}
  .papers{grid-template-columns:minmax(0,320px);gap:56px}
  .logos{grid-template-columns:1fr 1fr}
  .foot__cols{grid-template-columns:1fr 1fr;width:100%}
  .legal{margin-top:56px;font-size:11px;text-align:center}
  .pool__note{margin:20px 0 0}
}

@media (prefers-reduced-motion: reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  .dg .draw{stroke-dashoffset:0;transition:none}
  .dg .fade{opacity:1;transition:none}
  .dg .spin,.dg .lat,.dg .lev-fill,.dg-wf .wf-fill,.dg-wf .wf-ok,.dg-wf .wf-drop,.dg .bar{animation:none !important;transition:none}
  .dg .lev-fill{transform:scaleX(1)}
  .dg-wf .wf-drop{opacity:0}
  .dg .q1{transform:scaleX(.18)} .dg .q2{transform:scaleX(.46)} .dg .q3{transform:scaleX(.84)}
  .dg-wf .wf-3{transform:scaleX(1)}
  .paper__cover,.paper__sheet,.paper__type,.paper__open,.paper__cover::before,.paper__obj::after{transition:none}
}

/* DOC PAGES (security, terms, privacy): plain black text column */
.doc-body{background:#000}
.doc-body .nav{background:rgba(0,0,0,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.doc{max-width:none;margin:0;padding:clamp(120px,14vw,168px) var(--gutter) 96px;color:var(--text-secondary);font-size:16px;line-height:1.7}
.doc__kicker{font:11px/15px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.doc h1{margin-top:16px;font-size:clamp(36px,4.4vw,52px);line-height:1.05;letter-spacing:-.035em;color:var(--text-strong)}
.doc__updated{margin-top:16px;font:12px/18px var(--font-mono);color:rgba(255,255,255,.4)}
.doc h2{margin-top:64px;font-size:22px;line-height:1.3;letter-spacing:-.015em;color:var(--text-strong)}
.doc h3{margin-top:28px;font-size:16px;line-height:1.4;color:var(--text-strong)}
.doc p,.doc ul{margin-top:14px}
.doc ul{padding-left:20px}
.doc li{margin-top:8px}
.doc li::marker{color:rgba(255,255,255,.3)}
.doc code{font:13px/1 var(--font-mono);color:var(--text-primary);background:rgba(255,255,255,.06);padding:2px 5px;border-radius:4px}
.doc a.ext{font-size:inherit}
.doc .ph{display:block;margin-top:14px;padding:16px 18px;border:1px dashed rgba(255,255,255,.18);border-radius:8px;font:13px/1.6 var(--font-mono);color:rgba(255,255,255,.5)}
.audit{margin-top:40px;padding:24px;border:0;border-radius:10px;background:var(--surface-popover)}
.audit__top{display:flex;align-items:center;justify-content:space-between;gap:16px;font:11px/15px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.audit__badge{display:inline-flex;align-items:center;gap:8px;color:var(--acc)}
.audit__badge svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.audit__t{margin-top:18px;font-size:22px;line-height:1.3;letter-spacing:-.015em;color:var(--text-strong)}
.audit__p{margin-top:8px;font-size:15px;line-height:1.6;color:var(--text-secondary)}
.audit__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.doc-foot{padding:28px var(--gutter);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:11px/15px var(--font-mono);letter-spacing:.06em;color:rgba(255,255,255,.4);max-width:none}
.doc-foot nav{display:flex;gap:20px}
.doc-foot a:hover{color:var(--text-strong)}
.audit__next{display:flex;align-items:center;gap:16px;margin-top:24px;padding-top:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.audit__next img{height:18px;width:auto;opacity:.85;flex:none}
.audit__next p{font-size:14px;line-height:1.5;color:var(--text-muted)}

/* ---------- WARHORSE engine (v3) ---------- */
.dg:not(.is-live) .dg-engine *{animation-play-state:paused !important}
.lbl--val{fill:var(--acc);letter-spacing:.06em;transition:opacity .35s ease}
.lbl--val.is-tick{opacity:.25}
.qbar,.ttrfill{transform-box:fill-box;transform-origin:left center;transition:transform 1.4s var(--ease)}
.qbar{fill:var(--acc)}
.ttrfill{fill:rgba(255,255,255,.7)}
.seg{fill:rgba(255,255,255,.7);transition:opacity .5s ease}
.catsq{transition:opacity .5s ease}
.spark{animation:spark 6s linear infinite}
@keyframes spark{to{transform:translateX(calc(-1 * var(--spark-w)))}}
.mbar{transform-box:fill-box;transform-origin:center bottom;animation:mbar 2.6s var(--ease) infinite;animation-delay:var(--i,0s)}
@keyframes mbar{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.55)}}
.pulse{animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
/* pricing ring */
.ticks line{stroke:rgba(255,255,255,.22);stroke-width:1}
.ticks{transform-box:view-box;transform-origin:var(--cx,960px) var(--cy,202px)}
.dg--desk .ticks{--cx:600px;--cy:202px;animation:spin 90s linear infinite}
.dg--mob .ticks{--cx:180px;--cy:600px;animation:spin 90s linear infinite}
.spin-rev{transform-box:fill-box;transform-origin:center;animation:spin 60s linear infinite reverse}
.gauge-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:2}
.gauge{fill:none;stroke:var(--acc);stroke-width:2;stroke-linecap:round;stroke-dasharray:1 1;transition:stroke-dashoffset 1.4s var(--ease)}
/* signed quote packet + verify */
.packet rect{fill:var(--surface-popover);stroke:var(--acc);stroke-width:1}
.packet line{stroke:var(--acc);stroke-width:1}
.vcirc{fill:none;stroke:rgba(255,255,255,.3);stroke-width:1;transition:stroke .4s ease}
.chk{fill:none;stroke:var(--acc);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset .5s var(--ease)}
.verify.ok .chk{stroke-dashoffset:0}
.verify.ok .vcirc{stroke:var(--acc)}
.dg-eng .panel__cap{max-width:none}
@media (prefers-reduced-motion: reduce){
  .dg-engine *{animation:none !important;transition:none !important}
  .chk{stroke-dashoffset:0}
}

.doc>*{max-width:680px}

/* ---------- WARHORSE core (v6, round-1 object) ---------- */
.glit{fill:var(--acc);opacity:0;transition:opacity .45s var(--ease)}
.flow-dot{filter:blur(.3px)}
.flow-halo{opacity:.16}
.flow-halo--white{opacity:.14}
@media (prefers-reduced-motion: reduce){ .glit{transition:none} }

/* ---------- FAQ accordion ---------- */
.faq{max-width:880px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.faq__item{box-shadow:inset 0 -1px 0 rgba(255,255,255,.08)}
.faq__q{margin:0;font:inherit}
.faq__q button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;font-size:clamp(17px,1.4vw,20px);line-height:1.35;letter-spacing:-.01em;color:var(--text-strong);font-weight:400}
.faq__q button:focus-visible{outline:2px solid var(--acc);outline-offset:4px;border-radius:4px}
.faq__ic{position:relative;flex:none;width:14px;height:14px;transition:transform .45s var(--ease)}
.faq__ic::before,.faq__ic::after{content:"";position:absolute;left:0;top:6.5px;width:14px;height:1px;background:rgba(255,255,255,.7)}
.faq__ic::after{transform:rotate(90deg)}
.faq__q button[aria-expanded="true"] .faq__ic{transform:rotate(45deg)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.faq__a>div{overflow:hidden}
.faq__a p{padding:0 48px 26px 0;max-width:72ch;font-size:15px;line-height:1.65;color:var(--text-secondary);opacity:0;transform:translateY(-4px);transition:opacity .35s ease,transform .45s var(--ease)}
.faq__a a{color:var(--text-strong);box-shadow:inset 0 -1px 0 rgba(255,255,255,.3)}
.faq__a a:hover{color:var(--acc)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__item.is-open .faq__a p{opacity:1;transform:none}
.step__more{display:inline-block;margin-top:14px;font-size:14px;color:var(--text-strong);box-shadow:inset 0 -1px 0 rgba(255,255,255,.3);transition:color .15s ease}
.step__more:hover{color:var(--acc)}
/* WARHORSE floats on the page: no section card */
.dg-eng.panel{background:none;padding-left:0;padding-right:0;overflow:visible}
.dg-eng .panel__cap{padding-left:0;padding-right:0}
@media (prefers-reduced-motion: reduce){.faq__a,.faq__a p,.faq__ic{transition:none}}
.dg-eng.panel{padding-top:16px}
.faq__a>div{visibility:visible}
.faq__item:not(.is-open) .faq__a>div{visibility:hidden;transition:visibility 0s .45s}

/* ---------- WARHORSE v8: circle engine, rectangle premium, verify glow ---------- */
.core__bg{fill:rgba(255,255,255,.02)}
.dg-engine .gauge{stroke-width:1.5;stroke-linecap:butt}
/* premium rulers (v11): interleaved rulers feed a blue belt through the gap between them (driven from site.js) */
.belt{fill:none;stroke:var(--acc);stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round}
.belt-track{fill:none;stroke:rgba(255,255,255,.1);stroke-width:1}
.rack{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1}
.rack--t{stroke:rgba(255,255,255,.42)}
.vglow{fill:none;stroke:var(--acc);stroke-width:1;opacity:0;transition:opacity .7s var(--ease)}
.verify.ok .vglow{opacity:1;transition-duration:.35s}
.verify .vcirc{transition:stroke .7s var(--ease)}
@media (prefers-reduced-motion: reduce){.vglow{transition:none}}

/* FAQ: title and contact on the left, questions on the right */
.faq-wrap{display:grid;grid-template-columns:minmax(260px,5fr) 7fr;gap:clamp(40px,6vw,120px);align-items:start}
.faq-wrap .faq{max-width:none}
.faq__head{margin-bottom:0;position:sticky;top:112px}
.faq__lede{margin-top:20px;font-size:15px;line-height:1.55;color:var(--text-secondary);font-weight:400}
.faq__contact{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.faq__contact li{display:flex;align-items:baseline;gap:16px}
.faq__ch{width:76px;flex:none;font:11px/15px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);font-weight:400}
.faq__contact a{font-size:15px;line-height:22px;color:var(--text-strong);font-weight:400;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;background-color:transparent;padding-bottom:1px;transition:color .15s ease}
.faq__contact a:hover{color:var(--acc)}
@media (max-width: 860px){
  .faq-wrap{grid-template-columns:1fr;gap:40px}
  .faq__head{position:static}
}

/* product mocks (Leverage, Lend pillars): recreated app UI, cropped off the panel edge */
.pillar .panel--mock{padding:36px 0 0}
.panel--mock .dg__svg{display:block}
.mk text{font-weight:400}
.dg__svg text.mk-s{font-family:"IBM Plex Sans Condensed",var(--font-sans);letter-spacing:0}
.mk-s--hi{fill:rgba(255,255,255,.92)}
.mk-s--mu{fill:rgba(255,255,255,.5)}
.mk-s--ink,.mk-n--ink{fill:#0a0b0d}
.mk-s--acc,.mk-n--acc{fill:var(--acc)}
.mk-n{font-size:10.5px;letter-spacing:-.03em;fill:rgba(255,255,255,.86)}
.mk-n--mu{fill:rgba(255,255,255,.5)}
.mk-n--xl{font-size:19px;fill:rgba(255,255,255,.95)}
.mk-card{fill:#131319}
.mk-field{fill:rgba(250,250,250,.06)}
.mk-seg{fill:rgba(127,138,151,.27)}
.mk-track{fill:rgba(255,255,255,.12)}
.mk-fill{fill:rgba(255,255,255,.9)}
.mk-thumb{fill:#fff}
.mk-tag{fill:var(--acc)}
.mk-liq{fill:none;stroke:#ff7792;stroke-opacity:.6;stroke-width:1;stroke-dasharray:3 3}
.mk-layer{fill:rgba(250,250,250,.05)}
.mk-layer--acc{fill:rgba(134,180,229,.14)}
.mk-caret{fill:var(--acc);animation:mkblink 1.1s steps(1) infinite}
@keyframes mkblink{50%{opacity:0}}
@media (prefers-reduced-motion: reduce){.mk-caret{animation:none}}
