/* Hallmark · genre: editorial · macrostructure: Photographic · theme: custom (Midtown Ranchero — warm cream paper · terra accent 40° · Fraunces/Newsreader) · enrichment: none (photography carries the page) · nav: N6 condensing masthead · footer: Ft1 mast-headed
 * H6 hero knobs: full-bleed · text overlaid lower-left · caption lower-right
 * design-system: design.md · designed-as-app · studied: no
 * Hallmark · pre-emit critique: P4 H5 E4 S4 R5 V5
 */

/* ── Tokens ─────────────────────────────────────────────── */
:root {
  --color-paper:    oklch(95.4% 0.018 81);
  --color-paper-2:  oklch(92.8% 0.023 82);
  --color-paper-3:  oklch(90.7% 0.028 84);
  --color-ivory:    oklch(97.7% 0.011 85);
  --color-ink:      oklch(26.7% 0.013 52);
  --color-muted:    oklch(46% 0.021 59);
  --color-on-dark:  oklch(94.5% 0.022 83);
  --color-on-dark-2:oklch(94.5% 0.022 83 / .76);
  --color-terra:    oklch(59.7% 0.138 40);
  --color-terra-dark: oklch(50% 0.128 40);
  --color-sage:     oklch(50.9% 0.046 128);
  --color-sage-dark:oklch(38% 0.044 132);
  --color-ochre:    oklch(73.1% 0.115 85);
  --color-rule:     oklch(26.7% 0.013 52 / .16);
  --color-rule-strong: oklch(26.7% 0.013 52 / .3);
  --color-focus:    oklch(50% 0.128 40);
  --color-scrim:    oklch(20% 0.013 52);

  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:    'Newsreader', Georgia, serif;

  --text-sm:   0.85rem;
  --text-base: 1.0625rem;   /* 17px */
  --text-md:   1.33rem;
  --text-lg:   1.66rem;
  --text-xl:   2.07rem;
  --text-2xl:  2.6rem;
  --text-3xl:  3.25rem;
  --text-display: clamp(2.5rem, 4.5vw + 1rem, 5rem);
  --text-display-s: clamp(2rem, 3vw + 1rem, 3.4rem);

  --space-3xs: 0.125rem; --space-2xs: 0.25rem; --space-xs: 0.5rem;
  --space-sm: 0.75rem;   --space-md: 1rem;     --space-lg: 1.5rem;
  --space-xl: 2.5rem;    --space-2xl: 4rem;    --space-3xl: 6rem;
  --space-4xl: 9rem;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:  cubic-bezier(0.7, 0, 0.84, 0);
  --dur-micro: 120ms; --dur-short: 220ms; --dur-long: 420ms;

  --rule-hair: 1px;
  --radius-btn: 2px;
  --page-gutter: clamp(1rem, 4vw, 2.5rem);
  --measure: 65ch;

  --z-base: 1; --z-raised: 10; --z-sticky: 200; --z-modal: 400;
}

/* ── Base ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: clip;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.6;
  font-kerning: normal;
}
img { max-width: 100%; display: block; }
h1, h2, h3 {
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.12;
  margin: 0;
  overflow-wrap: anywhere;
  min-width: 0;
}
p { margin: 0 0 var(--space-md); }
a { color: var(--color-terra-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.skip {
  position: absolute; left: -9999px; top: 0; z-index: var(--z-modal);
  background: var(--color-ivory); padding: var(--space-sm) var(--space-md);
}
.skip:focus { left: var(--space-md); }
.smallcaps {
  font-variant-caps: all-small-caps;
  letter-spacing: 0.08em;
  font-size: var(--text-sm);
  color: var(--color-muted);
}
.tnum { font-variant-numeric: tabular-nums; }

/* ── Buttons / links ────────────────────────────────────── */
.btn {
  display: inline-block;
  background: var(--color-terra);
  color: var(--color-on-dark);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--text-base);
  padding: 0.8em 1.6em;
  border-radius: var(--radius-btn);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--dur-short) var(--ease-out),
              transform var(--dur-micro) var(--ease-out);
}
.btn:hover { background: var(--color-terra-dark); transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.link-arrow {
  font-family: var(--font-body);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  white-space: nowrap;
  transition: text-decoration-thickness var(--dur-micro) var(--ease-out);
}
.link-arrow:hover { text-decoration-thickness: 2px; }

/* ── Masthead (N6, condensing) ──────────────────────────── */
.mast { background: var(--color-paper); }
.mast-top {
  display: grid;
  justify-items: center;
  gap: var(--space-xs);
  padding: var(--space-md) var(--page-gutter) var(--space-sm);
  text-align: center;
}
.mast-line { margin: 0; }
.mast-line a { color: inherit; }
.mast-logo img { height: clamp(72px, 9vw, 116px); width: auto; }
.mast-bar {
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
  background: var(--color-paper);
  border-top: var(--rule-hair) solid var(--color-rule);
  border-bottom: var(--rule-hair) solid var(--color-rule);
  box-shadow: 0 0 0 1px oklch(26.7% 0.013 52 / 0);
  transition: box-shadow var(--dur-short) var(--ease-out);
}
.mast-bar.is-stuck { box-shadow: 0 1px 2px oklch(26.7% 0.013 52 / .08); }
.mast-bar-inner {
  max-width: 1160px;
  margin-inline: auto;
  padding: 0 var(--page-gutter);
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  min-height: 56px;
}
.mast-mark {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-md);
  color: var(--color-ink);
  text-decoration: none;
  white-space: nowrap;
  opacity: 0;
  transition: opacity var(--dur-short) var(--ease-out);
}
.mast-bar.is-stuck .mast-mark { opacity: 1; }
.mast-nav { margin-inline: auto; }
.mast-nav ul {
  display: flex; gap: var(--space-lg);
  list-style: none; margin: 0; padding: 0;
}
.mast-nav a {
  color: var(--color-ink);
  text-decoration: none;
  white-space: nowrap;
  padding-block: var(--space-sm);
  display: inline-block;
}
.mast-nav a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; text-decoration-color: var(--color-terra); }
.mast-lang { white-space: nowrap; }
.mast-lang a { color: var(--color-muted); text-decoration: none; }
.mast-lang a:hover { color: var(--color-ink); }
.mast-cta { flex-shrink: 0; }
.mast-menu-btn {
  display: none;
  margin-left: auto;
  background: none;
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-btn);
  font: inherit;
  color: var(--color-ink);
  padding: 0.4em 0.9em;
  cursor: pointer;
}

/* Mobile sheet */
.mast-sheet {
  display: none;
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  background: var(--color-paper);
  padding: var(--space-xl) var(--page-gutter);
}
.mast-sheet.open { display: block; }
.mast-sheet ul { list-style: none; margin: var(--space-xl) 0 0; padding: 0; display: grid; gap: var(--space-lg); }
.mast-sheet a { font-family: var(--font-display); font-size: var(--text-xl); color: var(--color-ink); text-decoration: none; }
.mast-sheet .mast-sheet-close {
  position: absolute; top: var(--space-md); right: var(--page-gutter);
  background: none; border: none; font: inherit; font-size: var(--text-lg);
  color: var(--color-ink); cursor: pointer; padding: var(--space-xs);
}
.mast-sheet .sheet-meta { margin-top: var(--space-2xl); }

/* ── Photo folds (macrostructure) ───────────────────────── */
.fold { position: relative; }
.fold img.bleed {
  width: 100%;
  height: min(84dvh, 760px);
  object-fit: cover;
}
.fold--short img.bleed { height: min(64dvh, 560px); }
.fold .caption {
  position: absolute;
  bottom: var(--space-sm);
  right: var(--space-md);
  margin: 0;
  color: var(--color-on-dark-2);
  font-size: var(--text-sm);
  font-variant-caps: all-small-caps;
  letter-spacing: 0.08em;
  text-shadow: 0 1px 2px oklch(20% 0.013 52 / .5);
}
.fold--hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to top, oklch(20% 0.013 52 / .82) 0%, oklch(20% 0.013 52 / 0) 62%);
  pointer-events: none;
}
.fold--hero .fold-copy {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: var(--z-raised);
  padding: 0 var(--page-gutter) var(--space-2xl);
  max-width: 1160px;
  margin-inline: auto;
  color: var(--color-on-dark);
}
.fold--hero h1 {
  font-size: var(--text-display);
  font-weight: 600;
  max-width: 14ch;
  color: var(--color-ivory);
}
.fold--hero .fold-lede {
  max-width: 46ch;
  margin: var(--space-md) 0 var(--space-lg);
  color: var(--color-on-dark);
  font-size: var(--text-md);
  line-height: 1.45;
}
.fold--hero .fold-actions { display: flex; align-items: center; gap: var(--space-lg); flex-wrap: wrap; }
.fold--hero .link-arrow { color: var(--color-on-dark); }

/* annotation block that breaks over a fold's bottom edge */
.fold-note {
  position: relative;
  z-index: var(--z-raised);
  background: var(--color-ivory);
  max-width: 520px;
  margin: calc(-1 * var(--space-3xl)) var(--page-gutter) 0 auto;
  padding: var(--space-xl);
  border-top: 3px solid var(--color-terra);
}
.fold-note h2 { font-size: var(--text-xl); margin-bottom: var(--space-sm); }
.fold-note p { color: var(--color-ink); }
.fold-note--left { margin: calc(-1 * var(--space-3xl)) auto 0 var(--page-gutter); border-top-color: var(--color-sage); }

/* ── Text bands ─────────────────────────────────────────── */
.band { padding: var(--space-3xl) var(--page-gutter); }
.band--tight { padding-block: var(--space-2xl) var(--space-xl); }
.band-inner { max-width: 1160px; margin-inline: auto; }
.lede-band .band-inner { max-width: var(--measure); }
.lede-band p { font-size: var(--text-md); line-height: 1.55; }
.lede-band .es-note { color: var(--color-muted); }

.head-hang { padding-block: 0 var(--space-xl); }
.head-hang h2 { font-size: var(--text-2xl); font-weight: 340; max-width: 22ch; }
.head-hang h2 strong { font-weight: 600; }

/* ── Stat strip (T4) ────────────────────────────────────── */
.stat-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
  border-top: var(--rule-hair) solid var(--color-rule);
  border-bottom: var(--rule-hair) solid var(--color-rule);
  padding-block: var(--space-lg);
  margin-top: var(--space-2xl);
}
.stat-strip b {
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-xl);
  line-height: 1;
}
.stat-strip span { color: var(--color-muted); font-size: var(--text-sm); }

/* ── Event index list ───────────────────────────────────── */
.host-list { list-style: none; margin: 0; padding: 0; }
.host-list li { border-top: var(--rule-hair) solid var(--color-rule); }
.host-list li:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.host-list a {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr) auto;
  align-items: baseline;
  gap: var(--space-lg);
  padding: var(--space-lg) var(--space-2xs);
  text-decoration: none;
  color: inherit;
  transition: background-color var(--dur-short) var(--ease-out);
}
.host-list a:hover { background: var(--color-paper-2); }
.host-list .host-name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-lg);
  line-height: 1.15;
}
.host-list a:hover .host-name { color: var(--color-terra-dark); }
.host-list .host-desc { color: var(--color-muted); margin: 0; }
.host-list .host-go { color: var(--color-terra-dark); font-weight: 500; }

/* ── Spec sheet (F3) ────────────────────────────────────── */
.spec-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: var(--space-2xl); align-items: start; }
.spec-side h2 { font-size: var(--text-2xl); font-weight: 340; }
.spec-side h2 strong { font-weight: 600; }
.spec-side p { color: var(--color-muted); margin-top: var(--space-md); }
.spec-sheet { width: 100%; border-collapse: collapse; }
.spec-sheet th, .spec-sheet td {
  text-align: left;
  vertical-align: baseline;
  padding: var(--space-sm) var(--space-md) var(--space-sm) 0;
  border-top: var(--rule-hair) solid var(--color-rule);
}
.spec-sheet tr:last-child th, .spec-sheet tr:last-child td { border-bottom: var(--rule-hair) solid var(--color-rule); }
.spec-sheet th { font-family: var(--font-display); font-weight: 600; font-size: var(--text-base); white-space: nowrap; }
.spec-sheet td.muted-cell { color: var(--color-muted); font-size: var(--text-sm); }

/* ── Heritage statement ─────────────────────────────────── */
.heritage { background: var(--color-paper-3); }
.heritage .band-inner { max-width: 900px; }
.heritage blockquote { margin: 0; }
.heritage .statement {
  font-family: var(--font-display);
  font-weight: 340;
  font-size: var(--text-display-s);
  line-height: 1.2;
  letter-spacing: -0.015em;
}
.heritage .statement strong { font-weight: 600; color: var(--color-terra-dark); }
.heritage .statement-sub { margin-top: var(--space-lg); color: var(--color-muted); max-width: 60ch; }

/* ── Find us ────────────────────────────────────────────── */
.find-wrap { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-2xl); align-items: start; }
.find-list { margin: 0; display: grid; gap: var(--space-sm); }
.find-list div { display: grid; grid-template-columns: 10ch minmax(0, 1fr); gap: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); padding-top: var(--space-sm); }
.find-list dt { font-family: var(--font-display); font-weight: 600; }
.find-list dd { margin: 0; }

/* ── Gallery filmstrip ──────────────────────────────────── */
.strip-band { padding-inline: 0; }
.strip-head { padding-inline: var(--page-gutter); max-width: 1160px; margin-inline: auto; width: 100%; }
.strip {
  display: flex;
  gap: var(--space-md);
  overflow-x: auto;
  padding: var(--space-lg) var(--page-gutter) var(--space-md);
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}
.strip figure {
  margin: 0;
  flex: 0 0 auto;
  width: min(420px, 78vw);
  scroll-snap-align: start;
}
.strip img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.strip figcaption { margin-top: var(--space-xs); }

/* ── Closing CTA band ───────────────────────────────────── */
.close-band { border-top: var(--rule-hair) solid var(--color-rule); border-bottom: var(--rule-hair) solid var(--color-rule); background: var(--color-ivory); }
.close-band .band-inner { display: grid; grid-template-columns: minmax(0, 1.5fr) auto; gap: var(--space-2xl); align-items: center; }
.close-band h2 { font-size: var(--text-2xl); font-weight: 340; max-width: 18ch; }
.close-band h2 strong { font-weight: 600; }
.close-band p { color: var(--color-muted); max-width: 44ch; margin: var(--space-md) 0 0; }
.close-actions { display: grid; gap: var(--space-md); justify-items: start; }
.close-actions .phone { white-space: nowrap; }

/* ── Footer (Ft1) ───────────────────────────────────────── */
.foot { background: var(--color-sage-dark); color: var(--color-on-dark); padding: var(--space-2xl) var(--page-gutter) var(--space-xl); }
.foot-inner { max-width: 1160px; margin-inline: auto; display: grid; gap: var(--space-sm); }
.foot .wordmark { font-family: var(--font-display); font-weight: 600; font-size: var(--text-xl); margin: 0; }
.foot p { margin: 0; color: var(--color-on-dark-2); }
.foot a { color: var(--color-on-dark); }
.foot .foot-links { margin-top: var(--space-md); font-size: var(--text-sm); }
.foot .foot-links a { color: var(--color-on-dark-2); text-decoration: none; }
.foot .foot-links a:hover { color: var(--color-on-dark); text-decoration: underline; }

/* ── Photo grid (3-up, static) ──────────────────────────── */
.photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}
.photo-grid figure { margin: 0; }
.photo-grid img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.photo-grid figcaption { margin-top: var(--space-xs); }
.photo-grid figure:nth-child(2) { margin-top: var(--space-xl); }

/* ── Quote (T3) ─────────────────────────────────────────── */
.quote-band blockquote { margin: 0; max-width: 900px; }
.quote-band .quote {
  font-family: var(--font-display);
  font-weight: 340;
  font-size: var(--text-display-s);
  line-height: 1.22;
  letter-spacing: -0.015em;
  margin: 0;
}
.quote-band cite { display: block; margin-top: var(--space-lg); font-style: normal; }

/* ── Forms (inquiry relay — field classes shared w/ main.js) ── */
.inquiry-form, .contact-form { max-width: 720px; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.form-group { display: grid; gap: var(--space-2xs); margin-bottom: var(--space-md); min-width: 0; }
.form-label { font-variant-caps: all-small-caps; letter-spacing: 0.08em; font-size: var(--text-sm); color: var(--color-muted); }
.form-input, .form-select, .form-textarea {
  font: inherit;
  color: var(--color-ink);
  background: var(--color-ivory);
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-btn);
  padding: 0.6em 0.8em;
  width: 100%;
}
.form-input:focus-visible, .form-select:focus-visible, .form-textarea:focus-visible {
  outline: 2px solid var(--color-focus); outline-offset: 1px; border-color: var(--color-terra);
}
.form-textarea { min-height: 7em; resize: vertical; }
.form-consent { display: flex; gap: var(--space-xs); align-items: start; font-size: var(--text-sm); color: var(--color-muted); margin-bottom: var(--space-md); }
.form-success, .form-error { display: none; padding: var(--space-sm) var(--space-md); border-radius: var(--radius-btn); margin-top: var(--space-md); }
.form-success.show { display: block; background: oklch(50.9% 0.046 128 / .12); color: var(--color-sage-dark); }
.form-error.show { display: block; background: oklch(53.4% 0.128 40 / .12); color: var(--color-terra-dark); }
button.btn { border: 0; cursor: pointer; }
@media (max-width: 40rem) {
  .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .photo-grid { grid-template-columns: minmax(0, 1fr); }
  .photo-grid figure:nth-child(2) { margin-top: 0; }
}

/* ── Rate card ──────────────────────────────────────────── */
.rate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 3px solid var(--color-ink);
}
.rate-col { border-bottom: var(--rule-hair) solid var(--color-rule); }
.rate-col + .rate-col { border-left: var(--rule-hair) solid var(--color-rule); }
.rate-col-head {
  font-variant-caps: all-small-caps;
  letter-spacing: 0.08em;
  color: var(--color-muted);
  padding: var(--space-md) var(--space-lg) 0;
  margin: 0;
}
.rate-cell { padding: var(--space-lg); }
.rate-cell + .rate-cell { border-top: var(--rule-hair) solid var(--color-rule); }
.rate-cell .rate-label { font-family: var(--font-display); font-weight: 600; font-size: var(--text-md); margin: 0 0 var(--space-xs); }
.rate-cell .rate-price {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-3xl);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--color-terra-dark);
  margin: 0;
  font-variant-numeric: tabular-nums;
}
.rate-cell .rate-reg { margin: var(--space-xs) 0 0; color: var(--color-muted); font-size: var(--text-sm); }
.rate-cell .rate-reg s { text-decoration-thickness: 1px; }
.rate-note { margin-top: var(--space-md); }

/* ── Availability / booking embeds ──────────────────────── */
.cal-embed { max-width: 900px; margin-inline: auto; }
.cal-embed iframe { width: 100%; border: none; min-height: 900px; background: var(--color-ivory); }

/* ── Hero entrance (the one orchestrated moment) ────────── */
.fold--hero .fold-copy > * {
  opacity: 0;
  transform: translateY(8px);
  animation: rise var(--dur-long) var(--ease-out) forwards;
}
.fold--hero .fold-copy > *:nth-child(2) { animation-delay: 90ms; }
.fold--hero .fold-copy > *:nth-child(3) { animation-delay: 180ms; }
@keyframes rise { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 150ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 150ms !important;
  }
  html { scroll-behavior: auto; }
  .fold--hero .fold-copy > * { animation: rise-r 150ms linear forwards; transform: none; }
  @keyframes rise-r { to { opacity: 1; } }
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 60rem) {
  .mast-nav, .mast-lang { display: none; }
  .mast-menu-btn { display: inline-block; }
  .mast-cta { margin-left: var(--space-sm); }
  .mast-bar-inner { min-height: 52px; }
  .mast-mark { opacity: 1; }
  .spec-wrap, .find-wrap { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
  .close-band .band-inner { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
  .fold-note, .fold-note--left { margin-inline: var(--page-gutter); max-width: none; }
  .host-list a { grid-template-columns: minmax(0, 1fr) auto; }
  .host-list .host-desc { grid-column: 1 / -1; }
}
@media (max-width: 40rem) {
  .band { padding-block: var(--space-2xl); }
  .fold img.bleed { height: min(70dvh, 540px); }
  .fold--short img.bleed { height: min(48dvh, 380px); }
  .fold--hero h1 { font-size: var(--text-display-s); }
  .fold--hero .fold-lede { font-size: var(--text-base); }
  .stat-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
  .spec-sheet th { white-space: normal; }
  .spec-sheet, .spec-sheet tbody, .spec-sheet tr, .spec-sheet th, .spec-sheet td { display: block; }
  .spec-sheet td { border-top: 0; padding-top: 0; }
  .spec-sheet tr { border-top: var(--rule-hair) solid var(--color-rule); padding-block: var(--space-sm); }
  .spec-sheet tr:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
  .btn { min-height: 44px; }
  .mast-logo img { height: 64px; }
}

/* ─── Choice groups (plan-your-event form) ───────────── */
.fieldset { border: 0; padding: 0; margin: 0 0 var(--space-lg); min-width: 0; }
.fieldset legend { font-variant-caps: all-small-caps; letter-spacing: 0.08em; font-size: var(--text-sm); color: var(--color-muted); margin-bottom: var(--space-xs); padding: 0; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xs) var(--space-md); }
.choice { display: flex; gap: var(--space-xs); align-items: baseline; padding: var(--space-2xs) 0; font-size: var(--text-base); }
.choice input { accent-color: var(--color-terra); flex: none; translate: 0 1px; }
.pkg-list { display: grid; gap: var(--space-sm); }
.pkg { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-xs) var(--space-sm); align-items: baseline; border: var(--rule-hair) solid var(--color-rule-strong); border-radius: var(--radius-btn); padding: var(--space-sm) var(--space-md); cursor: pointer; background: var(--color-paper); }
.pkg:has(input:checked) { border-color: var(--color-terra); background: var(--color-paper-2); }
.pkg input { accent-color: var(--color-terra); translate: 0 2px; }
.pkg-name { font-family: var(--font-display); font-weight: 600; font-size: var(--text-lg); }
.pkg-desc { grid-column: 2; color: var(--color-muted); font-size: var(--text-sm); margin: 0; }
@media (max-width: 40rem) { .choice-grid { grid-template-columns: minmax(0, 1fr); } }
