/* Heads-Up (blog) · shares tokens from /styles.css */
body.hu{background:var(--paper)}
.hu .nav{background:rgba(20,20,20,.94);backdrop-filter:blur(12px)}
.hu .nav ul a.cur::after{width:100%}
.hu main{padding-top:76px}

/* masthead */
.hu-top{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;isolation:isolate;padding:clamp(56px,8vw,110px) 0 clamp(48px,6vw,84px)}
.hu-top::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(55% 70% at 88% 10%,rgba(232,68,58,.34),transparent 70%),
  repeating-linear-gradient(90deg,transparent 0 3px,rgba(255,255,255,.03) 3px 4px),
  repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.03) 3px 4px)}
.hu-top h1{font-size:clamp(72px,15vw,230px);line-height:.82;margin:24px 0 28px}
.hu-top h1 .dash{color:var(--red)}
.hu-top p{font-size:clamp(18px,1.6vw,22px);max-width:34em;color:rgba(244,240,232,.82)}

/* index list */
.hu-list{padding:clamp(40px,6vw,88px) 0 clamp(64px,9vw,120px)}
.hu-list .lbl{font:600 12px var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:18px}
.post-row{display:grid;grid-template-columns:150px 1fr auto;gap:12px 36px;align-items:baseline;padding:30px 0;border-top:2px solid var(--ink);text-decoration:none;color:inherit}
.post-row:last-of-type{border-bottom:1px solid var(--line)}
.post-row .when{font:600 12px/1.5 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.post-row h2{font-size:clamp(34px,4.6vw,64px);line-height:.95;transition:color .2s}
.post-row p{margin-top:12px;font-size:18px;color:#4b4740;max-width:38em}
.post-row .go{font:700 22px var(--display);color:var(--red);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
@media (hover:hover){.post-row:hover h2{color:var(--red)}}
.next{margin-top:clamp(40px,6vw,72px)}
.next ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.next li{padding:14px 0;border-top:1px solid var(--line);font-size:17px}
.next li::before{content:"Soon";font:600 11px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-right:12px}

/* article */
.art-head{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;isolation:isolate;padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,72px)}
.art-head::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 80% at 90% 0%,rgba(232,68,58,.3),transparent 70%)}
.crumb{font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:flex;gap:10px;flex-wrap:wrap}
.crumb a{color:var(--paper);text-decoration:none}
.crumb a:hover{color:var(--red)}
.art-head h1{font-size:clamp(46px,8vw,120px);line-height:.88;margin:22px 0 26px;max-width:14em}
.byline{display:flex;gap:14px;align-items:center;font:500 14px/1.4 var(--body);color:rgba(244,240,232,.75)}
.byline img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.byline b{color:var(--paper);font-weight:600;display:block}
.art{padding:clamp(44px,6vw,80px) 0 clamp(56px,8vw,110px)}
.art .col{max-width:700px;margin:0 auto;padding:0 var(--gut)}
.stand{font-size:clamp(20px,2vw,25px);line-height:1.45;font-weight:500;margin-bottom:36px}
.art p{margin:0 0 1.15em;font-size:19px;line-height:1.65;color:#25231f}
.art h2{font-size:clamp(34px,4.4vw,52px);margin:2em 0 .55em;line-height:.95}
.art h2 .n{color:var(--red);margin-right:.35em}
.art ul{margin:0 0 1.2em;padding-left:1.2em}
.art li{font-size:19px;line-height:1.6;margin-bottom:.5em;color:#25231f}
.art a{color:var(--red);text-underline-offset:3px}
.short{background:var(--ink);color:var(--paper);padding:26px 28px;margin:0 0 2.2em;border-left:6px solid var(--red)}
.short b{display:block;font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.short p{color:var(--paper);margin:0;font-size:18px}
.art blockquote{border-left:4px solid var(--red);padding:4px 0 4px 22px;margin:1.6em 0;font:700 clamp(28px,3.2vw,38px)/1.05 var(--display);text-transform:uppercase}
.checklist{list-style:none;padding:0}
.checklist li{padding:14px 0 14px 44px;border-top:1px solid var(--line);position:relative}
.checklist li::before{content:"";position:absolute;left:4px;top:18px;width:20px;height:20px;border:2px solid var(--ink)}
.checklist li:last-child{border-bottom:1px solid var(--line)}

/* author + CTA */
.about-a{display:grid;grid-template-columns:72px 1fr;gap:18px;margin-top:3em;padding-top:28px;border-top:2px solid var(--ink)}
.about-a img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.about-a p{font-size:16px;margin:0;color:#4b4740}
.about-a b{color:var(--ink)}
.hu-cta{background:var(--ink);color:var(--paper);padding:clamp(56px,8vw,110px) 0}
.hu-cta h2{font-size:clamp(40px,6vw,88px);max-width:12em;margin:18px 0 20px}
.hu-cta p{font-size:19px;max-width:34em;color:rgba(244,240,232,.8);margin-bottom:28px}
.hu-cta .alt{margin-top:18px;font-size:15px;color:var(--mute)}
.hu-cta .alt a{color:var(--paper)}
.hu .c7-foot{margin-top:0}
.hu .sticky{display:none}

@media (max-width:960px){
  .post-row{grid-template-columns:1fr;gap:8px}
  .post-row .go{display:none}
  .next ul{grid-template-columns:1fr}
}

/* article extras */
.disc{margin:0 0 2em;padding:14px 18px;border-left:4px solid var(--red);background:var(--paper-2);font-size:16px;line-height:1.5;color:#25231f}
.art figure{margin:2em 0}
.art figure img{width:100%;height:auto;display:block}
.art figure.tall img{max-width:480px;margin:0 auto}
.art figcaption{margin-top:10px;font-size:14px;line-height:1.5;color:#4b4740}
.art .seeit{margin:1.6em 0;padding:16px 18px;border:2px solid var(--ink);font-size:17px}
.art .seeit b{display:block;font:600 11px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.art .src{margin-top:2.4em;padding-top:20px;border-top:1px solid var(--line)}
.art .src h2{font-size:30px;margin:0 0 .5em}
.art .src li{font-size:15px;line-height:1.5;word-break:break-word}
.art .bio{font-size:16px;color:#4b4740}
.art .rule{border:0;border-top:2px solid var(--ink);margin:2.4em 0}

.btn.wa svg{width:18px;height:18px;fill:currentColor;flex:none}

.art .signoff{margin:2.2em 0 0;font:italic 500 clamp(20px,2.2vw,24px)/1.4 var(--body);color:var(--ink)}
.art .signoff + .about-a{margin-top:1.6em}

/* Contrast fixes (small text on light backgrounds) */
.art a,.about-a a{color:var(--red-text)}
.art .seeit b,.next li::before{color:var(--red-text)}
.post-row .when{color:var(--mute-text)}
.hu-list .lbl{color:var(--mute-text)}
.art figcaption{color:#5a554c}
