@font-face {
  font-family: Cormorant;
  src: url('/bruma/fonts/cormorant.woff2') format('woff2');
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: DM;
  src: url('/bruma/fonts/dm-sans.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}
:root {
  --ink: #153e35;
  --paper: #f7f3e9;
  --mint: #a5cfbe;
  --muted: #52685f;
  --line: #c9d0c3;
  --white: #fffcf5;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 20px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 15px/1.5 DM, Arial, sans-serif; }
body.dialog-open { overflow: hidden; }
h1, h2, h3, p, figure, dl, dd { margin: 0; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
button { border: 0; background: none; }
img { width: 100%; height: auto; display: block; }
h1, h2, h3 { font-family: Cormorant, Georgia, serif; font-weight: 500; line-height: 1; letter-spacing: -.035em; }
h1 { font-size: clamp(55px, 6vw, 91px); }
h2 { font-size: clamp(46px, 5vw, 72px); }
em { font-weight: 400; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid #ae5336; outline-offset: 5px; }
.wrap { max-width: 1320px; width: calc(100% - 104px); margin-inline: auto; }
.section-space { padding-block: 94px; }
.eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .15em; line-height: 1.5; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 28px; min-height: 49px; padding: 14px 23px; border-radius: 3px; font-size: 12px; transition: background 160ms; }
.button.dark { background: var(--ink); color: var(--paper); }
.button.dark:hover { background: #286555; }
.text-link { display: inline-flex; align-items: center; min-height: 44px; border-bottom: 1px solid var(--ink); font-size: 12px; padding: 4px 0; }
.skip-link { position: absolute; top: -80px; left: 20px; z-index: 30; padding: 12px 20px; background: var(--white); }
.skip-link:focus { top: 20px; }
.announcement { display: flex; justify-content: center; gap: 22px; background: var(--ink); color: var(--paper); padding: 9px 18px; font-size: 8px; letter-spacing: .1em; }
.announcement span { opacity: .8; }
.header-line { display: flex; align-items: center; justify-content: space-between; padding-block: 21px; border-bottom: 1px solid var(--line); }
.small-brand { font-family: Cormorant, Georgia, serif; font-size: 31px; line-height: 1; letter-spacing: -.04em; font-weight: 600; }
.desktop-nav { display: flex; gap: 30px; font-size: 12px; }
.desktop-nav a { padding: 8px 0; }
.header-call { font-size: 11px; border-bottom: 1px solid var(--line); padding-block: 9px; }
.mobile-phone, .nav-toggle, .mobile-nav, .mobile-bottom { display: none; }
.masthead { padding-top: 29px; padding-bottom: 22px; }
.masthead-note { text-align: center; font-size: 9px; letter-spacing: .34em; }
.wordmark { width: 100%; margin-block: 24px 22px; line-height: normal; }
.wordmark img { display: block; width: 100%; height: auto; aspect-ratio: 1993 / 503; object-fit: contain; }
.masthead-baseline { display: flex; justify-content: space-between; font-size: 8px; letter-spacing: .2em; }
.hero { display: grid; grid-template-columns: .83fr 1.17fr; gap: 60px; padding-top: 33px; padding-bottom: 50px; align-items: center; border-top: 1px solid var(--line); }
.hero-copy .eyebrow { margin-bottom: 24px; }
.hero-description { margin-top: 25px; color: var(--muted); font-size: 16px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 28px; }
.hero-location { margin-top: 29px; font-size: 11px; color: var(--muted); }
.hero-photo { background: #ede3d6; border-radius: 2px; overflow: hidden; }
.hero-photo img { aspect-ratio: 4/3; object-fit: contain; }
.hero-photo figcaption { display: flex; justify-content: space-between; padding: 15px 19px; font-size: 8px; letter-spacing: .06em; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 35px; }
.section-heading .eyebrow { margin-bottom: 17px; }
.section-heading > p { color: var(--muted); font-size: 13px; }
.food-section { border-top: 1px solid var(--line); }
.food-gallery { display: flex; gap: 26px; align-items: start; }
.food-gallery figure { flex: 1; min-width: 0; }
.food-gallery figure:nth-child(2) { margin-top: 40px; }
.food-gallery figure:nth-child(3) { margin-top: 80px; }
.food-gallery img { aspect-ratio: 1/1; object-fit: contain; background: #ebe6dc; }
.food-gallery figcaption { padding-top: 17px; }
.food-gallery h3 { font-size: 28px; margin-bottom: 6px; }
.food-gallery a { font-size: 10px; display: inline-flex; min-height: 36px; align-items: center; }
.specials { background: var(--mint); }
.special-tabs { display: flex; border-block: 1px solid #6b9f8c; margin-top: 34px; }
.special-tabs button { flex: 1; padding: 20px 17px; text-align: left; border-right: 1px solid #6b9f8c; transition: background 160ms; }
.special-tabs button:last-child { border-right: 0; }
.special-tabs span { display: block; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 8px; }
.special-tabs strong { font-family: Cormorant, Georgia, serif; display: block; font-size: 29px; font-weight: 500; letter-spacing: -.02em; }
.special-tabs small { display: block; margin-top: 8px; font-size: 13px; }
.special-tabs .selected { background: var(--ink); color: var(--paper); }
.special-tabs button:not(.selected):hover { background: #bce0cf; }
.special-feature { display: grid; grid-template-columns: .82fr 1.18fr; gap: 55px; margin-top: 34px; align-items: center; }
.special-copy h3 { font-size: clamp(44px, 4.7vw, 66px); margin-block: 22px; }
.special-copy > p:not(.eyebrow) { font-size: 14px; max-width: 310px; }
.status-label { display: block; font-size: 9px; color: var(--muted); margin-top: 17px; }
.special-copy .text-link { margin-top: 15px; }
.special-feature img { aspect-ratio: 4/3; object-fit: contain; background: #e8eedc; }
.fineprint { font-size: 10px; color: var(--muted); margin-top: 26px; line-height: 1.6; }
.menu-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: start; }
.menu-aside { position: sticky; top: 30px; }
.menu-aside img { aspect-ratio: 4/3; object-fit: contain; background: #eee4d8; }
.menu-aside p { font: 500 33px/1.05 Cormorant, Georgia, serif; letter-spacing: -.02em; margin-top: 25px; }
.menu-aside .text-link { margin-top: 12px; }
.menu-main { min-width: 0; }
.menu-filters { display: flex; flex-wrap: wrap; gap: 4px 13px; border-bottom: 1px solid var(--line); padding-bottom: 15px; }
.menu-filters button { padding: 6px 11px; min-height: 39px; font-size: 11px; border-radius: 2px; }
.menu-filters button.active { background: var(--ink); color: var(--paper); }
.menu-category, .addons { border-bottom: 1px solid var(--line); }
summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
.menu-category summary, .addons summary { display: flex; justify-content: space-between; align-items: center; padding-block: 23px; font: 500 34px/1 Cormorant, Georgia, serif; letter-spacing: -.03em; gap: 15px; }
summary span { font: 400 20px DM, sans-serif; transition: transform 160ms; }
details[open] > summary span { transform: rotate(45deg); }
.menu-category dl { padding-bottom: 23px; }
.menu-category dl > div { padding: 10px 0; }
.menu-category dt { display: flex; justify-content: space-between; gap: 22px; font-size: 13px; font-weight: 600; }
.menu-category dt span { white-space: nowrap; font-weight: 500; }
.menu-category dd { font-size: 11px; color: var(--muted); margin-top: 4px; }
.dessert-note { font-size: 11px; padding-bottom: 20px; color: var(--muted); }
.addons { background: #e5ecdf; padding-inline: 15px; }
.addons summary { font-size: 29px; }
.addons p { font-size: 11px; color: var(--muted); }
.addons dl { padding-block: 12px 22px; }
.addons dl > div { display: flex; justify-content: space-between; gap: 15px; padding-block: 7px; font-size: 12px; }
.addons small { display: block; font-size: 10px; color: var(--muted); }
.place-section { background: #e9eee3; padding-block: 85px 75px; }
.place-intro { position: relative; padding-bottom: 34px; }
.place-intro h2 { font-size: clamp(58px, 7vw, 100px); margin-top: 20px; }
.place-intro > p:last-child { position: absolute; right: 0; bottom: 42px; font-size: 13px; color: var(--muted); }
.truck-photo img { aspect-ratio: 1800/1013; object-fit: contain; }
.truck-photo figcaption { font-size: 9px; color: var(--muted); padding-top: 11px; }
.location-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-top: 65px; align-items: start; }
.location-copy h3 { font-size: clamp(32px, 3.9vw, 52px); margin-top: 16px; }
.location-copy address { font-size: 17px; font-style: normal; margin-top: 10px; }
.location-copy > p:not(.eyebrow) { font-size: 13px; color: var(--muted); margin-top: 22px; }
.opening-note { border-left: 2px solid #b26242; padding-left: 15px; }
.location-copy .button { margin-top: 23px; }
.parking { border-block: 1px solid #b5c3b4; margin-top: 30px; padding-block: 18px; max-width: 430px; }
.parking summary { display: flex; justify-content: space-between; font-size: 13px; }
.parking p, .parking a { font-size: 11px; line-height: 1.6; }
.parking p { margin-block: 14px; color: var(--muted); }
.parking a { border-bottom: 1px solid var(--ink); }
.location-visual img { aspect-ratio: 4/3; object-fit: contain; background: #e4e7d9; }
.map-frame { margin-top: 16px; background: #d4e0ce; }
.map-frame button { display: flex; flex-direction: column; align-items: start; gap: 12px; padding: 26px; width: 100%; min-height: 150px; text-align: left; }
.map-frame span { font-size: 8px; letter-spacing: .12em; }
.map-frame strong { font-size: 14px; font-weight: 500; }
.map-frame small { font-size: 9px; color: var(--muted); }
.map-frame iframe { width: 100%; height: 290px; border: 0; display: block; }
.contact-section { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.contact-section h2 { margin-top: 15px; font-size: 90px; }
.contact-links { display: flex; flex-direction: column; align-items: start; gap: 12px; }
.contact-links a:not(.contact-phone), .contact-links button { font-size: 12px; }
.contact-phone { font-family: Cormorant, Georgia, serif; font-size: 37px; letter-spacing: -.02em; }
.contact-links p { font-size: 10px; color: var(--muted); margin-top: 8px; }
.site-footer { background: var(--ink); color: var(--paper); padding-block: 28px; }
.footer-line { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.footer-wordmark { font: 600 67px/.9 Cormorant, Georgia, serif; letter-spacing: -.05em; }
.footer-line p { font-size: 10px; color: #c6d7c8; }
.footer-line > a:not(.footer-wordmark) { font-size: 12px; }
.footer-line > span { font-size: 9px; color: #c6d7c8; }
dialog { border: 1px solid var(--line); border-radius: 4px; padding: 30px; background: var(--paper); color: var(--ink); max-width: 520px; width: calc(100% - 34px); max-height: 90vh; }
dialog::backdrop { background: #122f29b3; }
.dialog-header { display: flex; align-items: center; justify-content: space-between; }
.dialog-close { font-size: 29px; width: 44px; height: 44px; }
dialog h2 { font-size: 46px; margin-top: 15px; }
dialog > p { font-size: 12px; color: var(--muted); margin-block: 15px; }
form { display: flex; flex-direction: column; gap: 14px; }
label { display: flex; flex-direction: column; font-size: 11px; gap: 5px; }
input, textarea { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 3px; background: var(--white); font-size: 16px; }
textarea { resize: vertical; }
.form-row { display: grid; grid-template-columns: .7fr 1.3fr; gap: 15px; }
.form-status { color: var(--muted); font-size: 11px; }
.copy-draft { align-self: center; }
@media (max-width: 1000px) {
  .wrap { width: calc(100% - 64px); }
  .desktop-nav { gap: 20px; }
  .hero { gap: 32px; }
  .hero h1 { font-size: 62px; }
  .hero-description { font-size: 14px; }
  .hero-actions { gap: 13px; }
  .menu-layout { gap: 40px; }
  .location-layout { gap: 40px; }
  .food-gallery h3 { font-size: 24px; }
  .special-tabs strong { font-size: 25px; }
}
@media (max-width: 700px) {
  body { padding-bottom: 62px; }
  .wrap { width: calc(100% - 36px); }
  .section-space { padding-block: 58px; }
  .announcement { font-size: 7px; gap: 10px; padding-block: 8px; letter-spacing: .04em; }
  .announcement span { font-size: 6px; }
  .header-line { padding-block: 12px; justify-content: initial; gap: 18px; }
  .small-brand { font-size: 28px; }
  .desktop-nav, .desktop-phone { display: none; }
  .mobile-phone { display: inline; }
  .header-call { margin-left: auto; padding: 11px 10px; border: 1px solid var(--line); border-radius: 2px; min-height: 44px; display: flex; align-items: center; }
  .nav-toggle { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 38px; height: 44px; padding: 8px 4px; }
  .nav-toggle span { height: 1px; width: 100%; background: var(--ink); }
  .mobile-nav { display: flex; flex-direction: column; margin: 10px 18px; padding: 10px 0; border-bottom: 1px solid var(--line); }
  .mobile-nav a { padding: 10px 0; font-size: 15px; min-height: 44px; }
  .masthead { padding-top: 24px; padding-bottom: 19px; }
  .masthead-note { font-size: 7px; letter-spacing: .25em; }
  .wordmark { margin-block: 18px 17px; }
  .masthead-baseline { font-size: 6px; letter-spacing: .13em; }
  .hero { display: flex; flex-direction: column-reverse; gap: 24px; padding-top: 16px; padding-bottom: 40px; align-items: stretch; }
  .hero-photo figcaption { padding: 11px 12px; font-size: 6px; }
  .hero-copy .eyebrow { font-size: 8px; margin-bottom: 14px; }
  .hero h1 { font-size: clamp(52px, 13vw, 72px); }
  .hero-description { margin-top: 17px; font-size: 14px; }
  .hero-actions { margin-top: 21px; gap: 20px; }
  .hero-location { margin-top: 20px; font-size: 10px; }
  .button, .text-link { min-height: 46px; }
  .section-heading { display: block; margin-bottom: 26px; }
  .section-heading > p { margin-top: 15px; font-size: 12px; }
  h2 { font-size: 48px; }
  .food-gallery { overflow-x: auto; scroll-snap-type: x proximity; gap: 16px; padding-bottom: 10px; }
  .food-gallery figure { flex: 0 0 83%; scroll-snap-align: start; }
  .food-gallery figure:nth-child(2), .food-gallery figure:nth-child(3) { margin-top: 0; }
  .food-gallery h3 { font-size: 27px; }
  .food-gallery a { min-height: 44px; }
  .special-tabs { display: grid; grid-template-columns: 1fr 1fr; margin-top: 22px; }
  .special-tabs button { padding: 15px; min-width: 0; }
  .special-tabs button:nth-child(2) { border-right: 0; }
  .special-tabs button:nth-child(-n+2) { border-bottom: 1px solid #6b9f8c; }
  .special-tabs strong { font-size: 25px; }
  .special-tabs small { font-size: 12px; margin-top: 6px; }
  .special-tabs span { font-size: 8px; }
  .special-feature { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 24px; margin-top: 24px; }
  .special-copy h3 { font-size: 48px; margin-block: 14px; }
  .special-copy > p:not(.eyebrow) { font-size: 13px; }
  .fineprint { font-size: 9px; }
  .menu-layout { display: block; }
  .menu-aside { display: none; }
  .menu-filters { gap: 0 5px; }
  .menu-filters button { min-height: 44px; padding-inline: 9px; font-size: 11px; }
  .menu-category summary { font-size: 30px; padding-block: 22px; }
  .menu-category dt { font-size: 12px; gap: 18px; }
  .menu-category dd { font-size: 10px; }
  .addons summary { font-size: 26px; }
  .place-section { padding-block: 56px; }
  .place-intro h2 { font-size: 65px; }
  .place-intro > p:last-child { position: static; margin-top: 20px; font-size: 12px; }
  .truck-photo figcaption { font-size: 8px; }
  .location-layout { display: flex; flex-direction: column; gap: 30px; margin-top: 34px; }
  .location-copy, .location-visual { width: 100%; }
  .location-copy h3 { font-size: 39px; }
  .location-copy address { font-size: 16px; }
  .map-frame iframe { height: 260px; }
  .contact-section { display: block; }
  .contact-section h2 { font-size: 67px; }
  .contact-links { margin-top: 26px; }
  .contact-phone { font-size: 36px; }
  .contact-links > a { min-height: 44px; display: flex; align-items: center; }
  .footer-line { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
  .footer-wordmark { font-size: 49px; }
  .footer-line > span { text-align: right; }
  .footer-line p { font-size: 9px; text-align: right; }
  .mobile-bottom { display: flex; position: fixed; z-index: 10; left: 0; right: 0; bottom: 0; background: var(--paper); border-top: 1px solid var(--line); padding: 8px 18px calc(8px + env(safe-area-inset-bottom)); gap: 10px; }
  .mobile-bottom a { flex: 1; text-align: center; min-height: 44px; display: flex; align-items: center; justify-content: center; font-size: 11px; border: 1px solid var(--ink); border-radius: 2px; }
  .mobile-bottom a:last-child { background: var(--ink); color: var(--paper); }
  dialog { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
@media print {
  body { padding: 0; }
  .wrap { width: 94%; }
  .mobile-bottom, .nav-toggle, .header-call, .map-frame, .contact-trigger, dialog { display: none !important; }
  .section-space { padding-block: 25px; }
  .food-gallery { overflow: visible; }
  .menu-category, .addons { break-inside: avoid; }
}

.location-phone { margin-left: 18px; margin-top: 15px; }
@media (max-width: 700px) { .location-phone { margin-left: 0; display: flex; width: fit-content; } }

/* Daily bread and lower-page services. */
.daily-bake { display: flex; align-items: center; gap: 45px; max-width: 850px; margin: 65px auto 0; padding-top: 34px; border-top: 1px solid var(--line); }
.daily-bake figure { flex: 0 0 52%; }
.daily-bake img { aspect-ratio: 3/2; object-fit: contain; background: #e6ddcb; }
.daily-bake h3 { font-size: 53px; margin-block: 10px; }
.daily-bake > div > p:last-child { font-size: 12px; color: var(--muted); }
.hero-photo img { aspect-ratio: 3/2; }
.choice-note { font-size: 9px; letter-spacing: .05em; color: var(--muted); margin-top: -9px; margin-bottom: 7px; }
.menu-category dt { font-weight: 500; }
.addons dl > div { display: block; }
.addons dd { font-size: 11px; color: var(--muted); margin-top: 5px; }
.catering-section { display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; gap: 60px; }
.catering-copy h2 { font-size: clamp(45px, 4.8vw, 69px); margin-block: 16px 24px; }
.catering-copy > p:not(.eyebrow):not(.fineprint) { font-size: 13px; color: var(--muted); }
.catering-copy .button { margin-top: 24px; }
.catering-section img { aspect-ratio: 1800/1013; object-fit: contain; }
.specials.discreet-specials { background: none; padding-block: 27px; border-block: 1px solid var(--line); }
.specials-disclosure > summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 77px; }
.specials-disclosure h2 { font-size: 43px; margin-top: 8px; }
.specials-disclosure .eyebrow { font-size: 8px; }
.specials-disclosure .disclosure-label { font: 400 11px DM, Arial, sans-serif; display: flex; gap: 18px; align-items: center; transform: none; }
.specials-disclosure[open] > summary > .disclosure-label { transform: none; }
.disclosure-label b { font-weight: 400; font-size: 23px; }
.specials-disclosure[open] .disclosure-label b { transform: rotate(45deg); }
.specials-body { background: #e9eee3; padding: 27px; margin-top: 24px; }
.specials-body .special-tabs { margin-top: 0; }
.specials-body .special-tabs strong { font-size: 26px; }
.specials-body .special-copy h3 { font-size: 48px; }
.follow-section { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.follow-copy h2 { margin-block: 15px 21px; }
.follow-copy > p:not(.eyebrow):not(.fineprint) { font-size: 13px; color: var(--muted); }
.follow-copy .text-link { margin-top: 15px; }
.follow-copy .fineprint { margin-top: 10px; }
.rewards-card { background: var(--mint); padding: 38px; }
.rewards-card h3 { font-size: 46px; margin-block: 15px 20px; }
.rewards-card > p:last-of-type { font-size: 13px; }
.rewards-card .text-link { margin-top: 19px; }
.contact-section { padding-block: 33px 55px; border-top: 1px solid var(--line); }
.contact-section h2 { font-size: 56px; }
.contact-phone { font-size: 30px; }
select { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 3px; background: var(--white); color: var(--ink); font: 16px DM, Arial, sans-serif; }
@media (max-width: 700px) {
  .daily-bake { gap: 20px; margin-top: 37px; padding-top: 23px; align-items: start; }
  .daily-bake figure { flex-basis: 50%; }
  .daily-bake h3 { font-size: 36px; }
  .daily-bake .eyebrow { font-size: 7px; }
  .daily-bake > div > p:last-child { font-size: 10px; }
  .catering-section { display: flex; flex-direction: column-reverse; gap: 28px; align-items: stretch; }
  .catering-copy h2 { font-size: 48px; }
  .specials.discreet-specials { padding-block: 22px; }
  .specials-disclosure h2 { font-size: 40px; }
  .specials-disclosure .disclosure-label { font-size: 9px; gap: 8px; max-width: 108px; }
  .specials-disclosure .eyebrow { font-size: 7px; }
  .specials-body { padding: 17px; }
  .specials-body .special-tabs strong { font-size: 22px; }
  .specials-body .special-tabs button { padding: 12px; }
  .specials-body .special-copy h3 { font-size: 42px; }
  .follow-section { grid-template-columns: 1fr; gap: 29px; }
  .rewards-card { padding: 28px; }
  .rewards-card h3 { font-size: 44px; }
  .contact-section { padding-block: 28px 40px; }
  .contact-section h2 { font-size: 48px; }
  .contact-links { margin-top: 18px; }
}

/* Keep daily baking secondary to the fresh takeaway hero. */
.daily-bake-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; min-width: 0; }
.daily-bake-photos img { width: 100%; aspect-ratio: 3/2; object-fit: contain; }
@media (max-width: 700px) {
  .daily-bake-photos { grid-template-columns: 1fr; gap: 9px; }
}

/* Approved BRÜMA film: keep the full landscape composition on every screen. */
.hero-film video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: var(--paper);
}
.film-note {
  padding: 0 19px 15px;
  font-size: 10px;
  line-height: 1.5;
  color: var(--muted);
}
@media (max-width: 700px) {
  .film-note { padding: 0 12px 12px; font-size: 9px; }
}
@media print {
  .hero-film video { display: none; }
  .hero-film::before {
    content: "";
    display: block;
    aspect-ratio: 16 / 9;
    background: url('/manus-storage/hero_v2_landscape_bf03084e.png') center / contain no-repeat;
  }
  .film-note { display: none; }
}

/* Specials stays compact and expandable, now immediately below the hero. */
.specials.featured-specials {
  background: var(--mint);
  border: 1px solid #83b39e;
  border-radius: 3px;
  padding: 24px;
  margin-bottom: 46px;
}
.featured-specials .specials-disclosure > summary { gap: 24px; }
.specials-preview { width: 105px; height: 80px; object-fit: cover; border-radius: 2px; flex-shrink: 0; }
.featured-specials summary > div { flex: 1; }
.featured-specials .disclosure-label { background: var(--ink); color: var(--paper); padding: 12px 18px; border-radius: 2px; min-height: 46px; font-size: 12px; }
.featured-specials .disclosure-label span { font: inherit; transform: none; transition: none; }
.featured-specials[open] > summary > .disclosure-label { transform: none; }
.featured-specials summary:hover .disclosure-label { background: #286555; }
.featured-specials .specials-body { border-radius: 2px; }
.desktop-nav .nav-specials { font-weight: 600; border-bottom: 2px solid var(--mint); }
@media (max-width: 700px) {
  .specials.featured-specials { padding: 18px; margin-bottom: 30px; }
  .featured-specials .specials-disclosure > summary { display: grid; grid-template-columns: 68px 1fr; gap: 12px 16px; }
  .featured-specials .specials-preview { width: 68px; height: 66px; }
  .featured-specials .specials-disclosure h2 { font-size: 38px; margin-top: 5px; }
  .featured-specials .disclosure-label { grid-column: 1 / -1; max-width: none; justify-content: space-between; font-size: 11px; padding: 10px 14px; }
}

/* Keep the existing contact email directly above the phone. */
.header-contact { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; min-width: 0; }
.header-email { font-size: 11px; line-height: 1.4; padding-block: 5px; overflow-wrap: anywhere; text-align: right; }
.header-email:hover { text-decoration: underline; }
@media (max-width: 1000px) and (min-width: 701px) {
  .header-line { gap: 18px; }
  .header-email { font-size: 10px; }
  .desktop-nav { gap: 15px; }
}
@media (max-width: 700px) {
  .header-contact { margin-left: auto; flex: 1; }
  .header-email { font-size: 10px; max-width: 100%; min-height: 28px; }
  .header-contact .header-call { margin-left: 0; }
  .nav-toggle { flex-shrink: 0; }
  .small-brand { flex-shrink: 0; }
}

/* Minimal channel clarification and inquiry-only pickup page. */
.inquiry-links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; margin-top: 13px; }
.special-pickup-link { margin-right: 18px; }
.channels-section { padding: 30px 0; border-block: 1px solid var(--line); }
.channels-section h2 { font-size: 36px; margin-top: 12px; }
.channels-section > h3 { font-size: 24px; line-height: 1.15; margin-block: 18px 10px; }
.channels-section > p:not(.eyebrow), .app-offer-note > p:not(.eyebrow) { max-width: 82ch; font-size: 12px; line-height: 1.7; color: var(--muted); }
.app-offer-note { border-left: 2px solid var(--mint); padding-left: 18px; margin-top: 22px; }
.app-offer-note h3 { font-size: 24px; line-height: 1.2; margin-block: 8px 10px; }
.pickup-header { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding-block: 24px; border-bottom: 1px solid var(--line); }
.pickup-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; padding-top: 60px; }
.pickup-intro h1 { font-size: clamp(48px, 5.2vw, 76px); margin-block: 20px 24px; }
.pickup-intro > p:not(.eyebrow):not(.fineprint) { font-size: 13px; line-height: 1.7; color: var(--muted); }
.pickup-intro .opening-note { margin-top: 20px; }
.pickup-intro figure { margin-block: 26px 18px; }
.pickup-intro img { aspect-ratio: 4 / 3; object-fit: contain; }
.pickup-price strong { color: var(--ink); font-size: 15px; }
.pickup-form-panel { min-width: 0; }
.pickup-form-panel h2 { font-size: 42px; }
.pickup-fallback { font-size: 12px; line-height: 1.7; color: var(--muted); margin-block: 20px 25px; }
.field-note { font-size: 10px; line-height: 1.6; color: var(--muted); }
.marketing-consent { flex-direction: row; align-items: flex-start; gap: 10px; font-size: 11px; line-height: 1.6; }
.marketing-consent input { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 2px; accent-color: var(--ink); }
#copy-pickup { align-self: flex-start; }
.pickup-form-panel button:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 700px) {
  .channels-section h2 { font-size: 31px; line-height: 1.1; }
  .channels-section > h3, .app-offer-note h3 { font-size: 23px; }
  .pickup-page { padding-bottom: 0; }
  .pickup-layout { display: block; padding-block: 36px 48px; }
  .pickup-intro h1 { font-size: 55px; }
  .pickup-intro figure { max-width: 440px; }
  .pickup-form-panel { margin-top: 38px; border-top: 1px solid var(--line); padding-top: 30px; }
  .pickup-form-panel h2 { font-size: 36px; }
  .pickup-form-panel .form-row { grid-template-columns: 1fr; }
  .pickup-header .text-link { font-size: 11px; }
}
.pickup-fallback a { text-decoration: underline; overflow-wrap: anywhere; }

/* App-only Lunch Duo: a restrained wine-red accent, no platform branding. */
.special-tabs button.app-only-special { background: #f1e2de; color: #86333e; }
.special-tabs button.app-only-special.selected { background: #983c45; color: var(--paper); }
.special-tabs button.app-only-special:not(.selected):hover { background: #e8cfcb; }
.special-feature.is-app-duo .special-copy { border-left: 3px solid #983c45; padding-left: 18px; }
.is-app-duo .special-copy .eyebrow { color: #86333e; }
.is-app-duo .status-label { font-size: 11px; line-height: 1.7; }
.special-copy > p.app-promo-terms { font-size: 10px; line-height: 1.6; color: var(--muted); margin-top: 12px; }

/* Preserve editorial spacing for the approved shorter marketing copy. */
.channels-section .marketing-plan-copy { margin-top: 18px; }
.channels-section .marketing-commitment { margin-top: 12px; }

/* Preserve the approved masthead and original vertical mark at menu. */
.masthead .brand-masthead-tagline { margin-block: 26px 22px; }
.menu-section .menu-brand-intro { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 34px; }
.menu-intro-copy > p { color: var(--muted); font-size: 13px; margin-top: 22px; }
.menu-brand-mark { width: clamp(150px, 16vw, 220px); }
.menu-brand-mark img { width: 100%; height: auto; object-fit: contain; }
.featured-specials .specials-body { position: relative; isolation: isolate; }
.featured-specials .specials-body::before { content: ''; position: absolute; right: 24px; bottom: 28px; width: 220px; height: 330px; background: var(--specials-brand-mark) center / contain no-repeat; opacity: .045; pointer-events: none; z-index: -1; }
:root { --specials-brand-mark: url("/manus-storage/bruma-vertical-web_126fc861.webp"); }
/* One simple finale: venue, vertical BRÜMA, food descriptor, truck. */
.site-footer:has(.brand-finale) { padding-bottom: 0; }
.brand-finale { background: var(--paper); color: var(--ink); margin-top: 28px; padding-block: 48px; border-top: 1px solid var(--line); }
.brand-finale-inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.finale-venue-logo { display: block; width: min(66%, 440px); }
.finale-venue-logo img { width: 100%; height: auto; mix-blend-mode: multiply; }
.finale-vertical-logo { display: block; width: 125px; margin-top: 24px; }
.finale-vertical-logo img { width: 100%; height: auto; }
.brand-finale-tagline { font-size: 11px; font-weight: 500; letter-spacing: .25em; margin-top: 15px; }
.brand-finale-food { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 12px; margin-top: 11px; font-size: 10px; letter-spacing: .09em; }
.brand-finale-food span + span::before { content: '·'; margin-right: 12px; }
.finale-truck-photo { width: min(100%, 720px); margin-top: 24px; }
.finale-truck-photo img { width: 100%; height: auto; object-fit: contain; border-radius: 2px; }
@media (max-width: 700px) {
  .masthead .brand-masthead-tagline { margin-block: 17px 22px; font-size: 8px; }
  .menu-section .menu-brand-intro { gap: 14px; margin-bottom: 28px; }
  .menu-brand-mark { width: clamp(100px, 30vw, 145px); }
  .menu-brand-intro h2 { font-size: clamp(38px, 10vw, 48px); }
  .menu-intro-copy > p { font-size: 11px; margin-top: 17px; }
  .featured-specials .specials-body::before { width: 160px; height: 240px; bottom: 32px; right: 14px; opacity: .035; }
  .brand-finale { padding-block: 32px; }
  .finale-venue-logo { width: min(85%, 350px); }
  .finale-vertical-logo { width: 106px; margin-top: 20px; }
  .brand-finale-tagline { font-size: 10px; }
  .brand-finale-food { font-size: 9px; gap: 5px 8px; letter-spacing: .05em; }
  .brand-finale-food span + span::before { margin-right: 8px; }
  .finale-truck-photo { margin-top: 22px; }
}

/* Identify the City location without adding another logo. */
.finale-location { margin-top: 9px; font-size: 9px; letter-spacing: .14em; color: var(--muted); }

/* Approved truck views: side by side at every screen size. */
.finale-truck-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(8px, 1.5vw, 20px);
  width: min(100%, 1120px);
  margin-top: 24px;
}
.finale-truck-gallery figure { min-width: 0; margin: 0; }
.finale-truck-gallery a { display: block; aspect-ratio: 4 / 3; }
.finale-truck-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 2px;
}
.finale-truck-gallery a:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
@media (max-width: 700px) {
  .finale-truck-gallery { margin-top: 22px; }
}
