/* Prova S1 v6: story order, violet palette (no pink anywhere), new chapters: problem, ground truth,
   bench, footnotes. Loads after s1-v5.css. One type scale (.h1 / .h2 / .lead), one section rhythm. */
:root{--sec-pad:clamp(96px,14vh,168px);--v-300:#b8a8ff;--v-400:#9b8cff;--v-500:#8b7bff;--v-btn:#6d5df6;--v-btn-h:#7f71ff}

/* ---------- Global nav: the three-dot mark only ---------- */
.g-in .gn-mark{display:inline-flex;align-items:center;height:var(--gnav-h);padding:0 10px 0 0;color:#f5f5f7}
.g-in .gn-mark svg{height:16px;width:auto;opacity:.92;transition:opacity .2s}
.g-in .gn-mark:hover svg{opacity:1}
.gn-g{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:inherit}

/* ---------- Local nav: violet pill ---------- */
.l-buy{background:var(--v-btn);box-shadow:none;transition:background-color .2s}
.l-buy:hover{background:var(--v-btn-h);filter:none}

/* ---------- Neutral eyebrows everywhere (no decorative colors) ---------- */
.sec .eyebrow,.lg-copy .eyebrow,.ir-head .eyebrow,.as-head .eyebrow,.ix-eyebrow,.vi-head .eyebrow{color:#a1a1a6}

/* ---------- One headline scale for section h2s ---------- */
.lg-copy .h2,.ir-head .h2{font-size:clamp(36px,4.8vw,64px)}

/* ---------- Footnote markers ---------- */
sup.fn{font-size:.6em;line-height:0;vertical-align:super;margin-left:.08em;font-weight:500;letter-spacing:0}
sup.fn a{color:#86868b;text-decoration:none}
sup.fn a:hover{color:#f5f5f7}
.h2 sup.fn,.h1 sup.fn{font-size:.4em;vertical-align:.95em}

/* =========================================================
   2. PROBLEM: what labs can't see
   ========================================================= */
.pb{position:relative;background:#000;padding:clamp(80px,12vh,160px) 0}
.pb-lines{width:min(1180px,calc(100% - 48px));margin:0 auto}
.pb-line{min-height:78svh;margin:0 auto;max-width:15em;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  font-size:clamp(44px,6.2vw,88px);line-height:1.04;letter-spacing:-.016em;font-weight:500;color:#f5f5f7;text-wrap:balance;
  opacity:var(--o,1);transform:translate3d(0,var(--ty,0px),0);will-change:opacity,transform}
.pb-line span{display:block}
.pb-line .soft{color:#86868b}
.pb-line:first-child{margin-top:-8svh}

.pb-gap{width:min(1180px,calc(100% - 48px));margin:clamp(48px,8vh,96px) auto 0;text-align:center}
.pb-gh{margin:0 auto;max-width:17em;text-wrap:balance}
.pb-gh .soft{display:block}
.pb-tl{margin:clamp(56px,9vh,96px) 0 0;position:relative}
.pb-field{position:relative;height:clamp(104px,13vw,168px)}
.pb-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pb-base{fill:none;stroke:rgba(255,255,255,.2);stroke-width:1;vector-effect:non-scaling-stroke}
.pb-ticks path{fill:none;stroke:#48484a;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;
  transform-box:fill-box;transform-origin:50% 100%;transition:opacity .5s var(--ease),transform .7s var(--ease),stroke .9s var(--ease);transition-delay:var(--d,0s)}
html:not(.no-js) .pb-tl:not(.on) .pb-ticks path{opacity:0;transform:scaleY(.12)}
.pb-tl.dim .pb-ticks path{stroke:#2c2c2e}
.pb-dot{position:absolute;top:81.25%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#f5f5f7;
  box-shadow:0 0 0 6px rgba(255,255,255,.07),0 0 26px 2px rgba(255,255,255,.5);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.pb-dot.l{left:7px}.pb-dot.r{left:calc(100% - 7px)}
html:not(.no-js) .pb-tl:not(.on) .pb-dot{opacity:0;transform:scale(.5)}
.pb-unseen{position:absolute;left:50%;top:33%;transform:translateX(-50%);font-size:14px;line-height:1;letter-spacing:.02em;color:#86868b;white-space:nowrap;transition:opacity .9s var(--ease) .15s}
html:not(.no-js) .pb-tl:not(.dim) .pb-unseen{opacity:0}
.pb-ends{display:flex;justify-content:space-between;margin-top:16px;text-align:left}
.pb-ends p{margin:0;display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.3}
.pb-ends p:last-child{text-align:right}
.pb-ends b{font-weight:500;color:#f5f5f7}
.pb-ends span{color:#86868b}
.pb-num{margin:clamp(56px,9vh,96px) 0 0;font-size:clamp(72px,10vw,150px);line-height:.92;font-weight:500;letter-spacing:-.03em;color:#f5f5f7}
.pb-cap{margin:16px auto 0;max-width:24em;font-size:clamp(19px,1.55vw,24px);line-height:1.36;color:#86868b;text-wrap:balance}
.pb-close{width:min(1180px,calc(100% - 48px));margin:clamp(112px,16vh,160px) auto 0;text-align:center;text-wrap:balance}
.pb-close .soft{display:block}

/* =========================================================
   3. INSIDE: larger close line
   ========================================================= */
.ix-close{font-size:clamp(22px,2.2vw,32px);line-height:1.2;letter-spacing:-.012em}
.ix-h{text-wrap:balance}

/* =========================================================
   5-7. LEDGER, RECORD, REPLAY: rhythm + replay exception
   ========================================================= */
.v3-ledger{padding:var(--sec-pad) 0 calc(var(--sec-pad) * .5)}
.record.sec{padding:calc(var(--sec-pad) * .7) 0 var(--sec-pad)}
.ir-hot{fill:none;stroke:#ffb547;stroke-width:2.6;vector-effect:non-scaling-stroke;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(255,181,71,.8))}
.ir-flag{border-color:rgba(255,181,71,.6);box-shadow:0 0 40px -6px rgba(255,181,71,.5)}
.ir-flag span{color:#ffd9a3}

/* =========================================================
   8. GROUND TRUTH
   ========================================================= */
.gt{position:relative;background:#000;padding:clamp(100px,14vh,180px) 0;overflow-x:clip}
.gt-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}
.gt-h{max-width:14em;text-wrap:balance}
.gt-h .soft{display:block}
.gt-lead{margin-top:28px;max-width:34em}
.gt-cmp{margin-top:clamp(64px,10vh,104px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.gt-k{margin:0 0 10px;font-size:14px;line-height:1.3;font-weight:600;letter-spacing:.01em;color:#86868b}
.gt-now .gt-k{color:var(--v-300)}
.gt-col ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.1)}
.gt-col li{display:flex;align-items:center;min-height:72px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);
  font-size:clamp(19px,1.75vw,24px);line-height:1.25;letter-spacing:-.005em;transition:opacity .6s var(--ease),transform .7s var(--ease)}
.gt-later li{color:#6e6e73;transition-delay:calc(var(--i) * 90ms)}
.gt-now{position:relative;isolation:isolate}
.gt-now::after{content:"";position:absolute;z-index:-1;left:-12%;right:-12%;top:-18%;bottom:-18%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(111,92,255,.18),rgba(111,92,255,.06) 55%,transparent);filter:blur(28px);pointer-events:none}
.gt-now li{color:#f5f5f7;transition-delay:calc(420ms + var(--i) * 130ms)}
.gt-now li::before{content:"";flex:none;width:6px;height:6px;margin-right:16px;border-radius:50%;background:var(--v-400);box-shadow:0 0 10px 1px rgba(139,123,255,.75)}
html:not(.no-js) .gt-cmp:not(.on) li{opacity:0;transform:translateY(12px)}

.gt-tiles{margin-top:clamp(72px,11vh,120px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gt-tile{margin:0;background:#0f0f11;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:40px 36px 44px;
  transition:opacity .7s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i) * 110ms)}
html:not(.no-js) .gt-tiles:not(.on) .gt-tile{opacity:0;transform:translateY(20px)}
.gt-ic{width:28px;height:28px;fill:none;stroke:#d2c8ff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gt-tile h3{margin:28px 0 0;font-size:28px;line-height:1.12;font-weight:500;letter-spacing:-.01em;color:#f5f5f7}
.gt-tile p{margin:12px 0 0;font-size:17px;line-height:1.47;color:#a1a1a6}
.gt-tile p b{color:#f5f5f7;font-weight:500}

.gt-climax{margin-top:clamp(128px,19vh,190px);text-align:center}
.gt-pre{margin:0 auto;max-width:30em;font-size:21px;line-height:1.38;color:#86868b;text-wrap:balance}
.v3-as .h2{text-wrap:balance}
.gt-proof{margin:12px 0 0;font-size:clamp(56px,8vw,128px);line-height:1.02;font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.gt-proof .grad{display:inline-block;padding-bottom:.08em}
.gt-climax p{transition:opacity 1s var(--ease),transform 1.1s var(--ease),filter 1.1s var(--ease)}
.gt-climax .gt-proof{transition-delay:.2s}
html:not(.no-js) .gt-climax:not(.on) p{opacity:0;transform:translateY(16px);filter:blur(8px)}

/* =========================================================
   9. BENCH
   ========================================================= */
.bn{background:#000;padding:var(--sec-pad) 0;text-align:center}
.bn-head{width:min(980px,calc(100% - 48px));margin:0 auto}
.bn-head .h2 .soft{display:block}
.bn-head .lead{margin:24px auto 0;max-width:34em}
.bn-row{list-style:none;margin:clamp(64px,10vh,104px) auto 0;padding:0 24px;width:min(1180px,100%);display:flex;justify-content:center;align-items:flex-end;gap:clamp(36px,5vw,88px)}
.bn-row li{flex:none}
.bn-row figure{margin:0;display:flex;flex-direction:column;align-items:center}
.bn-row img{display:block;height:236px;width:auto;transition:opacity 1s var(--ease)}
.bn-row li:nth-child(2) img{transition-delay:.18s}.bn-row li:nth-child(3) img{transition-delay:.36s}.bn-row li:nth-child(4) img{transition-delay:.54s}
html:not(.no-js) .bn-row:not(.on) img{opacity:.55}
.bn-row figcaption{margin-top:20px;font-size:14px;line-height:1.3;color:#a1a1a6;white-space:nowrap}

/* =========================================================
   10. ACTUAL SIZE: neutral stage
   ========================================================= */
.v3-as{padding:var(--sec-pad) 0 calc(var(--sec-pad) * .6)}
.as-stage{background:radial-gradient(60% 70% at 50% 58%,#1c1c1f,#0d0d0f 56%,#070708 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.as-glow{background:radial-gradient(closest-side,rgba(255,255,255,.07),transparent)}

/* =========================================================
   11. KIT: neutral card
   ========================================================= */
.v3-kit{padding:calc(var(--sec-pad) * .4) 16px calc(var(--sec-pad) * .6)}
.kit-card{background:#0f0f11;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.kit-box img{filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}
.pick:hover{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}

/* =========================================================
   12. FOOTNOTES + FOOTER
   ========================================================= */
.fnotes{width:min(980px,calc(100% - 48px));margin:clamp(24px,5vh,56px) auto 0;padding:36px 0 20px;border-top:1px solid rgba(255,255,255,.12);
  font-size:12px;line-height:1.5;letter-spacing:.012em;color:#86868b}
.fnotes ol{margin:0 0 14px;padding-left:1.15em}
.fnotes li{margin:0 0 8px;padding-left:.25em}
.fnotes p{margin:0 0 10px}
.fn-back{margin-left:4px;color:#a1a1a6;text-decoration:none}
.fn-back:hover{color:#f5f5f7}
.sfoot{border-top:0;padding-top:12px}
.sfoot .wrap{width:min(980px,calc(100% - 48px))}
.sf-word{display:inline-flex;width:max-content;margin:0 0 10px;color:#f5f5f7;text-decoration:none!important}
.sf-word svg{height:13px;width:auto}

/* ---------- Responsive ---------- */
@media (max-width:980px) and (min-width:735px){
  .gt-tiles{gap:14px}
  .gt-tile{padding:30px 24px 34px;border-radius:24px}
  .gt-tile h3{font-size:22px;margin-top:22px}
  .gt-tile p{font-size:15px}
}
@media (max-width:734px){
  .gt-tiles{grid-template-columns:1fr;gap:16px}
}
@media (max-width:734px){
  .pb-line{min-height:70svh;max-width:none;font-size:clamp(36px,10vw,48px);line-height:1.08}
  .pb-gh,.pb-close{font-size:32px}
  .pb-field{height:96px}
  .pb-cap{font-size:19px}
  .gt-h{font-size:clamp(38px,10.5vw,48px)}
  .gt-cmp{grid-template-columns:1fr;gap:48px}
  .gt-col li{min-height:60px;font-size:19px}
  .gt-tile{padding:32px 28px 36px;border-radius:24px}
  .gt-tile h3{font-size:24px;margin-top:22px}
  .gt-pre{font-size:19px}
  .gt-proof{font-size:clamp(44px,12.5vw,60px)}
  .bn-row{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:28px;padding:0 24px 6px}
  .bn-row::-webkit-scrollbar{display:none}
  .bn-row li{scroll-snap-align:center}
  .bn-row img{height:132px}
  .bn-row figcaption{font-size:13px;margin-top:14px}
  .ix-close{font-size:22px}
}
@media (prefers-reduced-motion:reduce){
  .pb-line{opacity:1!important;transform:none!important}
  .pb-ticks path,.pb-dot,.pb-unseen,.gt-col li,.gt-tile,.gt-climax p,.bn-row img{transition:none!important}
}
