.opener{padding-block:clamp(48px,9vw,110px) 40px;display:grid;gap:22px}
.opener h1{font-weight:800;font-size:clamp(46px,8.6vw,104px);line-height:.95;max-width:12ch}
.dek{font-size:clamp(19px,2.2vw,23px);line-height:1.5;color:var(--text-2);max-width:40ch;margin:0}
.opener-cta{display:flex;flex-wrap:wrap;gap:12px}
.narrator{margin-top:clamp(40px,7vw,80px);display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;max-width:680px;padding-top:28px;border-top:1px solid var(--rule)}
.narrator p{margin:0;color:var(--text-2);font-size:17px}
.narrator strong{color:var(--text);font-family:var(--display);font-weight:600}
.avatar{width:64px;height:64px;border-radius:50%;background:var(--ink);overflow:hidden;flex:none}
.avatar canvas{width:64px;height:64px;display:block}

.read{max-width:720px;padding-block:24px 80px}
.read p{margin:0 0 1.15em;font-size:clamp(19px,2vw,21px);line-height:1.72}
.read .first::first-letter{float:left;font:800 4.2em/.82 var(--display);margin:.06em .1em 0 0;color:var(--ok)}
.read .beat{font-family:var(--display);font-weight:600;font-size:24px}
.said{margin:1.6em 0;padding:0;font:500 clamp(24px,3.4vw,34px)/1.28 var(--display);letter-spacing:-.015em;text-wrap:balance}
.said.big{font-size:clamp(28px,4.4vw,46px);line-height:1.15;color:var(--ok)}
.closing{font-family:var(--display)!important;font-weight:600;font-size:clamp(24px,3vw,30px)!important;line-height:1.3!important;margin-top:1.4em!important}
.sign{font:500 14px var(--mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.art{margin:2.2em calc(min(0px, (720px - min(100vw, 1080px)) / 2)) 2.4em;padding:0}
.art-canvas{display:block;width:100%;height:clamp(200px,34vw,340px);border-radius:16px;background:var(--ink)}
.art-canvas.short{height:clamp(120px,18vw,180px)}
.art figcaption{font:500 13px/1.4 var(--mono);color:var(--text-3);margin-top:10px}

.next{background:var(--ink);color:var(--on-dark);padding-block:clamp(64px,9vw,110px)}
.next .eyebrow{color:var(--on-dark-2)}
.next-grid{display:grid;gap:36px}
.next h2{font-size:clamp(32px,4.6vw,54px);line-height:1.04;font-weight:800;margin:12px 0 16px;max-width:18ch}
.next p{color:var(--on-dark-2);margin:0;max-width:56ch}
.next-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.nstat{border:1px solid var(--line-dark);border-radius:14px;padding:20px;background:var(--ink-2);min-width:0}
.nstat b{display:block;font:800 clamp(38px,5vw,54px)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.nstat b.okc{color:#3CC7A7}
.nstat span{display:block;margin-top:8px;font:500 14px/1.45 var(--display);color:var(--on-dark-2)}
.foot{padding-block:28px;font:500 14px var(--display);color:var(--text-3);border-top:1px solid var(--rule)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
@media (min-width:900px){.next-grid{grid-template-columns:1.1fr 1fr;align-items:end}.next-cta{grid-column:1/-1}}
.opener-top{display:grid;gap:36px;align-items:center}
.opener-text{display:grid;gap:22px}
.tape{margin:0;min-width:0}
.tape canvas{display:block;width:100%;height:clamp(300px,42vw,500px);border-radius:18px;background:var(--ink)}
@media (min-width:960px){.opener-top{grid-template-columns:1.25fr 1fr}}
@media (min-width:960px){.opener h1{font-size:clamp(56px,6.4vw,92px)}}
