/* L Boudoir: dark, warm, quiet. */
:root {
  color-scheme: dark;
  --bg: #0f0d0c;
  --panel: #1a1614;
  --fg: #ede6de;
  --muted: #b3a89f;
  --line: #5a4f49;
  --accent: #d9aba3;
  --font-head: "Bodoni Moda", Didot, "Bodoni 72", "Playfair Display", Georgia, serif;
  --font-body: Jost, "Helvetica Neue", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --gap: 0.375rem;
  --logo-h: 3.75rem;
}
body { font-weight: 300; }
.label, header.top nav a, .more, footer { font-weight: 400; letter-spacing: 0.26em; }
@media (min-width: 56rem) { :root { --logo-h: 5.5rem; } }

/* Home: one tall picture on a phone, three side by side on wide screens. */
.hero3 { display: grid; gap: var(--gap); padding: 0 var(--gap); }
.hero3 .slot { height: 35rem; }
.hero3 .slot:nth-child(n + 2) { display: none; }
.pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); padding: 0 var(--gap); }
.pair .slot { height: 17.5rem; }
@media (min-width: 56rem) {
  .hero3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero3 .slot { height: min(47.5rem, 84vh); }
  .hero3 .slot:nth-child(n + 2) { display: block; }
  .pair { display: none; }
}
.intro h1 { font-size: clamp(3.25rem, 7vw, 5.75rem); line-height: 1.02; }
h2 { font-size: clamp(2.25rem, 4.5vw, 3.5rem); line-height: 1.05; }
.cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem var(--gap); }
.cards h3 { font-size: 1.5rem; }
@media (min-width: 64rem) { .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem 1.75rem; } .cards h3 { font-size: 1.9rem; } }
.notes h3 { font-size: 1.75rem; }
.band { text-align: left; align-items: flex-start; }
.band .label { color: var(--accent); }
.band h2 { font-size: clamp(2.4rem, 4.5vw, 3.5rem); line-height: 1.05; }
.band p { color: var(--muted); }
@media (min-width: 56rem) { .band { padding-left: max(3rem, calc(50vw - 34rem)); } }
