/* v4 (2026-10-30, taste-skill review): readable body text in full ink, a short type scale,
   no hairlines; loaded after editorial-v2.css and site-v3.css and overrides them. */
:root{--muted:#5b4a45}

/* Type scale: display (h1) · 64 h2 · 40 h3 · 26 lead · 17 body · 14 small */
body{font-size:17px;line-height:1.6}
h3,.wine-copy h3,.advisor-copy h3,.systems h3,.ventures h3{font-size:40px}
.claude-grid h4,.fact-value,.hero-image figcaption{font-size:26px}
.stat-value{font-size:40px}
.hero-intro,.section-heading>p,.claude-lede,.story-body,.advisor-copy>p:not(.eyebrow),.wine-copy>p:not(.eyebrow),
.systems p,.claude-grid p,.contact-main>p:not(.eyebrow),.how li{font-size:17px;line-height:1.6;color:var(--ink)}
.hero-intro,.claude-lede{max-width:60ch}
.systems p,.claude-grid p,.advisor-copy>p:not(.eyebrow),.wine-copy>p:not(.eyebrow),.story-body p{max-width:60ch}
.contact-main>p:not(.eyebrow){color:#f1e6dc}
nav,.button,.text-link,.back-top{font-size:15px}
.stats .tiny,.facts .tiny,.status,.chat-note,.footer-bottom,.details,.details dt,.msg small,.chat-head,.handoff,.trade figcaption{
  font-size:14px;letter-spacing:0;text-transform:none;font-weight:400}
.stats .tiny,.facts .tiny{color:var(--muted)}
.msg{font-size:16px}

/* Sections whose left column held only a numbered label now run full width */
.claude,.company-inner,.contact-inner{grid-template-columns:1fr}
.section-heading{margin-top:0}

/* No hairlines: space and tone steps instead */
.header,.stats,.stats>div+div,.stats>div:nth-child(n+3),.how,.how li,.systems article,.ventures article,
.claude-grid,.facts,.details,.footer-bottom,.chat-head,.intro-line{border:0}
.header{height:110px}
.stats{gap:24px;padding:36px 0 8px}
.stats>div,.stats>div+div{padding:0}
.how li{padding:10px 0}
.systems article{padding-top:0}
.claude-grid,.facts{padding-top:0}
.details{padding-top:8px}
.nav-contact{border-bottom:0}
.text-link{border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.trade figcaption{bottom:22px}

@media(max-width:760px){
  body{font-size:16px}
  .hero-intro,.claude-lede,.advisor-copy>p:not(.eyebrow),.systems p,.claude-grid p,.how li{font-size:16px}
  h3,.systems h3{font-size:34px}
  .stats{gap:20px 14px}
  .stat-value{font-size:32px}
}

/* Status sits under the product name, not above it */
.systems h3{margin-bottom:10px}
.venture-top{margin-bottom:16px}

/* Headlines stay within two lines on tablet and phone */
@media(max-width:1050px){h1{font-size:56px}h2,.contact h2{font-size:44px}h3,.advisor-copy h3,.systems h3{font-size:34px}}
@media(max-width:760px){h1{font-size:52px}h2,.contact h2{font-size:38px}}

/* Contact: the details take the right-hand column instead of leaving it empty */
.contact-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:80px}
.contact-main>*{grid-column:1}
.contact-main .details{grid-column:2;grid-row:1 / span 3;align-self:end;margin-top:0;max-width:none}
.contact-link{border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;font-size:26px}
@media(max-width:760px){.contact-main{grid-template-columns:1fr}.contact-main .details{grid-column:1;grid-row:auto;margin-top:34px}.contact-link{font-size:20px}}

/* Fewer sizes: arrows follow their text, footer and wordmark on the scale */
.text-link span,.button span,.nav-contact span,.contact-arrow{font-size:1em}
.footer-top p{font-size:26px}
.systems .wide p,.section-heading>p{max-width:60ch}
.systems{row-gap:40px}
@media(max-width:1050px){
  .section-heading{flex-direction:column;align-items:flex-start;gap:20px}
  .contact-main{grid-template-columns:1fr}.contact-main .details{grid-column:1;grid-row:auto;margin-top:34px}
}
@media(max-width:760px){.footer-top p{font-size:20px}}

/* the list lost its printed numbers: one column, no 34px number gutter */
.how li{grid-template-columns:1fr}
