/* Treble landing v2: new sections in the original flat language (Archivo, Narrow labels, hairlines, square tiles). */
:root{--ink-soft:#c9d8cf;--muted-2:#8fa99b;--warn:#e8c26b;--down:#f2656f}

/* Shared pieces */
.live-dot{display:inline-block;width:6px;height:6px;background:var(--lime);animation:pulse 1.4s ease-in-out infinite;flex:none}
.tile-cta{--ease:cubic-bezier(.785,.135,.15,.86);display:inline-flex;gap:2px;height:44px;font:500 13px/1 'Archivo Narrow',sans-serif;letter-spacing:1.1px;text-transform:uppercase;white-space:nowrap}
.tile-cta>span{display:flex;align-items:center;padding:0 20px;background:var(--ink);color:#07100b;transition:background .3s var(--ease),color .3s var(--ease)}
.tile-cta>i{display:grid;place-items:center;width:44px;background:var(--lime);color:#06120b;font-style:normal;font-size:18px;transition:transform .3s var(--ease)}
.tile-cta:hover>span{background:var(--lime)}
.tile-cta:hover>i{transform:translate(2px,-2px)}
.reveals .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.reveals .reveal.is-in{opacity:1;transform:none}

/* Hero */
.hero-v2 h1{font-size:clamp(64px,6.7vw,126px)}
.hero-topline-right{display:flex;align-items:center;gap:10px;color:var(--ink-soft)}
.hero-caption>div{display:flex;flex-direction:column}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:26px;pointer-events:auto}
.hero-actions .text-link{margin:0}
.hero-v2 .drag-label{gap:12px;color:var(--ink-soft)}
/* The ticker's top rule doubles as the hero's closing line. */
.hero-v2 .hero-bottom{border-bottom:0;padding-bottom:0;bottom:30px}
.hero-v2 .hero-stage{inset:16% 7% 15% 44%}
.hero-v2 .hero-stage::before{content:"";position:absolute;inset:6% 4%;background:radial-gradient(closest-side,#1f7a4530,transparent 72%);pointer-events:none}
.reg{position:absolute;width:15px;height:15px;opacity:.55}
.reg::before,.reg::after{content:"";position:absolute;background:#6f8f7d}
.reg::before{left:7px;top:0;width:1px;height:15px}.reg::after{left:0;top:7px;width:15px;height:1px}
.reg-tl{left:0;top:0}.reg-tr{right:0;top:0}.reg-bl{left:0;bottom:0}.reg-br{right:0;bottom:0}
.stage-note{position:absolute;font:11px 'Archivo Narrow',sans-serif;letter-spacing:1.4px;color:var(--muted-2)}
.stage-note-top{left:26px;top:2px}.stage-note-bottom{right:26px;bottom:1px}
.mark-outline{position:absolute;left:5%;top:7%;width:88%;height:86%;overflow:visible}
.mk-line{fill:none;stroke:#e4f7ea;stroke-opacity:.78;stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.mk-inner{fill:none;stroke:#8fd6a9;stroke-opacity:.2;stroke-width:1;stroke-dasharray:2 7;vector-effect:non-scaling-stroke}
.mk-tracer{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.mk-tracer.tail{stroke:#5bd68a;stroke-opacity:.55;stroke-width:2;filter:url(#tracer-glow)}
.mk-tracer.head{stroke:#effff4;stroke-width:3;filter:url(#tracer-glow)}
.js .mk-line{stroke-dasharray:1000;animation:draw 2.6s cubic-bezier(.65,0,.35,1) .15s both}
.js .mk-inner{animation:fade-in 1.6s ease 1.4s both}
.js .mk-tracers{animation:fade-in 1.2s ease 2.2s both}
@keyframes draw{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes fade-in{from{opacity:0}}

/* Ticker */
.ticker{position:relative;z-index:6;display:flex;align-items:stretch;height:52px;margin:0 var(--pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ticker-label{flex:none;display:flex;align-items:center;gap:12px;padding-right:28px;font:12px 'Archivo Narrow',sans-serif;letter-spacing:1.5px;color:var(--ink-soft)}
.ticker-label i{font-style:normal;color:var(--lime)}
.ticker-viewport{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.ticker-track{display:flex;width:max-content;height:100%;animation:marquee 70s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-item{position:relative;display:flex;align-items:center;gap:10px;padding:0 28px;font-size:13px;white-space:nowrap}
.ticker-item::after{content:"";position:absolute;right:0;top:50%;width:1px;height:14px;margin-top:-7px;background:#2b3d33}
.ticker-item img{width:20px;height:20px;border-radius:50%;object-fit:cover;background:#12241a}
.ticker-item b{font-weight:500;letter-spacing:.2px}
.ticker-item .px{color:var(--ink-soft);font-variant-numeric:tabular-nums}
.ticker-item .up{color:var(--lime)}.ticker-item .down{color:var(--down)}.ticker-item .flat{color:var(--muted-2)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* 01 — Mechanism */
.mechanism{padding-top:40px;padding-bottom:120px}
.mechanism .section-topline{border-top:0}
.mechanism-heading{display:grid;grid-template-columns:1fr 2.25fr;gap:50px;margin-top:100px}
.mechanism h2,.pool h2{font-size:clamp(42px,4.6vw,80px);line-height:1.03;letter-spacing:-.065em}
.equation{list-style:none;margin:100px 0 0;padding:0;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:3%;align-items:start;border-top:1px solid var(--line)}
.term{padding-top:34px}
.term-figure{display:flex;align-items:baseline;font:600 clamp(120px,13.5vw,240px)/.9 'Archivo Narrow',Archivo,sans-serif;letter-spacing:-.085em;color:transparent;-webkit-text-stroke:1px #a9c7b6}
.term-figure em{font-style:normal;font-size:.5em;font-weight:400;color:var(--lime);-webkit-text-stroke:0;letter-spacing:-.04em;margin-left:.05em}
.term-total .term-figure{color:var(--lime);-webkit-text-stroke:0}
.term-total .term-figure em{color:var(--ink)}
.term-label{display:flex;align-items:center;gap:9px;margin-top:26px;font:12px 'Archivo Narrow',sans-serif;letter-spacing:1.6px;color:var(--ink-soft)}
.term-label::before{content:"";width:5px;height:5px;background:var(--lime)}
.term p{margin-top:12px;max-width:270px;font-size:15px;line-height:1.65;color:#a9bdb1}
.operator{padding-top:calc(34px + 2.5vw);font:200 clamp(56px,6vw,108px)/1 Archivo,sans-serif;color:#5d836f}
.equation-example{display:flex;align-items:baseline;gap:34px;margin-top:70px;padding-top:24px;border-top:1px solid var(--line);font-size:18px;letter-spacing:-.3px;color:var(--ink-soft)}
.equation-example b{font-weight:500;color:var(--lime)}

/* 03 — Pool */
.pool{padding-top:90px;padding-bottom:150px}
.pool-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:110px;align-items:end}
.pool-copy .section-description{max-width:500px;margin-bottom:38px}
.split{padding-top:22px;border-top:1px solid #3a5647}
.split-bar{display:flex;gap:3px;height:8px;margin:30px 0 34px}
.split-bar i{display:block;width:var(--w);background:var(--lime);transform-origin:left;transition:transform 1.4s cubic-bezier(.22,1,.36,1)}
.split-bar i:nth-child(2){background:#3c8f60}.split-bar i:nth-child(3){background:#2a4e3b}
.reveals .split:not(.is-in) .split-bar i{transform:scaleX(0)}
.split-figures{display:grid;grid-template-columns:1.6fr 1fr .8fr;gap:24px;margin:0}
.split-figures dt{font:12px 'Archivo Narrow',sans-serif;letter-spacing:1.4px;color:var(--ink-soft);text-transform:uppercase}
.split-figures dd{margin:14px 0 0;font-size:clamp(52px,5vw,92px);line-height:1;letter-spacing:-.065em}
.split-figures dd span{font-size:.45em;color:var(--lime);letter-spacing:-.02em;margin-left:.04em}
.split-figures div:not(:first-child) dd{color:#a9c7b6}
.team-stake{display:grid;grid-template-columns:1fr 2.25fr;gap:50px;margin-top:150px;padding-top:40px;border-top:1px solid var(--line)}
.team-stake .aside-note{padding-top:12px}
.team-line{font-size:clamp(34px,3.6vw,62px);line-height:1.04;letter-spacing:-.06em}
.team-line span{color:var(--lime)}
.team-copy{max-width:560px;margin-top:22px;font-size:17px;line-height:1.7;color:#afc2b7}
.team-stake .risk-note{margin-top:18px}

/* 04 / 05 tweaks */
.instruments-heading h2 span,.manual-grid h2 span{color:#7fbf98}
.instruments{padding-top:90px;padding-bottom:150px}
.instruments .feature-row{padding:46px 0}
.field-manual{padding-top:90px;padding-bottom:170px}
.feature-row h3 span{color:var(--lime)}

/* Footer */
.footer-v2{background:transparent;color:var(--ink);padding-top:0}
.footer-v2 .footer-top{padding-top:26px;border-top:1px solid var(--line)}
.footer-v2 .footer-top .eyebrow,.footer-v2 .footer-top>a{color:var(--ink-soft)}
.footer-v2 .footer-top>a:hover{color:var(--lime)}
.footer-v2 .footer-statement{color:var(--ink);margin:90px 0 44px}
.footer-v2 .footer-statement span{color:var(--lime)}
.footer-actions{display:flex;flex-wrap:wrap;gap:12px}
.footer-risk{max-width:620px;margin-top:110px;font-size:12px;line-height:1.6;color:#8aa293}
.footer-v2 .footer-bottom{margin-top:18px;border-top:1px solid var(--line);color:var(--ink-soft)}
.footer-v2 .footer-bottom .wordmark{display:inline-flex;align-items:center;gap:9px}
.footer-v2 .footer-bottom .brand-name{font:500 22px/1 Archivo,sans-serif;letter-spacing:-1.1px;color:var(--ink)}
.footer-v2 .footer-bottom a:hover{color:var(--lime)}

/* Responsive */
@media(max-width:1100px){
 .hero-v2 .hero-stage{inset:20% 3% 18% 40%}
 .mechanism-heading{grid-template-columns:.7fr 2.25fr;gap:35px}
 .pool-grid{gap:6%}
}
@media(max-width:850px){
 .mechanism-heading{grid-template-columns:1fr;margin-top:65px}
 .mechanism-heading .aside-note{display:none}
 .mechanism h2,.pool h2{font-size:6.8vw}
 .equation{grid-template-columns:1fr auto 1fr auto 1fr;gap:2%}
 .term p{font-size:14px}
 .pool-grid{grid-template-columns:1fr;gap:60px}
 .team-stake{grid-template-columns:1fr;gap:18px}
 .team-stake .aside-note{display:block}
 .pool-grid{align-items:start}
}
@media(max-width:700px){
 .hero-v2{min-height:1180px}
 .hero-v2 h1{font-size:clamp(46px,12.1vw,84px)}
 .hero-v2 .hero-stage{inset:610px 4% 150px 2%}
 .hero-v2 .hero-caption{top:378px}
 .reg-bl,.reg-br{display:none}
 .hero-actions{flex-wrap:wrap;gap:16px 24px}
 .hero-v2 .hero-side{top:640px;bottom:170px}
 .hero-topline-right{display:none}
 .stage-note{display:none}
 .ticker{height:46px}.ticker-label{padding-right:14px;font-size:11px;letter-spacing:1px}.ticker-item{padding:0 18px;font-size:12px;height:46px}
 .hero-v2 .hero-bottom{bottom:22px}
 .mechanism{padding-bottom:80px}
 .mechanism h2,.pool h2{font-size:clamp(34px,8.7vw,60px)}
 .equation{grid-template-columns:1fr;gap:0;margin-top:60px}
 .term{display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
 .term-figure{grid-row:span 2;font-size:96px}
 .term-label{margin-top:0}
 .term p{margin-top:6px;grid-column:2}
 .operator{display:none}
 .equation-example{flex-direction:column;gap:10px;margin-top:36px;font-size:16px}
 .pool{padding-top:60px;padding-bottom:90px}
 .pool-grid{margin-top:48px}
 .split-figures{grid-template-columns:1.3fr 1fr 1fr;gap:14px}
 .split-figures dd{font-size:44px}
 .team-stake{margin-top:90px;padding-top:30px}
 .team-copy{font-size:16px}
 .instruments,.pool,.field-manual{padding-bottom:100px}
 .instruments .feature-row{padding:30px 0}
 .footer-risk{margin-top:70px}
 .footer-v2 .footer-statement{margin:60px 0 34px}
 .footer-actions .tile-cta{flex:1 1 100%}
 .footer-actions .tile-cta>span{flex:1}
}

/* Footer echo of the hero mark */
.footer-v2{position:relative;overflow:hidden}
.footer-mark{position:absolute;right:var(--pad);top:120px;width:min(34vw,520px);height:auto;aspect-ratio:1182/1115;left:auto;opacity:.9;pointer-events:none}
.footer-v2>*:not(.footer-mark){position:relative;z-index:1}
.js .footer-mark .mk-still{stroke-dasharray:none;animation:none;stroke-opacity:.35}
@media(max-width:850px){.footer-mark{width:46vw;top:170px;opacity:.5}}
@media(max-width:700px){.footer-mark{display:none}}

/* Final line system: one hairline opens each section; separators appear only between list items. */
.ticker{border-bottom:0}
.equation,.split,.team-stake{border-top:0;padding-top:0}
.term{padding-top:0}
.equation-example{border-top:0;padding-top:0;margin-top:64px}
.feature-list>.feature-row:first-child{border-top:0}
.feature-list>.feature-row:last-child{border-bottom:0}
.manual-questions details:first-child{border-top:0}
.manual-questions details:last-child{border-bottom:0}
.footer-v2 .footer-bottom{border-top:0;padding-top:0;margin-top:14px}

/* Final rhythm: equal section spacing and heading offsets. */
.mechanism{padding-top:64px;padding-bottom:150px}
.pool,.instruments,.field-manual{padding-top:0;padding-bottom:150px}
.mechanism-heading,.pool-grid{margin-top:96px}
.instruments-heading{margin:96px 0 40px}
.manual-grid{margin-top:96px}
.equation{margin-top:110px}
.team-stake{margin-top:130px}
.footer-v2 .footer-statement{margin:96px 0 44px}
@media(max-width:700px){
 .mechanism{padding-top:40px;padding-bottom:90px}
 .pool,.instruments,.field-manual{padding-bottom:90px}
 .mechanism-heading,.pool-grid,.manual-grid{margin-top:52px}
 .instruments-heading{margin:52px 0 24px}
 .equation{margin-top:56px}
 .term{padding:22px 0;border-bottom:0}
 .team-stake{margin-top:80px}
 .footer-v2 .footer-statement{margin:60px 0 34px}
}
.footer-v2{padding-bottom:36px}
.footer-risk{margin-top:120px}
.footer-v2 .footer-bottom{margin-top:40px}
.footer-mark{top:auto;bottom:150px}
@media(max-width:700px){.footer-risk{margin-top:64px}.footer-v2 .footer-bottom{margin-top:28px}}
