/* Classic: warm, timeless. Serif headings, cream paper, portrait hero. */
:root {
  --bg: #fbf8f3; --surface: #fffdf9; --surface-alt: #f3ede4; --ink: #24211e; --ink-2: #3e3934; --muted: #6c645b; --line: #e3dace;
  --head-font: "Cormorant Garamond", "Iowan Old Style", Georgia, serif; --body-font: "Jost", "Avenir Next", system-ui, sans-serif;
  --head-weight: 600; --header-bg: rgba(251,248,243,.95); --footer-bg: #24211e; --radius: 14px;
}
h1, h2, .display { font-size-adjust: none; }
h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); }
.hero-classic { padding: clamp(48px, 8vw, 100px) 0 clamp(48px, 7vw, 90px); background: linear-gradient(180deg, var(--bg), var(--surface-alt)); }
.hero-classic .hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 5vw, 70px); align-items: center; }
.hero-classic .display { font-size: clamp(2.6rem, 5.6vw, 4.2rem); line-height: 1.05; }
.hero-portrait { position: relative; max-width: 380px; justify-self: center; }
.hero-portrait::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border: 2px solid var(--accent); border-radius: 200px 200px 14px 14px; }
.hero-portrait img { position: relative; border-radius: 200px 200px 14px 14px; box-shadow: var(--shadow); width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 800px) { .hero-classic .hero-grid { grid-template-columns: 1fr; } .hero-portrait { max-width: 280px; } }
.split-media img { border-radius: 200px 200px 14px 14px; aspect-ratio: 4 / 5; object-fit: cover; }
.cta-band { background: var(--ink); color: #fff; }
:root { --sand: #f3ede4; --ink-band: #24211e; --ink-band-text: #e8e0d5; }
.hero-portrait img { aspect-ratio: 4 / 5; }
