
:root{
  --blue-900:#001627; --blue-700:#0F4064; --blue-500:#335C7B; --blue-500a:#1A557D;
  --blue-300:#879FB1; --blue-100:#B7C5D0; --lime:#A3D94E;
  --site-soft:#02192C; --card-dark:#061B2D; --card-dark-2:#08233A;
  --meta-2:#96A6B6; --meta-3:#788C9E;
  --hairline:rgba(183,197,208,0.14); --hairline-2:rgba(183,197,208,0.3); --rule:rgba(183,197,208,0.22);
  --ease:cubic-bezier(0.22,1,0.36,1);
  --ease-grid:cubic-bezier(0.45,0,0.2,1); /* v0.71: the 04 resize, gentle start and soft landing */
  --sans:"Artegra Sans Alt","Artegra Sans",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --pad:clamp(20px,4vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;overflow-x:clip}
body{background:var(--blue-900);color:var(--blue-100);font-family:var(--sans);font-weight:300;font-size:clamp(16px,1.15vw,18px);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}@media (min-width:2561px){body{font-size:max(clamp(16px,1.15vw,18px), min(calc(18.00px + (100vw - 2560px) * 0.00352), 22.50px))}} /* v0.79: clip, not hidden, so body is not a scroll container and position:sticky works (the 01 moment, the 05 panel); hidden stays as the fallback for browsers without clip */
::selection{background:rgba(163,217,78,0.28);color:#fff}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:2px}
h1,h2,h3{color:#fff;line-height:1.08;letter-spacing:-0.015em}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
.fw{max-width:none;margin:0;padding:0 var(--pad)}
.eyebrow{font-family:var(--mono);font-size:16px;font-weight:500;letter-spacing:0.16em;color:var(--meta-2);text-transform:uppercase;display:flex;align-items:center;gap:16px}@media (min-width:2561px){.eyebrow{font-size:max(16px, min(calc(16.00px + (100vw - 2560px) * 0.00313), 20.00px))}}
.eyed{display:inline-block;width:11px;height:11px;border:1px solid var(--blue-100);transform:rotate(45deg);opacity:0.75;flex:none;transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease),opacity .5s var(--ease),background .5s var(--ease);position:relative}
.eyed.lit{transform:rotate(45deg) scale(1.5);border-color:var(--lime);background:var(--lime);opacity:1;box-shadow:0 0 22px rgba(163,217,78,0.85),0 0 64px rgba(163,217,78,0.35)}
.eyed.lit::after{content:"";position:absolute;left:50%;top:-16px;bottom:-16px;width:1px;background:linear-gradient(180deg,transparent,rgba(163,217,78,0.9),transparent);transform:rotate(-45deg);transform-origin:center}
.two-tone .tt{color:var(--lime)}
/* v0.63: heading words rise out of clipped boxes (typo()) */
.typo-h .wb{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:0.12em;margin-bottom:-0.12em}
.typo-h .wi{display:inline-block;will-change:transform}
.typo-p .wp{display:inline}
/* first touch under-layer (v0.68): the big wire object, beneath the page content, above the field */
.ft-under{position:fixed;inset:0;z-index:0;pointer-events:none}
@media (max-width:900px){.ft-under{display:none}}
/* rails (v0.66): 1px lines drawn over transparent borders, see rails() */
.rail{position:absolute;pointer-events:none}
.rail-top{left:0;right:0;top:-1px;height:1px;transform-origin:0 50%}
.rail-bottom{left:0;right:0;bottom:-1px;height:1px;transform-origin:0 50%}
.rail-right{top:0;bottom:0;right:-1px;width:1px;transform-origin:50% 0}
.rail-left{top:0;bottom:0;left:-1px;width:1px;transform-origin:50% 0}
/* report row: the rules draw in with each row of the sequence */
.rep-art .rrow{position:relative;border-top-color:transparent}
.rep-art .rrow:last-child{border-bottom-color:transparent}
.rep-art .rrow::before,.rep-art .rrow:last-child::after{content:"";position:absolute;left:0;height:1px;width:0;background:var(--hairline);transition:width 1.1s var(--ease)}
.rep-art .rrow::before{top:-1px}
.rep-art .rrow:last-child::after{bottom:-1px;transition-delay:1.25s}
.sig-report.rev .rrow::before,.sig-report.rev .rrow:last-child::after{width:100%}
.sig-report.rev .r2::before{transition-delay:.35s}.sig-report.rev .r3::before{transition-delay:.7s}.sig-report.rev .r4::before{transition-delay:1.05s}
section{position:relative}
.h2{font-size:clamp(32px,3.8vw,58px);font-weight:700}@media (min-width:2561px){.h2{font-size:max(clamp(32px,3.8vw,58px), min(calc(58.00px + (100vw - 2560px) * 0.00453), 63.80px))}}

/* ---------- buttons: live-site register ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-weight:500;font-size:17px;border-radius:999px;padding:13px 28px 13px 15px;cursor:pointer;border:1px solid rgba(183,197,208,0.28);color:#fff;background:linear-gradient(135deg,#0A2A44 0%,#0F4064 55%,#0B3050 100%);transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);line-height:1.2}@media (min-width:2561px){.btn{font-size:max(17px, min(calc(17.00px + (100vw - 2560px) * 0.00332), 21.25px))}}
.btn:hover{transform:translateY(-1px);border-color:rgba(183,197,208,0.55);box-shadow:0 6px 24px rgba(0,10,20,0.45)}
.chip{width:30px;height:30px;border-radius:50%;background:var(--lime);color:var(--blue-900);display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;flex:none;transition:transform .25s var(--ease)}
.btn:hover .chip{transform:translateX(2px)}
.btn-quiet{background:transparent;padding:13px 28px}
.btn-quiet:hover{border-color:var(--blue-100)}
.tlink{font-weight:500;color:#fff;display:inline-flex;align-items:center;gap:10px;position:relative}
.tlink::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--blue-100);transform:scaleX(0);transform-origin:right center;transition:transform .4s var(--ease)}
.tlink:hover::after{transform:scaleX(1);transform-origin:left center}
.tlink .arr{font-family:var(--mono);font-size:13px}@media (min-width:2561px){.tlink .arr{font-size:max(13px, min(calc(13.00px + (100vw - 2560px) * 0.00254), 16.25px))}}

/* ---------- header ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:70;transition:background .4s var(--ease),border-color .4s var(--ease),transform .45s var(--ease)}
header.hdr-hide{transform:translateY(-101%)}
header .hwrap{padding:16px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo-main{display:block;height:42px;width:auto}
header nav{display:flex;align-items:center;gap:clamp(20px,3vw,52px)}
header nav .ni{font-size:20px;font-weight:500;color:var(--blue-100);position:relative;padding:6px 2px;display:inline-flex;align-items:baseline;gap:8px}@media (min-width:2561px){header nav .ni{font-size:max(20px, min(calc(20.00px + (100vw - 2560px) * 0.00156), 22.00px))}}
header nav .ni:hover{color:#fff}
.ni .ix{font-family:var(--mono);font-size:12px;color:var(--meta-3);letter-spacing:0.08em;transform:translateY(-0.5em);transition:color .3s var(--ease)}@media (min-width:2561px){.ni .ix{font-size:max(12px, min(calc(12.00px + (100vw - 2560px) * 0.00234), 15.00px))}}
.ni:hover .ix{color:var(--lime)}
.ni::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--blue-100);transform:scaleX(0);transform-origin:right center;transition:transform .35s var(--ease)}
.ni:hover::after{transform:scaleX(1);transform-origin:left center}
/* ---------- header LOCK 2026-09-11: variant A INDEX; B/C/D filed to _template-library ---------- */
/* ---------- mobile menu (burger at 1199 and below; 2026-09-26: raised from 1024 when Contact joined the nav, so the desktop nav never wraps) ---------- */
.nav-toggle{display:none;align-items:center;gap:12px;background:transparent;border:1px solid rgba(183,197,208,0.32);border-radius:999px;padding:10px 18px 10px 20px;color:#fff;cursor:pointer;font-family:var(--sans);font-weight:500;font-size:16px;letter-spacing:0.02em;transition:border-color .3s var(--ease)}@media (min-width:2561px){.nav-toggle{font-size:max(16px, min(calc(16.00px + (100vw - 2560px) * 0.00313), 20.00px))}}
.nav-toggle:hover{border-color:var(--blue-100)}
.nav-toggle .nbars{position:relative;width:18px;height:10px;display:block}
.nav-toggle .nbars i{position:absolute;left:0;width:18px;height:1px;background:#fff;transition:transform .35s var(--ease),top .35s var(--ease)}
.nav-toggle .nbars i:first-child{top:0}
.nav-toggle .nbars i:last-child{top:9px}
.nav-toggle[aria-expanded="true"] .nbars i:first-child{top:4.5px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nbars i:last-child{top:4.5px;transform:rotate(-45deg)}
header .hwrap{position:relative;z-index:1}
.mnav{position:fixed;inset:0;z-index:0;background:rgba(0,22,39,0.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:calc(var(--pad) + 72px) var(--pad) var(--pad);display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;opacity:0;transition:opacity .35s var(--ease)}
.mnav[hidden]{display:none}
.mnav.is-open{opacity:1}
.mnav-list{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0;border-top:1px solid var(--hairline);padding-top:22px}
.mnav-list .mni{font-size:clamp(30px,7vw,44px);font-weight:500;color:#fff;line-height:1.15;padding:10px 0;display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--hairline);opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}@media (min-width:2561px){.mnav-list .mni{font-size:max(clamp(30px,7vw,44px), min(calc(44.00px + (100vw - 2560px) * 0.00344), 48.40px))}}
.mnav-list .mni .ix{font-family:var(--mono);font-size:13px;color:var(--meta-3);letter-spacing:0.1em;transform:translateY(-0.9em);min-width:24px}@media (min-width:2561px){.mnav-list .mni .ix{font-size:max(13px, min(calc(13.00px + (100vw - 2560px) * 0.00254), 16.25px))}}
.mnav.is-open .mni{opacity:1;transform:none}
.mnav.is-open .mni:nth-child(1){transition-delay:.06s}.mnav.is-open .mni:nth-child(2){transition-delay:.12s}.mnav.is-open .mni:nth-child(3){transition-delay:.18s}.mnav.is-open .mni:nth-child(4){transition-delay:.24s}.mnav.is-open .mni:nth-child(5){transition-delay:.30s}
.mnav-foot{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-top:32px;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease) .3s,transform .5s var(--ease) .3s}
.mnav.is-open .mnav-foot{opacity:1;transform:none}
.mnav-foot .btn-nav{display:inline-flex}
.mnav-foot .mlink{color:var(--blue-100);font-size:17px;font-weight:500}@media (min-width:2561px){.mnav-foot .mlink{font-size:max(17px, min(calc(17.00px + (100vw - 2560px) * 0.00332), 21.25px))}}
.mnav-foot .mlink:hover{color:#fff}
.mnav-foot .mmeta{font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;color:var(--meta-3);line-height:1.8}@media (min-width:2561px){.mnav-foot .mmeta{font-size:max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px))}}
.mnav-foot .mmeta a{color:var(--blue-100)}
.mnav-foot .msep{margin:0 10px}
html.mnav-open,html.mnav-open body{overflow:hidden}
@media (max-width:1199px){
  header nav .ni{display:none}
  header .hwrap{justify-content:flex-start}
  header .hwrap nav{margin-left:auto}
  .nav-toggle{display:inline-flex}
}
/* 2026-09-26: five items and the pill; from 1200 to 1439 the nav scales from 17 to 20 px (index numbers kept), 20 px from 1440 */
@media (min-width:1200px) and (max-width:1439px){
  header nav{gap:clamp(16px,2vw,30px)}
  header nav .ni{font-size:clamp(17px,1.39vw,20px);gap:6px}
  header nav .btn-nav{font-size:clamp(17px,1.39vw,20px);padding:10px clamp(16px,1.5vw,22px);gap:9px}
}
header nav .ni,header nav .btn-nav{white-space:nowrap}
@media (max-width:640px){
  header nav .btn-nav{display:none}
  header .hwrap{padding-top:14px;padding-bottom:14px;gap:16px}
  .logo-main{height:34px}
  .nav-toggle{padding:9px 14px 9px 16px;font-size:15px;gap:10px}
}
@media (prefers-reduced-motion: reduce){
  .mnav,.mnav-list .mni,.mnav-foot{transition:none}
  .mnav.is-open .mni{transition-delay:0s}
}
.btn-nav{padding:11px 24px;font-size:20px;background:transparent;border:1px solid rgba(183,197,208,0.32);display:inline-flex;align-items:center;gap:11px;border-radius:999px;color:#fff;font-weight:500;transition:border-color .3s var(--ease)}@media (min-width:2561px){.btn-nav{font-size:max(20px, min(calc(20.00px + (100vw - 2560px) * 0.00156), 22.00px))}}
.btn-nav:hover{border-color:var(--blue-100)}
.btn-nav .dot{width:8px;height:8px;border-radius:50%;background:var(--lime);flex:none}

/* ---------- hero ---------- */
#hero{min-height:100svh;display:flex;align-items:center;overflow:visible}
#hero .fw{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:24px;padding-top:130px;padding-bottom:90px;width:100%}
#hero-canvas{position:absolute;top:0;left:0;right:0;height:calc(100% + 45vh);z-index:0;-webkit-mask-image:linear-gradient(to bottom,#000 72%,rgba(0,0,0,0) 97%);mask-image:linear-gradient(to bottom,#000 72%,rgba(0,0,0,0) 97%)}
#hero .copy{position:relative;z-index:2}
.h1-main{display:block;font-size:clamp(88px,min(11vw,17.5vh),260px);line-height:1;letter-spacing:-0.03em;font-weight:700;color:#fff;padding-bottom:0.12em} /* v0.77: display scale (critique rec 1), held by the height so the hero fits a short screen */
.h1-main .lime{color:var(--lime)}
#hero .cat{margin-top:32px;max-width:600px;text-wrap:balance;font-size:clamp(17px,1.35vw,21px);color:#fff;font-weight:300;line-height:1.6}@media (min-width:2561px){#hero .cat{font-size:max(clamp(17px,1.35vw,21px), min(calc(21.00px + (100vw - 2560px) * 0.00164), 23.10px))}}
#hero .connect{margin-top:18px;max-width:580px;text-wrap:balance;color:var(--blue-100)}
#hero .ctas{margin-top:30px;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.btn-hero{font-size:19px;padding:15px 32px 15px 17px}@media (min-width:2561px){.btn-hero{font-size:max(19px, min(calc(19.00px + (100vw - 2560px) * 0.00371), 23.75px))}}
#hero .talk{font-size:15px;color:var(--meta-2);padding-left:21px;line-height:1.5;margin-top:18px}@media (min-width:2561px){#hero .talk{font-size:max(15px, min(calc(15.00px + (100vw - 2560px) * 0.00293), 18.75px))}} /* 21px: the chip's left edge plus optical inset */ /* margin, not gap: the intro tween sets display:block on .ctas */
#hero .talk a{color:#fff;font-weight:500;border-bottom:1px solid var(--rule)}
#hero .talk a:hover{border-color:var(--lime);color:var(--lime)}
/* hero labels (2026-09-12): the constellation narrates the money path; the notch carries the handoff anchor */
.hlab{position:absolute;top:0;left:0;font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:0.32em;color:#E2EAF1;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;will-change:transform,opacity;padding-left:18px}@media (min-width:2561px){.hlab{font-size:max(14px, min(calc(14.00px + (100vw - 2560px) * 0.00273), 17.50px))}}
.hlab::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3.5px;border:1px solid #E2EAF1;transform:rotate(45deg);animation:hlabPulse 2.4s ease-in-out infinite}
.hlab::after{content:"";position:absolute;left:-4px;top:50%;width:15px;height:15px;margin-top:-7.5px;border:1px solid rgba(226,234,241,0.35);transform:rotate(45deg) scale(0.4);opacity:0;animation:hlabRing 2.4s ease-out infinite}
@keyframes hlabPulse{0%,100%{transform:rotate(45deg) scale(1);opacity:0.75}50%{transform:rotate(45deg) scale(1.35);opacity:1}}
@keyframes hlabRing{0%{transform:rotate(45deg) scale(0.4);opacity:0.7}70%,100%{transform:rotate(45deg) scale(1.15);opacity:0}}
.clab.clab--cash{font-size:17px;letter-spacing:0.3em;color:#A3D94E;padding-left:16px}@media (min-width:2561px){.clab.clab--cash{font-size:max(17px, min(calc(17.00px + (100vw - 2560px) * 0.00332), 21.25px))}}
.clab.clab--cash::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;background:#A3D94E;transform:rotate(45deg)}
.scrollcue{position:absolute;left:var(--pad);bottom:34px;width:1px;height:56px;background:var(--rule);z-index:2}
.scrollcue i{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--blue-100);transform-origin:top center;display:block}
.scrollcue .sclab{position:absolute;left:12px;bottom:0;font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:0.3em;color:var(--meta-3);text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}@media (min-width:2561px){.scrollcue .sclab{font-size:max(9.5px, min(calc(9.50px + (100vw - 2560px) * 0.00186), 11.88px))}}
#hero-anno{position:absolute;top:0;right:0;width:56%;height:100%;z-index:1;pointer-events:none}
.clab{position:absolute;top:0;left:0;font-family:var(--mono);font-size:15px;font-weight:500;letter-spacing:0.26em;color:#E2EAF1;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;will-change:transform,opacity}@media (min-width:2561px){.clab{font-size:max(15px, min(calc(15.00px + (100vw - 2560px) * 0.00293), 18.75px))}}
.anno-label{position:absolute;font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:0.26em;color:#E2EAF1;text-transform:uppercase;white-space:nowrap;opacity:0}@media (min-width:2561px){.anno-label{font-size:max(14px, min(calc(14.00px + (100vw - 2560px) * 0.00273), 17.50px))}}


/* ---------- keystone: redesigned around the handoff chain ---------- */
#problem{padding:clamp(120px,15vh,200px) 0 clamp(100px,12vh,160px)}
#problem .head{display:flex;align-items:center;gap:26px}
#problem .head .eyebrow{flex:none}
#problem .lead{margin-top:30px;max-width:52ch;font-size:clamp(16.5px,1.2vw,19px);line-height:1.6;color:var(--blue-100)}@media (min-width:2561px){#problem .lead{font-size:max(clamp(16.5px,1.2vw,19px), min(calc(19.00px + (100vw - 2560px) * 0.00371), 23.75px))}}
#problem h2{font-size:clamp(36px,4.4vw,72px);font-weight:700;margin-top:36px;max-width:1080px}
#problem .duo{margin-top:clamp(44px,6vh,80px);display:grid;grid-template-columns:minmax(0,54ch) minmax(280px,440px);justify-content:start;gap:clamp(28px,4vw,64px);align-items:start}
.anno-block{position:relative;border:1px solid var(--hairline);padding:26px 28px;max-width:440px}
.anno-block .fk{position:absolute;width:12px;height:12px;opacity:0.85}
.anno-block .fk::before{content:"";position:absolute;width:12px;height:1px;background:rgba(183,197,208,0.55);top:0;left:0}
.anno-block .fk::after{content:"";position:absolute;width:1px;height:12px;background:rgba(183,197,208,0.55);top:0;left:0}
.anno-block .k1{top:-1px;left:-1px}.anno-block .k2{top:-1px;right:-1px;transform:rotate(90deg)}
.anno-block .k3{bottom:-1px;right:-1px;transform:rotate(180deg)}.anno-block .k4{bottom:-1px;left:-1px;transform:rotate(270deg)}
.anno-block .albl{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.22em;color:var(--meta-3);text-transform:uppercase}@media (min-width:2561px){.anno-block .albl{font-size: max(12px, max(11px, min(calc(11.00px + (100vw - 2560px) * 0.00215), 13.75px)))}}
.anno-block .aval{font-family:var(--mono);font-size:15px;font-weight:500;letter-spacing:0.12em;color:#E2EAF1;text-transform:uppercase;margin:8px 0 20px;line-height:1.7}@media (min-width:2561px){.anno-block .aval{font-size:max(15px, min(calc(15.00px + (100vw - 2560px) * 0.00293), 18.75px))}}
.anno-block .aval:last-child{margin-bottom:0}
.anno-block .afail{color:#fff;font-weight:700}
#problem .duo .body{max-width:54ch;font-size:17px;padding-top:6px}@media (min-width:2561px){#problem .duo .body{font-size:max(17px, min(calc(17.00px + (100vw - 2560px) * 0.00332), 21.25px))}}
#problem .duo .body .strongline{display:block;margin-top:0.7em;color:#fff;font-weight:500}
#problem .duo .anno-block{justify-self:start}
.chain{position:relative;margin-top:clamp(56px,8vh,100px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:30px 8px 24px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:6px;min-height:clamp(340px,34vw,420px)}
.chnode{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.chnode .chix{font-family:var(--mono);font-size:13px;color:var(--meta-2);letter-spacing:0.14em}@media (min-width:2561px){.chnode .chix{font-size:max(13px, min(calc(13.00px + (100vw - 2560px) * 0.00254), 16.25px))}}
.chnode .chlabel{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(30px,2.8vw,52px);font-weight:300;color:#fff;line-height:1;margin:auto 0;padding:18px 0 0 2px}@media (min-width:2561px){.chnode .chlabel{font-size:max(clamp(30px,2.8vw,52px), min(calc(52.00px + (100vw - 2560px) * 0.00406), 57.20px))}}
.chnode .chcap{font-family:var(--mono);font-size:12.5px;color:var(--blue-100);letter-spacing:0.14em;text-transform:uppercase;margin-top:0;white-space:nowrap}@media (min-width:2561px){.chnode .chcap{font-size:max(12.5px, min(calc(12.50px + (100vw - 2560px) * 0.00244), 15.62px))}}
.chmeter{position:relative;width:22px;height:clamp(64px,6vw,80px);background:rgba(183,197,208,0.12);margin-top:auto;margin-bottom:8px;display:block}
.chnode .chval{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--meta-2);letter-spacing:0.12em;margin-bottom:10px;min-width:3ch}@media (min-width:2561px){.chnode .chval{font-size: max(12px, max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px)))}}
.chnode .chcap.on{color:#fff}
.chmeter i{position:absolute;left:0;right:0;bottom:0;height:0;background:var(--blue-100);transition:background .3s var(--ease)}
.chnode:hover .chmeter i{background:#fff}
.chnode:hover .chlabel{text-shadow:0 0 20px rgba(233,240,246,0.45)}
.charr .leak{pointer-events:auto}
.charr{display:flex;align-items:center;justify-content:center;position:relative;width:clamp(64px,7vw,140px)}
.charr svg{width:100%;height:12px;overflow:visible}
.charr svg line{stroke:rgba(183,197,208,0.3);stroke-width:1}
.charr svg path{fill:rgba(183,197,208,0.35)}
@keyframes leakbreathe{0%,100%{box-shadow:0 0 16px rgba(163,217,78,0.4)}50%{box-shadow:0 0 32px rgba(163,217,78,0.85)}}
.charr .leak{animation:leakbreathe 2.6s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.charr .leak{animation:none}}
.chnode .chcap,.chnode .chix{transition:color .3s var(--ease)}
.chnode:hover .chcap{color:#fff}
.chnode:hover .chix{color:var(--blue-100)}
.charr .leak{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(180deg);writing-mode:vertical-rl;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:0.2em;color:var(--blue-900);background:var(--lime);padding:12px 5px;border-radius:3px;box-shadow:0 0 22px rgba(163,217,78,0.5)}@media (min-width:2561px){.charr .leak{font-size:max(13px, min(calc(13.00px + (100vw - 2560px) * 0.00254), 16.25px))}}

/* ---------- outcomes (pinned hscroll) ---------- */
/* ---------- CARD SYSTEM · Type B surface card ----------
   Outer element IS the border (1.5px ring). Inner surface card-dark.
   Spotlight: 800px lime wash on the surface + 600px lime on the ring,
   both tracking the cursor per-card so neighbours' borders catch spill. */
.mk-card{position:relative;border-radius:8px;padding:1.5px;background:rgba(183,197,208,0.14);--mx:50%;--my:50%}
.mk-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(600px circle at var(--mx) var(--my),rgba(163,217,78,0.45),transparent 50%);opacity:0;transition:opacity .5s var(--ease)}
.mk-card__in{position:relative;border-radius:6.5px;background:var(--card-dark);height:100%;z-index:1}
.mk-card__in::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(800px circle at var(--mx) var(--my),rgba(163,217,78,0.07),transparent 40%);opacity:0;transition:opacity .5s var(--ease);pointer-events:none}
.mk-cards:hover .mk-card::after{opacity:1}
.mk-card:hover .mk-card__in::before{opacity:1}
.mk-card__in > *{position:relative;z-index:1}

#outcomes{overflow:hidden}
#outcomes .stage{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:130px 0 64px}
#outcomes .head{padding:0 var(--pad) 40px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px}
#outcomes .head h2{margin-top:24px}
#outcomes .head .dek{margin-top:16px;color:var(--blue-100)}
.hs-track{display:flex;gap:clamp(18px,2vw,30px);padding:0 var(--pad);will-change:transform;width:max-content}
.case{width:clamp(360px,30vw,560px);flex:none}
.case .mk-card__in{padding:36px 36px 32px;display:flex;flex-direction:column;min-height:400px}
.case .tag{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.16em;color:var(--meta-2);text-transform:uppercase;border:1px solid var(--hairline-2);border-radius:3px;padding:5px 10px;align-self:flex-start}@media (min-width:2561px){.case .tag{font-size: max(12px, max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px)))}}
.case .sector{margin-top:26px;font-size:16px;font-weight:500;color:var(--blue-100)}@media (min-width:2561px){.case .sector{font-size:max(16px, min(calc(16.00px + (100vw - 2560px) * 0.00313), 20.00px))}}
.case .fig{margin-top:14px;font-size:clamp(44px,3.6vw,66px);font-weight:700;color:var(--lime);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.case .figcap{font-family:var(--mono);font-size:12px;color:var(--meta-3);letter-spacing:0.12em;margin-top:12px;text-transform:uppercase}@media (min-width:2561px){.case .figcap{font-size: max(12px, max(11px, min(calc(11.00px + (100vw - 2560px) * 0.00215), 13.75px)))}}
.case .base{margin-top:auto;padding-top:26px}
.case .baseline{position:relative;height:32px}
.case .baseline .mark-before{position:absolute;top:1px;width:2px;height:11px;margin-left:-1px;background:var(--blue-300);opacity:0.9}
.case .baseline .bl-lab{position:absolute;top:17px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.16em;color:var(--meta-3);text-transform:uppercase;transform:translateX(-50%);white-space:nowrap}@media (min-width:2561px){.case .baseline .bl-lab{font-size: max(12px, max(9.5px, min(calc(9.50px + (100vw - 2560px) * 0.00186), 11.88px)))}}
.case .baseline .bl-lab.edge-r{transform:translateX(-100%)}
.case .baseline .bl-lab.edge-l{transform:none}
.case .baseline .bl-lab.after{color:var(--lime)}
/* 6. one entrance moment per card, driven by horizontal entry */
.case.pre{opacity:0.3;transform:translateX(26px)}
.case.in{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .55s var(--ease)}
.case .baseline .bl{position:absolute;left:0;right:0;top:6px;height:1px;background:var(--rule)}
.case .baseline i{position:absolute;top:2px;width:1px;height:9px;background:var(--rule)}
.case .baseline .needle{position:absolute;top:0;left:2%;width:2px;height:13px;margin-left:-1px;background:var(--lime);box-shadow:0 0 10px rgba(163,217,78,0.55)}
.case .line{margin-top:14px;font-size:15.5px;line-height:1.55;color:var(--blue-100);min-height:calc(1.55em * 3)}@media (min-width:2561px){.case .line{font-size:max(15.5px, min(calc(15.50px + (100vw - 2560px) * 0.00303), 19.38px))}} /* three-line reserve so the rulers align across cards */
.case.teaser .mk-card__in{justify-content:flex-start;gap:24px}
.case.teaser .line{margin-top:auto}
.case.teaser .btn{margin-bottom:auto;align-self:flex-start;white-space:nowrap;font-size:16px;padding:12px 24px 12px 14px}@media (min-width:2561px){.case.teaser .btn{font-size:max(16px, min(calc(16.00px + (100vw - 2560px) * 0.00313), 20.00px))}}
.case.teaser .line{font-size:clamp(19px,1.6vw,25px);color:#fff;font-weight:500;line-height:1.4;margin:0;min-height:0}@media (min-width:2561px){.case.teaser .line{font-size:max(clamp(19px,1.6vw,25px), min(calc(25.00px + (100vw - 2560px) * 0.00195), 27.50px))}}
.hs-meta{display:flex;align-items:center;gap:20px;padding:36px var(--pad) 0}
.hs-prog{font-family:var(--mono);font-size:12.5px;color:var(--meta-2);letter-spacing:0.14em;flex:none}@media (min-width:2561px){.hs-prog{font-size:max(12.5px, min(calc(12.50px + (100vw - 2560px) * 0.00244), 15.62px))}}
.hs-link{flex:none;white-space:nowrap}
.hs-line{position:relative;flex:1;height:1px;background:var(--rule)}
.hs-dot{position:absolute;top:-3px;left:0;width:7px;height:7px;border-radius:50%;background:var(--blue-100)}

/* ---------- one engine ---------- */
#engine{padding:clamp(90px,11vh,150px) 0}
#engine .wrap.wide{max-width:1680px}
.ehead{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,0.82fr);gap:clamp(32px,4vw,88px);align-items:end;margin-bottom:clamp(36px,5vh,64px)}
.ehead .ebody{margin:0;max-width:52ch;padding-bottom:6px}
#engine .grid2{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,0.82fr);gap:clamp(32px,4vw,88px);align-items:stretch}
#engine .eside{display:flex;flex-direction:column;padding:clamp(20px,3.5vh,48px) 0 0} /* list top near the disc's top ring, link on the disc's bottom baseline */
#engine h2{margin-top:26px}

/* v0.77: .stg-cta (the ghost rectangle) retired; primary is .btn, secondary is .tlink */
.stg{border-top:1px solid var(--rule);--cyc:3.8s}
.stg-item{border-bottom:1px solid var(--rule);position:relative}
.stg-item::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--blue-100);opacity:0.85;pointer-events:none}
.stg-item.on::after{animation:stgfill var(--cyc) linear forwards}
.stg:hover .stg-item.on::after{animation-play-state:paused}
@keyframes stgfill{from{width:0}to{width:100%}}
@media (prefers-reduced-motion: reduce){.stg-item.on::after{animation:none;width:100%}}
@media (prefers-reduced-motion: reduce){.rep-art .rrow{border-top-color:var(--hairline)}.rep-art .rrow:last-child{border-bottom-color:var(--hairline)}.rep-art .rrow::before,.rep-art .rrow:last-child::after{display:none}}
.stg-row{display:flex;align-items:baseline;gap:20px;width:100%;background:none;border:0;color:inherit;font:inherit;text-align:left;padding:16px 2px;cursor:pointer}
.stg-ix{font-family:var(--mono);font-size:12px;color:var(--meta-3);flex:none}@media (min-width:2561px){.stg-ix{font-size: max(12px, max(11px, min(calc(11.00px + (100vw - 2560px) * 0.00215), 13.75px)))}}
.stg-name{font-size:clamp(20px,1.7vw,27px);font-weight:300;color:#fff;transition:color .35s var(--ease)}@media (min-width:2561px){.stg-name{font-size:max(clamp(20px,1.7vw,27px), min(calc(27.00px + (100vw - 2560px) * 0.00211), 29.70px))}}
.stg-item.on .stg-name{color:var(--lime)}
.stg-body{height:0;overflow:hidden} /* heights are tweened in stages(): closing and opening rows share one duration and a symmetric ease, so the list height is constant through a switch */
.stg-item.on .stg-body{height:auto} /* no-JS fallback; JS sets inline heights */
.stg-body p{padding:0 2px 18px 42px;color:var(--blue-100);font-size:15.5px;line-height:1.6}@media (min-width:2561px){.stg-body p{font-size:max(15.5px, min(calc(15.50px + (100vw - 2560px) * 0.00303), 19.38px))}}
@property --ws{syntax:"<angle>";inherits:false;initial-value:45deg}
.s2wedge{position:absolute;left:var(--wx,56.13%);top:var(--wy,44.91%);width:var(--ww,91.51%);aspect-ratio:1;transform:translate(-50%,-50%) rotate(var(--wa,-22.5deg));border-radius:50%;background:conic-gradient(rgba(183,197,208,0.14) 0 var(--ws),transparent var(--ws) 360deg);mix-blend-mode:screen;opacity:0;transition:transform .7s var(--ease),--ws .7s var(--ease),opacity .5s var(--ease);pointer-events:none;-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 53%);mask-image:radial-gradient(circle,#000 30%,transparent 53%)}
/* S2 web-surface variance (2026-09-12, logged): the active stage lights its steps on the disc. Runtime classes only; the drop-in SVG is byte-verbatim. */
.s2-live .s2-sname,.s2-live .s2-six,.s2-live .s2-gname,.s2-live .s2-gix{transition:fill .5s var(--ease),opacity .5s var(--ease)}
.s2-live .s2-sdia,.s2-live .s2-gdia{transition:stroke .5s var(--ease),fill .5s var(--ease),filter .5s var(--ease)}
.s2-live .s2-sname{opacity:0.6}.s2-live .s2-sname.lit{opacity:1;fill:#fff}
.s2-live .s2-six{opacity:0.6}.s2-live .s2-six.lit{opacity:1;fill:#B7C5D0}
.s2-live .s2-sdia{opacity:0.75}.s2-live .s2-sdia.lit{opacity:1;stroke:#fff;fill:#12354F;filter:drop-shadow(0 0 6px rgba(233,240,246,0.8))}
.s2-live .s2-gname{opacity:0.7}.s2-live .s2-gname.lit{opacity:1}
.s2-live .s2-gdia.lit{stroke:#fff;filter:drop-shadow(0 0 7px rgba(233,240,246,0.7))}
.disc-wrap{position:relative;cursor:pointer;display:block}
.disc-crop{position:relative;overflow:hidden;aspect-ratio:1/1}
.disc-crop svg{position:absolute;display:block}
.disc-crop svg > rect[fill="url(#bg)"]{fill:none !important}
.disc-under{display:flex;align-items:center;justify-content:flex-end;padding:18px 6px 0;border-top:1px solid var(--hairline);margin-top:6px}
.disc-under .mono{font-family:var(--mono);font-size:12px;color:var(--meta-3);letter-spacing:0.16em}@media (min-width:2561px){.disc-under .mono{font-size: max(12px, max(11px, min(calc(11.00px + (100vw - 2560px) * 0.00215), 13.75px)))}}
.disc-wrap .fk{position:absolute;width:16px;height:16px;opacity:0;transition:opacity .4s var(--ease);z-index:3}
.disc-wrap .fk::before{content:"";position:absolute;width:16px;height:1px;background:rgba(183,197,208,0.6);top:0;left:0}
.disc-wrap .fk::after{content:"";position:absolute;width:1px;height:16px;background:rgba(183,197,208,0.6);top:0;left:0}
.disc-wrap .k1{top:0;left:0}.disc-wrap .k2{top:0;right:0;transform:rotate(90deg)}
.disc-wrap .k3{bottom:54px;right:0;transform:rotate(180deg)}.disc-wrap .k4{bottom:54px;left:0;transform:rotate(270deg)}
.disc-wrap:hover .fk{opacity:1}

/* ---------- signature grid ---------- */
#model-grid{padding:clamp(100px,13vh,180px) 0}
.sig-frame{margin-top:44px;border:1px solid var(--hairline-2);border-radius:6px;overflow:hidden}
.sig-outer{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}
.sig-cell{border:0 solid var(--hairline-2);min-height:clamp(300px,36vw,540px);position:relative}
.sig-outer > .sig-cell:nth-child(1){border-right-width:1px;border-bottom-width:1px}
.sig-outer > .sig-cell:nth-child(2){border-bottom-width:1px}
.sig-outer > .sig-cell:nth-child(3){border-right-width:1px;border-bottom-width:1px}
.sig-outer > .sig-cell:nth-child(4){border-bottom-width:1px}
/* v0.46: closing row, the report artefact */
.sig-report{grid-column:1 / -1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rep-copy{padding:clamp(26px,3vw,48px);border-right:1px solid var(--hairline-2);display:flex;flex-direction:column;min-width:0}
.rep-copy .rline{margin-top:18px;font-size:clamp(22px,2.1vw,34px);font-weight:500;color:#fff;line-height:1.35;max-width:520px}@media (min-width:2561px){.rep-copy .rline{font-size:max(clamp(22px,2.1vw,34px), min(calc(34.00px + (100vw - 2560px) * 0.00266), 37.40px))}}
.rep-copy .rep-link{margin-top:30px;align-self:flex-start}
.rep-art{padding:clamp(22px,2.6vw,40px) clamp(26px,3vw,48px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.rep-art .rrow{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);align-items:center;gap:22px;padding:17px 0 16px;border-top:1px solid var(--hairline);opacity:0.32;transition:opacity .6s var(--ease)}
.rep-art .rrow:last-child{border-bottom:1px solid var(--hairline)}
.rep-art .rlab{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:0.18em;color:var(--meta-2);text-transform:uppercase;transition:color .5s var(--ease)}@media (min-width:2561px){.rep-art .rlab{font-size:max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px))}}
.rep-art .rins{position:relative;display:block;min-width:0}
.rep-art .rconf,.rep-art .rcons,.rep-art .rdec{display:flex}
.sig-report.rev .rrow{opacity:1}
.sig-report.rev .r1{transition-delay:.05s}.sig-report.rev .r2{transition-delay:.4s}.sig-report.rev .r3{transition-delay:.8s}.sig-report.rev .r4{transition-delay:1.25s}
/* what changed: a direction mark, not a figure */
.rdelta{height:16px}
.rdelta .dl{position:absolute;left:0;right:0;top:8px;height:1px;background:var(--rule)}
.rdelta .dseg{position:absolute;left:34%;top:7px;height:3px;width:0;background:var(--lime);box-shadow:0 0 10px rgba(163,217,78,0.5);transition:width 1s var(--ease)}
.rdelta .dcar{position:absolute;top:4px;left:34%;width:9px;height:9px;border:1px solid var(--lime);transform:rotate(45deg) scale(0.4);opacity:0;transition:left 1s var(--ease),opacity .4s var(--ease),transform .6s var(--ease)}
.sig-report.rev .rdelta .dseg{width:38%;transition-delay:.3s}
.sig-report.rev .rdelta .dcar{left:calc(72% - 5px);opacity:1;transform:rotate(45deg) scale(1);transition-delay:.3s,.9s,.9s}
/* confidence: a band with a needle that travels and rests */
.rconf{display:flex;justify-content:space-between;padding-top:15px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--meta-3)}@media (min-width:2561px){.rconf{font-size:max(10.5px, min(calc(10.50px + (100vw - 2560px) * 0.00205), 13.12px))}}
.rconf b{font-weight:500;transition:color .5s var(--ease)}
.rconf .cl{position:absolute;left:0;right:0;top:6px;height:1px;background:var(--rule)}
.rconf .cneedle{position:absolute;top:0;left:2%;width:2px;height:13px;margin-left:-1px;background:var(--lime);box-shadow:0 0 8px rgba(163,217,78,0.6);transition:left 1.3s var(--ease)}
.sig-report.rev .rconf .cneedle{left:50%;transition-delay:.65s}
.sig-report.rev .rconf b.on{color:#fff;transition-delay:1.6s}
/* limiting constraint: the pillars, one lights */
.rcons{display:flex;flex-wrap:wrap;gap:6px}
.rcons b,.rdec b{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--meta-3);border:1px solid var(--hairline);padding:5px 8px 4px;line-height:1;white-space:nowrap;transition:color .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}@media (min-width:2561px){.rcons b,.rdec b{font-size:max(10.5px, min(calc(10.50px + (100vw - 2560px) * 0.00205), 13.12px))}}
.sig-report.rev .rcons b.on,.sig-report.rev .rdec b.on{color:#E9F0F6;border-color:var(--lime);box-shadow:0 0 14px rgba(163,217,78,0.28),inset 0 0 8px rgba(163,217,78,0.08);transition-delay:1.05s}
.sig-report.rev .rdec b.on{transition-delay:1.5s}
/* operating decision: the stamp */
.rdec{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-start}
.rdec .rmark{position:relative;margin-left:auto;width:9px;height:9px;border:1px solid var(--meta-3);transform:rotate(45deg);transition:background .4s var(--ease),border-color .4s var(--ease)}
.rdec .rstamp{position:absolute;right:-6px;top:calc(50% - 10.5px);width:21px;height:21px;border:1px solid var(--lime);transform:rotate(45deg) scale(0.4);opacity:0}
.sig-report.rev .r4 .rlab{color:#E9F0F6;transition-delay:1.5s}
.sig-report.rev .rdec .rmark{background:var(--lime);border-color:var(--lime);transition-delay:1.5s}
.sig-report.rev .rdec .rstamp{animation:repStamp 1.1s var(--ease) 1.5s both}
@keyframes repStamp{0%{transform:rotate(45deg) scale(0.4);opacity:0.9}100%{transform:rotate(45deg) scale(1.5);opacity:0}}
.sig-title{padding:clamp(26px,3vw,48px);display:flex;flex-direction:column}
.sig-title .who{margin-top:22px;font-size:16px;line-height:1.65;color:var(--blue-100);max-width:560px}@media (min-width:2561px){.sig-title .who{font-size:max(16px, min(calc(16.00px + (100vw - 2560px) * 0.00313), 20.00px))}}
.sig-title .who .who2{display:block;margin-top:0.6em}
/* D. the size instrument (verbatim phrase and numbers from the paragraph) */
.cell-size .range{position:absolute;left:22px;right:22px;top:26px;height:22px;display:block}
.cell-size .range .rl{position:absolute;left:0;right:0;top:10px;height:1px;background:var(--rule)}
.cell-size .range .rband{position:absolute;left:6%;top:9px;height:3px;width:0;background:var(--lime);box-shadow:0 0 10px rgba(163,217,78,0.5);transition:width 1.4s var(--ease)}
.cell.is-active .range .rband,.sig-cell.rev .range .rband{width:88%}
.cell-size .range .rt{position:absolute;top:4px;width:2px;height:13px;margin-left:-1px;background:var(--lime)}
.cell-size .range .rtk{position:absolute;top:7px;width:1px;height:7px;background:var(--rule)}
.cell-size .cfig{font-variant-numeric:tabular-nums}
/* C. linked cell (the partner in the other cluster) */
.cell.is-linked{background:rgba(8,35,58,0.42)}
.cell.is-linked .handle{opacity:0.7}
.cell.is-linked .cname{color:#fff}
.mviz{margin-top:auto;padding-top:24px}
#modelviz{display:block;width:100%;height:190px}
.cluster{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:100%;transition:grid-template-columns .6s var(--ease-grid),grid-template-rows .6s var(--ease-grid)}
.cell{position:relative;border:0 solid var(--hairline-2);padding:22px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;background:transparent;transition:background .3s var(--ease);text-align:left;color:inherit;font:inherit;cursor:pointer;min-width:0;min-height:0;overflow:hidden}
.cluster .cell:nth-child(1){border-right-width:1px;border-bottom-width:1px}
.cluster .cell:nth-child(2){border-bottom-width:1px}
.cluster .cell:nth-child(3){border-right-width:1px}
.cell:hover,.cell.is-active{background:rgba(8,35,58,0.55)}
.cell .ctag{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;color:var(--meta-3);text-transform:uppercase;opacity:0;transform:translateY(4px);transition:opacity .25s var(--ease),transform .25s var(--ease)}@media (min-width:2561px){.cell .ctag{font-size:max(10px, min(calc(10.00px + (100vw - 2560px) * 0.00195), 12.50px))}}
.cell.is-active .ctag{opacity:1;transform:none}
.cell .cname{font-size:clamp(15px,1.25vw,19px);font-weight:500;color:#fff;line-height:1.3}@media (min-width:2561px){.cell .cname{font-size:max(clamp(15px,1.25vw,19px), min(calc(19.00px + (100vw - 2560px) * 0.00371), 23.75px))}}
.cell .csub{font-family:var(--mono);font-size:12px;color:var(--meta-2);letter-spacing:0.1em;text-transform:uppercase}@media (min-width:2561px){.cell .csub{font-size: max(12px, max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px)))}}
.cell .csub::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-right:9px;vertical-align:1px}
.cell .cfig{font-size:clamp(24px,2vw,34px);font-weight:700;color:var(--lime);line-height:1;font-variant-numeric:tabular-nums;transform-origin:left bottom;transition:transform .6s var(--ease-grid),opacity .3s var(--ease)}@media (min-width:2561px){.cell .cfig{font-size:max(clamp(24px,2vw,34px), min(calc(34.00px + (100vw - 2560px) * 0.00266), 37.40px))}}
.cell .handle{position:absolute;width:10px;height:10px;opacity:0;transition:opacity .25s var(--ease)}
.cell .handle::before,.cell .handle::after{content:"";position:absolute;background:var(--blue-100)}
.cell .handle::before{width:10px;height:1px}
.cell .handle::after{width:1px;height:10px}
.cell .h-tl{top:8px;left:8px}.cell .h-tr{top:8px;right:8px;transform:rotate(90deg)}
.cell .h-br{bottom:8px;right:8px;transform:rotate(180deg)}.cell .h-bl{bottom:8px;left:8px;transform:rotate(270deg)}
.cell.is-active .handle{opacity:0.9}
.cell.is-active .h-tl{transition-delay:0ms}.cell.is-active .h-tr{transition-delay:45ms}
.cell.is-active .h-br{transition-delay:90ms}.cell.is-active .h-bl{transition-delay:135ms}
.cell .cname,.cell .csub{transition:opacity .3s var(--ease)}
.cluster.has-active .cell:not(.is-active) .cfig{transform:scale(0.76);opacity:0.62}
.cluster.has-active .cell:not(.is-active) .cname,.cluster.has-active .cell:not(.is-active) .csub{opacity:0.62}
.cell:focus-visible{outline:1px solid var(--blue-100);outline-offset:-1px}
.cell .secviz{position:absolute;left:20px;top:20px;width:calc(100% - 40px);height:calc(100% - 130px);pointer-events:none;opacity:1;transition:opacity .3s var(--ease)}
.cell.is-active .secviz{opacity:1}
.cluster.has-active .cell:not(.is-active) .secviz{opacity:0.5}
.sig-cta{display:block;position:relative;overflow:hidden}
.sig-cta svg.persp{position:absolute;inset:0;width:100%;height:100%}
.sig-cta svg.persp line{stroke:var(--hairline-2);fill:none;vector-effect:non-scaling-stroke}
.sig-inner{position:absolute;left:31%;top:31%;right:31%;bottom:31%;border:1px solid var(--hairline-2);background:rgba(6,27,45,0.35);padding:20px 22px;transition:border-color .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}
.sig-inner .lab{font-size:clamp(17px,1.5vw,24px);font-weight:500;color:#fff;line-height:1.25;max-width:80%;display:block}@media (min-width:2561px){.sig-inner .lab{font-size:max(clamp(17px,1.5vw,24px), min(calc(24.00px + (100vw - 2560px) * 0.00188), 26.40px))}}
.sig-inner .arr{position:absolute;top:16px;right:16px;font-family:var(--mono);font-size:18px;color:var(--blue-100);transition:color .35s var(--ease),transform .35s var(--ease)}@media (min-width:2561px){.sig-inner .arr{font-size:max(18px, min(calc(18.00px + (100vw - 2560px) * 0.00352), 22.50px))}}
.sig-inner .hnd{position:absolute;width:7px;height:7px;background:var(--lime);opacity:0;transition:opacity .3s var(--ease)}
.sig-inner .p1{top:-4px;left:-4px}.sig-inner .p2{top:-4px;right:-4px}
.sig-inner .p3{bottom:-4px;right:-4px}.sig-inner .p4{bottom:-4px;left:-4px}
.sig-cta:hover .sig-inner{border-color:rgba(163,217,78,0.75);box-shadow:0 0 34px rgba(163,217,78,0.16),inset 0 0 24px rgba(163,217,78,0.05);background:rgba(8,35,58,0.5)}
.sig-cta:hover .sig-inner .hnd{opacity:1}
.sig-cta:hover .sig-inner .arr{color:var(--lime);transform:translate(2px,-2px)}

/* ---------- diagnosis (centred) ---------- */
#diagnosis{position:relative;padding:clamp(100px,13vh,180px) 0;overflow:hidden} /* v0.46: same rhythm as 04; no min-height, the empty band is gone */
#band-canvas{position:absolute;inset:0;z-index:0;opacity:1}
#diagnosis .wrap{position:relative;z-index:2;width:100%;max-width:none}
#diagnosis h2.stmt{margin-top:26px}
/* v0.77: statement over a two-column band: the CTA block and the disclosures on the left, the instrument on the right */
#diagnosis .dgrid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;grid-template-areas:"copy inst" "more inst";column-gap:clamp(32px,5vw,120px);row-gap:40px;align-items:start;margin-top:clamp(34px,4vw,72px)}
#diagnosis .dcopy{grid-area:copy;min-width:0}
#diagnosis .ddek{font-size:clamp(22px,2vw,34px);font-weight:500;color:#fff;line-height:1.28;letter-spacing:-0.01em}@media (min-width:2561px){#diagnosis .ddek{font-size:max(clamp(22px,2vw,34px), min(calc(34.00px + (100vw - 2560px) * 0.00266), 37.40px))}}
#diagnosis .ctas{margin-top:clamp(26px,2.4vw,40px);display:flex;flex-direction:column;gap:0;align-items:flex-start}
#diagnosis .talk{font-size:15px;color:var(--meta-2);margin-top:18px;padding-left:21px;line-height:1.5}@media (min-width:2561px){#diagnosis .talk{font-size:max(15px, min(calc(15.00px + (100vw - 2560px) * 0.00293), 18.75px))}}
/* the instrument: an example Scorecard readout (display, band meter, two named rows) */
.dinst{grid-area:inst;position:relative;min-width:0;border:1px solid var(--hairline-2);background:rgba(6,27,45,0.55)}
.dinst .fk{position:absolute;width:12px;height:12px;opacity:0.85;z-index:2;pointer-events:none}
.dinst .fk::before{content:"";position:absolute;width:12px;height:1px;background:rgba(183,197,208,0.6);top:0;left:0}
.dinst .fk::after{content:"";position:absolute;width:1px;height:12px;background:rgba(183,197,208,0.6);top:0;left:0}
.dinst .k1{top:-1px;left:-1px}.dinst .k2{top:-1px;right:-1px;transform:rotate(90deg)}.dinst .k3{bottom:-1px;right:-1px;transform:rotate(180deg)}.dinst .k4{bottom:-1px;left:-1px;transform:rotate(270deg)}
.dhead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 24px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--meta-2)}@media (min-width:2561px){.dhead{font-size: max(12px, max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px)))}}
.dhead .dtag{font-size:12px;letter-spacing:0.16em;border:1px solid var(--hairline-2);border-radius:3px;padding:4px 9px;white-space:nowrap}@media (min-width:2561px){.dhead .dtag{font-size: max(12px, max(10.5px, min(calc(10.50px + (100vw - 2560px) * 0.00205), 13.12px)))}}
.ddisp{position:relative;height:clamp(190px,16vw,300px);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);overflow:hidden;background:radial-gradient(ellipse at 60% 50%,rgba(15,64,100,0.28),transparent 70%)}
.dread{padding:22px 24px 8px}
.mv-name{font-size:clamp(24px,2.2vw,38px);font-weight:500;color:#fff;line-height:1.15;letter-spacing:-0.01em}@media (min-width:2561px){.mv-name{font-size:max(clamp(24px,2.2vw,38px), min(calc(38.00px + (100vw - 2560px) * 0.00297), 41.80px))}}
.meter{position:relative;display:flex;margin-top:20px;padding-top:20px}
.mtrack{position:absolute;left:0;right:0;top:0;height:16px;display:flex;gap:5px}
.mseg{flex:1;height:3px;margin-top:6px;background:rgba(183,197,208,0.18);transition:background .35s var(--ease),box-shadow .35s var(--ease)}
.mseg.on{background:#E9F0F6;box-shadow:0 0 10px rgba(233,240,246,0.45)}
.mneedle{position:absolute;top:0;left:0;width:2px;height:15px;margin-left:-1px;background:var(--lime);box-shadow:0 0 10px rgba(163,217,78,0.7)}
.mband{flex:1;min-width:0;background:none;border:0;padding:8px 10px 6px 0;text-align:left;cursor:pointer;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.12em;line-height:1.45;text-transform:uppercase;color:var(--meta-3);transition:color .3s var(--ease)}@media (min-width:2561px){.mband{font-size: max(12px, max(10.5px, min(calc(10.50px + (100vw - 2560px) * 0.00205), 13.12px)))}}
.mband:hover{color:var(--blue-100)}
.mband.on{color:#fff}
.mband:focus-visible{outline:1px solid var(--blue-100);outline-offset:2px}
.mv-desc{margin-top:14px;font-size:15px;line-height:1.55;color:var(--blue-100);min-height:calc(1.55em * 3);max-width:58ch}@media (min-width:2561px){.mv-desc{font-size:max(15px, min(calc(15.00px + (100vw - 2560px) * 0.00293), 18.75px))}}
.mrows{padding:6px 24px 20px;transition:opacity .35s var(--ease)}
.dinst.pv .mrows{opacity:0.3}
.mrow{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0 13px;border-top:1px solid var(--hairline)}
.mlab{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--meta-3)}@media (min-width:2561px){.mlab{font-size: max(12px, max(11px, min(calc(11.00px + (100vw - 2560px) * 0.00215), 13.75px)))}}
.mval{font-size:17px;font-weight:500;color:#E9F0F6;opacity:0.3;transition:opacity .6s var(--ease)}@media (min-width:2561px){.mval{font-size:max(17px, min(calc(17.00px + (100vw - 2560px) * 0.00332), 21.25px))}}
.mmark{position:relative;width:9px;height:9px;margin-right:4px;border:1px solid var(--meta-3);transform:rotate(45deg);transition:background .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease)}
.mmark::after{content:"";position:absolute;inset:-6px;border:1px solid var(--lime);opacity:0}
.dinst.lock .mval{opacity:1}
.dinst.lock .mr1 .mmark{background:var(--lime);border-color:var(--lime);box-shadow:0 0 12px rgba(163,217,78,0.6)}
.dinst.lock .mr1 .mmark::after{animation:mStamp 1.1s var(--ease) both}
.dinst.lock .mr2 .mval,.dinst.lock .mr2 .mmark{transition-delay:.45s}
.dinst.lock .mr2 .mmark{background:var(--blue-100);border-color:var(--blue-100)}
@keyframes mStamp{0%{transform:scale(0.4);opacity:0.9}100%{transform:scale(1.7);opacity:0}}
/* the two paragraphs, verbatim, in disclosures under the Scorecard page's block labels */
.dmore{grid-area:more;align-self:start;min-width:0;border-top:1px solid var(--hairline)}
.dx{border-bottom:1px solid var(--hairline)}
.dx > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 2px;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--meta-2);transition:color .3s var(--ease)}@media (min-width:2561px){.dx > summary{font-size:max(12.5px, min(calc(12.50px + (100vw - 2560px) * 0.00244), 15.62px))}}
.dx > summary::-webkit-details-marker{display:none}
.dx > summary:hover,.dx[open] > summary{color:#fff}
.dxi{position:relative;width:12px;height:12px;flex:none}
.dxi::before,.dxi::after{content:"";position:absolute;left:0;top:50%;width:12px;height:1px;background:currentColor;transition:transform .35s var(--ease)}
.dxi::after{transform:rotate(90deg)}
.dx[open] .dxi::after{transform:rotate(0deg)}
.dx p{padding:2px 2px 24px;font-size:15.5px;line-height:1.65;color:var(--blue-100);max-width:62ch}@media (min-width:2561px){.dx p{font-size:max(15.5px, min(calc(15.50px + (100vw - 2560px) * 0.00303), 19.38px))}}
/* the probe label, projected from the locked node */
.plab{position:absolute;top:0;left:0;font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:0.3em;color:#E2EAF1;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;will-change:transform,opacity;padding-left:18px;transform:translate(-9999px,-9999px);transition:opacity .6s var(--ease)}@media (min-width:2561px){.plab{font-size:max(14px, min(calc(14.00px + (100vw - 2560px) * 0.00273), 17.50px))}}
.plab::before{content:"";position:absolute;left:-14px;top:50%;width:26px;height:1px;background:rgba(163,217,78,0.55)} /* leader back to the lit node */
.plab.on{opacity:1}
#diagnosis .talk a{color:#fff;font-weight:500;border-bottom:1px solid var(--rule)}
#diagnosis .talk a:hover{border-color:#fff}

/* ---------- insights ---------- */
#insights{padding:clamp(100px,13vh,180px) 0} /* v0.47: the 04/05 clamp top and bottom, so 05 to 06 is the same two-padding gap as 04 to 05 */
#insights h2{font-size:clamp(28px,3vw,46px);font-weight:700;margin-top:24px}@media (min-width:2561px){#insights h2{font-size:max(clamp(28px,3vw,46px), min(calc(46.00px + (100vw - 2560px) * 0.00359), 50.60px))}}
#insights .dek{margin-top:20px;max-width:680px}
/* v0.47: the 02 card grammar (rounded mk-card, cursor glow), the link as the fourth card, no chamfer */
.icards{margin-top:46px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,0.74fr);gap:clamp(16px,1.8vw,26px)}
.icard{display:block;color:inherit;text-decoration:none}
.icard .mk-card__in{padding:30px 30px 24px;display:flex;flex-direction:column;min-height:260px}
.icard .tag{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.16em;color:var(--meta-2);text-transform:uppercase;border:1px solid var(--hairline-2);border-radius:3px;padding:5px 10px;align-self:flex-start;transition:color .35s var(--ease),border-color .35s var(--ease)}@media (min-width:2561px){.icard .tag{font-size: max(12px, max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px)))}}
.icard h3{margin-top:22px;font-size:clamp(17px,1.35vw,20px);font-weight:500;line-height:1.35;color:#E2EAF1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.35em * 3);transition:color .35s var(--ease)}@media (min-width:2561px){.icard h3{font-size:max(clamp(17px,1.35vw,20px), min(calc(20.00px + (100vw - 2560px) * 0.00156), 22.00px))}}
.icard .imeta{margin-top:auto;padding-top:18px;border-top:1px solid var(--hairline);font-family:var(--mono);font-size:12px;color:var(--meta-3);letter-spacing:0.14em;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px;position:relative}@media (min-width:2561px){.icard .imeta{font-size: max(12px, max(10.5px, min(calc(10.50px + (100vw - 2560px) * 0.00205), 13.12px)))}}
.icard .imeta::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--blue-100);transition:width .9s var(--ease)}
.icard:hover h3{color:#fff}
.icard:hover .tag{color:#E2EAF1;border-color:rgba(183,197,208,0.5)}
.icard:hover .imeta::before{width:100%}
.icard-link .mk-card__in{justify-content:flex-end;padding:26px 28px 28px}
.icard-link .arr{position:absolute;top:22px;right:24px;font-family:var(--mono);font-size:20px;color:var(--blue-100);transition:color .35s var(--ease),transform .35s var(--ease)}@media (min-width:2561px){.icard-link .arr{font-size:max(20px, min(calc(20.00px + (100vw - 2560px) * 0.00156), 22.00px))}}
.icard-link .line{font-size:clamp(19px,1.6vw,25px);color:#fff;font-weight:500;line-height:1.3;max-width:8ch}@media (min-width:2561px){.icard-link .line{font-size:max(clamp(19px,1.6vw,25px), min(calc(25.00px + (100vw - 2560px) * 0.00195), 27.50px))}}
.icard-link:hover .arr{color:var(--lime);transform:translate(2px,-2px)}
.icard-link:hover .mk-card__in{box-shadow:inset 0 0 0 1px rgba(163,217,78,0.35)}
/* sequenced reveal: the row assembles card by card; JS adds .pre at boot and .rev on enter */
.icards.pre .mk-card{opacity:0;transform:translateY(18px) scale(0.94);transition:opacity .8s var(--ease),transform .9s cubic-bezier(0.34,1.15,0.64,1)}
.icards.pre.rev .mk-card{opacity:1;transform:none}
.icards.pre.rev .mk-card:nth-child(2){transition-delay:.12s}.icards.pre.rev .mk-card:nth-child(3){transition-delay:.24s}.icards.pre.rev .mk-card:nth-child(4){transition-delay:.36s}
.icards.rev .icard .imeta::before{width:100%;transition-delay:.5s}
.icards.rev .icard:nth-child(2) .imeta::before{transition-delay:.62s}.icards.rev .icard:nth-child(3) .imeta::before{transition-delay:.74s}

/* ---------- footer: engineered rebuild ---------- */
#foot{position:relative;border-top:1px solid var(--hairline-2);background:linear-gradient(180deg,var(--blue-900) 0%,#000E1A 100%)}
#foot > .convband,#foot > .fcols,#foot > .legal,#foot > .markzone{position:relative;z-index:1}
/* v0.54: the site's pixel trail, footer-local, always behind the text and the logo */
#foot .ftrail{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.legal .llinks{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.legal .ldot{width:5px;height:5px;border-radius:50%;background:var(--lime);display:inline-block;flex:none}
.convband{padding:clamp(80px,10vh,130px) 0;border-bottom:1px solid var(--hairline-2)}
.convband .cgrid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(28px,4vw,80px);align-items:center}
.convband h2{font-size:clamp(34px,4vw,62px);font-weight:700}@media (min-width:2561px){.convband h2{font-size:max(clamp(34px,4vw,62px), min(calc(62.00px + (100vw - 2560px) * 0.00484), 68.20px))}}
.convband .sub{margin-top:18px;font-size:clamp(19px,1.7vw,26px);font-weight:500;color:var(--blue-100);line-height:1.35}@media (min-width:2561px){.convband .sub{font-size:max(clamp(19px,1.7vw,26px), min(calc(26.00px + (100vw - 2560px) * 0.00203), 28.60px))}}
.convband .cright{display:flex;flex-direction:column;gap:0;align-items:flex-start;justify-self:start}
.convband .btn{font-size:19px;padding:15px 34px 15px 17px;gap:14px}@media (min-width:2561px){.convband .btn{font-size:max(19px, min(calc(19.00px + (100vw - 2560px) * 0.00371), 23.75px))}}
.convband .btn .chip{width:34px;height:34px;font-size:16px}
.convband .talk{font-size:15px;color:var(--meta-2);margin-top:18px;padding-left:25px;line-height:1.5}@media (min-width:2561px){.convband .talk{font-size:max(15px, min(calc(15.00px + (100vw - 2560px) * 0.00293), 18.75px))}}
.convband .talk a{color:#fff;font-weight:500;border-bottom:1px solid var(--rule)}
.convband .talk a:hover{border-color:var(--lime);color:var(--lime)}
.fcols{padding:0}
.fcols .cols{display:grid;grid-template-columns:1fr 1fr 0.7fr 1.3fr}
.fcol{border-right:1px solid var(--hairline);padding:54px clamp(20px,2.4vw,44px) 58px}
.fcol:first-child{padding-left:var(--pad)}
.fcol:last-child{border-right:0;padding-right:var(--pad)}
.fcol .fh{font-family:var(--mono);font-size:12.5px;letter-spacing:0.18em;color:var(--meta-3);text-transform:uppercase;margin-bottom:22px;display:flex;align-items:center;gap:10px}@media (min-width:2561px){.fcol .fh{font-size:max(12.5px, min(calc(12.50px + (100vw - 2560px) * 0.00244), 15.62px))}}
.fcol .fh::before{content:"";width:7px;height:7px;background:var(--lime);transform:rotate(45deg);flex:none}
.fcol p,.fcol a{display:block;font-size:16.5px;color:var(--meta-2);line-height:2.05;font-weight:400}@media (min-width:2561px){.fcol p,.fcol a{font-size:max(16.5px, min(calc(16.50px + (100vw - 2560px) * 0.00322), 20.62px))}}
.fcol p{max-width:34ch}
/* trial: a local-time instrument under the Office line (web-surface, no master copy) */
.fcol .fclock{margin-top:22px;max-width:none;font-family:var(--mono);font-size:11.5px;letter-spacing:0.16em;color:var(--meta-3);text-transform:uppercase;display:flex;align-items:center;gap:12px;line-height:1.6}@media (min-width:2561px){.fcol .fclock{font-size:max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px))}}
.fcol .fclock time{color:var(--blue-100);font-variant-numeric:tabular-nums;display:inline}
.fclock .fdot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px rgba(163,217,78,0.55);animation:fclockDot 2s ease-in-out infinite}
@keyframes fclockDot{0%,100%{opacity:1}50%{opacity:0.35}}
/* trial: the mark returns at the legal strip */
.legal .lmark{width:18px;height:auto;display:inline-block;vertical-align:-3px;margin-right:12px;fill:var(--blue-100);opacity:0.85}
.fcol a:hover{color:var(--lime)}
.legal{border-top:1px solid var(--hairline);padding:20px 0 24px}
.legal .row{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;justify-content:space-between;font-size:14px;color:var(--meta-3)}@media (min-width:2561px){.legal .row{font-size:max(14px, min(calc(14.00px + (100vw - 2560px) * 0.00273), 17.50px))}}
.legal a{color:var(--meta-3)}.legal a:hover{color:var(--blue-100)}
.markzone{position:relative;padding:clamp(50px,7vh,90px) 0 clamp(36px,5vh,70px);overflow:hidden;border-top:1px solid var(--hairline);min-height:clamp(300px,34vh,560px);display:flex;flex-direction:column;justify-content:flex-end} /* v0.56: the letters stand in the water, not on the page edge */
.markzone::before{content:"";position:absolute;left:50%;bottom:-30%;width:130%;height:150%;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse at 50% 100%,rgba(15,64,100,0.66) 0%,rgba(12,52,84,0.36) 26%,rgba(163,217,78,0.05) 44%,transparent 64%);animation:mzBreath 9s ease-in-out infinite}
@keyframes mzBreath{0%,100%{opacity:0.78}50%{opacity:1}}
.mz-floor{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:0.68;-webkit-mask-image:linear-gradient(to top,#000 0%,#000 30%,rgba(0,0,0,0.5) 62%,transparent 96%);mask-image:linear-gradient(to top,#000 0%,#000 30%,rgba(0,0,0,0.5) 62%,transparent 96%)}
.markzone .wmwrap{position:relative;z-index:1}
.wmwrap{position:relative;display:flex;justify-content:center;width:100%}
.wm-svg{width:min(94vw,1760px);height:auto;display:block;overflow:visible;-webkit-mask-image:linear-gradient(180deg,#000 38%,rgba(0,0,0,0.78) 54%,rgba(0,0,0,0.5) 70%,rgba(0,0,0,0.26) 86%,rgba(0,0,0,0.1) 100%);mask-image:linear-gradient(180deg,#000 38%,rgba(0,0,0,0.78) 54%,rgba(0,0,0,0.5) 70%,rgba(0,0,0,0.26) 86%,rgba(0,0,0,0.1) 100%)} /* v0.58: the base sinks into the water, no hard baseline */
/* the reflection (trial): the fill flipped under the baseline, faint, soft, gone within half a letter-height */
.wmwrap{flex-direction:column;align-items:center}
.wm-ref{width:min(94vw,1760px);height:auto;display:block;transform:scaleY(-1);margin-top:0;margin-bottom:calc(min(94vw,1760px) * -0.08);opacity:0.44;filter:blur(0.9px);-webkit-mask-image:linear-gradient(180deg,transparent 52%,rgba(0,0,0,0.18) 72%,rgba(0,0,0,0.4) 88%,rgba(0,0,0,0.6) 100%);mask-image:linear-gradient(180deg,transparent 52%,rgba(0,0,0,0.18) 72%,rgba(0,0,0,0.4) 88%,rgba(0,0,0,0.6) 100%);pointer-events:none}
.wm-ref use{fill:#2E6F99}
.wm-fill path{fill:#12354F;opacity:0.36}
.wm-wire path{fill:none;stroke:#B7C5D0;stroke-width:0.2;stroke-opacity:0.3;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:var(--L,1000);stroke-dashoffset:var(--L,1000);transition:stroke-dashoffset 2.6s var(--ease) .5s}
.wmwrap.rev .wm-wire path{stroke-dashoffset:0}
.wmwrap.rev .wm-wire path:nth-child(2){transition-delay:.6s}.wmwrap.rev .wm-wire path:nth-child(3){transition-delay:.7s}.wmwrap.rev .wm-wire path:nth-child(4){transition-delay:.8s}.wmwrap.rev .wm-wire path:nth-child(5){transition-delay:.9s}.wmwrap.rev .wm-wire path:nth-child(6){transition-delay:1s}.wmwrap.rev .wm-wire path:nth-child(7){transition-delay:1.1s}.wmwrap.rev .wm-wire path:nth-child(8){transition-delay:1.2s}.wmwrap.rev .wm-wire path:nth-child(9){transition-delay:1.3s}
/* the whole wordmark rises and fades in first, then draws */
.wmwrap{opacity:0;transform:translateY(30px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease)}
.wmwrap.rev{opacity:1;transform:none}
.wm-light path{fill:none;stroke:#E9F0F6;stroke-width:0.34;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16 var(--L,1000);opacity:0;transition:opacity 1.4s var(--ease) 3.4s}
.wmwrap.rev .wm-light path{opacity:0.45}


/* ---------- instrument light ---------- */
#inst-light{position:fixed;top:0;left:0;width:130px;height:130px;margin:-65px 0 0 -65px;z-index:40;pointer-events:none;opacity:0;will-change:transform}
#inst-light .lw,#inst-light .ll{position:absolute;inset:0;border-radius:50%;transition:opacity .8s var(--ease)}
#inst-light .lw{background:radial-gradient(circle,rgba(255,255,255,0.8) 0%,rgba(233,240,246,0.28) 14%,rgba(183,197,208,0.1) 34%,rgba(183,197,208,0.03) 58%,rgba(183,197,208,0) 85%);filter:blur(3px)}
#inst-light .ll{background:radial-gradient(circle,rgba(226,246,190,0.9) 0%,rgba(163,217,78,0.32) 13%,rgba(163,217,78,0.1) 33%,rgba(163,217,78,0.03) 56%,rgba(163,217,78,0) 82%);filter:blur(3px);opacity:0}
#inst-light.rest .lw{opacity:0}
#inst-light.rest .ll{opacity:1}

/* HUD + cursor */
#mk-cursor-dot{position:fixed;top:0;left:0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#fff;z-index:99;pointer-events:none;opacity:0}
#mk-cursor-ring{position:fixed;top:0;left:0;width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:50%;border:1px solid rgba(183,197,208,0.5);z-index:98;pointer-events:none;opacity:0;display:flex;align-items:center;justify-content:center}
#mk-cursor-ring span{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:0.12em;color:var(--blue-900);opacity:0;transform:scale(0.6)}@media (min-width:2561px){#mk-cursor-ring span{font-size:max(8.5px, min(calc(8.50px + (100vw - 2560px) * 0.00166), 10.62px))}}

#mk-veil{position:fixed;inset:0;z-index:95;background:#000E1A;transform:scaleY(0);transform-origin:bottom center;pointer-events:none;display:flex;align-items:center;justify-content:center}
#mk-veil i{width:64px;height:2px;background:var(--blue-100);transform:scaleX(0);display:block}

[data-reveal]{will-change:transform,opacity}

@media (min-width:1600px){
  #engine .grid2,.ehead{grid-template-columns:minmax(0,1.3fr) minmax(0,0.7fr)} /* v0.77: the head shares the columns */
}
@media (max-width:900px){
  #hero .fw{grid-template-columns:1fr}
  #hero-canvas{opacity:0.4}
  #hero-anno{display:none}
  #problem .prow{grid-template-columns:1fr}
  .chain{grid-template-columns:1fr;min-height:0}
  .chnode{flex-direction:row;align-items:center;gap:14px;padding:10px 0}
  .chnode .chlabel{writing-mode:horizontal-tb;transform:none;margin:0;padding:0}
  .chnode .chcap{margin:0 0 0 auto}
  .charr{display:none}
  #engine .grid2{grid-template-columns:1fr}
  #engine .grid2 > a{order:2}
  .ehead{grid-template-columns:1fr}
  .ehead .ebody{padding-bottom:0}
  .sig-outer{grid-template-columns:1fr}
  .sig-outer > .sig-cell{border-right-width:0 !important;border-bottom-width:1px}
  .sig-report{grid-template-columns:1fr}
  .rep-copy{border-right:0;border-bottom:1px solid var(--hairline-2)}
  .cluster{display:flex;flex-direction:column;height:auto}
  .cluster .cell{border-right-width:0 !important;border-bottom-width:1px;flex-direction:row;align-items:center;justify-content:space-between;min-height:74px}
  .icards{grid-template-columns:1fr}
  .icard-link .mk-card__in{min-height:120px}
  .convband .cgrid{grid-template-columns:1fr}
  .convband .cright{justify-self:start}
  .fcols .cols{grid-template-columns:1fr}
  .fcol{border-right:0;border-bottom:1px solid var(--hairline);padding-left:var(--pad);padding-right:var(--pad)}
  #outcomes .stage{min-height:0;padding:80px 0 40px}
  .hs-track{flex-direction:column;width:auto}
  .case{width:100%}
  .case .mk-card__in{min-height:0}
  .hs-meta{display:none}
  /* 05 (v0.77): statement, CTA block, instrument, disclosures; see the v0.77 block */
  .cell .secviz{display:none}
}
@media (prefers-reduced-motion: reduce){
  .scrollcue{display:none}
  .cluster,.cell,.cell .handle,.cell .ctag,.cell .cfig,.cell .cname,.cell .csub{transition:none !important}
  .wm-wire path{stroke-dashoffset:0 !important;transition:none !important}
  .wm-light{display:none}
  .wmwrap{opacity:1 !important;transform:none !important;transition:none !important}
  .markzone::before{animation:none}
}

/* ============ v0.71 lock hygiene (Sotiris 2026-09-25). Nothing here applies at 1440 and above. ============ */
/* 6: report row, confidence labels keep their space and "Tracking gap" wraps (no-op where they already fit) */
.rconf{gap:12px}
.rconf b:last-of-type{text-align:right}
@media (max-width:1279px){ .rconf{letter-spacing:0.1em} }
/* 9: the 05 probe label keeps its connector pointing at the node: right side when it turns left, a short drop when it sits above */
.plab.flip::before{left:auto;right:-14px}
.plab.above::before{left:50%;top:auto;bottom:-18px;width:1px;height:14px}
/* 7: Insights, 2x2 below 1200 so titles read in full at 1024 */
@media (min-width:901px) and (max-width:1199px){
  .icards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  /* 1: the 01 text column no longer collapses; the annotation block follows the copy */
  #problem .duo{grid-template-columns:minmax(0,1fr)}
  /* 5: size cell, the band sits below its figure and label, the figure on one line */
  .cell-size{padding-bottom:44px}
  .cell-size .range{top:auto;bottom:12px}
  .cell-size .cfig{white-space:nowrap}
}
@media (max-width:640px){
  /* 2: report row, the label above its values */
  .rep-art .rrow{grid-template-columns:minmax(0,1fr);gap:12px}
  /* 3: the 02 teaser CTA wraps inside its card */
  .case.teaser .btn{white-space:normal;max-width:100%;text-align:left}
  /* 4: the 01 chain caption drops under the stage name */
  .chnode{flex-wrap:wrap;row-gap:6px}
  .chnode .chcap{flex-basis:100%;margin:0;padding-left:34px;white-space:normal}
  /* 9: (v0.77) the 05 lattice is the instrument's display, inside its frame */
  /* 10: the footer floor is capped so the wordmark sits whole */
  .markzone{min-height:0;padding:36px 0 26px}
  /* 11: Light copy at the 16 px floor */
  #hero .talk,#diagnosis .talk,.convband .talk,.case .line{font-size:16px}
}
/* 12: touch targets at 44 px on touch pointers */
@media (pointer:coarse){
  header .nav-toggle{min-height:44px}
}

/* ============ v0.72 (Sotiris review 2026-09-25): 720p, tablet, phone. 1440+ changes: the S2 crop window, the disc label, the header hide. ============ */
/* legal links: dot and link travel together */
.legal .lk{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
/* 02 on short desktop screens: the cards end above the fold */
@media (min-width:901px) and (max-height:820px){
  #outcomes .stage{padding:108px 0 26px}
  #outcomes .head{padding-bottom:22px}
  .case .mk-card__in{min-height:0;padding:26px 30px 24px}
  .hs-meta{padding-top:14px}
}
@media (max-width:900px){
  /* section rhythm: about half the desktop gap */
  #problem{padding:clamp(72px,12vw,104px) 0 clamp(52px,8vw,72px)}
  #engine,#model-grid,#insights,#diagnosis{padding:clamp(52px,8vw,72px) 0}
  #outcomes .stage{padding:clamp(52px,8vw,72px) 0 clamp(20px,4vw,32px)}
  .convband{padding:clamp(52px,8vw,72px) 0}
  /* 04 rows: no hidden tag holding space, one alignment for every row */
  .cluster .cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:18px;padding:18px 20px;text-align:left}
  .cluster .cell .ctag{display:none}
  .cluster .cell .cname{grid-column:1;grid-row:1}
  .cluster .cell .csub{grid-column:2;grid-row:1;justify-self:end;text-align:right}
  .cluster .cell:has(> .cfig){grid-template-columns:var(--figw,150px) minmax(0,1fr) auto}
  .cluster .cell:has(> .cfig) .cfig{grid-column:1;grid-row:1;white-space:nowrap;transform:none !important}
  .cluster .cell:has(> .cfig) .cname{grid-column:2}
  .cluster .cell:has(> .cfig) .csub{grid-column:3}
  .cell-size{padding-bottom:46px !important}
  /* 05: (v0.77) the lattice is the instrument's display */
  /* footer: tighter columns */
  .fcol{padding-top:30px;padding-bottom:32px}
  .fcol .fh{margin-bottom:14px}
}
@media (min-width:641px) and (max-width:900px){
  .fcols .cols{grid-template-columns:1fr 1fr}
  .fcol:nth-child(odd){border-right:1px solid var(--hairline)}
}
@media (max-width:640px){
  /* phone: the tag line sits under the name, so the name keeps the width */
  .cluster .cell{padding:16px 16px;grid-template-columns:minmax(0,1fr);row-gap:5px}
  .cluster .cell .csub{grid-column:1;grid-row:2;justify-self:start;text-align:left}
  .cluster .cell:has(> .cfig){--figw:112px;grid-template-columns:var(--figw) minmax(0,1fr)}
  .cluster .cell:has(> .cfig) .cfig{grid-row:1 / span 2}
  .cluster .cell:has(> .cfig) .csub{grid-column:2;grid-row:2}
  .cluster .cell .cfig{font-size:21px}
}
/* touch: 44 px hit areas without changing the visual pitch (replaces the v0.71 padding) */
@media (pointer:coarse){
  .fcol a{line-height:2.05;padding:0;position:relative}
  .fcol a::after{content:"";position:absolute;left:0;right:0;top:-5px;bottom:-5px}
  .legal .llinks{row-gap:14px}
  .legal .llinks a{display:inline;padding:0;position:relative}
  .legal .llinks a::after{content:"";position:absolute;left:-4px;right:-4px;top:-12px;bottom:-12px}
}

/* ============ v0.73 (Sotiris 2026-09-25) ============ */
/* S2 web crop: the corner label is off and the legend reads under the rule (web text, master wording); the master SVG bytes are unchanged */
#s2crop svg text[x="1808"][y="150"],#s2crop svg text[x="1808"][y="1036"]{display:none}
.disc-under{justify-content:space-between;flex-wrap:wrap;gap:8px 24px}
/* reduced motion: the header still hides, without the slide */
@media (prefers-reduced-motion: reduce){ header{transition:background .4s var(--ease),border-color .4s var(--ease)} }

/* ============ v0.77 (Sotiris 2026-09-25): CD critique recs 1 scale, 5 05 as an instrument, 6 one button language ============ */
/* 1. the hero copy column is the full width (the display H1 needs the room; the right column was empty, the X lives on the canvas) */
#hero .fw > div:empty{display:none}
/* 1. one statement per section at display size; 02 and 05 carry the largest */
#problem h2.stmt,#outcomes h2.stmt,#engine h2.stmt,#model-grid h2.stmt,#diagnosis h2.stmt,#insights h2.stmt,#foot h2.stmt{font-size:clamp(40px,6vw,190px);line-height:1.08;letter-spacing:-0.03em;font-weight:700;max-width:none;text-wrap:balance} /* v0.78: 1.08, the heading token; 1.02 let a descender meet the ascender below (01, 04) */
#problem h2.stmt{font-size:clamp(40px,6.2vw,196px)}
#outcomes h2.stmt{font-size:clamp(40px,7.5vw,236px)}
#diagnosis h2.stmt{font-size:clamp(40px,7vw,220px)}
#model-grid h2.stmt{margin-top:26px}
#model-grid .sig-frame{margin-top:clamp(36px,3.6vw,64px)}
/* 1. 03: the statement spans both columns, the paragraph follows it in the disc column */
.ehead{row-gap:clamp(20px,2.2vw,40px)}
.ehead > div:first-child{grid-column:1 / -1}
.ehead .ebody{grid-column:1}
/* 6. one button language: primary is the pill with the lime chip (.btn), secondary is the text link with the arrow (.tlink) */
.tlink::before{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:rgba(183,197,208,0.26)}
.tlink .arr{transition:transform .35s var(--ease),color .35s var(--ease)}
.tlink:hover .arr{transform:translateX(3px);color:var(--lime)}
.tlink-lg{font-size:clamp(17px,1.35vw,21px);gap:12px}@media (min-width:2561px){.tlink-lg{font-size:max(clamp(17px,1.35vw,21px), min(calc(21.00px + (100vw - 2560px) * 0.00164), 23.10px))}}
.tlink-lg .arr{font-size:15px}@media (min-width:2561px){.tlink-lg .arr{font-size:max(15px, min(calc(15.00px + (100vw - 2560px) * 0.00293), 18.75px))}}
#engine .eng-link{margin-top:30px;align-self:flex-start}
@media (max-width:900px){
  #problem h2.stmt,#outcomes h2.stmt,#engine h2.stmt,#model-grid h2.stmt,#diagnosis h2.stmt,#insights h2.stmt,#foot h2.stmt{font-size:clamp(34px,9.4vw,66px)}
  .h1-main{font-size:clamp(44px,14.5vw,112px)}
  #diagnosis .dgrid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"copy" "inst" "more";row-gap:32px}
  .dmore{align-self:start}
  .ddisp{height:clamp(200px,50vw,300px)}
  .mv-desc{min-height:calc(1.55em * 4)}
}
@media (max-width:640px){
  .dhead,.dread{padding-left:16px;padding-right:16px}
  .dhead{gap:10px;font-size:12px;letter-spacing:0.14em}
  .mrows{padding:4px 16px 16px}
  .mrow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .mrow .mlab{grid-column:1 / -1}
  .mband{font-size:12px;letter-spacing:0.07em;padding-right:4px}
}
@media (prefers-reduced-motion: reduce){ .dinst.lock .mr1 .mmark::after{animation:none} .mseg,.mband,.mval,.mmark,.mrows{transition:none} }
/* 6. a pill keeps its label on one line from tablet up; on small desktops the 05 and footer pills step down a size to fit their columns */
@media (min-width:641px){ .btn{white-space:nowrap} }
@media (min-width:901px) and (max-width:1279px){
  #diagnosis .btn-hero,.convband .btn{font-size:17px;padding:13px 26px 13px 14px}
  .convband .btn .chip{width:30px;height:30px;font-size:14px}
  .convband .cgrid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
  .mrow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .mrow .mlab{grid-column:1 / -1}
}
/* 1. 02 on short desktop screens: the statement is held by the height so the strip and its progress line stay above the fold */
@media (min-width:901px) and (max-height:820px){
  #outcomes h2.stmt{font-size:clamp(40px,min(7.5vw,10vh),236px)}
  #outcomes .stage{padding-top:88px}
  #outcomes .head .dek{margin-top:10px}
  #outcomes .head{padding-bottom:18px}
}
/* 1. past 1440 the content grows with the viewport: one left edge (the gutter) at every width, no fixed 1440 box (beyond 2800 px of
   content the gutter widens instead). Display type is in vw; reading text and component sizes grow gently (+25% at 2560). */
@media (min-width:1441px){
  :root{--pad:max(4vw,calc(50vw - 1400px))}
  .wrap,#engine .wrap.wide{max-width:none}
  body{font-size:max(clamp(16px,1.15vw,18px), min(calc(11.24px + 0.3696vw), 21.5px))}@media (min-width:2561px){body{font-size:max(max(clamp(16px,1.15vw,18px), min(calc(11.24px + 0.3696vw), 21.5px)), min(calc(20.70px + (100vw - 2560px) * 0.00162), 22.77px))}}
  .eyebrow{font-size:min(calc(10.86px + 0.3571vw), 20.8px)}@media (min-width:2561px){.eyebrow{font-size:max(min(calc(10.86px + 0.3571vw), 20.8px), min(calc(20.00px + (100vw - 2560px) * 0.00156), 22.00px))}}
  #hero .cat{font-size:max(clamp(17px,1.35vw,21px), min(calc(13.19px + 0.4339vw), 25.3px))}@media (min-width:2561px){#hero .cat{font-size:max(max(clamp(17px,1.35vw,21px), min(calc(13.19px + 0.4339vw), 25.3px)), min(calc(24.30px + (100vw - 2560px) * 0.00190), 26.73px))}}
  #hero .cat{max-width:min(calc(407.14px + 13.3928vw), 780.0px)}
  #hero .connect{max-width:min(calc(393.57px + 12.9464vw), 754.0px)}
  #hero .talk,#diagnosis .talk,.convband .talk{font-size:min(calc(10.18px + 0.3348vw), 19.5px)}@media (min-width:2561px){#hero .talk,#diagnosis .talk,.convband .talk{font-size:max(min(calc(10.18px + 0.3348vw), 19.5px), min(calc(18.75px + (100vw - 2560px) * 0.00366), 23.44px))}}
  .btn{font-size:min(calc(11.54px + 0.3795vw), 22.1px)}@media (min-width:2561px){.btn{font-size:max(min(calc(11.54px + 0.3795vw), 22.1px), min(calc(21.26px + (100vw - 2560px) * 0.00166), 23.38px))}}
  .btn-hero,.convband .btn{font-size:min(calc(12.89px + 0.4241vw), 24.7px)}@media (min-width:2561px){.btn-hero,.convband .btn{font-size:max(min(calc(12.89px + 0.4241vw), 24.7px), min(calc(23.75px + (100vw - 2560px) * 0.00186), 26.12px))}}
  .case.teaser .btn{font-size:min(calc(10.86px + 0.3571vw), 20.8px)}@media (min-width:2561px){.case.teaser .btn{font-size:max(min(calc(10.86px + 0.3571vw), 20.8px), min(calc(20.00px + (100vw - 2560px) * 0.00156), 22.00px))}}
  #problem .lead{font-size:max(clamp(16.5px,1.2vw,19px), min(calc(11.73px + 0.3857vw), 22.5px))}@media (min-width:2561px){#problem .lead{font-size:max(max(clamp(16.5px,1.2vw,19px), min(calc(11.73px + 0.3857vw), 22.5px)), min(calc(21.60px + (100vw - 2560px) * 0.00169), 23.76px))}}
  #problem .duo .body{font-size:min(calc(11.54px + 0.3795vw), 22.1px)}@media (min-width:2561px){#problem .duo .body{font-size:max(min(calc(11.54px + 0.3795vw), 22.1px), min(calc(21.26px + (100vw - 2560px) * 0.00166), 23.38px))}}
  #problem .duo{grid-template-columns:minmax(0,54ch) minmax(280px,min(calc(298.57px + 9.8214vw), 572.0px))}
  .anno-block{max-width:min(calc(298.57px + 9.8214vw), 572.0px)}
  .anno-block .aval{font-size:min(calc(10.18px + 0.3348vw), 19.5px)}@media (min-width:2561px){.anno-block .aval{font-size:max(min(calc(10.18px + 0.3348vw), 19.5px), min(calc(18.75px + (100vw - 2560px) * 0.00366), 23.44px))}}
  .anno-block .albl{font-size: max(12px, min(calc(7.46px + 0.2455vw), 14.3px))}@media (min-width:2561px){.anno-block .albl{font-size: max(12px, max(min(calc(7.46px + 0.2455vw), 14.3px), min(calc(13.74px + (100vw - 2560px) * 0.00268), 17.18px)))}}
  .chain{min-height:max(clamp(340px,34vw,420px), min(calc(285.00px + 9.3750vw), 546.0px))}
  .chnode .chlabel{font-size:clamp(30px,2.8vw,80px)}
  .chnode .chcap{font-size:min(calc(8.48px + 0.2790vw), 16.3px)}@media (min-width:2561px){.chnode .chcap{font-size:max(min(calc(8.48px + 0.2790vw), 16.3px), min(calc(15.62px + (100vw - 2560px) * 0.00305), 19.53px))}}
  .chnode .chix{font-size:min(calc(8.82px + 0.2902vw), 16.9px)}@media (min-width:2561px){.chnode .chix{font-size:max(min(calc(8.82px + 0.2902vw), 16.9px), min(calc(16.25px + (100vw - 2560px) * 0.00317), 20.31px))}}
  .chnode .chval{font-size: max(12px, min(calc(7.80px + 0.2567vw), 15.0px))}@media (min-width:2561px){.chnode .chval{font-size: max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px)))}}
  .chmeter{height:max(clamp(64px,6vw,80px), min(calc(54.29px + 1.7857vw), 104.0px))}
  .case{width:clamp(360px,30vw,900px)}
  .case .fig{font-size:clamp(44px,3.6vw,120px)}
  .case .line{font-size:min(calc(10.52px + 0.3460vw), 20.2px)}@media (min-width:2561px){.case .line{font-size:max(min(calc(10.52px + 0.3460vw), 20.2px), min(calc(19.38px + (100vw - 2560px) * 0.00378), 24.22px))}}
  .case .sector{font-size:min(calc(10.86px + 0.3571vw), 20.8px)}@media (min-width:2561px){.case .sector{font-size:max(min(calc(10.86px + 0.3571vw), 20.8px), min(calc(20.00px + (100vw - 2560px) * 0.00156), 22.00px))}}
  .case .tag{font-size: max(12px, min(calc(7.80px + 0.2567vw), 15.0px))}@media (min-width:2561px){.case .tag{font-size: max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px)))}}
  .case .figcap{font-size: max(12px, min(calc(7.46px + 0.2455vw), 14.3px))}@media (min-width:2561px){.case .figcap{font-size: max(12px, max(min(calc(7.46px + 0.2455vw), 14.3px), min(calc(13.74px + (100vw - 2560px) * 0.00268), 17.18px)))}}
  .case.teaser .line{font-size:clamp(19px,1.6vw,36px)}@media (min-width:2561px){.case.teaser .line{font-size:max(clamp(19px,1.6vw,36px), min(calc(36.00px + (100vw - 2560px) * 0.00281), 39.60px))}}
  .hs-prog{font-size:min(calc(8.48px + 0.2790vw), 16.3px)}@media (min-width:2561px){.hs-prog{font-size:max(min(calc(8.48px + 0.2790vw), 16.3px), min(calc(15.62px + (100vw - 2560px) * 0.00305), 19.53px))}}
  .stg-name{font-size:clamp(20px,1.7vw,40px)}@media (min-width:2561px){.stg-name{font-size:max(clamp(20px,1.7vw,40px), min(calc(40.00px + (100vw - 2560px) * 0.00313), 44.00px))}}
  .stg-body p{font-size:min(calc(10.52px + 0.3460vw), 20.2px)}@media (min-width:2561px){.stg-body p{font-size:max(min(calc(10.52px + 0.3460vw), 20.2px), min(calc(19.38px + (100vw - 2560px) * 0.00378), 24.22px))}}
  .disc-under .mono{font-size: max(12px, min(calc(7.46px + 0.2455vw), 14.3px))}@media (min-width:2561px){.disc-under .mono{font-size: max(12px, max(min(calc(7.46px + 0.2455vw), 14.3px), min(calc(13.74px + (100vw - 2560px) * 0.00268), 17.18px)))}}
  .sig-cell{min-height:clamp(300px,36vw,820px)}
  .sig-title .who{font-size:min(calc(10.86px + 0.3571vw), 20.8px)}@media (min-width:2561px){.sig-title .who{font-size:max(min(calc(10.86px + 0.3571vw), 20.8px), min(calc(20.00px + (100vw - 2560px) * 0.00156), 22.00px))}}
  .cell .cname{font-size:clamp(15px,1.25vw,28px)}@media (min-width:2561px){.cell .cname{font-size:max(clamp(15px,1.25vw,28px), min(calc(28.00px + (100vw - 2560px) * 0.00219), 30.80px))}}
  .cell .cfig{font-size:clamp(24px,2vw,48px)}@media (min-width:2561px){.cell .cfig{font-size:max(clamp(24px,2vw,48px), min(calc(48.00px + (100vw - 2560px) * 0.00375), 52.80px))}}
  .cell .csub{font-size: max(12px, min(calc(7.80px + 0.2567vw), 15.0px))}@media (min-width:2561px){.cell .csub{font-size: max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px)))}}
  .cell .ctag{font-size:min(calc(6.79px + 0.2232vw), 13.0px)}@media (min-width:2561px){.cell .ctag{font-size:max(min(calc(6.79px + 0.2232vw), 13.0px), min(calc(12.50px + (100vw - 2560px) * 0.00244), 15.63px))}}
  .rep-copy .rline{font-size:clamp(22px,2.1vw,48px)}@media (min-width:2561px){.rep-copy .rline{font-size:max(clamp(22px,2.1vw,48px), min(calc(48.00px + (100vw - 2560px) * 0.00375), 52.80px))}}
  .rep-art .rlab{font-size:min(calc(7.80px + 0.2567vw), 15.0px)}@media (min-width:2561px){.rep-art .rlab{font-size:max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px))}}
  .rconf{font-size:min(calc(7.12px + 0.2344vw), 13.7px)}@media (min-width:2561px){.rconf{font-size:max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px))}}
  .rcons b,.rdec b{font-size:min(calc(7.12px + 0.2344vw), 13.7px)}@media (min-width:2561px){.rcons b,.rdec b{font-size:max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px))}}
  .rep-art .rrow{grid-template-columns:minmax(0,min(calc(128.93px + 4.2411vw), 247.0px)) minmax(0,1fr)}
  #modelviz{height:min(calc(128.93px + 4.2411vw), 247.0px)}
  .sig-inner .lab{font-size:clamp(17px,1.5vw,34px)}@media (min-width:2561px){.sig-inner .lab{font-size:max(clamp(17px,1.5vw,34px), min(calc(34.00px + (100vw - 2560px) * 0.00266), 37.40px))}}
  #insights .dek{max-width:min(calc(461.43px + 15.1786vw), 884.0px)}
  .icard h3{font-size:clamp(17px,1.35vw,28px)}@media (min-width:2561px){.icard h3{font-size:max(clamp(17px,1.35vw,28px), min(calc(28.00px + (100vw - 2560px) * 0.00219), 30.80px))}}
  .icard .mk-card__in{min-height:min(calc(176.43px + 5.8036vw), 338.0px)}
  .icard-link .line{font-size:clamp(19px,1.6vw,36px)}@media (min-width:2561px){.icard-link .line{font-size:max(clamp(19px,1.6vw,36px), min(calc(36.00px + (100vw - 2560px) * 0.00281), 39.60px))}}
  .icard .imeta{font-size: max(12px, min(calc(7.12px + 0.2344vw), 13.7px))}@media (min-width:2561px){.icard .imeta{font-size: max(12px, max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px)))}}
  .icard .tag{font-size: max(12px, min(calc(7.80px + 0.2567vw), 15.0px))}@media (min-width:2561px){.icard .tag{font-size: max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px)))}}
  .convband .sub{font-size:clamp(19px,1.7vw,36px)}@media (min-width:2561px){.convband .sub{font-size:max(clamp(19px,1.7vw,36px), min(calc(36.00px + (100vw - 2560px) * 0.00281), 39.60px))}}
  .fcol p,.fcol a{font-size:min(calc(11.20px + 0.3683vw), 21.4px)}@media (min-width:2561px){.fcol p,.fcol a{font-size:max(min(calc(11.20px + 0.3683vw), 21.4px), min(calc(20.63px + (100vw - 2560px) * 0.00161), 22.69px))}}
  .fcol .fh{font-size:min(calc(8.48px + 0.2790vw), 16.3px)}@media (min-width:2561px){.fcol .fh{font-size:max(min(calc(8.48px + 0.2790vw), 16.3px), min(calc(15.62px + (100vw - 2560px) * 0.00305), 19.53px))}}
  .fcol .fclock{font-size:min(calc(7.80px + 0.2567vw), 15.0px)}@media (min-width:2561px){.fcol .fclock{font-size:max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px))}}
  .legal .row{font-size:min(calc(9.50px + 0.3125vw), 18.2px)}@media (min-width:2561px){.legal .row{font-size:max(min(calc(9.50px + 0.3125vw), 18.2px), min(calc(17.50px + (100vw - 2560px) * 0.00342), 21.88px))}}
  .wm-svg,.wm-ref{width:min(94vw,3000px)}
  .wm-ref{margin-bottom:calc(min(94vw,3000px) * -0.08)}
  .tlink-lg{font-size:clamp(17px,1.35vw,28px)}@media (min-width:2561px){.tlink-lg{font-size:max(clamp(17px,1.35vw,28px), min(calc(28.00px + (100vw - 2560px) * 0.00219), 30.80px))}}
  .tlink .arr{font-size:min(calc(8.82px + 0.2902vw), 16.9px)}@media (min-width:2561px){.tlink .arr{font-size:max(min(calc(8.82px + 0.2902vw), 16.9px), min(calc(16.25px + (100vw - 2560px) * 0.00317), 20.31px))}}
  .tlink-lg .arr{font-size:min(calc(10.18px + 0.3348vw), 19.5px)}@media (min-width:2561px){.tlink-lg .arr{font-size:max(min(calc(10.18px + 0.3348vw), 19.5px), min(calc(18.75px + (100vw - 2560px) * 0.00366), 23.44px))}}
  #diagnosis .ddek{font-size:clamp(22px,2vw,46px)}@media (min-width:2561px){#diagnosis .ddek{font-size:max(clamp(22px,2vw,46px), min(calc(46.00px + (100vw - 2560px) * 0.00359), 50.60px))}}
  .mv-name{font-size:clamp(24px,2.2vw,50px)}@media (min-width:2561px){.mv-name{font-size:max(clamp(24px,2.2vw,50px), min(calc(50.00px + (100vw - 2560px) * 0.00391), 55.00px))}}
  .mv-desc{font-size:min(calc(10.18px + 0.3348vw), 19.5px)}@media (min-width:2561px){.mv-desc{font-size:max(min(calc(10.18px + 0.3348vw), 19.5px), min(calc(18.75px + (100vw - 2560px) * 0.00366), 23.44px))}}
  .mval{font-size:min(calc(11.54px + 0.3795vw), 22.1px)}@media (min-width:2561px){.mval{font-size:max(min(calc(11.54px + 0.3795vw), 22.1px), min(calc(21.26px + (100vw - 2560px) * 0.00166), 23.38px))}}
  .mlab{font-size: max(12px, min(calc(7.46px + 0.2455vw), 14.3px))}@media (min-width:2561px){.mlab{font-size: max(12px, max(min(calc(7.46px + 0.2455vw), 14.3px), min(calc(13.74px + (100vw - 2560px) * 0.00268), 17.18px)))}}
  .mband{font-size: max(12px, min(calc(7.12px + 0.2344vw), 13.7px))}@media (min-width:2561px){.mband{font-size: max(12px, max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px)))}}
  .dhead{font-size: max(12px, min(calc(7.80px + 0.2567vw), 15.0px))}@media (min-width:2561px){.dhead{font-size: max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px)))}}
  .dhead .dtag{font-size: max(12px, min(calc(7.12px + 0.2344vw), 13.7px))}@media (min-width:2561px){.dhead .dtag{font-size: max(12px, max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px)))}}
  .mrow{grid-template-columns:minmax(0,min(calc(135.71px + 4.4643vw), 260.0px)) minmax(0,1fr) auto}
  .ddisp{height:clamp(190px,16vw,420px)}
  .dx > summary{font-size:min(calc(8.48px + 0.2790vw), 16.3px)}@media (min-width:2561px){.dx > summary{font-size:max(min(calc(8.48px + 0.2790vw), 16.3px), min(calc(15.62px + (100vw - 2560px) * 0.00305), 19.53px))}}
  .dx p{font-size:min(calc(10.52px + 0.3460vw), 20.2px)}@media (min-width:2561px){.dx p{font-size:max(min(calc(10.52px + 0.3460vw), 20.2px), min(calc(19.38px + (100vw - 2560px) * 0.00378), 24.22px))}}
}

/* ============ v0.79 (Sotiris 2026-09-26): 05 disclosures open on desktop; rec 7 pacing (the 01 moment, the lime ration) ============ */
/* 05: open from 1200 px up; the instrument stays beside the text */
#diagnosis{overflow:hidden;overflow:clip} /* clip, so the section is not a scroll container and the panel can stick */
@media (min-width:1200px){ #diagnosis .dinst{position:sticky;top:96px;align-self:start} }
/* rec 7: the 01 moment, a held frame (the extra height is the hold) */
#problem{padding-top:0}
.moment{position:relative;height:calc(100vh + var(--hold,80vh))}
.moment-in{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center}
#problem h2.stmt.mstmt{font-size:clamp(40px,min(10.5vw,17vh),300px);margin-top:clamp(20px,2.2vw,40px)}
.moment + .wrap{padding-top:clamp(8px,2vh,24px)}
@media (max-width:900px){
  /* v0.80 (Sotiris 2026-09-26): phones and portrait tablets drop the held frame (it left a tall empty band above and below the line);
     the statement keeps its display size and fills as it passes; the section takes back its normal top spacing */
  #problem{padding-top:clamp(120px,15vh,200px)}
  .moment{height:auto}
  .moment-in{position:static;height:auto;display:block}
  #problem h2.stmt.mstmt{font-size:clamp(34px,12vw,96px)}
}
@media (prefers-reduced-motion: reduce) and (min-width:901px){
  .moment{height:auto}
  .moment-in{position:static;height:auto;padding:clamp(100px,14vh,180px) 0 clamp(24px,4vh,56px)}
}
/* rec 7: lime tails on three beats only (hero, 01, 05); elsewhere the second clause is pale */
.two-tone .tp{color:var(--blue-100)}
.convband .sub.two-tone .tp{color:#fff}

/* ============ v0.84 (Sotiris 2026-09-26, critique rec 8, "fix all"): the phone pass; nothing here applies from 901 px up ============ */
@media (max-width:900px){
  /* 01: the second paragraph opens on demand; the lead stays whole */
  #problem .duo .body.clip{max-height:calc(1.7em * 4);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 45%,transparent 100%)}
  .more-btn{display:inline-flex;align-items:center;gap:12px;justify-self:start;margin:6px 0 0;padding:10px 0;min-height:44px;background:none;border:0;color:#fff;font:500 16px/1 var(--sans);cursor:pointer}
  .more-btn .pm{font-family:var(--mono);font-size:15px;color:var(--blue-100)}
  /* 02 and 06: swipe rows, the next card peeking */
  #outcomes .hs-track,#insights .icards{display:flex;flex-direction:row;flex-wrap:nowrap;width:auto;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:var(--pad);scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:12px}
  #outcomes .hs-track::-webkit-scrollbar,#insights .icards::-webkit-scrollbar{display:none}
  #outcomes .hs-track{padding:0 var(--pad) 2px}
  #outcomes .hs-track > .case{flex:0 0 min(84%,440px);width:auto;scroll-snap-align:start}
  #outcomes .hs-meta{display:flex;padding-top:18px}
  #insights .icards{margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);padding:0 var(--pad) 2px}
  #insights .icards > .mk-card{flex:0 0 min(84%,440px);scroll-snap-align:start}
  #insights .icards > .icard-link{flex-basis:min(56%,300px)}
  #insights .sw-meta{display:flex;padding:18px 0 0}
  /* 04: the results tile is a link, not a panel */
  #model-grid .sig-outer > .sig-cta{min-height:170px}
  /* 03: the disc opens the engine map */
  #engine .disc-under .dopen{display:block;color:#fff}
}
@media (min-width:901px){ .more-btn,.sw-meta,#engine .disc-under .dopen{display:none} }
@media (max-width:640px){
  /* 01: tighter meter rows */
  .chnode .chlabel{font-size:26px}
  .chmeter{height:48px}
  /* footer: Navigate beside Office; Contact and Trust full width */
  .fcols .cols{grid-template-columns:1fr 1fr}
  .fcols .fcol{padding:24px 16px 26px}
  .fcols .fcol:nth-child(1){order:1;grid-column:1 / -1;padding-left:var(--pad)}
  .fcols .fcol:nth-child(3){order:2;padding-left:var(--pad);border-right:1px solid var(--hairline)}
  .fcols .fcol:nth-child(2){order:3}
  .fcols .fcol:nth-child(4){order:4;grid-column:1 / -1;padding-left:var(--pad)}
  .fcol .fclock{flex-wrap:wrap;row-gap:4px;column-gap:10px}
}
/* the engine map (phones): the verbatim S2 disc at twice the size, pannable */
.emap{position:fixed;inset:0;z-index:120;background:rgba(0,14,26,0.99);display:flex;flex-direction:column;opacity:0;transition:opacity .3s var(--ease)}
.emap[hidden]{display:none}
.emap.is-open{opacity:1}
.emap-bar,.emap-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--pad)}
.emap-bar{border-bottom:1px solid var(--hairline)}
.emap-foot{border-top:1px solid var(--hairline);padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap;row-gap:4px}
.emap-foot .tlink{white-space:nowrap}
.emap .mono{font-family:var(--mono);font-size:11.5px;letter-spacing:0.16em;color:var(--meta-2);text-transform:uppercase}@media (min-width:2561px){.emap .mono{font-size:max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px))}}
.emap-x{display:inline-flex;align-items:center;gap:10px;min-height:44px;background:transparent;border:1px solid rgba(183,197,208,0.32);border-radius:999px;padding:9px 16px;color:#fff;font:500 15px/1 var(--sans);cursor:pointer}@media (min-width:2561px){.emap-x{font-size:max(15px, min(calc(15.00px + (100vw - 2560px) * 0.00293), 18.75px))}}
.emap-pan{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.emap-disc{width:max(760px,215vw);aspect-ratio:1/1}
.emap-disc svg{display:block;width:100%;height:100%}
.emap-disc svg > rect[fill="url(#bg)"]{fill:none !important}
html.emap-open,html.emap-open body{overflow:hidden}
@media (prefers-reduced-motion: reduce){ .emap{transition:none} }

/* ============ v0.85 (Sotiris 2026-09-26): the atmosphere, still viewport-scale light in the brand blues (after infracorp.global) ============ */
.atmo{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.atmo i{position:absolute;inset:-25%;display:block;opacity:0;visibility:hidden;transform-origin:50% 50%}

/* ============ v0.86 (Sotiris 2026-09-26): the 03 disc never taller than the window; centred in its column when capped ============ */
@media (min-width:901px){ #engine .disc-wrap{width:100%;max-width:max(520px,calc(113vh - 230px));margin-left:auto;margin-right:auto} }
@media (min-width:1441px) and (min-height:821px){ .case .mk-card__in{min-height:min(calc(271.43px + 8.9286vw), 520.0px)} }

/* B8 (2026-10-10, ruled "option A 10%"): from 2560 px wide, text under 16 px 10% larger; each line repeats a rule above with its own context */
@media (min-width:2560px){.ni .ix{font-size:calc(12px * 1.1)}}
@media (min-width:2560px){@media (min-width:2561px){.ni .ix{font-size:calc(max(12px, min(calc(12.00px + (100vw - 2560px) * 0.00234), 15.00px)) * 1.1)}}}
@media (min-width:2560px){.mnav-list .mni .ix{font-size:calc(13px * 1.1)}}
@media (min-width:2560px){@media (min-width:2561px){.mnav-list .mni .ix{font-size:calc(max(13px, min(calc(13.00px + (100vw - 2560px) * 0.00254), 16.25px)) * 1.1)}}}
@media (min-width:2560px){.mnav-foot .mmeta{font-size:calc(11.5px * 1.1)}}
@media (min-width:2560px){@media (min-width:2561px){.mnav-foot .mmeta{font-size:calc(max(11.5px, min(calc(11.50px + (100vw - 2560px) * 0.00225), 14.38px)) * 1.1)}}}
@media (min-width:2560px){.hlab{font-size:calc(14px * 1.1)}}
@media (min-width:2560px){@media (min-width:2561px){.hlab{font-size:calc(max(14px, min(calc(14.00px + (100vw - 2560px) * 0.00273), 17.50px)) * 1.1)}}}
@media (min-width:2560px){.scrollcue .sclab{font-size:calc(9.5px * 1.1)}}
@media (min-width:2560px){@media (min-width:2561px){.scrollcue .sclab{font-size:calc(max(9.5px, min(calc(9.50px + (100vw - 2560px) * 0.00186), 11.88px)) * 1.1)}}}
@media (min-width:2560px){.charr .leak{font-size:calc(13px * 1.1)}}
@media (min-width:2560px){@media (min-width:2561px){.charr .leak{font-size:calc(max(13px, min(calc(13.00px + (100vw - 2560px) * 0.00254), 16.25px)) * 1.1)}}}
@media (min-width:2560px){.case .baseline .bl-lab{font-size:calc(12px * 1.1)}}
@media (min-width:2560px){@media (min-width:2561px){.case .baseline .bl-lab{font-size:calc(max(12px, max(9.5px, min(calc(9.50px + (100vw - 2560px) * 0.00186), 11.88px))) * 1.1)}}}
@media (min-width:2560px){.stg-ix{font-size:calc(12px * 1.1)}}
@media (min-width:2560px){@media (min-width:2561px){.stg-ix{font-size:calc(max(12px, max(11px, min(calc(11.00px + (100vw - 2560px) * 0.00215), 13.75px))) * 1.1)}}}
@media (min-width:2560px){.plab{font-size:calc(14px * 1.1)}}
@media (min-width:2560px){@media (min-width:2561px){.plab{font-size:calc(max(14px, min(calc(14.00px + (100vw - 2560px) * 0.00273), 17.50px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){.anno-block .albl{font-size:calc(max(12px, min(calc(7.46px + 0.2455vw), 14.3px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.anno-block .albl{font-size:calc(max(12px, max(min(calc(7.46px + 0.2455vw), 14.3px), min(calc(13.74px + (100vw - 2560px) * 0.00268), 17.18px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.chnode .chcap{font-size:calc(min(calc(8.48px + 0.2790vw), 16.3px) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.chnode .chcap{font-size:calc(max(min(calc(8.48px + 0.2790vw), 16.3px), min(calc(15.62px + (100vw - 2560px) * 0.00305), 19.53px)) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.chnode .chval{font-size:calc(max(12px, min(calc(7.80px + 0.2567vw), 15.0px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.chnode .chval{font-size:calc(max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.case .tag{font-size:calc(max(12px, min(calc(7.80px + 0.2567vw), 15.0px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.case .tag{font-size:calc(max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.case .figcap{font-size:calc(max(12px, min(calc(7.46px + 0.2455vw), 14.3px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.case .figcap{font-size:calc(max(12px, max(min(calc(7.46px + 0.2455vw), 14.3px), min(calc(13.74px + (100vw - 2560px) * 0.00268), 17.18px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.hs-prog{font-size:calc(min(calc(8.48px + 0.2790vw), 16.3px) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.hs-prog{font-size:calc(max(min(calc(8.48px + 0.2790vw), 16.3px), min(calc(15.62px + (100vw - 2560px) * 0.00305), 19.53px)) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.disc-under .mono{font-size:calc(max(12px, min(calc(7.46px + 0.2455vw), 14.3px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.disc-under .mono{font-size:calc(max(12px, max(min(calc(7.46px + 0.2455vw), 14.3px), min(calc(13.74px + (100vw - 2560px) * 0.00268), 17.18px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.cell .csub{font-size:calc(max(12px, min(calc(7.80px + 0.2567vw), 15.0px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.cell .csub{font-size:calc(max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.cell .ctag{font-size:calc(min(calc(6.79px + 0.2232vw), 13.0px) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.cell .ctag{font-size:calc(max(min(calc(6.79px + 0.2232vw), 13.0px), min(calc(12.50px + (100vw - 2560px) * 0.00244), 15.63px)) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.rep-art .rlab{font-size:calc(min(calc(7.80px + 0.2567vw), 15.0px) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.rep-art .rlab{font-size:calc(max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px)) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.rconf{font-size:calc(min(calc(7.12px + 0.2344vw), 13.7px) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.rconf{font-size:calc(max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px)) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.rcons b{font-size:calc(min(calc(7.12px + 0.2344vw), 13.7px) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){.rdec b{font-size:calc(min(calc(7.12px + 0.2344vw), 13.7px) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.rcons b{font-size:calc(max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px)) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.rdec b{font-size:calc(max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px)) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.icard .imeta{font-size:calc(max(12px, min(calc(7.12px + 0.2344vw), 13.7px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.icard .imeta{font-size:calc(max(12px, max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.icard .tag{font-size:calc(max(12px, min(calc(7.80px + 0.2567vw), 15.0px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.icard .tag{font-size:calc(max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.fcol .fh{font-size:calc(min(calc(8.48px + 0.2790vw), 16.3px) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.fcol .fh{font-size:calc(max(min(calc(8.48px + 0.2790vw), 16.3px), min(calc(15.62px + (100vw - 2560px) * 0.00305), 19.53px)) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.mlab{font-size:calc(max(12px, min(calc(7.46px + 0.2455vw), 14.3px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.mlab{font-size:calc(max(12px, max(min(calc(7.46px + 0.2455vw), 14.3px), min(calc(13.74px + (100vw - 2560px) * 0.00268), 17.18px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.mband{font-size:calc(max(12px, min(calc(7.12px + 0.2344vw), 13.7px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.mband{font-size:calc(max(12px, max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.dhead{font-size:calc(max(12px, min(calc(7.80px + 0.2567vw), 15.0px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.dhead{font-size:calc(max(12px, max(min(calc(7.80px + 0.2567vw), 15.0px), min(calc(14.37px + (100vw - 2560px) * 0.00281), 17.96px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.dhead .dtag{font-size:calc(max(12px, min(calc(7.12px + 0.2344vw), 13.7px)) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.dhead .dtag{font-size:calc(max(12px, max(min(calc(7.12px + 0.2344vw), 13.7px), min(calc(13.12px + (100vw - 2560px) * 0.00256), 16.40px))) * 1.1)}}}}
@media (min-width:2560px){@media (min-width:1441px){.dx > summary{font-size:calc(min(calc(8.48px + 0.2790vw), 16.3px) * 1.1)}}}
@media (min-width:2560px){@media (min-width:1441px){@media (min-width:2561px){.dx > summary{font-size:calc(max(min(calc(8.48px + 0.2790vw), 16.3px), min(calc(15.62px + (100vw - 2560px) * 0.00305), 19.53px)) * 1.1)}}}}
