/* ---- Home-specific layout ---- */
.hero-ledger{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:clamp(20px,3vw,38px); border-bottom:1px solid var(--rule); margin-bottom:clamp(28px,4vw,52px); }
.hero-ledger-meta{ font-size:.74rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); }
.hero-grid{ display:grid; grid-template-columns:1.45fr 1fr; gap:clamp(28px,5vw,72px); align-items:center; }
.hero-title{ font-size:clamp(2.7rem, 1.4rem + 5.6vw, 5.6rem); }
.hero-title em{ font-style:italic; color:var(--saddle); }
.hero-lede{ margin-top:clamp(20px,2.4vw,30px); max-width:40ch; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:clamp(24px,3vw,38px); }
.hero-figure{ margin:0; }
.hero-figcap{ display:flex; flex-direction:column; gap:5px; margin-top:14px; font-family:var(--serif); font-size:1rem; color:var(--ink-2); font-style:italic; }
.topic-rail{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:clamp(34px,4vw,58px); padding-top:clamp(22px,3vw,34px); border-top:1px solid var(--rule); }
.topic-rail-label{ font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
@media (max-width:880px){ .hero-grid{ grid-template-columns:1fr; } .hero-figure{ max-width:420px; } }

.section-head-note{ max-width:42ch; color:var(--muted); font-size:.95rem; }

/* Ledger / contents index */
.ledger{ list-style:none; padding:0; margin:0; border-top:1px solid var(--rule); }
.ledger-row{ display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:clamp(16px,3vw,40px); padding:clamp(22px,3vw,34px) 0; border-bottom:1px solid var(--rule); position:relative; transition:padding-left .3s ease; }
.ledger-row:hover{ padding-left:14px; }
.ledger-num{ font-family:var(--serif); font-size:clamp(1.4rem,1rem+1.4vw,2.1rem); color:var(--ochre-deep); font-weight:500; font-variant-numeric:tabular-nums; }
.ledger-link{ display:block; }
.ledger-title{ font-family:var(--serif); font-size:clamp(1.5rem,1rem+2vw,2.5rem); font-weight:520; line-height:1.04; letter-spacing:-.015em; }
.ledger-row:hover .ledger-title{ color:var(--saddle); }
.ledger-desc{ color:var(--muted); font-size:.96rem; margin-top:6px; max-width:54ch; }
.ledger-tag{ font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sage); border:1px solid var(--rule); border-radius:100px; padding:.5em 1em; white-space:nowrap; }
.ledger-go{ font-size:1.5rem; color:var(--saddle); opacity:0; transform:translateX(-8px); transition:all .3s ease; }
.ledger-row:hover .ledger-go{ opacity:1; transform:none; }
@media (max-width:780px){
  .ledger-row{ grid-template-columns:auto 1fr; gap:14px 18px; }
  .ledger-tag, .ledger-go{ display:none; }
}

/* Feature */
.feature{ display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(28px,4vw,64px); align-items:center; margin-top:24px; }
.feature-media{ display:block; }
.feature-title{ font-size:clamp(1.8rem,1.2rem+2.6vw,3.4rem); font-weight:540; line-height:1.04; margin:14px 0 18px; }
.feature-title:hover{ color:var(--saddle); }
.meta-row{ margin:8px 0 22px; }
@media (max-width:860px){ .feature{ grid-template-columns:1fr; } }

/* Spotlight (dark) */
.spotlight{ background:var(--sage-deep); color:var(--paper-3); padding-block:clamp(56px,8vw,110px); }
.spotlight-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,80px); align-items:center; }
.spotlight-title{ font-size:clamp(2rem,1.2rem+3.4vw,3.8rem); color:var(--paper); margin:16px 0 20px; }
.spotlight-lede{ color:#C9CDB8; font-size:1.05rem; line-height:1.6; max-width:46ch; margin-bottom:30px; }
.spotlight-stack{ display:grid; grid-template-columns:1.3fr 1fr; gap:18px; align-items:stretch; }
.spotlight-cards{ display:flex; flex-direction:column; gap:12px; justify-content:center; }
.spotlight-link{ display:flex; align-items:baseline; gap:12px; font-family:var(--serif); font-size:1.05rem; padding:14px 0; border-bottom:1px solid rgba(245,239,230,.18); color:var(--paper-3); transition:color .2s,padding-left .2s; }
.spotlight-link span{ font-family:var(--sans); font-size:.7rem; font-weight:700; color:var(--ochre); letter-spacing:.1em; }
.spotlight-link:hover{ color:#fff; padding-left:6px; }
@media (max-width:860px){ .spotlight-grid{ grid-template-columns:1fr; } }
@media (max-width:520px){ .spotlight-stack{ grid-template-columns:1fr; } }

/* CTA band */
.cta-band{ display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(28px,4vw,56px); align-items:center; background:var(--card); border:1px solid var(--rule); border-radius:10px; padding:clamp(28px,4vw,56px); }
.cta-band-title{ font-size:clamp(1.6rem,1.1rem+2vw,2.7rem); font-weight:540; margin:12px 0 14px; line-height:1.06; }
.cta-band-copy p{ color:var(--muted); max-width:46ch; }
.cta-form{ display:flex; gap:10px; flex-wrap:wrap; }
.cta-form input{ flex:1; min-width:200px; padding:.9em 1.1em; border-radius:100px; border:1px solid var(--rule); background:var(--paper); font-family:inherit; font-size:.95rem; color:var(--ink); }
.cta-form input:focus{ outline:2px solid var(--saddle); outline-offset:1px; }
@media (max-width:760px){ .cta-band{ grid-template-columns:1fr; } }

.sr-only,.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
