/* A shared type scale and restrained dark palette over the existing layout. */
:root {
  --surface: #151814;
  --surface-raised: #1c201b;
  --surface-inset: #111410;
  --text: #f5f1e8;
  --muted: #cecac1;
  --ink: var(--text);
  --paper: var(--text);
  --quiet: var(--muted);
  --sand: #262d23;
  --gold: #c3aa7b;
  --line: #c3aa7b3d;
  --body-size: 18px;
  --nav-size: 17px;
  --detail-size: 15px;
  --label-size: 15px;
  --heading-size: clamp(48px, 4.2vw, 56px);
  color-scheme: dark;
}

body {
  background: var(--surface);
  color: var(--text);
  font-size: var(--body-size);
  line-height: 1.75;
}

h2,
.story h2,
.section-heading h2,
.kitchens-intro h2,
.faq-heading h2,
.contact-content h2,
.closing h2,
.dialog-body h2 {
  font-size: var(--heading-size);
  line-height: 1.12;
  text-wrap: balance;
}

.eyebrow,
.hero .eyebrow,
.kitchens-intro .eyebrow,
.kitchen-copy .eyebrow,
.reviews > .eyebrow,
.footer-links > .eyebrow {
  font-size: var(--label-size);
  letter-spacing: .12em;
  line-height: 1.6;
}

.text-link,
.hero .text-link,
.heading-aside .text-link,
.kitchen-copy .text-link,
.reviews .text-link,
.faq-heading .text-link,
.gallery-bottom .text-link {
  font-size: var(--nav-size);
  line-height: 1.65;
  border-color: #c3aa7b80;
  transition: color .2s, border-color .2s;
}

.text-link:hover { color: var(--gold); border-color: var(--gold); }
.text-link span:last-child[aria-hidden] { color: var(--gold); }
:focus-visible { outline-color: var(--gold); }

.button,
.button.light,
.header-order,
.contact-buttons .button,
.closing .button,
.hero-actions .button,
.mobile-order .button {
  background: var(--text);
  color: var(--surface-inset);
  border: 1px solid #c3aa7b66;
  font-size: var(--nav-size);
  letter-spacing: 0;
  min-height: 50px;
}

.button:hover,
.button.light:hover { background: #e3d6bd; color: var(--surface-inset); }
.button.outline { background: transparent; color: var(--text); border-color: #c3aa7b80; }
.button.outline:hover { background: var(--surface-raised); color: var(--gold); }

.site-header,
.mobile-nav,
.mobile-order,
.skip-link,
dialog,
.dialog-head { background: var(--surface); }

.header-inner { gap: 22px; }
.brand-family { gap: 14px; }
.brand-location { font-size: 13px; letter-spacing: .09em; line-height: 1.65; }
.secondary-brands { gap: 12px; padding-left: 14px; }
.secondary-brands a { opacity: .95; }
.secondary-brands img[src$="logo-kitchen-white.svg"] { width: 70px; height: 40px; }
.desktop-nav { gap: 18px; }
.desktop-nav a { font-size: var(--nav-size); }
.desktop-nav a::after { background: var(--gold); }
.header-actions { gap: 12px; }
.header-order { padding: 10px 16px; gap: 14px; }
.language-switch { color: var(--text); width: 52px; font-size: 15px; }
.menu-toggle { min-width: 42px; min-height: 44px; }
.mobile-nav > nav a { font-size: 30px; }
.mobile-kitchens > div { font-size: 17px; flex-wrap: wrap; gap: 12px 24px; }

.hero h1 {
  font-size: clamp(56px, 5vw, 72px);
  line-height: 1.08;
}
.hero-copy { font-size: var(--body-size); max-width: 510px; line-height: 1.75; }
.hero-address { font-size: var(--detail-size); letter-spacing: .06em; }
.hero-address span { color: #ded9cf; font-size: var(--detail-size); }
.slide-select { color: #d0cbc1; font-size: 15px; min-width: 36px; min-height: 44px; }
.slide-select.active::after { background: var(--gold); }
.slide-pause { width: 44px; height: 44px; font-size: 15px; border-color: #c3aa7b80; }

.intro-strip {
  font-size: 16px;
  letter-spacing: .055em;
  line-height: 1.6;
  flex-wrap: wrap;
  gap: 16px 24px;
}
.intro-strip > div { flex-wrap: wrap; gap: 12px 17px; }
.intro-strip .strip-message { font-size: 17px; color: var(--text); }
.intro-strip .dot { background: var(--gold); }
.strip-address { font-size: 16px; letter-spacing: 0; color: var(--muted); }
.strip-address:hover { color: var(--gold); }

.story-lead,
.principle,
.product-info p,
.section-heading .heading-aside,
.kitchens-intro p:last-child,
.kitchen-copy p:not(.eyebrow):not(.small-note),
.review-summary,
.faq-heading > p:not(.eyebrow),
.faq-list summary,
.faq-answer,
.contact-address,
.contact-phone,
.hours,
.dialog-body p {
  font-size: var(--body-size);
  line-height: 1.75;
}

.story-lead { max-width: 500px; }
.section-heading .heading-aside { max-width: 330px; }
.kitchens-intro { max-width: 760px; }
.kitchens-intro p:last-child { max-width: 600px; color: var(--muted); }
.kitchen-copy p { max-width: 480px; color: var(--muted); }
.review-summary { max-width: 680px; }
.faq-heading > p:not(.eyebrow) { max-width: 300px; }
.faq-answer { line-height: 1.8; }
.hours { max-width: 390px; }
.hours th, .hours td { border-color: var(--line); }

.story-photo > img {
  filter: grayscale(.92) sepia(.12) brightness(.76) contrast(1.05);
}
.story-photo .year-stamp {
  background: var(--surface-raised);
  border-color: var(--surface);
  width: 152px;
  height: 152px;
  box-shadow: inset 0 0 0 1px var(--line);
}
.year-stamp strong { font-size: 54px; color: var(--text); }
.year-stamp span {
  font-size: 13px;
  letter-spacing: .05em;
  line-height: 1.5;
  max-width: 115px;
  text-align: center;
  color: var(--muted);
  margin-top: 8px;
}
.image-caption { font-size: var(--detail-size); line-height: 1.65; letter-spacing: .035em; flex-wrap: wrap; }
.principle small { font-size: var(--detail-size); color: var(--gold); }

.favorites,
.reviews,
.contact { background: var(--surface-raised); }
.product-info h3 { font-size: 30px; }
.product-index { color: #ece7dd; font-size: 14px; }
.product-arrow { width: 36px; height: 36px; border-color: #c3aa7b80; color: var(--gold); }
.product-card:hover .product-arrow { background: var(--gold); color: var(--surface-inset); }

.kitchen-tabs { border-color: var(--line); }
.kitchen-tab { font-size: var(--nav-size); color: var(--muted); }
.kitchen-tab + button { border-color: var(--line); }
.kitchen-tab:hover { color: var(--text); }
.kitchen-visual { background: var(--surface-inset); }
#panel-kitchen .kitchen-visual { background: #090a0c; }
#panel-kitchen .kitchen-visual img {
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
}
.kitchen-logo[src$="logo-kitchen-white.svg"] {
  width: 210px;
  height: auto;
  max-width: 70%;
  margin-bottom: 26px;
}
.kitchen-copy h3 { font-size: 44px; line-height: 1.15; text-wrap: balance; }
.kitchen-copy .small-note { color: var(--muted); font-size: var(--detail-size); }
.crepe-symbol { background: var(--sand); }
.crepe-symbol span { color: var(--text); }
.gallery-bottom,
.review-credit,
.contact-status,
.contact-photo figcaption,
.footer-brand p,
.footer-links > div,
.footer-bottom,
.footer-bottom button,
.lightbox-bottom { font-size: var(--detail-size); }
.gallery-bottom { align-items: flex-start; }
.reviews > .eyebrow,
.reviews .quote-mark { color: var(--gold); }
.review-credit .divider { background: var(--line); }
.faq-list summary::after,
.faq-list summary .q-number { color: var(--gold); }
.faq-list summary .q-number { font-size: var(--detail-size); width: 24px; }
.contact-phone { border-color: #c3aa7b80; }
.contact-photo figcaption { background: #151814eb; border: 1px solid var(--line); }
.site-footer,
.footer-brand p { color: var(--muted); }
.site-footer,
.footer-bottom { border-color: var(--line); }
.footer-links a:hover { color: var(--gold); }
.dialog-body .story-manifesto { font-size: 30px; }
.dialog-body .signature { font-size: 28px; }
.dialog-close { color: var(--text); }
.mobile-order p { font-size: 15px; }
.mobile-order p small { font-size: 14px; }

@media (max-width: 1260px) {
  .desktop-nav { gap: 14px; }
  .header-inner { gap: 18px; }
}

@media (max-width: 1180px) {
  .desktop-nav { display: none; }
  .header-actions { margin-left: auto; gap: 16px; }
  .menu-toggle { display: flex; }
  .brand-location { display: block; }
}

@media (max-width: 1050px) {
  .hero h1 { font-size: clamp(54px, 6.5vw, 68px); }
  .story-photo .year-stamp { width: 140px !important; height: 140px !important; }
  .year-stamp strong { font-size: 50px; }
  .year-stamp span { font-size: 13px; }
}

@media (max-width: 760px) {
  :root {
    --body-size: 17px;
    --nav-size: 16px;
    --detail-size: 14px;
    --label-size: 14px;
    --heading-size: clamp(38px, 9.5vw, 48px);
  }
  .header-order { display: none; }
  .brand-location { font-size: 12px; }
  .language-switch { font-size: 15px; width: 47px; }
  .header-actions { gap: 10px; }
  .mobile-nav { max-height: calc(100svh - 155px); overflow-y: auto; }
  .hero { min-height: 640px; }
  .hero-inner > * { flex-shrink: 0; }
  .hero h1 { font-size: clamp(44px, 10vw, 60px); line-height: 1.08; }
  .hero-copy { max-width: 360px; line-height: 1.7; }
  .hero-address { font-size: 13px; letter-spacing: .03em; }
  .hero-address span { font-size: 13px; }
  .hero-actions { gap: 18px; }
  .hero-actions .button { padding: 13px 20px; }
  .hero-actions .text-link { font-size: 16px; }
  .slide-controls { gap: 13px; }
  .slide-select { font-size: 14px; min-width: 32px; }
  .slide-pause { width: 40px; height: 40px; }
  .intro-strip { flex-direction: column; align-items: center; text-align: center; font-size: 16px; gap: 12px; }
  .intro-strip > div { justify-content: center; gap: 8px 12px; }
  .intro-strip .strip-message { display: block; font-size: 16px; }
  .intro-strip .dot { display: none; }
  .story-photo .year-stamp { width: 136px !important; height: 136px !important; }
  .story-lead,
  .kitchen-copy p,
  .kitchens-intro p:last-child,
  .review-summary,
  .faq-heading > p:not(.eyebrow),
  .hours { max-width: 100%; }
  .section-heading .heading-aside { max-width: 100%; flex-wrap: wrap; gap: 14px; }
  .heading-aside .text-link { margin-top: 0; }
  .product-info h3 { font-size: clamp(22px, 5.5vw, 28px); line-height: 1.2; }
  .product-info { gap: 6px; }
  .product-arrow { width: 26px; height: 26px; font-size: 18px; border: 0; }
  .product-index { font-size: 13px; }
  .kitchen-copy h3 { font-size: clamp(34px, 8.5vw, 42px); }
  .kitchen-logo[src$="logo-kitchen-white.svg"] { width: 190px; max-width: 65%; }
  .kitchen-tab { font-size: 16px; padding: 17px 8px; }
  .gallery-bottom { flex-wrap: wrap; gap: 14px; }
  .review-credit { flex-wrap: wrap; gap: 10px; }
  .faq-answer { padding-left: 0; padding-right: 0; }
  .contact-status { align-items: flex-start; }
  .status-dot { flex-shrink: 0; margin-top: 9px; }
  .contact-photo figcaption { flex-wrap: wrap; gap: 6px 14px; }
  .contact-buttons .button { padding: 12px 17px; }
  .footer-bottom button { font-size: 14px; }
  .site-footer { padding-bottom: 120px; }
  .mobile-order { gap: 12px; padding-left: 16px; padding-right: 16px; }
  .mobile-order p { font-size: 13px; line-height: 1.6; }
  .mobile-order p small { font-size: 12px; }
  .mobile-order .button { font-size: 15px; padding: 10px 14px; gap: 12px; min-height: 46px; }
  .dialog-head .eyebrow { letter-spacing: .07em; }
  .dialog-body .story-manifesto { font-size: 27px; }
  .lightbox-bottom { flex-wrap: wrap; }
}

@media (max-width: 400px) {
  .brand-location { display: none; }
  .hero { min-height: 650px; }
  .hero h1 { font-size: 43px; }
  .hero-copy { max-width: 300px; }
  .kitchen-tab { font-size: 15px; padding-left: 5px; padding-right: 5px; }
  .mobile-order p { max-width: 145px; }
}
