/* 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; } }
/* With a hero photo: the photo fills the background behind the text and portrait. */
.hero-classic.has-photo { background: #24211e; color: #fff; isolation: isolate; overflow: hidden; padding: clamp(64px, 10vw, 130px) 0 clamp(64px, 9vw, 120px); }
.hero-classic.has-photo .hero-bg { z-index: -1; }
.hero-classic.has-photo .hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,18,16,.84) 0%, rgba(20,18,16,.62) 50%, rgba(20,18,16,.32) 100%), linear-gradient(0deg, rgba(20,18,16,.35), rgba(20,18,16,0) 50%); }
.hero-classic.has-photo .display { color: #fff; }
.hero-classic.has-photo .lead { color: rgba(255,255,255,.92); }
.hero-classic.has-photo .eyebrow { color: var(--accent-on-dark, #fff); }
.hero-classic.has-photo .display, .hero-classic.has-photo .lead, .hero-classic.has-photo .eyebrow { text-shadow: 0 1px 3px rgba(0,0,0,.5), 0 0 18px rgba(0,0,0,.3); }
.hero-classic.has-photo .hero-portrait::before { border-color: var(--accent-on-dark, #fff); }
.hero-classic.has-photo .hero-portrait img { box-shadow: 0 24px 60px rgba(0,0,0,.45); }
@media (max-width: 800px) { .hero-classic.has-photo .hero-bg::after { background: rgba(20,18,16,.7); } }
.split-media img { border-radius: 200px 200px 14px 14px; aspect-ratio: 4 / 5; object-fit: cover; }
.cta-band { background: var(--ink); color: #fff; }
.cta-band .btn-accent { background: var(--accent-on-dark, var(--accent)); color: var(--on-accent-on-dark, #111); }
:root { --sand: #f3ede4; --ink-band: #24211e; --ink-band-text: #e8e0d5; }
.hero-portrait img { aspect-ratio: 4 / 5; }
