/* Homepage v2 (2026-10). Builds on the tokens in styles.css. */
.hv2{--paper:#ffffff;--paper-soft:#f6f8fb;--ink:#10233d;--ink-soft:#4a5b70;--rule:#d9e2ec;--rule-strong:#b8c7d8;--accent:#bf4e00;--accent-soft:#fff3ea;--navy:#0b2a4a;background:var(--paper);color:var(--ink)}
.hv2 .wrap,.hv2-footer .wrap{width:min(1200px,100% - 32px);margin-inline:auto}
.hv2 section{padding:64px 0;border-top:1px solid var(--rule)}
.hv2 section:first-child{border-top:0}
.hv2 h1,.hv2 h2,.hv2 h3{color:var(--navy);line-height:1.15;letter-spacing:-0.01em}
.hv2 h2{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);margin-bottom:16px;max-width:30ch}
.hv2 h3{font-size:1.08rem;margin-bottom:6px}
.hv2 p{max-width:68ch}
.hv2 .kicker{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px}

/* Hero */
.hv2-hero{padding:48px 0 40px!important;background:linear-gradient(180deg,var(--paper-soft),var(--paper))}
.hv2-hero-grid{display:grid;gap:32px;align-items:start}
.hv2-hero h1{font-size:clamp(2rem,1.3rem + 3vw,3.4rem);margin:0 0 18px;max-width:16ch}
.hv2-lead{font-size:clamp(1.05rem,1rem + .3vw,1.2rem);color:var(--ink);margin-bottom:24px}
.hv2-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.hv2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:8px;font-weight:600;text-decoration:none!important;border:1px solid var(--navy)}
.hv2-btn-primary{background:var(--navy);color:#fff!important}
.hv2-btn-primary:hover{background:#071a30}
.hv2-btn-secondary{background:#fff;color:var(--navy)!important}
.hv2-btn-secondary:hover{background:var(--paper-soft)}
.hv2-sig{font-size:.95rem;color:var(--ink-soft);margin-bottom:0}
.hv2-sig strong{color:var(--ink)}
.hv2-figure{margin:0;background:#fff;border:1px solid var(--rule-strong);border-radius:8px;box-shadow:0 18px 40px rgba(11,42,74,.10);overflow:hidden}
.hv2-figure img{width:100%;height:auto}
.hv2-figure figcaption{font-size:.82rem;color:var(--ink-soft);padding:10px 14px;border-top:1px solid var(--rule);background:var(--paper-soft)}
.hv2-finding{margin-top:20px;border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:8px;padding:16px 18px;background:#fff}
.hv2-finding p{margin:0 0 8px}
.hv2-finding .hv2-finding-head{font-weight:700;color:var(--navy)}
.hv2-finding .tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent);margin-left:6px;vertical-align:middle}
.hv2-finding a{font-weight:600}
.hv2-boundary{font-size:.82rem;color:var(--ink-soft);margin:24px 0 0;max-width:none}

/* Proof strip */
.hv2-proof{padding:22px 0!important;background:var(--navy);border-top:0!important}
.hv2-proof ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px;color:#e6eef7;font-size:.95rem}
.hv2-proof li strong{color:#fff}

/* Review */
.hv2-review blockquote{margin:0 0 14px;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);font-weight:700;color:var(--navy);line-height:1.2}
.hv2-review .who{color:var(--ink-soft)}

/* Two-column lists */
.hv2-cols{display:grid;gap:20px;margin-top:24px}
.hv2-card{border:1px solid var(--rule);border-radius:8px;padding:20px;background:#fff}
.hv2-card ul{margin:0;padding-left:1.1rem}
.hv2-card li{margin-bottom:6px}
.hv2-note{color:var(--ink-soft);margin-top:18px}

/* Field record */
.hv2-record{display:grid;gap:24px;margin-top:36px;align-items:start}
.hv2-record-photo{margin:0;border-radius:8px;overflow:hidden;border:1px solid var(--rule)}
.hv2-record-photo img{width:100%;height:auto}
.hv2-record-photo figcaption{font-size:.82rem;color:var(--ink-soft);padding:8px 12px;background:var(--paper-soft)}
.hv2-record-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:12px}
.hv2-record-list li{border-left:3px solid var(--rule-strong);padding:2px 0 2px 14px}
.hv2-record-list strong{display:block;color:var(--navy)}

/* Drawing books */
.hv2-books{display:grid;gap:16px;margin-top:24px}
.hv2-book{border:1px solid var(--rule);border-radius:8px;padding:20px;background:#fff;display:flex;flex-direction:column;gap:6px}
.hv2-book .pages{font-size:2rem;font-weight:800;color:var(--navy);line-height:1}
.hv2-book .ed{font-size:.8rem;color:var(--ink-soft)}
.hv2-more{margin-top:18px;font-weight:600}

/* Lab picks */
.hv2-picks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.hv2-picks li{border-left:3px solid var(--rule-strong);padding:4px 0 4px 14px}
.hv2-picks a{font-weight:600}
.hv2-picks span{display:block;color:var(--ink-soft);font-size:.95rem}

/* Facts */
.hv2-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:20px 0 0;max-width:720px}
.hv2-facts dt{font-weight:600;color:var(--navy)}
.hv2-facts dd{margin:0}

/* Contact */
.hv2-contact{background:var(--paper-soft)}

/* Footer */
.hv2-footer{background:#0b1f36;color:#c7d4e3;padding:40px 0 28px;font-size:.92rem}
.hv2-footer a{color:#e6eef7}
.hv2-footer-grid{display:grid;gap:20px}
.hv2-footer strong{color:#fff}
.hv2-footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.hv2-footer .small{font-size:.82rem;color:#9fb1c6;margin-top:18px}

@media (min-width:720px){
  .hv2-cols{grid-template-columns:1fr 1fr}
  .hv2-books{grid-template-columns:repeat(2,1fr)}
  .hv2-footer-grid{grid-template-columns:1.2fr 1fr 1fr}
}
@media (min-width:980px){
  .hv2-hero{padding:72px 0 56px!important}
  .hv2-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px}
  .hv2 section{padding:80px 0}
  .hv2-books{grid-template-columns:repeat(4,1fr)}
  .hv2-record{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px}
}
