
:root{
  --onyx:#15171A; --ash:#3A3F45; --pewter:#5F656C; --mist:#B9BEC4;
  --oyster:#D6D3CD; --vellum:#F2F1ED; --leaf:#FAFAF8;
  --oxblood:#6E2B2F; --oxblood-lt:#B4585C;
  --tx:rgba(21,23,26,.82); --tx-2:rgba(21,23,26,.66); --tx-d:rgba(242,241,237,.8);
  --display:"Newsreader",Georgia,serif;
  --body:"Inter Tight",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --hair:rgba(21,23,26,.14); --hair-lt:rgba(242,241,237,.17);
  --gut:clamp(22px,5vw,80px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--vellum);color:var(--onyx);font-family:var(--body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.grain{position:fixed;inset:0;z-index:300;pointer-events:none;opacity:.4;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}

.wrap{max-width:1180px;margin:0 auto;padding:0 var(--gut)}
.wide{max-width:1440px;margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:780px;margin:0 auto;padding:0 var(--gut)}

/* ── NAV ──────────────────────────────── */
header{position:sticky;top:0;z-index:100;background:rgba(242,241,237,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0}
.mark{font-family:var(--display);font-size:20px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--onyx);white-space:nowrap}
.mark .x{color:var(--oxblood)}
.tabs{display:none;gap:32px;list-style:none;align-items:center}
@media(min-width:1020px){.tabs{display:flex}}
.tab{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);text-decoration:none;background:none;border:none;cursor:pointer;padding:5px 0;border-bottom:1px solid transparent;transition:.3s;white-space:nowrap}
.tab:hover{color:var(--onyx)}
.tab.on{color:var(--oxblood);border-bottom-color:var(--oxblood)}
.navcta{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--onyx);background:none;padding:5px 0;text-decoration:none;white-space:nowrap;border:none;border-bottom:1px solid var(--oxblood);cursor:pointer;transition:color .3s}
.navcta:hover{color:var(--oxblood)}
.burger{display:block;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--onyx)}
@media(min-width:1020px){.burger{display:none}}
.drawer{display:none;border-top:1px solid var(--hair);padding:8px 0 18px}
.drawer.open{display:block}
@media(min-width:1020px){.drawer{display:none!important}}
.drawer button{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--hair);padding:15px 0;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);cursor:pointer}
.drawer button.on{color:var(--oxblood)}

/* ── PAGES ────────────────────────────── */
.page{display:none}
.page.on{display:block}
section{padding:clamp(76px,11vw,160px) 0;border-top:1px solid var(--hair)}
.first{border-top:none;padding-top:clamp(46px,6.5vw,90px)}
.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ash)}
.eyebrow .dim{color:var(--pewter)}
h1{font-family:var(--display);font-weight:200;font-size:clamp(36px,5.4vw,72px);line-height:1;letter-spacing:-.035em;margin-top:26px;max-width:16ch}
h1 em{font-style:italic;color:var(--oxblood)}
h2{font-family:var(--display);font-weight:200;font-size:clamp(30px,4.4vw,54px);line-height:1.07;letter-spacing:-.026em;margin:26px 0 0;max-width:20ch}
h2 em{font-style:italic;color:var(--oxblood)}
p{max-width:60ch;color:var(--tx);font-size:clamp(15px,1.15vw,17px)}
.lede{font-size:clamp(16.5px,1.5vw,21px);color:var(--onyx);line-height:1.52;max-width:54ch}
.note{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--pewter);margin-top:18px}
.btn{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:15px 24px;background:var(--onyx);color:var(--vellum);transition:background .3s;display:inline-block;border:none;cursor:pointer}
.btn:hover{background:var(--oxblood)}
.btn-ghost{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--onyx);text-decoration:none;border:none;border-bottom:1px solid var(--oxblood);padding-bottom:5px;background:none;cursor:pointer}

/* HERO */
.hero-grid{display:grid;gap:clamp(48px,6vw,96px);grid-template-columns:1fr}
@media(min-width:1020px){.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center}}
h1.thesis{font-size:clamp(36px,4.8vw,62px);line-height:1.02;letter-spacing:-.032em;max-width:15ch}
.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:40px}
.monitor{border:1px solid var(--hair);background:var(--onyx);position:relative;overflow:hidden}
.monitor canvas{display:block;width:100%;height:auto}
.monitor .mhead{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:14px 17px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);z-index:2}
.monitor .live{color:var(--oxblood-lt);display:flex;align-items:center;gap:7px;white-space:nowrap}
.monitor .live i{width:5px;height:5px;border-radius:50%;background:var(--oxblood-lt);display:block;animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}
.monitor .mfoot{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hair-lt);z-index:2;background:rgba(21,23,26,.5)}
.monitor .mfoot div{padding:12px 15px;border-right:1px solid var(--hair-lt)}
.monitor .mfoot div:last-child{border-right:none}
.monitor .mfoot .k{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.monitor .mfoot .v{font-family:var(--display);font-size:19px;font-weight:200;color:var(--vellum);margin-top:3px}
.monitor .mfoot .flag .v{color:var(--oxblood-lt)}

/* TICKER */
.ticker{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);overflow:hidden;padding:15px 0;background:var(--leaf)}
.tk{display:flex;width:max-content;animation:slide 62s linear infinite}
.ticker:hover .tk{animation-play-state:paused}
.tk span{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--pewter);padding:0 26px;white-space:nowrap;position:relative}
.tk span::after{content:"";position:absolute;right:0;top:50%;width:3px;height:3px;background:var(--oxblood);opacity:.5}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SPREAD */
.spread{margin-top:clamp(44px,5.5vw,74px);column-count:1;column-gap:clamp(34px,4.5vw,64px)}
@media(min-width:820px){.spread{column-count:2}}
.spread p{max-width:none;margin-bottom:1.15em;text-align:justify;hyphens:auto;line-height:1.72}
.spread p:first-child::first-letter{font-family:var(--display);font-weight:200;float:left;font-size:4.1em;line-height:.78;padding:.06em .12em 0 0;color:var(--oxblood)}

.prin{margin-top:clamp(46px,6vw,86px)}
.prow{display:grid;grid-template-columns:50px 1fr;gap:22px;padding:clamp(20px,2.4vw,30px) 0;border-bottom:1px solid var(--hair);align-items:baseline}
.prow:first-child{border-top:1px solid var(--hair)}
.prow .r{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--oxblood)}
.prow .b{font-family:var(--display);font-size:clamp(20px,2.5vw,32px);font-weight:200;letter-spacing:-.018em;line-height:1.2}
.prow .b i{font-style:italic}

/* ── WHAT WE LOOK AT ──────────────────── */
.reads{margin-top:clamp(44px,5.5vw,74px);display:grid;gap:clamp(34px,4vw,56px) clamp(30px,4vw,60px);grid-template-columns:1fr}
@media(min-width:660px){.reads{grid-template-columns:1fr 1fr}}
@media(min-width:1120px){.reads{grid-template-columns:repeat(4,1fr)}}
.read svg{width:100%;height:auto;display:block;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:14px 0}
.read svg .hair line{stroke:var(--hair);stroke-width:1}
.read svg text{font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:.14em;fill:var(--pewter)}
.read svg .lbl2 text{text-anchor:end;fill:var(--ash)}
.read svg .lblflag text{text-anchor:end;fill:var(--oxblood)}
.read svg .slot rect{fill:rgba(21,23,26,.5)}
.read svg .empty rect{fill:none;stroke:var(--oxblood);stroke-width:1;stroke-dasharray:2 3}
.read svg .bar rect{fill:rgba(21,23,26,.45)}
.read svg .barflag rect{fill:var(--oxblood)}
.read svg .rota rect{fill:rgba(21,23,26,.45)}
.read svg .rotaflag rect{fill:var(--oxblood)}
.read svg .row rect{fill:rgba(21,23,26,.3)}
.read svg .rowflag rect{fill:var(--oxblood)}
.read figcaption h3{font-family:var(--display);font-size:clamp(20px,2.1vw,25px);font-weight:200;letter-spacing:-.022em;margin-top:20px;line-height:1.14}
.read figcaption p{font-size:14.5px;margin-top:12px;color:var(--tx-2);line-height:1.55;max-width:34ch}

/* DIVISIONS */
.divs{margin-top:clamp(48px,6vw,88px)}
.dv{padding:clamp(30px,4vw,48px) 0;border-bottom:1px solid var(--hair);display:grid;gap:16px;grid-template-columns:1fr;transition:padding-left .5s cubic-bezier(.2,.7,.3,1)}
.dv:first-child{border-top:1px solid var(--hair)}
@media(min-width:900px){.dv{grid-template-columns:56px 1.25fr 1.35fr;gap:clamp(28px,4vw,56px);align-items:start}.dv:hover{padding-left:12px}}
.dv .n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--pewter);padding-top:9px;transition:color .4s}
.dv:hover .n,.dv.lit .n{color:var(--oxblood)}
.dv.lit{box-shadow:inset 2px 0 0 var(--oxblood);padding-left:16px}
.dv h3{font-family:var(--display);font-size:clamp(23px,2.8vw,36px);font-weight:200;letter-spacing:-.024em;line-height:1.1}
.dv .sub{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--pewter);margin-top:12px}
.dv p{font-size:clamp(15px,1.15vw,16.5px);max-width:44ch}
.dv .who{font-family:var(--display);font-style:italic;font-size:17px;font-weight:300;color:var(--oxblood);margin-top:14px;max-width:38ch;line-height:1.35}
.dv .scope{font-family:var(--mono);font-size:11.5px;line-height:1.95;color:var(--tx-2);margin-top:16px;max-width:44ch}

/* STATEMENT */
.statement{background:var(--onyx);color:var(--vellum);border-top:none;padding:clamp(104px,16vw,220px) 0;position:relative;overflow:hidden}
.statement::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 60% at 22% 8%,rgba(242,241,237,.055),transparent 70%)}
.stline{font-family:var(--display);font-weight:200;font-size:clamp(34px,6vw,82px);line-height:1.02;letter-spacing:-.038em;max-width:16ch;position:relative;z-index:2}
.stline em{font-style:italic;color:var(--oxblood-lt)}
.stsig{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mist);margin-top:clamp(36px,4.5vw,58px);position:relative;z-index:2}
.strule{width:0;height:1px;background:var(--oxblood-lt);margin-top:26px;transition:width 1.6s cubic-bezier(.2,.7,.3,1);position:relative;z-index:2}
.strule.in{width:min(190px,42%)}

/* DARK */
.dark{background:var(--onyx);color:var(--vellum);border-top:none}
.dark h2{color:var(--vellum)}
.dark p{color:var(--tx-d)}
.dark .lede{color:rgba(242,241,237,.94)}
.dark .eyebrow{color:var(--oyster)}
.dark .eyebrow .dim{color:var(--mist)}

/* NAVIGATOR */
.console{margin-top:clamp(40px,5vw,66px);border:1px solid var(--hair-lt)}
.chead{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 19px;border-bottom:1px solid var(--hair-lt);font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.chead .st{display:flex;align-items:center;gap:8px}
.chead .st i{width:5px;height:5px;border-radius:50%;background:var(--mist);display:block;transition:background .3s}
.chead .st.busy i{background:var(--oxblood-lt);animation:pulse 1.1s infinite}
.log{padding:26px 19px;min-height:190px;max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:22px}
.msg{max-width:62ch}
.msg .who{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);margin-bottom:8px}
.msg.you .who{color:var(--oyster)}
.msg .txt{font-size:15.5px;line-height:1.64;color:rgba(242,241,237,.9)}
.msg.sys .txt{font-family:var(--mono);font-size:12px;color:var(--mist)}
.route{margin-top:16px;display:inline-flex;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--vellum);border:1px solid var(--oxblood-lt);background:rgba(110,43,47,.28);padding:11px 16px;cursor:pointer;transition:background .3s}
.route:hover{background:rgba(110,43,47,.6)}
.cbar{display:flex;border-top:1px solid var(--hair-lt)}
.cbar input{flex:1;background:none;border:none;outline:none;padding:18px 19px;color:var(--vellum);font-family:var(--body);font-size:15.5px;font-weight:300}
.cbar input::placeholder{color:rgba(242,241,237,.42)}
.cbar button{background:none;border:none;border-left:1px solid var(--hair-lt);padding:0 26px;color:var(--oyster);font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.3s}
.cbar button:hover{color:var(--vellum);background:rgba(110,43,47,.45)}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.chip{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);border:1px solid var(--hair-lt);padding:10px 14px;cursor:pointer;background:none;transition:.3s}
.chip:hover{color:var(--vellum);border-color:var(--oyster)}

.who-line{margin-top:clamp(38px,5vw,62px);font-family:var(--mono);font-size:clamp(11.5px,1.05vw,13px);line-height:2.4;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-2);max-width:74ch}
.who-line b{color:var(--onyx);font-weight:400}
.diffs{margin-top:clamp(48px,6vw,84px)}
.diff{padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--hair);display:grid;gap:14px;grid-template-columns:1fr}
.diff:first-child{border-top:1px solid var(--hair)}
@media(min-width:900px){.diff{grid-template-columns:1fr 1.3fr;gap:clamp(30px,4.5vw,64px);align-items:start}}
.diff h3{font-family:var(--display);font-size:clamp(21px,2.4vw,30px);font-weight:200;letter-spacing:-.022em;line-height:1.14;max-width:20ch}
.diff .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--pewter);margin-bottom:12px}

/* CARDS (motion) */
.cards{margin-top:clamp(36px,4.5vw,58px);display:grid;gap:1px;background:var(--hair);border:1px solid var(--hair);grid-template-columns:1fr}
@media(min-width:680px){.cards.two{grid-template-columns:1fr 1fr}.cards.four{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.cards.four{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--leaf);overflow:hidden}
.card canvas{display:block;width:100%;height:auto;background:var(--onyx)}
.card .body{padding:26px 24px 32px}
.card .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--pewter)}
.card.bad .lbl{color:var(--oxblood)}
.card .big{font-family:var(--display);font-size:clamp(46px,6.4vw,72px);font-weight:200;line-height:1;letter-spacing:-.032em;margin-top:16px}
.card.bad .big{color:var(--oxblood)}
.card .of{font-size:15px;color:var(--tx);margin-top:12px}
.card p{font-size:14.5px;color:rgba(21,23,26,.68);margin-top:16px;line-height:1.55;max-width:36ch}
.card .human{font-family:var(--display);font-size:18px;font-weight:300;font-style:italic;color:var(--oxblood);margin-top:18px;line-height:1.35;max-width:32ch}
.card .n{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--oxblood)}
.card h3{font-family:var(--display);font-size:clamp(23px,2.4vw,30px);font-weight:200;letter-spacing:-.024em;margin-top:12px;line-height:1.1}
.card .when{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter);margin-top:18px;display:block}

/* WORK */
.proj{margin-top:clamp(42px,5vw,72px);max-width:74ch}
.proj .tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--oxblood)}
.proj h3{margin-top:18px;font-family:var(--display);font-size:clamp(26px,3.4vw,44px);font-weight:200;letter-spacing:-.028em;line-height:1.08}
.proj p{margin-top:22px}
.proj .tags{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--tx-2);margin-top:24px;line-height:2}
.quotes{margin-top:clamp(52px,6.5vw,94px)}
.q{padding:clamp(32px,4vw,52px) 0;border-bottom:1px solid var(--hair)}
.q:first-child{border-top:1px solid var(--hair)}
.q blockquote{font-family:var(--display);font-weight:200;font-size:clamp(21px,2.9vw,36px);line-height:1.24;letter-spacing:-.024em;max-width:40ch}
.q .src{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--pewter);margin-top:22px}
.disc{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--pewter);margin-top:26px}

/* INSIGHTS INDEX */
.arts{margin-top:clamp(48px,6vw,86px)}
.artrow{padding:clamp(28px,3.6vw,46px) 0;border-bottom:1px solid var(--hair);display:grid;gap:14px;grid-template-columns:1fr;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;text-align:left;width:100%;transition:padding-left .5s cubic-bezier(.2,.7,.3,1)}
.artrow:first-child{border-top:1px solid var(--hair)}
@media(min-width:900px){.artrow{grid-template-columns:180px 1fr auto;gap:clamp(26px,4vw,54px);align-items:start}.artrow:hover{padding-left:12px}}
.artrow .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--pewter);padding-top:6px}
.artrow h3{font-family:var(--display);font-size:clamp(22px,2.7vw,34px);font-weight:200;letter-spacing:-.024em;line-height:1.12;max-width:24ch;color:var(--onyx)}
.artrow p{font-size:14.5px;margin-top:12px;max-width:52ch;color:var(--tx-2)}
.artrow .go{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--onyx);white-space:nowrap;border-bottom:1px solid transparent;padding-bottom:4px;transition:.3s;padding-top:6px}
.artrow:hover .go{border-color:var(--oxblood)}

/* ARTICLE */
.article{padding-top:clamp(44px,6vw,84px)}
.amet{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--pewter);display:flex;gap:18px;flex-wrap:wrap}
.amet .cat{color:var(--oxblood)}
.article h1{font-size:clamp(32px,4.8vw,58px);max-width:20ch;margin-top:24px}
.astand{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(19px,2.1vw,26px);line-height:1.4;color:var(--tx);margin-top:30px;max-width:44ch}
.abody{margin-top:clamp(44px,5.5vw,72px)}
.abody p{font-size:clamp(16px,1.2vw,17.5px);line-height:1.78;margin-bottom:1.5em;max-width:66ch}
.abody p:first-of-type::first-letter{font-family:var(--display);font-weight:200;float:left;font-size:4em;line-height:.8;padding:.06em .12em 0 0;color:var(--oxblood)}
.abody h3{font-family:var(--display);font-weight:200;font-size:clamp(24px,2.9vw,34px);letter-spacing:-.024em;margin:2.4em 0 .9em;max-width:24ch;line-height:1.14}
.abody blockquote{font-family:var(--display);font-weight:200;font-size:clamp(22px,2.7vw,32px);line-height:1.26;letter-spacing:-.022em;margin:2em 0;padding-left:24px;border-left:1px solid var(--oxblood);max-width:34ch;color:var(--onyx)}
.abody ul{list-style:none;margin:0 0 1.6em;padding:0}
.abody li{font-size:clamp(15.5px,1.15vw,17px);line-height:1.65;padding-left:22px;position:relative;margin-bottom:.75em;max-width:64ch;color:var(--tx)}
.abody li::before{content:"";position:absolute;left:0;top:12px;width:8px;height:1px;background:var(--oxblood)}
.aend{margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--hair);padding-top:30px;display:flex;gap:26px;flex-wrap:wrap;align-items:center}

/* ASSESSMENT */
.paths{margin-top:clamp(42px,5.5vw,70px)}
.path{width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--hair);cursor:pointer;padding:clamp(28px,3.6vw,42px) 0;display:grid;gap:14px;grid-template-columns:1fr;transition:padding-left .5s cubic-bezier(.2,.7,.3,1)}
.path:first-child{border-top:1px solid var(--hair)}
@media(min-width:880px){.path{grid-template-columns:56px 1.1fr 1.4fr auto;gap:clamp(26px,4vw,52px);align-items:center}.path:hover{padding-left:14px}}
.path .n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--pewter);transition:color .4s}
.path:hover .n{color:var(--oxblood)}
.path h3{font-family:var(--display);font-size:clamp(23px,2.8vw,34px);font-weight:200;letter-spacing:-.024em;line-height:1.1;color:var(--onyx)}
.path .sub2{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--pewter);margin-top:11px}
.path p{font-size:15px;color:var(--tx-2);max-width:42ch}
.path .go{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--onyx);border-bottom:1px solid transparent;padding-bottom:4px;white-space:nowrap;transition:.3s}
.path:hover .go{border-color:var(--oxblood)}
.terms{font-family:var(--mono);font-size:11px;letter-spacing:.08em;line-height:2.1;text-transform:uppercase;color:var(--pewter);margin-top:36px;padding-left:18px;border-left:1px solid var(--oxblood);max-width:48ch}
.instr{display:none;background:var(--onyx);color:var(--vellum);border-top:1px solid var(--hair);padding:clamp(40px,5vw,72px) 0 clamp(46px,6vw,80px)}
.instr.show{display:block}
.igrid{display:grid;gap:clamp(38px,4.5vw,64px);grid-template-columns:1fr}
@media(min-width:1000px){.igrid{grid-template-columns:1.15fr .85fr;align-items:start}}
.qmeta{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);padding-bottom:16px;border-bottom:1px solid var(--hair-lt)}
.qmeta .dm{color:var(--oxblood-lt)}
.qtext{font-family:var(--display);font-weight:200;font-size:clamp(24px,3.2vw,40px);line-height:1.13;letter-spacing:-.026em;margin-top:32px;max-width:24ch;min-height:2.3em}
.opts{margin-top:32px;display:grid;gap:1px;background:var(--hair-lt)}
.opt{background:rgba(242,241,237,.04);border:none;text-align:left;padding:19px 21px;color:rgba(242,241,237,.88);font-family:var(--body);font-size:15.5px;font-weight:300;line-height:1.5;cursor:pointer;transition:.28s;display:flex;gap:16px;align-items:baseline}
.opt:hover{background:rgba(242,241,237,.1);color:var(--vellum)}
.opt .oi{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--mist);flex:0 0 auto;padding-top:3px}
.opt:hover .oi{color:var(--oxblood-lt)}
.opt.sel{background:rgba(110,43,47,.3);box-shadow:inset 2px 0 0 var(--oxblood-lt)}
.qnav{display:flex;gap:26px;align-items:center;margin-top:32px;flex-wrap:wrap}
.qnav button{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);background:none;border:none;cursor:pointer;transition:.3s}
.qnav button:hover{color:var(--vellum)}
.qnav button:disabled{opacity:.3;cursor:default}
.readout{border:1px solid var(--hair-lt)}
.rhead{display:flex;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--hair-lt);font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.rbody{padding:24px 18px 28px}
.dimrow{padding:17px 0;border-bottom:1px solid var(--hair-lt)}
.dimrow:last-child{border-bottom:none}
.dimtop{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.dimtop .nm{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--oyster)}
.dimtop .sc{font-family:var(--display);font-size:20px;font-weight:200;color:var(--mist)}
.dimrow.done .dimtop .sc{color:var(--vellum)}
.dimrow.low .dimtop .nm,.dimrow.low .dimtop .sc{color:var(--oxblood-lt)}
.track{height:2px;background:rgba(242,241,237,.14);margin-top:13px;position:relative}
.fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--oyster);transition:width .7s cubic-bezier(.2,.7,.3,1),background .4s}
.dimrow.low .fill{background:var(--oxblood-lt)}
.band{position:absolute;left:60%;top:-4px;bottom:-4px;width:1px;background:rgba(242,241,237,.3)}
.rfoot{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;line-height:1.9;text-transform:uppercase;color:var(--mist);padding:15px 18px;border-top:1px solid var(--hair-lt)}
.prog{margin-top:24px;display:flex;gap:5px}
.pd{flex:1;height:2px;background:rgba(242,241,237,.16);transition:background .4s}
.pd.on{background:var(--oyster)}.pd.cur{background:var(--oxblood-lt)}
.result{display:none;padding:clamp(50px,7vw,100px) 0 clamp(56px,7vw,100px)}
.result.show{display:block}
.rtitle{font-family:var(--display);font-weight:200;font-size:clamp(30px,4.4vw,54px);line-height:1.05;letter-spacing:-.028em;margin-top:24px;max-width:22ch}
.rtitle em{font-style:italic;color:var(--oxblood)}
.scores{margin-top:clamp(42px,5vw,70px)}
.srow{padding:clamp(24px,3vw,36px) 0;border-bottom:1px solid var(--hair);display:grid;gap:16px;grid-template-columns:1fr}
.srow:first-child{border-top:1px solid var(--hair)}
@media(min-width:860px){.srow{grid-template-columns:210px 1fr 130px;gap:clamp(26px,4vw,54px);align-items:center}}
.srow .nm{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pewter)}
.srow.flag .nm{color:var(--oxblood)}
.strack{height:2px;background:var(--hair);position:relative}
.sfill{position:absolute;left:0;top:0;bottom:0;background:var(--ash);width:0;transition:width 1s cubic-bezier(.2,.7,.3,1)}
.srow.flag .sfill{background:var(--oxblood)}
.sband{position:absolute;left:60%;top:-5px;bottom:-5px;width:1px;background:var(--pewter)}
.srow .val{font-family:var(--display);font-size:clamp(26px,3vw,36px);font-weight:200;letter-spacing:-.025em}
.srow .nt{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--pewter);margin-top:5px}
@media(min-width:860px){.srow .val,.srow .nt{text-align:right}}
.srow.flag .val{color:var(--oxblood)}
.constraint{margin-top:clamp(46px,6vw,80px);padding-left:22px;border-left:1px solid var(--oxblood);max-width:60ch}.constraint .k{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--oxblood)}
.constraint h3{font-family:var(--display);font-weight:200;font-size:clamp(23px,2.9vw,34px);letter-spacing:-.024em;line-height:1.12;margin-top:16px}
.reading{margin-top:24px;white-space:pre-wrap;color:var(--tx);font-size:clamp(15px,1.15vw,16.5px)}
.rstatus{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter);margin-top:18px}
.rec{margin-top:clamp(44px,5.5vw,74px);border-top:1px solid var(--hair);padding-top:32px}
.rec .k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--pewter)}
.rec h3{font-family:var(--display);font-weight:200;font-size:clamp(24px,3vw,36px);letter-spacing:-.026em;margin-top:14px}
.rec .scope{font-family:var(--mono);font-size:11.5px;line-height:1.95;color:var(--tx-2);margin-top:16px;max-width:46ch}
.ractions{display:flex;gap:28px;flex-wrap:wrap;align-items:center;margin-top:38px}
.caveat{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;line-height:2;text-transform:uppercase;color:var(--pewter);margin-top:36px;max-width:56ch}

/* CONTACT */
/* ── DEMO ACCESS ──────────────────────── */
.demos{margin-top:clamp(40px,5vw,64px);display:grid;gap:0;grid-template-columns:1fr;border-top:1px solid var(--hair)}
@media(min-width:820px){.demos{grid-template-columns:1fr 1fr;column-gap:clamp(34px,5vw,72px)}}
.demo{display:block;text-decoration:none;padding:clamp(26px,3.2vw,38px) 0;border-bottom:1px solid var(--hair);transition:padding-left .5s cubic-bezier(.2,.7,.3,1)}
.demo:hover{padding-left:12px}
.demo .k{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--pewter)}
.demo .t{display:block;font-family:var(--display);font-size:clamp(23px,2.7vw,32px);font-weight:200;letter-spacing:-.024em;color:var(--onyx);margin-top:13px;line-height:1.1}
.demo .d{display:block;font-size:14.5px;color:var(--tx-2);margin-top:14px;line-height:1.55;max-width:40ch}
.demo .go{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--onyx);margin-top:20px;border-bottom:1px solid transparent;padding-bottom:4px;transition:.3s}
.demo:hover .go{border-color:var(--oxblood);color:var(--oxblood)}
.demo.off{pointer-events:none;opacity:.45}

/* ── CONSULTATION FORM ────────────────── */
.cform{margin-top:clamp(44px,5.5vw,72px);max-width:760px}
.frow{display:grid;gap:0 clamp(30px,4vw,56px);grid-template-columns:1fr}
@media(min-width:700px){.frow{grid-template-columns:1fr 1fr}}
.f{display:block;margin-bottom:clamp(26px,3vw,38px)}
.f span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--pewter);margin-bottom:11px}
.f input,.f select,.f textarea{width:100%;background:none;border:none;border-bottom:1px solid var(--hair);padding:9px 0;font-family:var(--body);font-size:16px;font-weight:300;color:var(--onyx);outline:none;transition:border-color .3s;border-radius:0;resize:vertical}
.f textarea{line-height:1.6}
.f input::placeholder,.f textarea::placeholder{color:rgba(21,23,26,.32)}
.f input:focus,.f select:focus,.f textarea:focus{border-bottom-color:var(--oxblood)}
.f input.bad,.f textarea.bad{border-bottom-color:var(--oxblood)}
.f select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--pewter) 50%),linear-gradient(135deg,var(--pewter) 50%,transparent 50%);background-position:calc(100% - 9px) 18px,calc(100% - 4px) 18px;background-size:5px 5px;background-repeat:no-repeat}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fsend{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:6px}
.fmsg{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--pewter)}
.fmsg.ok{color:var(--onyx)}
.fmsg.err{color:var(--oxblood)}
.fnote{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--pewter);margin-top:26px;line-height:1.9}
.done{margin-top:clamp(44px,5.5vw,72px);border-left:1px solid var(--oxblood);padding:4px 0 4px 22px;max-width:52ch}
.done h3{font-family:var(--display);font-size:clamp(24px,3vw,34px);font-weight:200;letter-spacing:-.026em;line-height:1.12}
.done p{margin-top:16px;font-size:15.5px}
.no-pricing{font-family:var(--mono);font-size:11px;letter-spacing:.1em;line-height:2;text-transform:uppercase;color:var(--pewter);margin-top:32px;padding-left:18px;border-left:1px solid var(--oxblood);max-width:46ch}
.cactions{display:flex;gap:28px;flex-wrap:wrap;align-items:center;margin-top:42px}
.cinfo{margin-top:clamp(52px,6.5vw,90px);display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(24px,3vw,44px);border-top:1px solid var(--hair);padding-top:32px}
.cinfo .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--pewter)}
.cinfo .v{font-size:16px;margin-top:9px}
.cinfo a{color:var(--onyx);text-decoration:none;border-bottom:1px solid var(--oyster);transition:border-color .3s}
.cinfo a:hover{border-color:var(--oxblood)}

/* ── OVERALL SCORE ────────────────────── */
.overall{margin-top:clamp(36px,4.5vw,58px);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:clamp(30px,4vw,46px) 0;display:grid;gap:clamp(26px,3.5vw,50px);grid-template-columns:1fr}
@media(min-width:820px){.overall{grid-template-columns:auto 1fr;align-items:center}}
.oscore{display:flex;align-items:baseline;gap:10px}
.oscore .num{font-family:var(--display);font-size:clamp(72px,12vw,132px);font-weight:200;line-height:.85;letter-spacing:-.045em}
.oscore .den{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--pewter)}
.oscore.low .num{color:var(--oxblood)}
.oband{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--pewter);margin-top:14px}
.oband b{color:var(--onyx);font-weight:400}
.oscore.low+.oband b{color:var(--oxblood)}
.oscale{position:relative;margin-top:8px}
.oscale .bar{height:2px;background:var(--hair);position:relative}
.oscale .me{position:absolute;top:-6px;width:2px;height:14px;background:var(--oxblood);transition:left 1.1s cubic-bezier(.2,.7,.3,1)}
.oscale .ticks{display:grid;grid-template-columns:repeat(4,1fr);margin-top:12px}
.oscale .ticks span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--pewter);border-left:1px solid var(--hair);padding-left:9px;line-height:1.5}
.oscale .ticks span b{display:block;color:var(--tx-2);font-weight:400}
.oread{margin-top:20px;font-size:15.5px;color:var(--tx);max-width:46ch;line-height:1.55}

/* ── LOGO ─────────────────────────────── */
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.brand img{height:30px;width:auto;flex:0 0 auto;display:block}
.brand .wm{display:block}

/* ── CLINIC SYSTEM PAGE ───────────────── */
.sysstats{margin-top:clamp(42px,5vw,68px);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);display:grid;gap:0;grid-template-columns:1fr 1fr}
@media(min-width:900px){.sysstats{grid-template-columns:repeat(4,1fr)}}
.sysstat{padding:26px 24px 30px 0}
.sysstat .v{font-family:var(--display);font-size:clamp(26px,3.2vw,38px);font-weight:200;letter-spacing:-.026em}
.sysstat .k{font-size:13.5px;color:var(--tx-2);margin-top:10px;line-height:1.45;max-width:22ch}
.twocol{margin-top:clamp(40px,5vw,66px);display:grid;gap:clamp(30px,4.5vw,64px);grid-template-columns:1fr;border-top:1px solid var(--hair);padding-top:clamp(30px,4vw,44px)}
@media(min-width:860px){.twocol{grid-template-columns:1fr 1fr}}
.twocol .cell .tag{font-family:var(--display);font-style:italic;font-size:16px;color:var(--oxblood)}
.twocol .cell h3{font-family:var(--display);font-size:clamp(22px,2.6vw,31px);font-weight:200;letter-spacing:-.024em;line-height:1.14;margin-top:14px;max-width:20ch}
.twocol .cell p{margin-top:16px;font-size:15px}
.modlist{margin-top:clamp(40px,5vw,64px);display:grid;gap:0;grid-template-columns:1fr}
@media(min-width:900px){.modlist{grid-template-columns:1fr 1fr;column-gap:clamp(34px,5vw,72px)}}
.modlist .m{padding:17px 0 17px 26px;border-bottom:1px solid var(--hair-lt);position:relative;font-size:15.5px;color:var(--tx-d)}
.modlist .m::before{content:"";position:absolute;left:0;top:27px;width:12px;height:1px;background:var(--oxblood-lt)}
.tourtabs{display:flex;flex-wrap:wrap;gap:26px;margin-top:clamp(32px,4vw,50px);border-bottom:1px solid var(--hair);padding-bottom:18px}
.tourtabs button{background:none;border:none;padding:0 0 5px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter);cursor:pointer;transition:.3s;border-bottom:1px solid transparent;white-space:nowrap}
.tourtabs button:hover{color:var(--onyx)}
.tourtabs button.on{color:var(--oxblood);border-bottom-color:var(--oxblood)}
.tourpanel{padding-top:clamp(30px,4vw,46px)}
.tourpanel h3{font-family:var(--display);font-size:clamp(24px,3vw,36px);font-weight:200;letter-spacing:-.026em;line-height:1.1}
.tourpanel p{margin-top:16px;font-size:15.5px;max-width:52ch}
.tourpanel ul{list-style:none;margin-top:28px;display:grid;gap:0;grid-template-columns:1fr}
@media(min-width:820px){.tourpanel ul{grid-template-columns:1fr 1fr;column-gap:clamp(30px,4vw,60px)}}
.tourpanel li{padding:14px 0 14px 24px;border-bottom:1px solid var(--hair);position:relative;font-size:14.5px;color:var(--tx)}
.tourpanel li::before{content:"";position:absolute;left:0;top:23px;width:11px;height:1px;background:var(--oxblood)}
.privacy{margin-top:clamp(40px,5vw,64px);border-left:1px solid var(--oxblood);padding:2px 0 2px 22px;max-width:66ch}
.privacy b{font-weight:500}
.privacy p{font-size:14px;max-width:none;color:var(--tx-2);line-height:1.6}
.steps3{margin-top:clamp(40px,5vw,68px)}
.steps3 .s{padding:clamp(24px,3vw,34px) 0;border-bottom:1px solid var(--hair);display:grid;gap:14px;grid-template-columns:1fr}
.steps3 .s:first-child{border-top:1px solid var(--hair)}
@media(min-width:880px){.steps3 .s{grid-template-columns:52px 1fr 1.3fr;gap:clamp(28px,4vw,56px);align-items:start}}
.steps3 .s .n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--oxblood);padding-top:8px}
.steps3 .s h3{font-family:var(--display);font-size:clamp(22px,2.5vw,29px);font-weight:200;letter-spacing:-.024em;line-height:1.12}
.steps3 .s p{font-size:15px;max-width:44ch}

/* ── ABOUT ────────────────────────────── */
.abt{margin-top:clamp(44px,5.5vw,74px);column-count:1;column-gap:clamp(34px,4.5vw,64px)}
@media(min-width:820px){.abt{column-count:2}}
.abt p{max-width:none;margin-bottom:1.15em;text-align:justify;hyphens:auto;line-height:1.72}
.abt p:first-child::first-letter{font-family:var(--display);font-weight:200;float:left;font-size:4.1em;line-height:.78;padding:.06em .12em 0 0;color:var(--oxblood)}
.factline{margin-top:clamp(44px,5.5vw,76px);border-top:1px solid var(--hair);padding-top:26px;font-family:var(--mono);font-size:clamp(11.5px,1.05vw,13px);line-height:2.4;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-2);max-width:70ch}
.factline b{color:var(--onyx);font-weight:400}

footer{padding:clamp(46px,6vw,72px) 0 clamp(54px,7vw,84px);border-top:1px solid var(--hair)}
.fgrid{display:grid;gap:clamp(28px,4vw,54px);grid-template-columns:1fr}
@media(min-width:760px){.fgrid{grid-template-columns:1.4fr 1fr 1fr}}
.fgrid .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--pewter);margin-bottom:14px}
.fgrid button{display:block;background:none;border:none;padding:0 0 9px;font-family:var(--body);font-size:15px;color:var(--tx);cursor:pointer;text-align:left;transition:color .3s}
.fgrid button:hover{color:var(--oxblood)}
.fbot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter);margin-top:clamp(38px,5vw,64px);border-top:1px solid var(--hair);padding-top:26px}

.rv{opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.tk{animation:none}html{scroll-behavior:auto}}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--oxblood);outline-offset:3px}

/* multi-page additions */
.brand svg{height:30px;width:auto;display:block;flex:0 0 auto}
.brand svg .lg-stem{stroke:var(--onyx)}
.brand svg .lg-arc{stroke:var(--oxblood)}
footer .brand svg .lg-stem{stroke:var(--onyx)}
.tab{display:inline-block}
.drawer a{display:block;width:100%;text-align:left;border-bottom:1px solid var(--hair);padding:15px 0;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);text-decoration:none}
.drawer a.on{color:var(--oxblood)}
.fgrid a{display:block;padding:0 0 9px;font-size:15px;color:var(--tx);text-decoration:none;transition:color .3s}
.fgrid a:hover{color:var(--oxblood)}
a.artrow{text-decoration:none;display:grid}
a.btn,a.btn-ghost{display:inline-block}
.fbot a{color:var(--pewter);text-decoration:none;border-bottom:1px solid var(--hair);transition:color .3s}
.fbot a:hover{color:var(--oxblood)}

/* assessment lead step */
.details{border-top:1px solid var(--hair);padding:clamp(60px,8vw,110px) 0}
.dform{margin-top:clamp(38px,4.5vw,58px);max-width:720px}
.dform .f input{font-size:16px}
.done a.btn-ghost{display:inline-block}

/* real logo mark */
.brand img{height:30px;width:auto;display:block;flex:0 0 auto}
@media(max-width:600px){.brand img{height:26px}}
.brand{gap:12px}
.f span i{font-style:normal;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;
  color:var(--oxblood);margin-left:7px;text-transform:uppercase}
.f select.bad,.f input.bad{border-bottom-color:var(--oxblood)}
