/* Editorial look: serif headings, clean sans body, lots of white space. */
:root { --ink:#16171A; --muted:#5B6470; --line:#E3E5E8; --accent:#2F4A6B; --bg:#FBFAF7; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a { color:var(--accent); }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; line-height:1.15; }
h1 { font-size:clamp(2.6rem,7vw,5rem); margin:.2em 0 .4em; }
h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin:.2em 0; }
.nav { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.4rem clamp(1rem,5vw,4rem); border-bottom:1px solid var(--line); flex-wrap:wrap; }
.brand { font-family:Georgia,serif; font-size:1.25rem; color:var(--ink); text-decoration:none; }
.nav nav { display:flex; gap:1.4rem; }
.nav nav a { color:var(--ink); text-decoration:none; font-size:.95rem; }
.nav nav a:hover { color:var(--accent); }
.wrap { max-width:1100px; margin:0 auto; padding:0 clamp(1rem,5vw,4rem); }
.label { text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; color:var(--muted); margin:0; }
.num { color:var(--accent); }
.hero { display:grid; grid-template-columns:62fr 38fr; gap:3rem; padding:5rem 0 4rem; border-bottom:1px solid var(--line); }
.intro { font-family:Georgia,serif; font-size:clamp(1.05rem,1.6vw,1.35rem); color:#2a2c31; }
.button { display:inline-block; margin-top:1rem; padding:.7rem 1.2rem; background:var(--ink); color:#fff; text-decoration:none; border-radius:2px; font-size:.95rem; }
.now { border-left:1px solid var(--line); padding-left:2rem; align-self:end; }
.now ul { list-style:none; padding:0; margin:.8rem 0 0; }
.now li { padding:.6rem 0; border-bottom:1px solid var(--line); }
.section { display:grid; grid-template-columns:26fr 74fr; gap:3rem; padding:4rem 0; border-bottom:1px solid var(--line); }
.empty { color:var(--muted); font-style:italic; }
.card { padding:1.2rem 0; border-bottom:1px solid var(--line); }
.card h3 { margin:.3rem 0; font-size:1.5rem; }
.shelf { display:flex; align-items:flex-end; gap:6px; margin-top:1.5rem; }
.shelf span { width:28px; border-radius:2px 2px 0 0; }
.page { max-width:720px; padding:4rem 0; }
.prose h2 { margin-top:2rem; }
.lede { font-family:Georgia,serif; font-size:1.3rem; color:#2a2c31; }
.foot { display:flex; justify-content:space-between; padding:2rem clamp(1rem,5vw,4rem); color:var(--muted); font-size:.9rem; border-top:1px solid var(--line); margin-top:3rem; }
@media (max-width:760px) {
  .hero, .section { grid-template-columns:1fr; gap:1.5rem; padding:3rem 0; }
  .now { border-left:0; padding-left:0; }
}
