/* Warm paper surfaces with dark photographic sections. */
:root {
  color-scheme: light;
  --background: #f8f5ef;
  --surface: #eee8de;
  --foreground: #282824;
  --muted: #62615a;
  --line: #d7d0c3;
  --accent: #86651f;
}
a:hover, .text-link:hover { color: var(--accent); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 5px;
}
.eyebrow { color: #796027; }
.rule { background: #ae9258; }
.about .lead, .intro-copy .lead, .feature-list, .contact address,
.contact-details address, .details-content { color: #62615a; }
.opening, .menu-price, .menu-description h3, .menu-description h4,
.allergen-guide summary, .allergen-grid dt, .form-field label { color: #282824; }
.breadcrumbs, .breadcrumbs a, .section-number,
.menu-description .allergens-line, .form-note, .form-field label span { color: #6b685f; }
.text-link, .local-nav a, .section-nav a, .menu-item,
.menu-section-heading, .allergen-guide, .personal-note,
.contact-details section, .rental-options article, .catering-steps article { border-color: #d7d0c3; }
.text-link:hover, .local-nav a:hover, .local-nav a[aria-current] { border-color: #86651f; }
.section-nav a:hover { color: #86651f; }
.contact, .form-section, .split-section { background: #eee8de; }
.portrait { background: #e7e0d4; border-color: #d7d0c3; }
.personal-note { color: #62615a; }
.snapshot-note { background: #eee8de; color: #62615a; border-color: #a3874b; }
.brand-mark { filter: invert(1); mix-blend-mode: multiply; }
.gallery img { filter: none; }
.button { color: #282824; border-color: #8d8779; background: transparent; }
.button:hover, .button-light { color: #fff; background: #34382f; border-color: #34382f; }
.button-light:hover { background: #4b513f; border-color: #4b513f; color: #fff; }
.form-field input, .form-field textarea, .form-field select, .draft-body {
  color-scheme: light; color: #282824; background-color: #fffdf9; border-color: #b8af9e;
}
.form-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23282824' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); }
.form-field input:hover, .form-field textarea:hover, .form-field select:hover { border-color: #86651f; }
.email-draft { background: #f8f5ef; border-color: #c9bfac; }
/* Explicit dark sections keep white text, controls and logos. */
.header, .hero, .page-hero, .offers, .offer, .services, .footer, .gallery-modal {
  --foreground: #fff; --muted: #d2d0c8; --line: #54554e; --accent: #dfc58a;
  color: #fff; color-scheme: dark;
}
.header .eyebrow, .hero .eyebrow, .page-hero .eyebrow, .offer .eyebrow, .services .eyebrow { color: #eee9db; }
.header a:hover, .footer a:hover, .services a:hover { color: #dfc58a; }
.hero .button, .page-hero .button, .offer .button, .services .button { color: #fff; border-color: #d3cfc5; background: transparent; }
.hero .button-light, .hero .button:hover, .page-hero .button:hover, .offer .button:hover, .services .button:hover { color: #282824; background: #fffdf9; border-color: #fffdf9; }
.offer:hover, .offer:focus-visible, .offer:hover h2 { color: #fff; }
.footer { background: #262923; }
.footer-bottom, .footer-nav { border-color: #4b4e45; color: #cfcec5; }
.info-strip { background: #eee8de; color: #62615a; border-color: #d7d0c3; }
.info-strip strong { color: #282824; }
.info-bar { background: #eee8de; border-color: #d7d0c3; }
.info-inner { color: #62615a; }
.info-inner strong, .weekly-menu-header > p { color: #282824; }
.weekly-menu-note { color: #6b685f; }

/* Readable sans-serif text and quieter page introductions. */
body { font-weight: 500; }
p, li, address, input, textarea, select { font-weight: 500; }
.nav-group a, .button, .text-link, .form-field label { font-weight: 600; }
.menu-description h3, .menu-description h4 { font-weight: 600; }
.weekly-menu .menu-item { padding: 18px 0; align-items: start; }
.weekly-menu .menu-description h3 { display: block; font-size: 17px; line-height: 1.55; }
.weekly-menu .menu-description .allergens-line {
  display: block; margin: 6px 0 0; font-size: 13px; line-height: 1.5;
  font-weight: 500; color: #686257; overflow-wrap: normal;
}
.weekly-menu .menu-price { font-size: 17px; font-weight: 700; line-height: 1.55; }
.page-intro-summary { padding-top: 32px; padding-bottom: 40px; }
.page-intro-summary.compact { margin-bottom: 32px; padding-top: 0; padding-bottom: 0; }
.page-intro-summary .lead { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.7; }
@media (max-width: 600px) {
 .weekly-menu .menu-item { gap: 16px; }
 .weekly-menu .menu-description h3, .weekly-menu .menu-price { font-size: 16px; }
 .page-intro-summary { padding-top: 24px; padding-bottom: 28px; }
}
