@charset "UTF-8";
/* FONTS:START — Inter Tight, self-hosted variable font, latin subset (SIL OFL 1.1) */
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:100 900;font-display:swap;src:url(assets/fonts/inter-tight.woff2) format('woff2-variations'),url(assets/fonts/inter-tight.woff2) format('woff2')}
/* FONTS:END */
/* Balfene · site.css · v1.8 · 19 Sep 2026 (balfene-next, the LIVE candidate)
   Direction: the Keytom idiom (his pick, 19 Sep) — cream ground, Inter Tight at medium weight set large,
   white and ink panels with a 28px radius, one accent (teal), small-caps labels, stat blocks.
   Hero: type-led, no video, no objects (his pick). Structure and compartmentalisation of the live site kept.
   Brand: name + mark kept (PNG files, never redrawn). Manrope → Inter Tight. No red/coral anywhere. */
:root{
  --cream:#FFFCF5; --cream-2:#F6F1E6; --sand:#EADFCB;
  --ink:#06262A; --ink-2:#0F2A2E; --grey:#5C6B6B; --grey-2:#8A9999;
  --teal:#00B4B7; --teal-d:#077A7C; --mint:#5FD4B9; --mist:#E4F4F1;
  --line:rgba(6,38,42,.12); --line-d:rgba(255,255,255,.14);
  --f:'Inter Tight',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --r:28px; --r2:18px; --pad:clamp(18px,3vw,44px); --max:1320px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f);background:var(--cream);color:var(--ink);font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
h1,h2,h3,.h4{font-weight:500;letter-spacing:-.03em;line-height:.98;text-wrap:balance}
h1{font-size:clamp(46px,7.6vw,118px);letter-spacing:-.04em;line-height:.94}
h2{font-size:clamp(36px,5vw,72px)}
h3{font-size:clamp(24px,2.6vw,36px);letter-spacing:-.025em;line-height:1.06}
.h4{font-size:19px;letter-spacing:-.015em;line-height:1.2;font-weight:500}
p{text-wrap:pretty}
.t{color:var(--teal-d)}
.lab{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--grey)}
.lab.dot::before{content:'●';font-size:7px;vertical-align:middle;margin-right:8px;color:var(--teal)}
.dark .lab{color:#8FA3A3}
.lead{font-size:clamp(18px,1.6vw,22px);line-height:1.4;color:var(--grey);max-width:46ch}
.dark .lead{color:#B9C9C9}
.small{font-size:14px;color:var(--grey);line-height:1.5}
.src{font-size:12.5px;color:var(--grey-2);margin-top:6px}
.dark .src{color:#8FA3A3}
.num{font-size:12px;letter-spacing:.12em;font-weight:500;color:var(--teal-d)}
.dark .num{color:var(--mint)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:14px;justify-content:space-between;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:16px 22px;border-radius:12px;background:var(--ink);color:#fff;transition:transform .25s,background .25s,color .25s;white-space:nowrap}
.btn:hover{background:var(--teal-d);transform:translateY(-1px)}
.btn .ar{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.15);display:grid;place-items:center;font-size:12px}
.btn.big{padding:24px 26px;font-size:14px;min-width:260px;border-radius:14px}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:#fff;color:var(--ink)}
.dark .btn.ghost{color:#fff;border-color:var(--line-d)}
.dark .btn.ghost:hover{background:rgba(255,255,255,.08);color:#fff}
.btn.light{background:#fff;color:var(--ink)}
.btn.light:hover{background:var(--teal);color:var(--ink)}
.btn.teal{background:var(--teal-d);color:#fff}
.btn.teal:hover{background:var(--teal);color:var(--ink)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.go{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ink)}
.go:hover{color:var(--teal-d)}
.dark .go{color:#fff}.dark .go:hover{color:var(--mint)}

/* nav */
nav.top{position:fixed;top:0;left:0;right:0;z-index:40;padding:16px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:16px;transition:background .3s}
nav.top.solid{background:color-mix(in srgb,var(--cream) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav.top .logo img{height:22px;width:auto}
nav.top .pills{display:flex;gap:4px;background:rgba(255,255,255,.6);border:1px solid rgba(6,38,42,.08);padding:4px;border-radius:12px}
nav.top .pills a{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:9px 13px;border-radius:9px;transition:background .2s}
nav.top .pills a:hover,nav.top .pills a.on{background:#fff}
nav.top .pills a.on{color:var(--teal-d)}
nav.top .right{display:flex;align-items:center;gap:8px}
nav.top .right .in{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:9px 13px}
nav.top .right .btn{padding:11px 16px;font-size:11.5px;border-radius:10px}
nav.top .burger{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;place-items:center}
nav.top .burger i{display:block;width:16px;height:2px;background:var(--ink);box-shadow:0 5px 0 var(--ink),0 -5px 0 var(--ink)}
@media(max-width:960px){nav.top .pills,nav.top .right .in{display:none}nav.top .burger{display:grid}}
#mnav{position:fixed;inset:0;z-index:50;background:var(--cream);padding:14px var(--pad) 40px;display:none;flex-direction:column;gap:6px;overflow:auto}
#mnav.on{display:flex}
#mnav > a{font-size:clamp(30px,8vw,44px);font-weight:500;letter-spacing:-.03em;padding:8px 0;border-bottom:1px solid var(--line)}
#mnav .mtop{display:flex;justify-content:space-between;align-items:center;padding:4px 0 18px;margin-bottom:10px;border-bottom:1px solid var(--line)}
#mnav .mtop img{height:18px;width:auto}
#mnav .mclose{font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:#fff}

/* hero — type-led */
.hero{position:relative;padding:clamp(140px,18vh,200px) 0 clamp(50px,7vw,90px);overflow:hidden;background:
  radial-gradient(55% 60% at 88% 0%,#DCD6E4 0%,transparent 60%),
  radial-gradient(45% 50% at 0% 100%,#E7D9C4 0%,transparent 60%),
  radial-gradient(35% 45% at 60% 80%,#CDE9E6 0%,transparent 62%),
  linear-gradient(170deg,#F5EFE5 0%,#F0EBEC 50%,#F3EBDD 100%)}
.hero .wrap{position:relative}
.hero h1{max-width:12ch}
.hero .lead{margin-top:28px}
.hero .row{margin-top:34px}
.hero .note{margin-top:14px;font-size:13px;color:var(--grey-2)}
.hero.split .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:end}
@media(max-width:900px){.hero.split .wrap{grid-template-columns:1fr}}

/* sections + panels */
section.sec{padding:clamp(56px,7vw,110px) 0 0}
section.sec.last{padding-bottom:clamp(56px,7vw,110px)}
.sechead{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.sechead .lab{margin-bottom:12px}
.sechead .lead{margin-top:14px}
.panel{background:#fff;border-radius:var(--r);padding:clamp(24px,3.4vw,48px)}
.panel.tint{background:linear-gradient(150deg,#E9F6F4,#F6F1E6)}
.panel.soft{background:var(--cream-2)}
.dark{background:var(--ink);color:#fff}
.panel.dark{position:relative;overflow:hidden}
.panel.dark::after{content:'';position:absolute;right:-18%;top:-40%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(95,212,185,.2),transparent 65%);pointer-events:none}
.panel.dark>*{position:relative;z-index:1}
.dark h2,.dark h3,.dark .h4{color:#fff}
.dark p{color:#B9C9C9}
.dark p.hi{color:#DFE7E7}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}

/* cards */
.card{background:#fff;border-radius:var(--r2);padding:clamp(22px,2.6vw,32px);display:grid;grid-template-rows:auto 1fr auto;gap:12px;position:relative}
.card.big{border-radius:var(--r);padding:clamp(26px,3vw,44px)}
.card h3{max-width:16ch}
.card .h4{max-width:28ch}
.card p{color:var(--grey);font-size:15.5px;line-height:1.5;max-width:52ch}
.card .foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:6px}
.card .ghostnum{position:absolute;right:24px;top:18px;font-size:clamp(56px,7vw,110px);font-weight:500;letter-spacing:-.05em;line-height:1;color:var(--cream-2);pointer-events:none}
.card.tint{background:linear-gradient(150deg,#E9F6F4,#F6F1E6)}
.card.tint .ghostnum{color:rgba(255,255,255,.75)}
.card.dark{background:var(--ink)}
.card.dark p{color:#B9C9C9}
.chip{display:inline-flex;gap:8px;align-items:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:9px 13px;border-radius:9px;background:var(--cream-2);max-width:100%;flex-wrap:wrap}
.chip b{font-weight:500;color:var(--teal-d)}
.dark .chip{background:rgba(255,255,255,.08);color:#DFE7E7}
.dark .chip b{color:var(--mint)}

/* stat blocks */
.stat{background:#fff;border-radius:var(--r2);padding:26px;min-height:220px;display:grid;grid-template-rows:auto 1fr}
.stat .n{font-size:clamp(44px,5vw,76px);font-weight:500;letter-spacing:-.045em;line-height:.95}
.stat .n.t{color:var(--teal-d)}
.stat .l{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-top:10px}
.stat p{font-size:14.5px;color:var(--grey);line-height:1.5;align-self:end;margin-top:20px}
.stat.tint{background:linear-gradient(160deg,#E4F4F1,#F6F1E6)}
.stat.dark{background:var(--ink);color:#fff}
.stat.dark p{color:#B9C9C9}
.stat.dark .n.t{color:var(--mint)}

/* hairline lists */
.hl{list-style:none}
.hl li{padding:16px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline}
.hl li:last-child{border-bottom:1px solid var(--line)}
.dark .hl li{border-color:var(--line-d)}
.hl b{font-weight:500}
.hl p{font-size:14.5px;color:var(--grey);margin-top:4px;line-height:1.5}

/* CTA band */
.cta{padding:clamp(56px,7vw,110px) 0}
.cta .box{border-radius:var(--r);padding:clamp(40px,6vw,88px) clamp(26px,4vw,64px);position:relative;overflow:hidden;background:
  radial-gradient(50% 60% at 90% 10%,#CDE9E6 0%,transparent 60%),
  radial-gradient(50% 50% at 5% 95%,#E7D9C4 0%,transparent 60%),
  linear-gradient(150deg,#EEE7DB,#DFD8E0 55%,#E8DCC9)}
.cta h2{max-width:14ch}
.cta .lead{margin-top:18px;color:var(--ink-2)}
.cta .row{margin-top:30px}
.cta .note{margin-top:16px;font-size:13px;color:var(--grey)}

/* keep exploring + footer */
.explore{border-top:1px solid var(--line);padding:22px 0;display:flex;gap:22px;flex-wrap:wrap;align-items:center;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--grey-2)}
.explore a{color:var(--ink)}.explore a:hover{color:var(--teal-d)}
footer{background:var(--ink);color:#DFE7E7;padding:clamp(44px,6vw,72px) 0 26px}
footer .ftop{display:grid;grid-template-columns:1.1fr 2fr;gap:clamp(28px,5vw,72px);padding-bottom:34px;border-bottom:1px solid var(--line-d)}
footer .fbrand img{height:22px;width:auto}
footer .fbrand p{font-size:14.5px;color:#B9C9C9;margin-top:16px;max-width:32ch;line-height:1.5}
footer .fcols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
footer .fcols div{display:grid;gap:4px;align-content:start;justify-items:start;font-size:15px}
footer .fcols span{color:#B9C9C9;font-size:14px;padding:4px 0}
footer .fh{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:#8FA3A3;margin-bottom:6px}
footer .fcols a{padding:5px 0}
footer .fcols a:hover{color:var(--mint)}
footer .legal{padding-top:20px;display:flex;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;font-size:12.5px;color:#8FA3A3}
@media(max-width:800px){footer .ftop{grid-template-columns:1fr;gap:28px}}
@media(max-width:600px){footer .fcols{grid-template-columns:1fr 1fr;gap:20px}footer .fcols div:last-child{grid-column:1/-1}}

/* small bits */
.kicker{font-size:14px;color:var(--grey);margin-top:16px}
.tick::before{content:'✓';color:var(--teal-d);margin-right:8px;font-weight:500}
.dark .tick::before{color:var(--mint)}
.vs li.x::before{content:'–';color:var(--grey-2);margin-right:8px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ============================================================================
   site.css · v1.0 · 19 Sep 2026 — additions over the makeover stylesheet:
   legal popups · contact · sign-in · 404 · about · explore · articles · tools ·
   compatibility aliases for the generated half-life page · accessibility fixes.
   ========================================================================== */
:root{--grey-2:#6B7A7A}                       /* AA on cream for 12-14px labels (was #8A9999) */
.lab,.src,.hero .note,.cta .note,.explore{color:var(--grey-2)}
.dark .lab,.dark .src{color:#9FB2B2}
:focus-visible{outline:2px solid var(--teal-d);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{left:12px}
nav.top .pills a.on{color:var(--teal-d)}

/* legal popup */
.lgm{position:fixed;inset:0;z-index:80;background:rgba(6,38,42,.55);display:none;place-items:center;padding:20px}
.lgm.on{display:grid}
.lgc{background:#fff;border-radius:22px;max-width:620px;width:100%;max-height:86vh;overflow:auto;padding:34px;position:relative}
.lgc .lgx{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--cream);font-size:14px}
.lgc h3{font-size:26px;margin-bottom:6px}
.lgc .upd{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-2);margin-bottom:18px}
.lgc .h4{margin:18px 0 6px;font-size:16px}
.lgc p{color:var(--grey);font-size:15px;line-height:1.55;margin-bottom:10px}
footer button[data-legal]{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.3)}
footer button[data-legal]:hover{color:var(--mint)}

/* contact */
.contact .box{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);background:#fff;border-radius:var(--r);padding:clamp(24px,3vw,44px)}
.contact .alt{margin-top:26px;display:grid;gap:14px}
.contact .alt a{display:grid;font-size:18px;font-weight:500;letter-spacing:-.01em}
.contact .alt a small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2);font-weight:500;margin-bottom:4px}
.contact form{display:grid;gap:14px}
.contact form.off{display:none}
.contact label{display:grid;gap:6px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--grey)}
.contact input,.contact select,.contact textarea{font:inherit;font-size:16px;letter-spacing:0;text-transform:none;font-weight:400;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);outline:none;width:100%}
.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:var(--teal-d);box-shadow:0 0 0 3px rgba(10,140,142,.15)}
.contact textarea{min-height:110px;resize:vertical}
.contact .hint{font-size:12.5px;color:var(--grey-2);letter-spacing:0;text-transform:none;font-weight:400}
.contact .sent{display:none;padding:26px;border-radius:var(--r2);background:var(--mist)}
.contact .sent.on{display:block}
.contact .sent .tick{width:40px;height:40px;border-radius:50%;background:var(--teal-d);color:#fff;display:grid;place-items:center;font-size:18px;margin-bottom:14px}
.contact .sent h3{font-size:24px}
.contact .sent p{color:var(--grey);margin-top:8px}
@media(max-width:800px){.contact .box{grid-template-columns:1fr}}

/* sign-in */
.signin2{padding:clamp(120px,18vh,180px) 0 clamp(60px,8vw,110px)}
.signin2 .box{max-width:480px;margin:0 auto;background:#fff;border-radius:var(--r);padding:clamp(26px,4vw,44px)}
.signin2 h1{font-size:clamp(36px,5vw,56px);margin-top:14px}
.signin2 .lede{color:var(--grey);margin-top:12px;line-height:1.5}
.signin2 form{display:grid;gap:14px;margin-top:26px}
.signin2 label{display:grid;gap:6px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--grey)}
.signin2 input{font:inherit;font-size:16px;letter-spacing:0;text-transform:none;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--cream);width:100%;outline:none}
.signin2 input:focus{border-color:var(--teal-d);box-shadow:0 0 0 3px rgba(7,122,124,.15)}
.signin2 .btn{justify-content:center;width:100%}
.signin2 .err{display:none;margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--mist);font-size:14px;line-height:1.5;color:var(--grey)}
.signin2 .err.on{display:block}
.signin2 .err b{color:var(--ink);font-weight:500}
.signin2 .err a,.signin2 .fine a{color:var(--teal-d);font-weight:500;display:inline-block;padding:6px 0}
.signin2 .three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.signin2 .three b{display:block;font-weight:500;font-size:15px}
.signin2 .three small{display:block;color:var(--grey);font-size:12.5px;margin-top:2px;line-height:1.35}
.signin2 .fine{font-size:13.5px;color:var(--grey);margin-top:18px;line-height:1.6}
@media(max-width:600px){.signin2 .three{grid-template-columns:1fr;gap:10px}}

/* 404 */
.nf{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px var(--pad) 60px}
.nf h1{font-size:clamp(48px,8vw,120px)}
.nf p{margin:20px auto 0;max-width:40ch;color:var(--grey)}
.nf .row{justify-content:center;margin-top:30px}

/* about */
.about .box{display:grid;grid-template-columns:340px 1fr;gap:clamp(24px,4vw,60px);align-items:center;background:#fff;border-radius:var(--r);padding:clamp(24px,3vw,44px)}
.about img{border-radius:20px;aspect-ratio:1;object-fit:cover;width:100%}
.about .cap{font-size:13px;color:var(--grey-2);margin-top:10px}
.about h2{font-size:clamp(32px,4vw,56px)}
.about p{color:var(--grey);margin-top:16px;max-width:58ch;line-height:1.55}
.about p b{color:var(--ink);font-weight:500}
.about .li{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:11px 14px;border:1px solid var(--line);border-radius:10px}
@media(max-width:800px){.about .box{grid-template-columns:1fr}.about img{max-width:280px}}

/* explore (Perspectives) */
.ex3 .card{min-height:250px}
.ex3 .card .h4{font-size:22px}
.reads .card{min-height:200px}
.reads .card .h4{font-size:20px}
.reads .card .by{font-size:13px;color:var(--grey-2);margin-top:4px}
.toolcard{display:grid;grid-template-rows:140px 1fr;overflow:hidden;padding:0}
.toolcard .art{background:linear-gradient(135deg,var(--ink),var(--teal-d) 70%,var(--mint))}
.toolcard .art.two{background:linear-gradient(90deg,#06262A 0 25%,#0A8C8E 25% 50%,#00B4B7 50% 75%,#5FD4B9 75%)}
.toolcard .body{padding:22px 26px 26px;display:grid;gap:8px}
.wk .stat .n{font-size:clamp(36px,4vw,56px)}

/* articles */
.article{max-width:680px;margin:0 auto;padding:0 var(--pad)}
.article .byline{font-size:13.5px;color:var(--grey-2);margin-bottom:30px}
.article p{font-size:17.5px;line-height:1.65;color:var(--grey);margin-bottom:22px}
.article p b,.article p strong{color:var(--ink);font-weight:500}
.article p.lead{font-size:clamp(19px,2vw,23px);color:var(--ink);line-height:1.5}
.article h2{font-size:clamp(24px,2.8vw,34px);margin:44px 0 16px}
.article h3{font-size:clamp(20px,2.2vw,26px);margin:36px 0 12px}
.article .eyerow{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-2);font-weight:500;margin-top:48px}
.article ul,.article ol{margin:0 0 22px 22px;color:var(--grey);font-size:17px;line-height:1.6}
.article li{margin-bottom:8px}
.article .pullnote{border-left:2px solid var(--teal);padding:6px 0 6px 20px;margin:26px 0;color:var(--grey);font-size:16.5px}
.article .pullnote b{color:var(--ink);font-weight:500}
.tenlist{list-style:none;display:grid;gap:12px;margin:26px 0 30px}
.tenlist li{background:#fff;border-radius:var(--r2);padding:22px 24px;display:grid;grid-template-columns:40px 1fr;gap:14px;margin:0}
.tenlist li .num{padding-top:5px}
.tenlist .h4{font-size:19px}
.tenlist p{font-size:15.5px;margin:8px 0 0;line-height:1.5}
.tenlist .ev{font-size:14px;color:var(--ink);margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.tenlist .ev .src{display:inline;margin-left:6px}
.nextread{border-top:1px solid var(--line);padding:22px 0;display:flex;gap:22px;flex-wrap:wrap;align-items:center;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--grey-2)}
.nextread a{color:var(--ink)}.nextread a:hover{color:var(--teal-d)}

/* tools */
.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:30px}
.cin{background:#fff;border-radius:var(--r);padding:clamp(24px,3vw,40px);display:grid;gap:26px}
.cin .fld label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--grey)}
.cin .val{font-size:30px;font-weight:500;letter-spacing:-.03em;color:var(--teal-d);font-variant-numeric:tabular-nums;margin-top:6px}
.cin input[type=range]{width:100%;margin-top:10px;accent-color:var(--teal-d);height:28px}
.cin .hint{font-size:13px;color:var(--grey-2);margin-top:6px}
.cout{background:var(--ink);color:#fff;border-radius:var(--r);padding:clamp(24px,3vw,40px)}
.cout .lbl{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--mint)}
.cout .cbig{font-size:clamp(40px,4.8vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1;margin-top:10px;font-variant-numeric:tabular-nums}
.cout .sub2{font-size:14.5px;color:#B9C9C9;margin-top:10px;line-height:1.5}
.cout .hr2{height:1px;background:var(--line-d);margin:22px 0}
.cout .cmid{font-size:28px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
@media(max-width:800px){.calc{grid-template-columns:1fr}}
.method{max-width:70ch;margin:22px 0 0;font-size:14px;color:var(--grey);line-height:1.6}
.method a{color:var(--teal-d);text-decoration:underline;text-underline-offset:3px}
.toolform{margin-top:14px;background:var(--mist);border-radius:var(--r2);padding:24px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center}
.toolform .tfl{font-size:15px;color:var(--grey);line-height:1.5}
.toolform .tfl b{color:var(--ink);font-weight:500}
.toolform .tfrow{display:flex;gap:8px}
.toolform input[type=email]{flex:1;min-width:0;font:inherit;font-size:15px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}
.toolform input[type=email]:focus{border-color:var(--teal-d)}
.toolform .btn{padding:13px 16px;font-size:12px}
.toolform .tfok{display:none;font-size:15px;color:var(--teal-d);font-weight:500}
.toolform.sent form,.toolform.sent .tfl{display:none}
.toolform.sent .tfok{display:block;grid-column:1/-1}
@media(max-width:800px){.toolform{grid-template-columns:1fr}.toolform .tfrow{flex-direction:column}.toolform .tfrow .btn{justify-content:center}}
/* ladder */
.split2{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:30px;align-items:start}
.ladder{background:#fff;border-radius:var(--r);padding:clamp(22px,3vw,40px)}
.track{height:8px;border-radius:4px;background:var(--cream-2);overflow:hidden}
.track i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--teal-d),var(--mint));width:0;transition:width .8s cubic-bezier(.2,.7,.2,1)}
.rungs{margin-top:14px}
.rung{display:grid;grid-template-columns:34px 1fr 110px;gap:18px;align-items:center;width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer;text-align:left;font-family:var(--f);transition:opacity .3s}
.rung .lvl{font-size:12px;letter-spacing:.1em;font-weight:500;color:var(--grey-2)}
.rung .nm{display:block;font-weight:500;font-size:clamp(18px,2vw,23px);letter-spacing:-.02em;transition:color .25s}
.rung .who{display:block;font-size:14px;color:var(--grey);margin-top:4px}
.rung .mx{font-weight:500;font-size:clamp(19px,2.1vw,26px);letter-spacing:-.03em;text-align:right;color:var(--grey);transition:color .25s}
.rung.on .nm,.rung.on .mx,.rung.on .lvl{color:var(--teal-d)}
.rungs.hasSel .rung:not(.on){opacity:.5}
.rung:hover{opacity:1}
.sl{margin-top:24px}
.sl label{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--grey)}
.sl label b{font-size:22px;font-weight:500;color:var(--ink);text-transform:none;letter-spacing:-.02em}
.sl input{width:100%;margin-top:12px;accent-color:var(--teal-d);height:28px}
.what{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:22px}
.what div{padding:14px 18px 0 0;border-right:1px solid var(--line);font-size:14px;color:var(--grey);line-height:1.5}
.what div+div{padding-left:18px}
.what div:last-child{border-right:0}
.what b{display:block;color:var(--ink);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-bottom:5px}
.lpanel{background:var(--ink);color:#fff;border-radius:var(--r);padding:clamp(24px,3vw,40px);position:sticky;top:90px}
.lpanel .k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--mint)}
.lpanel .v{font-weight:500;font-size:clamp(44px,5vw,68px);letter-spacing:-.04em;line-height:1;margin-top:8px;font-variant-numeric:tabular-nums;min-height:1.05em}
.lpanel .sub2{color:#B9C9C9;font-size:15px;margin-top:10px;line-height:1.45;min-height:2.9em}
.lpanel hr{border:0;border-top:1px solid var(--line-d);margin:22px 0}
.lpanel .row2{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0}
.lpanel .row2 span{color:#B9C9C9;font-size:14.5px}
.lpanel .row2 b{font-weight:500;font-size:17px;font-variant-numeric:tabular-nums}
.lpanel .uplift{color:var(--mint)}
.buyers{list-style:none;margin-top:6px}
.buyers li{padding:9px 0;border-bottom:1px solid var(--line-d);font-size:15px;color:#B9C9C9;display:flex;gap:11px;align-items:flex-start;opacity:.35;transition:opacity .4s,color .4s}
.buyers li:last-child{border-bottom:0}
.buyers li.on{opacity:1;color:#fff}
.buyers li i{color:var(--mint);font-style:normal;flex:none}
@media(max-width:900px){.split2{grid-template-columns:1fr}.lpanel{position:static}.rung{grid-template-columns:28px 1fr}.rung .mx{grid-column:2;text-align:left;margin-top:4px}.what{grid-template-columns:1fr}.what div{border-right:0;border-bottom:1px solid var(--line);padding:14px 0!important}}

/* compatibility aliases for the GENERATED half-life page (its inline CSS is written against balfene.css tokens).
   The generator (insights/margin-squeeze/build_site_page.py) still emits the old chrome; see NEXT-SESSION.md. */
:root{--ink2:#5C6B6B;--ink3:#6B7A7A;--w:#fff;--dark:#06262A;--onDark:#fff;--onDark2:#B9C9C9;--line-2:rgba(6,38,42,.22)}
.legacy .s{padding:clamp(48px,6vw,90px) 0}
.legacy .s.dark{background:var(--ink);color:#fff;border-radius:var(--r);margin:0 var(--pad)}
.legacy .s.dark .w{padding:0 var(--pad)}
.legacy .w{max-width:var(--max);margin:0 auto;padding:0 var(--pad);text-align:center}
.legacy .eye{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--grey-2)}
.legacy .s.dark .eye{color:#9FB2B2}
.legacy .s.dark h2{color:#fff;margin-top:12px}
.legacy .sub{font-size:clamp(17px,1.6vw,21px);color:#B9C9C9;max-width:52ch;margin:16px auto 0;line-height:1.45}
.legacy .grad{color:var(--mint)}
.legacy .eqbox{background:var(--cream-2)}
.legacy .ctaset{margin-top:28px;display:grid;gap:12px;justify-items:center}
.legacy .pill{display:inline-flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:18px 24px;border-radius:12px;background:#fff;color:var(--ink)}
.legacy .pill:hover{background:var(--teal);color:var(--ink)}
.legacy .ctafine{font-size:13px;color:#9FB2B2}
.legacy .also{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#B9C9C9}
.legacy .also a{color:#fff}
.legacy .article .lead{color:var(--ink)}
.legacy .statrow .v{font-weight:500;color:var(--teal-d)}
.legacy .statrow .k,.legacy .dtab th{font-weight:500}
.legacy .article h2{font-weight:500}
.legacy .dtab td:first-child,.legacy .dtab th:first-child{font-weight:500}
.legacy .srcbox .dtab td,.legacy .srcbox .dtab th{color:#B9C9C9}
.legacy .srcbox p{color:#B9C9C9}

/* ── v1.1 polish (19 Sep 2026): phones get no forced card heights, ghost numerals retired ── */
.ghostnum{display:none}
@media(max-width:600px){
  .card,.card.big,.stat,.door,.gap .card,.gates .card,.sit .card,.ex3 .card,.reads .card{min-height:0}
  .stat p{margin-top:12px}
  .hero{padding-top:110px}
  h1{font-size:clamp(40px,11.5vw,64px)}
  h2{font-size:clamp(30px,8.5vw,44px)}
  .btn.big{min-width:0;width:100%;justify-content:space-between}
  .row .btn{width:100%}
  .cta .box{padding:34px 22px}
  .panel{padding:22px 18px}
  .funnel{height:200px}
  .funnel .n{font-size:30px}
  .funnel small{font-size:11px;letter-spacing:.04em}
  footer .links{gap:14px}
}
@media(min-width:601px) and (max-width:960px){
  .stat{min-height:0}
  .card{min-height:0}
}

/* ── v1.3 polish (19 Sep 2026): phone nav, contrast, tap targets ── */
:root{--grey-2:#5F6E6E}                                   /* 5.3:1 on white, 5.2:1 on cream for 12px labels */
.hero .lab,.hero .note{color:var(--ink-2)}                  /* labels over the hero gradient: ink, not grey */
.hero .lab b{color:var(--ink)}
.hero .lead{color:var(--ink-2)}
nav.top .logo{flex:0 0 auto;display:block;padding:8px 0}
nav.top .logo img{max-width:none}
nav.top .pills a{padding:11px 13px}
.card .go,.signin .fine a{display:inline-block;padding:6px 0}
.chip{white-space:normal;line-height:1.3}
@media(max-width:600px){
  nav.top{padding:10px 14px}
  nav.top .logo img{height:18px}
  nav.top .right .btn{padding:11px 12px;font-size:11px}
  nav.top .right .btn .ar{display:none}
  .chip{font-size:11px;letter-spacing:.06em;padding:8px 10px}
  footer .legal{line-height:1.8}
}

/* ── v1.2 polish (19 Sep 2026) ── */
/* in-page anchors land below the fixed nav */
[id]{scroll-margin-top:96px}
/* no orphan card on tablets: an odd last card in a 3-up grid spans the row */
@media(min-width:601px) and (max-width:900px){.grid3>:last-child:nth-child(odd){grid-column:1/-1}}
/* tap targets: footer + legal + explore/next strips */
footer .links nav a,.explore a,.nextread a{display:inline-block;padding:8px 0}
footer button[data-legal]{padding:8px 2px}
@media(max-width:600px){footer .links nav{gap:4px 18px}}
/* Safari / older engines: fallbacks before the modern values */
nav.top.solid{background:rgba(255,252,245,.9)}
@supports(background:color-mix(in srgb,red 50%,blue)){nav.top.solid{background:color-mix(in srgb,var(--cream) 88%,transparent)}}
.nf{min-height:100vh}
@supports(height:100svh){.nf{min-height:100svh}}
/* print: the page, not the chrome */
@media print{
  nav.top,#mnav,.skip,footer .big,.cta,.explore,.nextread,.toolform{display:none!important}
  body{background:#fff;color:#000}
  .hero{background:none;padding-top:20px}
  .panel.dark,.card.dark,.stat.dark,.cout,.lpanel{background:#fff!important;color:#000!important;border:1px solid #ccc}
  .dark h2,.dark h3,.dark p,.dark .lead{color:#000!important}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:12px;color:#555}
}

/* ── v1.4 polish (19 Sep 2026) ── */
.rungs.hasSel .rung:not(.on){opacity:1}
.rungs.hasSel .rung:not(.on) .nm,.rungs.hasSel .rung:not(.on) .mx{color:var(--grey)}
.rungs.hasSel .rung:not(.on) .who{color:var(--grey-2)}
.rung:hover .nm{color:var(--ink)}
.signin .home,.signin .mobilehome{display:inline-block;padding:6px 0}
.legacy .also a{display:inline-block;padding:8px 0}

/* ── v1.5 polish (19 Sep 2026): iOS, Safari, tablet chips ── */
.toolform input[type=email]{font-size:16px}
nav.top.solid{-webkit-backdrop-filter:blur(12px)}
@media(min-width:601px) and (max-width:900px){.chip{font-size:11px;letter-spacing:.06em;padding:8px 10px}}

/* ── v1.6 polish (19 Sep 2026): ladder buyer list dims by colour, not opacity (AA on ink) ── */
.buyers li{opacity:1;color:#7F9494}
.buyers li i{color:#7F9494}
.buyers li.on{color:#fff}
.buyers li.on i{color:var(--mint)}

/* ── v1.7 polish (19 Sep 2026): from the 48-render visual pass ── */
.about img{height:auto}                                   /* the HTML height attribute was winning over aspect-ratio */
.hero .lab{display:block;text-wrap:balance;max-width:60ch}   /* no orphan word when the label wraps on phones */
@media(min-width:601px) and (max-width:900px){.grid3>.door:last-child:nth-child(odd) h3{max-width:none}}
footer .legal .sep{white-space:pre}
@media(max-width:600px){footer .legal .sep{display:none}footer .legal .lg{display:block;margin-top:2px}}
.pk td:first-child,.pk th:first-child{position:sticky;left:0;background:#fff;z-index:1}
.pk thead th:first-child{background:var(--cream-2)}
@media(max-width:800px){.pkwrap::before{content:'Swipe sideways to see all three packs →';display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-2);margin-bottom:12px;font-weight:500}}

/* ── v1.9 (19 Sep 2026): legal line reads as one sentence on desktop, two lines on phones ── */
footer .legal{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:0}
footer .legal .sep{white-space:pre}
@media(max-width:600px){footer .legal .sep{display:none}footer .legal .lg{flex-basis:100%;display:block;margin-top:6px}}

/* ── v2.0 (20 Sep 2026): drawn tick, centred at any font size ── */
.contact .sent .tick{display:inline-grid;place-items:center;color:#fff;line-height:0}
.contact .sent .tick svg{display:block}
