/*
 * Restrained site-wide type scale.
 * Loaded after style.css and menu-polish.css so typography stays consistent
 * without changing layout, colour, imagery, or the logo treatment.
 */
:root {
  --type-display: 64px;
  --type-section: 48px;
  --type-feature: 36px;
  --type-card: 32px;
  --type-body: 16px;
  --type-control: 14px;
  --type-meta: 13px;
}

body {
  font-size: var(--type-body);
}

/* Page titles */
.people-copy h1,
.menu-hero h1,
.legal h1 {
  font-size: var(--type-display);
}

/* Section titles */
.section h2,
.legal h2,
.consent-banner h2,
.menu-outro h2 {
  font-size: var(--type-section);
}

/* The giveaway remains one step below a regular section title. */
.giveaway h2,
.people-giveaway h2 {
  font-size: var(--type-feature);
}

/* Card and menu titles */
.entry-panel h3,
.map-placeholder h3,
.menu-shot strong,
.menu-page .menu-category h2,
.falstaff-name,
.award-restaurant,
.award-rank {
  font-size: var(--type-card);
}

/* Reading copy */
.people-intro,
.menu-showcase-intro,
.app-promo p:not(.eyebrow),
.visit-intro,
.visit address,
.visit dl div,
.press-copy > p:not(.eyebrow),
.press-copy blockquote p,
.legal p,
.menu-hero-copy > p,
.menu-intro,
.menu-explainer,
.menu-page .menu-category dl div,
.dish-description {
  font-size: var(--type-body);
}

/* Navigation and actions */
.site-nav,
.site-nav a,
.menu-page > .menu-index a,
.mobile-actions a,
.button,
.menu-cta,
.text-link,
footer > div {
  font-size: var(--type-control);
}

/* Labels, captions, legal notes, and form guidance */
.eyebrow,
.fine-print,
.opening-status,
.visit-contact,
.map-placeholder p,
.map-placeholder > a,
.entry-panel > p,
.entry-panel label,
.entry-panel small,
.entry-panel #entry-status,
.instagram-note,
footer p,
footer small,
.consent-banner p,
.consent-banner > a,
.press-category,
.press-copy cite,
.press-source,
.award-edition,
.award-restaurant span,
.award-points span,
.award-rank span,
.award-display figcaption,
.falstaff-score span,
.falstaff-detail b,
.falstaff-detail small,
.press-mark > strong span,
.menu-note,
.menu-kicker,
.menu-explainer strong,
.menu-shot small {
  font-size: var(--type-meta) !important;
}

/* The score is the sole oversized numeric display. */
.award-points,
.press-mark > strong,
.falstaff-score {
  font-size: 96px !important;
}

.entry-panel input[type="text"] {
  font-size: var(--type-body);
}

@media (max-width: 800px) {
  :root {
    --type-display: 44px;
    --type-section: 36px;
    --type-feature: 30px;
  }
}

/* Falstaff narrative is the shared larger reading style, category stays secondary. */
.press-copy > .press-story,.press-copy blockquote p{font-size:20px;line-height:1.6}
.press-copy > .press-subtitle{font-size:var(--type-meta)}
