@font-face { font-family: "Butler"; src: url("assets/butler-regular.woff2") format("woff2"); font-display: swap; }

:root {
  --ink: #2b1b17;
  --ink-soft: #3b2418;
  --cream: #f8f1ea;
  --cream-muted: #ded2c9;
  --rose: #dfa79b;
  --rose-deep: #b96f68;
  --rose-light: #f0cbc3;
  --gold: #c9a25d;
  --gold-light: #e2ca94;
  --line: rgba(251, 245, 238, .58);
  --page-edge: clamp(24px, 4.2vw, 72px);
  --sans: "EB Garamond", Georgia, serif;
  --display: "EB Garamond", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; overflow-x: hidden; color: var(--ink); background: var(--cream); font-family: var(--sans); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Global navigation */
.site-header {
  position: fixed; z-index: 80; top: 0; left: 0; display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: clamp(25px, 2.6vw, 42px) var(--page-edge); color: var(--cream); opacity: 0; transform: translateY(-18px);
  transition: color .25s ease, opacity .75s ease .7s, transform .75s cubic-bezier(.16, 1, .3, 1) .7s;
}
.site-header { position: fixed !important; z-index: 1000 !important; top: 0 !important; right: 0 !important; left: 0 !important; display: flex !important; opacity: 1 !important; transform: none !important; visibility: visible !important; mix-blend-mode: normal !important; pointer-events: auto !important; }
body.is-ready .site-header { opacity: 1; transform: translateY(0); }
.site-mark__wordmark { display: block; color: currentColor; font: 700 clamp(1.38rem, 1.6vw, 2rem)/.9 var(--display); letter-spacing: 0em; }
.site-nav { display: flex; align-items: center; gap: clamp(22px, 2.3vw, 45px); }
.nav-services { position: static; }
.nav-link, .nav-link--button { display: inline-flex; gap: .35em; padding: .3em 0; color: currentColor; border: 0; background: transparent; cursor: pointer; font: 600 clamp(.78rem, .95vw, 1rem) "Helvetica Neue", Helvetica, Arial, sans-serif; transition: color .2s ease; }
.nav-link:hover, .nav-link:focus-visible, .nav-link--button:hover, .nav-link--button:focus-visible { color: var(--rose-light); }
.nav-link--button { position: relative; }
.nav-link--button::after { position: absolute; right: 0; bottom: -.4em; left: 0; height: 1px; content: ""; background: currentColor; opacity: 0; transform: scaleX(.25); transition: opacity .2s ease, transform .25s ease; }
.nav-link__plus { display: inline-block; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.nav-cta { padding: .82em clamp(1.2rem, 1.8vw, 2rem); border: 1px solid currentColor; border-radius: 100px; color: currentColor; font: 400 clamp(.82rem, 1vw, 1rem) "Helvetica Neue", Helvetica, Arial, sans-serif; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.nav-cta:hover, .nav-cta:focus-visible { border-color: var(--cream); color: var(--ink); background: var(--cream); }
body.is-light-nav .site-header { color: var(--ink); }
body.is-dark-content-nav .site-header { color: var(--cream) !important; opacity: 1 !important; transform: none !important; visibility: visible !important; }
body.is-dark-content-nav .nav-link:hover, body.is-dark-content-nav .nav-link:focus-visible, body.is-dark-content-nav .nav-link--button:hover, body.is-dark-content-nav .nav-link--button:focus-visible { color: var(--rose-light); }
body.is-dark-content-nav .nav-cta:hover, body.is-dark-content-nav .nav-cta:focus-visible { color: var(--ink); background: var(--cream); border-color: var(--cream); }
body.is-light-nav .nav-link:hover, body.is-light-nav .nav-link:focus-visible, body.is-light-nav .nav-link--button:hover, body.is-light-nav .nav-link--button:focus-visible { color: var(--rose); }
body.is-light-nav .nav-cta:hover, body.is-light-nav .nav-cta:focus-visible { color: var(--cream); background: var(--ink); border-color: var(--ink); }
body.is-light-nav.is-dark-content-nav .site-header { color: var(--cream) !important; }

.services-panel { position: fixed; z-index: 70; top: 0; right: 0; left: auto; width: auto; min-height: 0; overflow: hidden; padding: 0; color: var(--ink); border-radius: 0 0 0 38px; background: var(--cream); box-shadow: 0 28px 70px rgba(0,0,0,.24); opacity: 0; pointer-events: none; transform: translateY(-104%); transition: transform .62s cubic-bezier(.16, 1, .3, 1), opacity .22s ease; }
.services-panel__links { position: absolute; top: clamp(102px, 8vw, 140px); left: var(--page-edge); display: grid; justify-items: start; gap: clamp(8px, 1.2vh, 15px); }
.services-panel a { color: var(--ink); font: 400 clamp(1.1rem, 2.05vw, 2.35rem)/.96 var(--display); letter-spacing: -.06em; transition: color .2s ease, transform .25s cubic-bezier(.16,1,.3,1); }
.services-panel a:hover, .services-panel a:focus-visible { color: var(--rose); transform: translateX(10px); }
.services-panel[hidden], .mobile-menu[hidden] { display: none; }
body.services-open .services-panel { opacity: 1; pointer-events: auto; transform: translateY(0); }
body.services-open .site-header { z-index: 75; color: var(--ink); pointer-events: none; }
body.services-open .site-header .site-nav { pointer-events: auto; }
body.services-open .site-header .nav-cta { color: var(--ink); border-color: rgba(30,23,21,.75); }
body.services-open .site-header .nav-cta:hover, body.services-open .site-header .nav-cta:focus-visible { border-color: var(--ink); color: var(--cream); background: var(--ink); }
body.services-open .site-header .nav-link:not(.nav-link--button):hover, body.services-open .site-header .nav-link:not(.nav-link--button):focus-visible { color: var(--rose); }
body.services-open .site-header .nav-link--button::after { opacity: 1; transform: scaleX(1); }
body.services-open .site-header .nav-link__plus { transform: rotate(90deg); }
.menu-toggle, .mobile-menu { display: none; }

/* Hero and scroll expansion */
.hero { position: relative; z-index: 1; height: 190svh; background: var(--ink); }
.hero__stage { --hero-progress: 0; position: sticky; top: 0; height: 100svh; min-height: 720px; overflow: hidden; isolation: isolate; background: var(--ink); }
.hero__background { position: absolute; z-index: -2; inset: 0; background: radial-gradient(58% 54% at 14% 42%, rgba(94,68,62,.30), transparent 70%), radial-gradient(62% 72% at 84% 0%, rgba(105,78,68,.23), transparent 66%), linear-gradient(123deg,#191312 2%,#211917 52%,#171211 100%); opacity: 0; transform: scale(1.035); transition: opacity 1.2s ease, transform 2s cubic-bezier(.16,1,.3,1); }
.hero__background::after { position: absolute; inset: 0; content: ""; opacity: .26; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.48'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
body.is-ready .hero__background { opacity: 1; transform: scale(1); }
.hero__content { position: absolute; inset: 0; display: grid; place-items: center; padding: 105px 24px 86px; }
.hero__image-frame { position: relative; width: clamp(292px,30vw,458px); height: 700px; overflow: hidden; border-radius: calc(999px * (1 - var(--hero-progress))); box-shadow: 0 38px 95px rgba(0,0,0,.38); opacity: 0; transform: scale(.72); transition: opacity .7s ease .1s, transform 1.5s cubic-bezier(.16,1,.3,1) .1s, border-radius .08s linear; }
body.is-ready .hero__image-frame { opacity: 1; transform: scale(calc(1 + var(--hero-progress) * 2.7)); }
.hero__image-frame::before { position: absolute; z-index: 2; inset: 0; content: ""; border: 1px solid rgba(255,255,255,.16); border-radius: inherit; pointer-events: none; }
.hero__image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 51% 49%; transform: scale(calc(1.42 - var(--hero-progress) * .36)); filter: saturate(.84) contrast(1.08) brightness(.9); transition: transform 1.85s cubic-bezier(.16,1,.3,1) .17s, filter 1.2s ease; }
body.is-ready .hero__image { filter: saturate(.9) contrast(1.04) brightness(.94); }
.hero__image-glow { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.04),transparent 38%,rgba(27,11,7,.25)); pointer-events: none; }
.hero__title { position: absolute; z-index: 3; top: 50%; left: 50%; display: grid; width: min(100%,1280px); margin: 0; color: var(--cream); font: 700 clamp(5rem,12.6vw,12.1rem)/.72 var(--display); letter-spacing: 0em; row-gap: clamp(8px,.6vw,14px); text-align: center; opacity: 0; transform: translate(-50%,-43%); transition: opacity .7s ease .42s; }
body.is-ready .hero__title { opacity: 1; }
.hero__word { display: block; white-space: nowrap; text-shadow: 0 2px 38px rgba(0,0,0,.16); }
.hero__letter { display: inline-block; transform: translateY(0); will-change: opacity, transform; }
.hero__word--goodness { padding-right: .12em; }.hero__word--union { padding-left: .1em; }
.hero__arc-copy { position: absolute; z-index: 4; top: calc(50% + clamp(310px,19.4vw,340px)); left: 50%; width: clamp(420px,29vw,520px); overflow: visible; fill: var(--cream-muted); font: 500 14px "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: .06em; opacity: 0; transform: translate(-50%,-10px); transition: opacity .7s ease 0s, transform .9s cubic-bezier(.16,1,.3,1) 1.1s; }
body.is-ready .hero__arc-copy { opacity: calc(1 - var(--hero-progress) * 5); transform: translate(-50%,0); }
.hero__scroll-cue { position: absolute; z-index: 5; bottom: 20px; left: 50%; display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--cream-muted); font: 600 .67rem "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase; opacity: 0; transform: translate(-50%,12px); transition: color .2s ease, opacity .7s ease 1.35s, transform .85s cubic-bezier(.16,1,.3,1) 1.35s; }
body.is-ready .hero__scroll-cue { opacity: calc(1 - var(--hero-progress) * 2); transform: translate(-50%,0); }
.hero__scroll-cue:hover, .hero__scroll-cue:focus-visible { color: var(--rose-light); }
.hero__scroll-mouse { position: relative; display: block; width: 22px; height: 28px; border: 1px solid currentColor; border-radius: 100px; }.hero__scroll-dot { position: absolute; top: 5px; left: 50%; width: 4px; height: 6px; border-radius: 100px; background: currentColor; transform: translateX(-50%); animation: scroll-wheel 2.1s ease-in-out infinite 2.2s; }
@keyframes scroll-wheel { 0% { transform: translate(-50%,0); opacity: 0; } 15% { opacity: 1; } 72% { transform: translate(-50%,13px); opacity: .18; } 100% { transform: translate(-50%,13px); opacity: 0; } }

/* Homepage content */
.section { position: relative; padding: clamp(90px,12vw,190px) var(--page-edge); background: var(--cream); }.section-rule { display: flex; align-items: center; gap: 18px; margin-bottom: clamp(58px,8vw,110px); color: rgba(30,23,21,.78); font-size: .63rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.section-rule::after { flex: 1; height: 1px; content: ""; background: rgba(30,23,21,.22); }.eyebrow { margin: 0 0 20px; color: var(--rose); font-size: .7rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
h2, h3, p { margin-top: 0; }h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: -.055em; }h2 { margin-bottom: 0; font-size: clamp(3.5rem,7.1vw,8.9rem); line-height: .86; }p { font-size: clamp(.96rem,1.2vw,1.22rem); line-height: 1.55; }.text-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 28px; border-bottom: 1px solid currentColor; padding-bottom: 6px; font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: color .2s ease; }.text-link:hover { color: var(--rose); }.text-link span { font-size: 1rem; }
.intro { padding-bottom: clamp(100px,16vw,250px); }.intro__grid { display: grid; grid-template-columns: minmax(0,1.22fr) minmax(280px,.55fr); gap: clamp(45px,10vw,170px); align-items: end; }.intro__copy { max-width: 510px; padding-bottom: .6vw; }.intro__detail { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: clamp(30px,7vw,110px); align-items: end; max-width: 980px; margin-top: clamp(85px,14vw,210px); }.intro__detail p { max-width: 380px; margin-bottom: 0; }.intro__monogram { color: var(--rose); font: 400 clamp(4.5rem,12vw,13rem)/.7 var(--display); letter-spacing: -.15em; }
.intro__statement { max-width: 1700px; margin: 0 auto; font: 400 clamp(3.6rem, 7.15vw, 4rem)/1.1 var(--display); letter-spacing: -.065em; }
.services { padding-top: 0; }.services__heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.52fr); gap: clamp(50px,12vw,210px); align-items: end; }.services__heading p { max-width: 380px; margin-bottom: 0; }.services__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: clamp(70px,10vw,150px); background: rgba(30,23,21,.22); border: 1px solid rgba(30,23,21,.22); }.service-card { min-height: clamp(290px,30vw,420px); padding: clamp(27px,3.2vw,55px); background: var(--cream); transition: background .3s ease, color .3s ease; }.service-card:hover { color: var(--cream); background: var(--ink); }.service-card__number { display: block; color: var(--rose); font-size: .68rem; font-weight: 700; letter-spacing: .14em; }.service-card h3 { margin: clamp(55px,8vw,120px) 0 18px; font-size: clamp(2.15rem,3.4vw,4rem); line-height: .92; }.service-card p { max-width: 285px; margin-bottom: 0; font-size: .9rem; }
.services .section-rule, .service-card p { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.service-card__number { font-size: 8rem; line-height: .75; letter-spacing: 0rem; }
.services__heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.52fr); column-gap: clamp(50px,12vw,210px); row-gap: 12px; align-items: end; }
.services__heading .services__eyebrow { grid-column: 1 / -1; margin: 0 0 12px; color: rgba(30,23,21,.68); font: 700 clamp(.78rem,1.1vw,1.05rem)/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: .14em; text-align: left; text-transform: uppercase; }
.services__heading h2 { grid-column: 1; max-width: 760px; font-size: clamp(4.5rem, 8.2vw, 10rem); line-height: .8; text-transform: none; }
.services__support { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.52fr); column-gap: clamp(50px,12vw,210px); align-items: start; text-align: left; }
.services__support p { grid-column: 1; max-width: 760px; margin: 0; }
.services__support .button { grid-column: 2; margin-top: 0; }

body.header-hidden .site-header { opacity: 1 !important; transform: translateY(-130%) !important; pointer-events: none !important; transition: transform .38s cubic-bezier(.16,1,.3,1), opacity .25s ease; }
.site-header { transition: color .25s ease, transform .42s cubic-bezier(.16,1,.3,1), opacity .3s ease; }
body.header-hidden .site-header { transition: transform 2s cubic-bezier(.16,1,.3,1) .75s, opacity 2s ease .75s; }
.why-goodness { padding-top: clamp(110px, 13vw, 190px); }
.why-goodness .section-rule { margin-bottom: 48px; color: var(--gold); }
.why-goodness .section-rule span { color: #C9A25D; font: 700 14px/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.why-goodness .section-rule::after { background: rgba(201,162,93,.38); }
.why-goodness__heading h2 { max-width: 24ch; }
.why-goodness__intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.52fr); column-gap: clamp(50px,12vw,210px); row-gap: 12px; align-items: end; }
.why-goodness__headline { grid-column: 1; }
.why-goodness__headline h2 { max-width: 760px; font-size: clamp(4.5rem, 8.2vw, 10rem); line-height: .8; letter-spacing: -.055em; }
.why-goodness__support { max-width: 780px; padding-bottom: 8px; }
.why-goodness__support { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.52fr); column-gap: clamp(50px,12vw,210px); align-items: start; }
.why-goodness__support p { grid-column: 1; max-width: 760px; margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: clamp(1.15rem, 1.65vw, 1.65rem); line-height: 1.35; }
.why-goodness__support .button { grid-column: 2; margin-top: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.why-goodness__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: clamp(90px, 10vw, 150px); }
.why-goodness__card { position: relative; z-index: 0; min-height: 390px; padding: 34px clamp(24px, 3vw, 52px) 50px; border-radius: 24px; background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.3) 100%); transition: color .35s ease, background .35s ease, transform .35s cubic-bezier(.16,1,.3,1); will-change: transform; }
.why-goodness__card:hover { z-index: 1; color: #fff; background: var(--gold); transform: scale(1.035); }
.why-goodness__card:first-child:hover { background: linear-gradient(180deg, rgba(201,162,93,1) 0%, rgba(201,162,93,.65) 100%), url("assets/services-corporate-cheese.png") center / cover no-repeat; }
.why-goodness__card:nth-child(2):hover { background: linear-gradient(180deg, rgba(201,132,123,1) 0%, rgba(201,132,123,.65) 100%), url("assets/services-special-samosas.png") center / cover no-repeat; }
.why-goodness__card:nth-child(3):hover { background: linear-gradient(180deg, rgba(43,27,23,.95) 0%, rgba(43,27,23,.6) 100%), url("assets/services-corporate-brussels.png") center / cover no-repeat; }
.story__image { border: 1px solid var(--gold); }
.story__copy .eyebrow { font-size: 14px; }
.why-goodness__card + .why-goodness__card { border-left: 0; padding-left: clamp(24px, 3vw, 52px); }
.why-goodness__number { display: block; color: var(--rose-deep); font: 700 1.25rem/1 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: .04em; transition: color .35s ease; }
.why-goodness__card:hover .why-goodness__number { color: #fff; }
.why-goodness__card h3 { max-width: 410px; margin: 52px 0 28px; font-size: clamp(2.45rem, 4vw, 4.5rem); line-height: .86; font-weight: 700; letter-spacing: -.04em; }
.why-goodness__card h3 { font-size: 42px; line-height: .8; }
.why-goodness__card h3, .why-goodness__card p { transition: color .35s ease, text-shadow .35s ease; }
.why-goodness__card p { max-width: 430px; margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1rem; line-height: 1.45; }
.why-goodness__card:hover h3, .why-goodness__card:hover p { text-shadow: 0 0 18px rgba(255,255,255,.22); }
.menus .section-rule, .menus .eyebrow, .menu-card__copy > span, .menu-card p { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.menus__note { align-items: start; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.story__copy .eyebrow, .story__copy > p:not(.eyebrow), .story__copy .text-link, .contact .eyebrow, .contact p:not(.eyebrow), .contact .button { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.menus { color: var(--cream); background: var(--ink); }.menus .section-rule { color: var(--cream-muted); }.menus .section-rule::after { background: rgba(251,245,238,.22); }.menus .eyebrow { color: var(--rose-light); }.menus__heading { max-width: 1050px; }.menus__cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(40px,10vw,180px); max-width: 1200px; margin: clamp(82px,12vw,170px) auto 0; }.menu-card--offset { margin-top: clamp(90px,13vw,210px); }.menu-card__image-wrap { position: relative; aspect-ratio: .76; overflow: hidden; background: #e8b4a9; }.menu-card__image-wrap::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg,transparent 60%,rgba(30,23,21,.16)); pointer-events: none; }.menu-card__image-wrap img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .7s cubic-bezier(.16,1,.3,1); }.menu-card:hover .menu-card__image-wrap img { transform: scale(1.035); }.menu-card__copy { padding-top: 20px; }.menu-card__copy > span, .menus__note > span { color: var(--rose-light); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.menu-card h3 { max-width: 520px; margin: 11px 0 10px; font-size: clamp(2.25rem,4vw,4.8rem); line-height: .9; }.menu-card p { max-width: 410px; margin-bottom: 0; color: var(--cream-muted); font-size: .94rem; }.menus__note { display: grid; grid-template-columns: .3fr .9fr auto; gap: 35px; align-items: end; max-width: 1200px; margin: clamp(120px,16vw,250px) auto 0; padding-top: 28px; border-top: 1px solid rgba(251,245,238,.26); }.menus__note p { max-width: 590px; margin-bottom: 0; color: var(--cream-muted); }.button { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 0 22px; border: 1px solid currentColor; border-radius: 100px; font-size: .7rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }.button:hover { transform: translateY(-3px); }.button--dark { color: var(--ink); background: var(--cream); }.button--dark:hover { color: var(--cream); background: var(--rose); border-color: var(--rose); }
.story { display: grid; grid-template-columns: minmax(0,.87fr) minmax(330px,.75fr); gap: clamp(45px,10vw,170px); align-items: center; min-height: min(900px,82svh); }.story__image { height: min(720px,65vw); overflow: hidden; border-radius: 260px 260px 0 0; background: var(--ink); }.story__image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 51%; filter: saturate(.78) contrast(1.05) brightness(.87); }.story__copy h2 { max-width: 650px; font-size: clamp(3.8rem,6.3vw,7.8rem); }.story__copy > p:not(.eyebrow) { max-width: 480px; margin: 34px 0 0; }
.contact { overflow: hidden; color: var(--cream); background: var(--rose); text-align: center; }.contact::before { position: absolute; top: -35vw; left: -15vw; width: 60vw; height: 60vw; border: 1px solid rgba(251,245,238,.22); border-radius: 50%; content: ""; }.contact::after { position: absolute; right: -30vw; bottom: -40vw; width: 65vw; height: 65vw; border: 1px solid rgba(251,245,238,.18); border-radius: 50%; content: ""; }.contact__inner { position: relative; z-index: 1; max-width: 970px; margin: auto; }.contact .eyebrow { color: var(--cream); }.contact h2 { font-size: clamp(4rem,8.2vw,10rem); }.contact p:not(.eyebrow) { max-width: 460px; margin: 34px auto; color: rgba(251,245,238,.88); }.button--light { color: var(--cream); }.button--light:hover { color: var(--rose); background: var(--cream); }.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px var(--page-edge); color: var(--cream-muted); background: var(--ink); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }.site-footer__mark { color: var(--cream); font: 400 1.5rem var(--display); letter-spacing: -.06em; text-transform: none; }.site-footer a:hover { color: var(--rose-light); }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .9s cubic-bezier(.16,1,.3,1); }.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 800px) {
  .site-header { padding: 24px; }.site-nav { display: none; }.menu-toggle { display: grid; width: 42px; gap: 6px; padding: 11px 6px; border: 0; background: transparent; cursor: pointer; }.menu-toggle:focus { outline: none; }.menu-toggle:focus-visible { outline: 2px solid var(--rose-light); outline-offset: 5px; }.menu-toggle span:not(.sr-only) { height: 1px; background: currentColor; transition: transform .2s ease; }.menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-of-type(3) { transform: translateY(-3.5px) rotate(-45deg); }.mobile-menu { position: fixed; z-index: 90; top: 76px; right: 20px; display: grid; min-width: 175px; padding: 12px; border: 1px solid rgba(251,245,238,.14); border-radius: 16px; color: var(--cream-muted); background: rgba(31,23,21,.94); box-shadow: 0 15px 50px rgba(0,0,0,.25); backdrop-filter: blur(12px); }.mobile-menu a { padding: 10px; }.mobile-menu a:hover { color: var(--rose-light); }
  .hero { height: 145svh; }.hero__stage { min-height: 680px; }.hero__content { padding: 76px 24px 86px; }.hero__image-frame { width: min(61vw,370px); height: auto; aspect-ratio: .7; }.hero__title { font-size: clamp(4rem,17vw,7.4rem); transform: translate(-50%,-42%); }.hero__arc-copy { width: min(96vw,500px); font-size: 12px; }.hero__scroll-cue { bottom: 26px; }.intro__grid, .services__heading, .story { grid-template-columns: 1fr; }.intro__detail { margin-top: 80px; }.services__heading p { max-width: 430px; margin-top: 20px; }.services__grid { grid-template-columns: 1fr; }.service-card { min-height: 245px; }.service-card h3 { margin-top: 60px; }.menus__note { grid-template-columns: 1fr; gap: 20px; }.story__image { height: min(720px,112vw); order: 2; }.story__copy { order: 1; }.site-footer { flex-wrap: wrap; }
}

/* Keep the CTA's dark treatment and form button state after the site's legacy section rules. */
.contact { background: var(--ink); text-align: left; }
.contact .contact__submit { color: var(--ink); background: var(--cream); border-color: var(--cream); }
.contact .contact__submit:hover,
.contact .contact__submit:focus-visible { color: var(--ink); background: var(--gold); border-color: var(--gold); }

@media (min-width: 801px) and (max-width: 1100px) {
  .services__heading h2, .why-goodness__heading h2, .menus__intro h2 { max-width: 100%; font-size: clamp(4rem, 7.2vw, 6rem); line-height: .9; text-wrap: balance; }
  .why-goodness-break { display: none; }
}

/* Final homepage spacing override: consistent section rhythm. */
.services,
.why-goodness,
.story,
.contact { padding-top: 96px !important; padding-bottom: 144px !important; }
.menus { padding-top: 96px !important; padding-bottom: 0 !important; }
.gallery { padding-top: 0 !important; padding-bottom: 0 !important; }
.story { padding-top: 96px !important; padding-bottom: 144px !important; }

/* Final homepage section spacing tokens. */
.services,
.why-goodness,
.menus,
.story,
.contact { padding-top: 96px; padding-bottom: 144px; }
.gallery { padding-top: 96px; }

/* Consistent section spacing across the homepage. */
.services,
.why-goodness,
.menus,
.story,
.contact { padding-top: 96px; padding-bottom: 144px; }
.gallery { padding-top: 96px; }

/* Final CTA overrides keep the contact panel dark after legacy section rules. */
.contact { background: var(--ink); text-align: left; }
.contact .contact__submit { color: var(--ink); background: var(--cream); border-color: var(--cream); }
.contact .contact__submit:hover,
.contact .contact__submit:focus-visible { color: var(--ink); background: var(--gold); border-color: var(--gold); }

/* Final CTA overrides keep the contact panel dark after legacy section rules. */
.contact { background: var(--ink); text-align: left; }
.contact .contact__submit { color: var(--ink); background: var(--cream); border-color: var(--cream); }
.contact .contact__submit:hover,
.contact .contact__submit:focus-visible { color: var(--ink); background: var(--gold); border-color: var(--gold); }

/* CTA contact form: stacked copy beside a clean, accessible inquiry form. */
.contact {
  color: var(--cream);
  background: var(--ink);
  text-align: left;
}
.contact__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(500px, 1.22fr);
  gap: clamp(48px, 7vw, 120px);
  max-width: none;
  margin: 0;
}
.contact__copy {
  max-width: 560px;
}
.contact__eyebrow {
  margin: 0 0 24px;
  color: var(--cream);
  font: 700 14px/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.contact__copy h2 {
  max-width: 560px;
  margin: 0;
  color: var(--cream);
  font-size: clamp(4.5rem, 6.3vw, 7.5rem);
  font-weight: 400;
  line-height: .82;
  letter-spacing: -.055em;
}
.contact__description {
  max-width: 520px;
  margin: 24px 0 0;
  color: rgba(251,245,238,.88);
  font: 400 clamp(1rem, 1.35vw, 1.25rem)/1.45 "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.contact__form {
  padding: clamp(28px, 3.5vw, 48px);
  border: 1px solid rgba(251,245,238,.34);
  background: rgba(255,255,255,.025);
}
.contact__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.contact__form label {
  display: grid;
  gap: 12px;
  color: var(--cream);
}
.contact__form label > span {
  color: var(--cream);
  font: 700 .75rem/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.contact__form label em {
  color: var(--gold);
  font-style: normal;
}
.contact__form input,
.contact__form select,
.contact__form textarea {
  width: 100%;
  border: 1px solid rgba(251,245,238,.34);
  border-radius: 0;
  outline: none;
  color: var(--cream);
  background: rgba(255,255,255,.035);
  padding: 15px 16px;
  font: 400 1rem/1.35 "Helvetica Neue", Helvetica, Arial, sans-serif;
  transition: border-color .2s ease, background .2s ease;
}
.contact__form input,
.contact__form select {
  min-height: 56px;
}
.contact__form textarea {
  min-height: 150px;
  resize: vertical;
}
.contact__form input::placeholder,
.contact__form textarea::placeholder {
  color: rgba(251,245,238,.42);
}
.contact__form select option {
  color: var(--ink);
}
.contact__form input:focus,
.contact__form select:focus,
.contact__form textarea:focus {
  border-color: var(--gold);
  background: rgba(255,255,255,.07);
}
.contact__form input[type="date"] {
  color-scheme: dark;
}
.contact__message {
  margin-top: 28px;
}
.contact__note {
  max-width: 700px;
  margin: 28px 0;
  color: rgba(251,245,238,.66);
  font: 400 .9rem/1.45 "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.contact__submit {
  color: var(--ink);
  background: var(--cream);
  border-color: var(--cream);
}
.contact__submit:hover,
.contact__submit:focus-visible {
  color: var(--ink);
  background: var(--gold);
  border-color: var(--gold);
}
@media (max-width: 980px) {
  .contact__inner { grid-template-columns: 1fr; }
  .contact__copy { max-width: 680px; }
}
@media (max-width: 600px) {
  .contact__copy h2 { font-size: clamp(3.6rem, 16vw, 6rem); }
  .contact__fields { grid-template-columns: 1fr; gap: 24px; }
  .contact__form { padding: 24px; }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .why-goodness__heading h2 { max-width: 100%; font-size: clamp(4rem, 7.2vw, 6rem); text-wrap: balance; }
  .why-goodness-break { display: none; }
}

/* September 11 client review: brand color, floral texture, hero shape, and responsive identity refinements. */
.site-mark { position: relative; display: inline-flex; align-items: center; min-height: 38px; }
.site-mark__icon { display: none; width: 58px; height: 46px; color: currentColor; }
.site-mark__icon svg { display: block; width: 100%; height: 100%; overflow: visible; }
.site-mark__icon text { fill: currentColor; font: 600 45px/1 var(--display); letter-spacing: -.16em; }
.site-mark__leaf { fill: none; stroke: var(--gold-light); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.site-mark__wordmark { transition: opacity .35s ease, transform .45s cubic-bezier(.16,1,.3,1); }

.hero__background {
  background:
    radial-gradient(58% 54% at 14% 42%, rgba(139,84,77,.25), transparent 70%),
    radial-gradient(62% 72% at 84% 0%, rgba(201,162,93,.13), transparent 66%),
    linear-gradient(123deg,#211512 2%,#332019 52%,#1f1412 100%);
}
.hero__background::before {
  position: absolute; inset: -4%; content: ""; opacity: .48;
  background-image: url("data:image/svg+xml,%3Csvg width='420' height='420' viewBox='0 0 420 420' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23DFA79B' stroke-opacity='.21' stroke-width='1.15'%3E%3Cpath d='M56 408C68 330 101 280 163 237C212 203 242 150 252 71'/%3E%3Cpath d='M124 273C91 270 72 249 65 220C96 217 120 234 133 258M187 218C214 206 239 211 258 233C236 251 208 250 184 236M226 147C199 139 181 119 178 91C206 91 229 106 240 130M248 89C276 77 301 83 319 105C295 122 269 119 247 106'/%3E%3Cpath d='M360 418C349 354 319 310 270 277'/%3E%3Cpath d='M319 322C343 309 365 311 385 327C367 347 343 352 319 338'/%3E%3C/g%3E%3C/svg%3E");
  background-position: 6% 45%; background-size: min(43vw,560px); background-repeat: no-repeat; pointer-events: none;
}
.hero__image-frame {
  width: clamp(390px,42vw,680px); height: min(66vh,680px); border-radius: clamp(20px,2.5vw,36px);
  box-shadow: 0 38px 95px rgba(0,0,0,.42), 0 0 0 1px rgba(201,162,93,.28), 0 0 60px rgba(223,167,155,.08);
}
.hero__image-frame::before { border-color: rgba(226,202,148,.34); }
.hero__image { object-position: 50% 50%; filter: saturate(.9) contrast(1.07) brightness(.86); }
body.is-ready .hero__image { filter: saturate(.96) contrast(1.04) brightness(.92); }
.hero__image-glow {
  background:
    radial-gradient(ellipse at center, transparent 48%, rgba(0,0,0,.42) 100%),
    linear-gradient(90deg,rgba(30,14,10,.24),transparent 30%,transparent 70%,rgba(30,14,10,.2)),
    linear-gradient(180deg,rgba(0,0,0,.14),transparent 34%,rgba(27,11,7,.34));
}
.hero__image-glow::after {
  position: absolute;
  inset: 0;
  content: "";
  background: #000;
  opacity: 0;
  transition: opacity .8s ease;
  pointer-events: none;
}
body.hero-support-visible .hero__image-glow::after { opacity: .2; }
.hero__image-glow::before {
  position: absolute;
  inset: -14px;
  content: "";
  background: transparent;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  -webkit-mask: radial-gradient(ellipse at center, transparent 56%, #000 92%);
  mask: radial-gradient(ellipse at center, transparent 56%, #000 92%);
  opacity: .72;
  pointer-events: none;
}
.hero__title { text-shadow: 0 3px 42px rgba(18,8,6,.42), 0 1px 1px rgba(18,8,6,.55); }
.hero__arc-copy { fill: var(--gold-light); }
.hero__scroll-mouse { border-color: var(--gold-light); }
.hero__scroll-dot { background: var(--rose-light); }
.nav-cta { border-color: rgba(240,203,195,.82); }
.nav-cta:hover, .nav-cta:focus-visible { border-color: var(--rose); color: var(--ink); background: var(--rose); }

.intro { overflow: hidden; isolation: isolate; }
.intro__statement { position: relative; z-index: 1; }
.brand-watermark { position: absolute; z-index: 0; top: 50%; right: -2vw; width: clamp(220px,30vw,500px); color: var(--rose); opacity: .095; transform: translateY(-50%) rotate(-4deg); pointer-events: none; }
.brand-watermark svg { display: block; width: 100%; height: auto; overflow: visible; }
.brand-watermark text { fill: currentColor; font: 600 150px/1 var(--display); letter-spacing: -.16em; }
.brand-watermark path { fill: none; stroke: var(--gold); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }

.section-rule span, .eyebrow, .menu-showcase__number { color: var(--gold); }
.section-rule::after { background: linear-gradient(90deg,rgba(201,162,93,.48),rgba(223,167,155,.18)); }
.button { border-color: rgba(201,162,93,.76); }
.button--outline:hover, .button--outline:focus-visible { color: var(--ink); border-color: var(--rose); background: var(--rose); transform: translateY(-3px); }
.gallery__image, .menu-showcase__image { box-shadow: 0 0 0 1px rgba(201,162,93,.22); }
.gallery__progress span.is-active { background: var(--gold); }

.menus { position: relative; isolation: isolate; background: var(--ink); }
.menus::before {
  position: absolute; z-index: 0; inset: 0; content: ""; opacity: .42; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg width='520' height='520' viewBox='0 0 520 520' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23DFA79B' stroke-opacity='.16' stroke-width='1.2'%3E%3Cpath d='M40 520C76 390 146 322 263 253C343 206 391 133 410 13'/%3E%3Cpath d='M135 343C89 335 59 307 48 265C94 260 133 284 153 320M258 256C302 232 345 238 378 273C343 306 300 305 262 281M361 128C318 114 290 83 286 41C330 42 365 65 383 101M409 57C451 40 486 48 512 79C478 105 440 102 407 81'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat-y; background-position: right -90px top 110px; background-size: min(44vw,620px);
}
.menus > * { position: relative; z-index: 1; }
.menus .section-rule span, .menus .menu-showcase__number { color: var(--gold-light); }
.menus .button--outline:hover, .menus .button--outline:focus-visible { color: var(--ink); background: var(--rose); border-color: var(--rose); }

.contact {
  color: #fff;
  background: linear-gradient(180deg, #EFB8C5 0%, var(--rose) 48%, var(--rose-deep) 100%);
  text-align: left;
}
.contact__eyebrow,
.contact__copy h2,
.contact__description { color: #fff; }
.contact__description { opacity: 1; }
.contact .eyebrow { color: var(--gold-light); }
.contact .button--light { color: var(--ink); background: var(--cream); border-color: var(--cream); }
.contact .button--light:hover, .contact .button--light:focus-visible { color: var(--ink); border-color: var(--gold); background: var(--gold); }

/* CTA polish: light card, rounded controls, and section-matched typography. */
.contact__eyebrow {
  margin-bottom: 24px;
  color: var(--cream);
  font: 700 14px/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.contact__copy h2 {
  max-width: 80vw;
  font-size: 96px;
  line-height: .9;
  letter-spacing: -.04em;
  transform: translateX(.34em);
}
.contact__description {
  max-width: 520px;
  margin-top: 24px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  line-height: 1.45;
}
.contact__form {
  border-radius: 12px;
  color: var(--ink);
  background: #FAF1E9;
}
.contact__form label,
.contact__form label > span {
  color: var(--ink);
}
.contact__form label em { color: var(--rose-deep); }
.contact__form input,
.contact__form select,
.contact__form textarea {
  border-color: rgba(43,27,23,.42);
  border-radius: 12px;
  color: var(--ink);
  background: rgba(43,27,23,.035);
}
.contact__form input::placeholder,
.contact__form textarea::placeholder {
  color: rgba(43,27,23,.55);
}
.contact__form input:focus,
.contact__form select:focus,
.contact__form textarea:focus {
  border-color: var(--gold);
  background: rgba(43,27,23,.07);
}
.contact__form select {
  appearance: none;
  padding-right: 54px;
  background-color: rgba(43,27,23,.035);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='m4 6.5 5 5 5-5' stroke='%232b1b17' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 18px center;
  background-repeat: no-repeat;
  background-size: 18px;
}
.contact__form select option {
  padding: 12px 16px;
  color: var(--ink);
  background: #FAF1E9;
}
.contact__form input[type="date"] { color-scheme: light; }
.contact__note {
  margin-right: 0;
  margin-left: 0;
  color: rgba(43,27,23,.72);
  text-align: left;
}
.contact .contact__submit {
  font-weight: 700;
  color: var(--cream);
  background: var(--ink);
  border-color: var(--ink);
}
.contact .contact__submit:hover,
.contact .contact__submit:focus-visible {
  color: var(--cream);
  background: var(--gold);
  border-color: var(--gold);
}

.contact__submit {
  display: flex;
  width: 100%;
  border-radius: 8px;
  justify-content: center;
}
.contact-select {
  position: relative;
  display: block;
}
.contact-select__trigger {
  position: relative;
  display: block;
  width: 100%;
  min-height: 56px;
  padding: 15px 42px 15px 0;
  border: 0;
  border-bottom: 1px solid rgba(43,27,23,.42);
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  font: 400 1rem/1.35 "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
}
.contact-select__trigger::after {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 18px;
  height: 18px;
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='m4 6.5 5 5 5-5' stroke='%232b1b17' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;
  transform: translateY(-50%);
  transition: transform .2s ease;
}
.contact-select.is-open .contact-select__trigger::after { transform: translateY(-50%) rotate(180deg); }
.contact-select.is-open .contact-select__trigger {
  padding-left: 12px;
  border: 1px solid var(--gold);
  border-bottom-color: rgba(43,27,23,.28);
  border-radius: 8px 8px 0 0;
}
.contact-select__trigger:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.contact-select__menu {
  position: absolute;
  z-index: 5;
  top: 100%;
  right: 0;
  left: 0;
  display: grid;
  gap: 2px;
  padding: 8px;
  border: 1px solid rgba(43,27,23,.28);
  border-radius: 0 0 8px 8px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 12px 24px rgba(43,27,23,.16);
}
.contact-select__menu[hidden] { display: none; }
.contact-select__menu button {
  padding: 12px 14px;
  border: 0;
  border-radius: 5px;
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  font: 400 1rem/1.35 "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: left;
}
.contact-select__menu button[aria-selected="true"] {
  background: #f4c7c7;
}
.contact-select__menu button:hover:not([aria-selected="true"]) {
  background: #fde4e4;
}
.contact-select__menu button:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }

.contact-date { position: relative; display: block; }
.contact-date__trigger {
  position: relative; display: block; width: 100%; min-height: 56px; padding: 15px 42px 15px 0;
  border: 0; border-bottom: 1px solid rgba(43,27,23,.42); color: rgba(43,27,23,.55); background: transparent;
  cursor: pointer; font: 400 1rem/1.35 "Helvetica Neue", Helvetica, Arial, sans-serif; text-align: left;
}
.contact-date__trigger::after { position: absolute; top: 50%; right: 8px; width: 18px; height: 18px; content: ""; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Crect x='3' y='4.5' width='12' height='10.5' rx='1' stroke='%232b1b17' stroke-width='1.8'/%3E%3Cpath d='M6 2.5v4M12 2.5v4M3 8h12' stroke='%232b1b17' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat; transform: translateY(-50%); }
.contact-date__trigger:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.contact-date__popover { position: absolute; z-index: 8; top: 100%; right: 0; width: min(420px, 100vw - 48px); padding: 18px; border: 1px solid rgba(43,27,23,.24); border-radius: 0 0 8px 8px; color: var(--ink); background: #fff; box-shadow: 0 16px 30px rgba(43,27,23,.16); }
.contact-date__popover[hidden] { display: none; }
.contact-date__toolbar { display: grid; grid-template-columns: 40px 1fr auto 40px; align-items: center; gap: 4px; margin-bottom: 14px; }
.contact-date__toolbar button, .contact-date__footer button { border: 0; color: var(--ink); background: transparent; cursor: pointer; font: 700 1rem/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif; }
.contact-date__month, .contact-date__year { padding: 10px 8px; border-radius: 6px !important; text-align: left; }
.contact-date__month:hover, .contact-date__year:hover { background: #fde4e4 !important; }
.contact-date__nav { font-size: 1.8rem !important; line-height: 1 !important; }
.contact-date__weekdays, .contact-date__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.contact-date__weekdays { margin-bottom: 5px; color: rgba(43,27,23,.58); font: 700 .72rem/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif; text-align: center; text-transform: uppercase; }
.contact-date__day { min-height: 40px; border: 0; border-radius: 6px; color: var(--ink); background: transparent; cursor: pointer; font: 400 .95rem/1 "Helvetica Neue", Helvetica, Arial, sans-serif; }
.contact-date__day:not(:disabled):hover { background: #fde4e4; }
.contact-date__day.is-selected, .contact-date__day.is-today { color: var(--ink); background: #f4c7c7; }
.contact-date__day.is-muted { color: rgba(43,27,23,.28); }
.contact-date__day.is-disabled { color: rgba(43,27,23,.24); cursor: not-allowed; }
.contact-date__nav:disabled { color: rgba(43,27,23,.24); cursor: not-allowed; }
.contact-date__year-list { display: grid; max-height: 150px; grid-template-columns: repeat(2, 1fr); gap: 4px; overflow-y: auto; margin: -4px 0 14px; padding: 4px 8px 4px 4px; border-radius: 8px; background: #fff8f5; scrollbar-color: var(--rose) transparent; scrollbar-width: thin; }
.contact-date__year-list[hidden] { display: none; }
.contact-date__year-list::-webkit-scrollbar { width: 8px; }
.contact-date__year-list::-webkit-scrollbar-thumb { border-radius: 999px; background: var(--rose); }
.contact-date__year-list button { padding: 10px; border: 0; border-radius: 6px; color: var(--ink); background: transparent; cursor: pointer; font: 400 .95rem/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif; text-align: left; }
.contact-date__year-list button:hover, .contact-date__year-list button.is-active { background: #fbe4e4; }
.contact-date__footer { display: flex; justify-content: space-between; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(43,27,23,.1); }
.contact-date__footer button { padding: 8px 12px; border-radius: 6px; }
.contact-date__footer button:hover { background: #fde4e4; }

/* Keep the form itself quiet and editorial, like the reference form. */
.contact__form input,
.contact__form select,
.contact__form textarea {
  border-width: 0 0 1px;
  border-color: rgba(43,27,23,.42);
  border-radius: 0;
  background: transparent;
  padding-right: 0;
  padding-left: 0;
}
.contact__form input:focus,
.contact__form select:focus,
.contact__form textarea:focus {
  border-color: var(--gold);
  background: transparent;
}
.contact__form select {
  padding-right: 42px;
  background-color: transparent;
  background-position: right 8px center;
}
.contact__form textarea { min-height: 116px; }
.contact__note {
  color: rgba(43,27,23,.72) !important;
  text-align: left;
}
.contact__message textarea {
  border-top: 1px solid rgba(43,27,23,.10);
  border-right: 1px solid rgba(43,27,23,.10);
  border-bottom: 1px solid rgba(43,27,23,.10);
  border-left: 1px solid rgba(43,27,23,.10);
  border-radius: 8px 8px 0 8px;
  padding: 16px;
}
.contact__submit { margin-top: 28px; }
@media (max-width: 800px) {
  .contact__copy h2 { max-width: 80vw; font-size: clamp(4.5rem, 13vw, 7.2rem); }
}

.site-footer { position: relative; overflow: hidden; color: rgba(43,27,23,.82); border-top: 1px solid rgba(201,162,93,.72); background: var(--rose); }
.site-footer::before { position: absolute; inset: 0; content: ""; opacity: .12; background: radial-gradient(circle at 15% 120%,var(--cream) 0,transparent 38%), linear-gradient(110deg,transparent 65%,var(--gold-light)); pointer-events: none; }
.site-footer > * { position: relative; z-index: 1; }
.site-footer__brand { display: inline-flex; align-items: center; gap: 12px; }
.site-footer__icon.site-mark__icon { display: block; width: 42px; height: 34px; color: var(--ink); }
.site-footer__icon .site-mark__leaf { stroke: #8d6327; }
.site-footer__mark { color: var(--ink); }
.site-footer a:hover, .site-footer a:focus-visible { color: var(--cream); }

/* Footer palette and back-to-top pill. */
.site-footer {
  color: #fff;
  border-top: 0;
  background: #111111;
}
.site-footer::before { display: none; }
.site-footer__icon.site-mark__icon,
.site-footer__mark { color: #fff; }
.site-footer__icon .site-mark__leaf { stroke: var(--rose-light); }
.site-footer__back {
  display: inline-flex;
  justify-self: end;
  align-items: center;
  gap: 18px;
  min-height: 56px;
  padding: 6px 8px 6px 22px;
  border-radius: 999px;
  color: #25293A !important;
  background: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.site-footer__back:hover,
.site-footer__back:focus-visible { color: #25293A !important; background: #fff; }

/* When the Services panel is open, every header link stays readable on the cream panel. */
body.services-open .site-header .nav-link,
body.services-open .site-header .nav-link--button { color: var(--ink); }
body.services-open .site-header .nav-link:hover,
body.services-open .site-header .nav-link:focus-visible,
body.services-open .site-header .nav-link--button:hover,
body.services-open .site-header .nav-link--button:focus-visible { color: var(--rose); }
.site-footer__back-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #1D2030;
  text-transform: none;
}
.site-footer__back-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-footer__credit { color: rgba(255,255,255,.5); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; opacity: 1; }
.site-footer__credit a { color: rgba(255,255,255,.5); transition: color .2s ease; }
.site-footer__credit a:hover, .site-footer__credit a:focus-visible { color: var(--gold); }
.site-footer__credit a:hover, .site-footer__credit a:focus-visible { color: var(--gold); }
.site-footer__back { overflow: hidden; }
.site-footer__back-icon { overflow: hidden; transition: transform .3s ease; }
.site-footer__back-icon svg { animation: none; }
.site-footer__back:hover .site-footer__back-icon,
.site-footer__back:focus-visible .site-footer__back-icon { transform: scale(1.06); }
.site-footer__back:hover .site-footer__back-icon svg,
.site-footer__back:focus-visible .site-footer__back-icon svg { animation: footer-arrow-loop 1.15s ease-in-out infinite; }
@keyframes footer-arrow-loop {
  0%, 100% { transform: translateY(0); }
  42% { transform: translateY(-28px); }
  43% { transform: translateY(28px); }
  78% { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer__back:hover .site-footer__back-icon,
  .site-footer__back:focus-visible .site-footer__back-icon { transform: none; }
  .site-footer__back:hover .site-footer__back-icon svg,
  .site-footer__back:focus-visible .site-footer__back-icon svg { animation: none; }
}

@media (max-width: 800px) {
  .site-mark { width: 150px; }
  .site-mark__icon { position: absolute; top: 50%; left: 0; display: block; opacity: 1; transform: translateY(-50%); transition: opacity .3s ease, transform .4s cubic-bezier(.16,1,.3,1); }
  .site-mark__wordmark { position: absolute; top: 50%; left: 0; width: max-content; opacity: 0; transform: translateY(-35%); }
  body.is-site-scrolled .site-mark__icon { opacity: 0; transform: translateY(-65%); }
  body.is-site-scrolled .site-mark__wordmark { opacity: 1; transform: translateY(-50%); }
  .mobile-menu { top: 82px; right: 16px; left: 16px; min-width: 0; padding: 20px; border-color: rgba(223,167,155,.4); border-radius: 22px; color: var(--cream); background: linear-gradient(145deg,rgba(43,27,23,.98),rgba(59,36,24,.97)); box-shadow: 0 22px 65px rgba(22,10,8,.34); }
  .mobile-menu a { padding: 14px 12px; border-bottom: 1px solid rgba(223,167,155,.16); font-size: 1.12rem; }
  .mobile-menu a:last-child { color: var(--gold-light); border-bottom: 0; }
  .hero__image-frame { width: min(82vw,560px); height: auto; aspect-ratio: 4 / 5; border-radius: 24px; }
  .hero__background::before { background-position: -80px 42%; background-size: 420px; }
  .brand-watermark { right: -90px; width: 330px; }
  .site-footer { align-items: flex-start; }
}

@media (max-width: 520px) {
  .hero__image-frame { width: min(82vw,350px); border-radius: 20px; }
  .hero__title { font-size: clamp(3.35rem,16.4vw,5.3rem); }
  .brand-watermark { right: -130px; opacity: .075; }
  .site-footer { display: grid; grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 520px) {
  .hero { height: 125svh; }.hero__stage { min-height: 650px; }.site-mark__wordmark { font-size: 1.42rem; }.hero__image-frame { width: min(67vw,320px); }.hero__title { top: 49%; font-size: clamp(3.6rem,17.3vw,5.6rem); }.hero__arc-copy, .hero__caption { display: none; }.hero__scroll-cue > span:last-child { display: none; }.section { padding-right: 24px; padding-left: 24px; }.section-rule { margin-bottom: 55px; }.intro__detail { grid-template-columns: 1fr; }.intro__monogram { justify-self: end; }.menus__cards { grid-template-columns: 1fr; }.menu-card--offset { margin-top: 0; }.menus__note { margin-top: 90px; }.story__image { border-radius: 180px 180px 0 0; }.site-footer { padding: 25px 24px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }.hero__background,.site-header,.hero__image-frame,.hero__title,.hero__arc-copy,.hero__scroll-cue,.reveal { opacity: 1; transform: none; }.hero__letter { transform: none !important; opacity: 1 !important; }.hero__stage { position: relative; }.hero { height: 100svh; } }
.services__grid { border-radius: 20px; overflow: hidden; }
.menus__note { align-items: start; }
main > .menus { margin-top: 0; }
.button { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; }
.services { padding-bottom: clamp(35px, 5vw, 70px); }
.hero__arc-copy { display: block; }
.hero__arc-copy { visibility: hidden; }
body.hero-arcs-positioned .hero__arc-copy { visibility: visible; }
.hero__caption { display: none; }
.hero__caption { position: absolute; z-index: 4; left: 50%; margin: 0; color: var(--cream-muted); font: 500 14px "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: .06em; text-align: center; opacity: 0; transform: translateX(-50%); transition: opacity .7s ease 1.1s; }
.hero__caption--top { top: calc(50% - 420px); }
.hero__caption--bottom { top: calc(50% + 365px); }
body.is-ready .hero__caption { opacity: calc(1 - var(--hero-progress) * 1.75); }

/* Story section follows the reference composition: copy first, square portrait anchored below it. */
.story { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); grid-template-rows: auto 1fr; align-items: start; min-height: min(1100px, 100svh); }
.story__copy { grid-column: 1; grid-row: 1 / 3; align-self: start; padding-top: clamp(35px, 5vw, 78px); }
.story__image { grid-column: 2; grid-row: 2; justify-self: end; width: min(100%, 640px); height: auto; aspect-ratio: 1; border-radius: 20px; }
.story__image img { display: block; }
@media (max-width: 800px) {
  .story { display: flex; min-height: 0; }
  .story__copy { padding-top: 0; }
  .story__image { width: 100%; aspect-ratio: 1; height: auto; margin-top: 45px; border-radius: 20px; }
}

/* Menu offerings: copy holds in place while each oversized image moves through the viewport. */
.menu-showcase { margin-top: clamp(70px, 9vw, 130px); }
.menu-showcase__item { position: relative; min-height: 1100px; }
.menu-showcase__copy { position: sticky; z-index: 1; top: 200px; display: flex; flex-direction: column; align-items: flex-start; width: min(52%, 720px); min-height: 640px; padding: clamp(30px, 6vw, 90px) 0 80px var(--page-edge); background: transparent; }
.menu-showcase__number { margin-bottom: 14px; font: 400 clamp(1.2rem, 1.5vw, 1.7rem)/1 "Helvetica Neue", Helvetica, Arial, sans-serif; }
.menu-showcase__copy h2 { margin: 0; font-size: 70px; line-height: 1; text-transform: none; }
.menu-showcase__copy p { max-width: 600px; margin: 24px 0 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.menu-showcase__copy .button { margin-top: 30px; }
.menu-showcase__image { position: absolute; top: 300px; right: var(--page-edge); width: min(36%, 820px); height: 560px; max-height: 560px; border-radius: 16px; background: var(--ink); }
.menu-showcase__image::after { position: absolute; inset: 0; content: ""; opacity: .25; background: linear-gradient(135deg, transparent 24%, rgba(255,255,255,.55) 24.2%, transparent 24.7%, transparent 68%, rgba(30,23,21,.2) 68.2%, transparent 68.7%); }
.menu-showcase__image--one { background: #9c806d; }
.menu-showcase__image--two { background: #788276; }
.menu-showcase__image--three { background: #bc745e; }
.menu-showcase__image { overflow: hidden; }
.menu-showcase__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.menu-showcase__image::after { z-index: 2; pointer-events: none; }
.menus { color: var(--ink); background: var(--cream); }
.menus .section-rule { color: rgba(30,23,21,.78); }
.menus .section-rule::after { background: rgba(30,23,21,.22); }
.menus__note { border-color: rgba(30,23,21,.22); }
.menus__note p { color: rgba(30,23,21,.78); }
.menus__note > span { color: var(--rose); }
@media (max-width: 800px) {
  .why-goodness__heading h2 { max-width: 80vw; }
  .why-goodness-break { display: none; }
  .why-goodness__intro, .why-goodness__support, .why-goodness__cards { grid-template-columns: 1fr; }
  .why-goodness__support { margin-top: 38px; }
  .why-goodness__support p, .why-goodness__support .button { grid-column: 1; }
  .why-goodness__support .button { margin-top: 28px; justify-self: start; }
  .why-goodness__cards { gap: 24px; }
  .why-goodness__card { min-height: 0; padding: 30px 24px 42px; }
  .why-goodness__card + .why-goodness__card { border-top: 0; border-left: 0; padding: 30px 24px 42px; }
  .why-goodness__card h3 { margin-top: 34px; }
  .menu-showcase { margin-top: 70px; }
  .menu-showcase__item { min-height: auto; padding-bottom: 100px; }
  .menu-showcase__copy { position: relative; top: auto; width: auto; min-height: 0; padding: 40px 24px 0; }
  .menu-showcase__copy h2 { font-size: clamp(4.5rem, 16vw, 7rem); }
  .menu-showcase__image { position: relative; top: auto; right: auto; width: calc(100% - 48px); height: 500px; max-height: 500px; min-height: 0; margin: 45px 24px 0; }
}

/* Horizontal event gallery: vertical scrolling drives the sticky track sideways. */
.gallery { position: relative; height: calc(clamp(680px, 45vw, 720px) + clamp(680px, 45vw, 720px) + clamp(680px, 45vw, 720px) + 200px); color: var(--ink); background: var(--cream); }
.gallery__stage { position: sticky; top: 200px; height: clamp(680px, 45vw, 720px); min-height: 0; overflow: hidden; padding: clamp(28px, 3vw, 42px) 0 20px; }
.gallery__track { display: flex; width: max-content; height: 100%; will-change: transform; }
.gallery__slide { width: 100vw; padding: 0 var(--page-edge); }
.gallery__images { display: grid; grid-template-columns: minmax(0, 2fr) minmax(180px, 1.4fr) minmax(0, 2fr); gap: clamp(14px, 1.5vw, 28px); height: clamp(400px, 34vw, 500px); }
.gallery__image { min-width: 0; overflow: hidden; border-radius: 16px; background: var(--ink); }
.gallery__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.gallery__image--wide { grid-column: span 1; }
.gallery__placeholder { position: relative; }
.gallery__placeholder::after { position: absolute; inset: 0; content: ""; opacity: .28; background: linear-gradient(135deg, transparent 22%, rgba(255,255,255,.55) 22.2%, transparent 22.7%, transparent 64%, rgba(30,23,21,.2) 64.2%, transparent 64.7%); }
.gallery__placeholder--olive { background: #7d8267; }
.gallery__placeholder--rose { background: #c87c6d; }
.gallery__placeholder--ink { background: #242523; }
.gallery__placeholder--sand { background: #c8b9a5; }
.gallery__placeholder--terracotta { background: #a95843; }
.gallery__placeholder--sage { background: #a8b29a; }
.gallery__placeholder--plum { background: #69535d; }
.gallery__placeholder--butter { background: #d7bd75; }
.gallery__placeholder--clay { background: #b97861; }
.gallery__titles { position: absolute; right: var(--page-edge); bottom: 20px; left: var(--page-edge); height: clamp(72px, 9vw, 130px); pointer-events: none; }
.gallery__titles h2 { position: absolute; inset: 0 auto auto 0; margin: 0; font-size: clamp(3.8rem, 7.8vw, 9rem); line-height: .8; letter-spacing: -.07em; opacity: 0; transition: opacity .35s ease; }
.gallery__titles h2:first-child { opacity: 1; }
.gallery__controls { position: absolute; right: var(--page-edge); bottom: clamp(26px, 4vw, 58px); display: flex; flex-direction: column; align-items: stretch; width: calc(clamp(44px, 6vw, 92px) * 3 + 36px); gap: 18px; }
.gallery__menu-link { width: 100%; margin: 0; white-space: nowrap; text-align: center; }
.gallery__controls--progress-only { gap: 0; }
.gallery__progress { display: flex; justify-content: space-between; gap: 18px; }
.gallery__progress span { display: block; width: clamp(44px, 6vw, 92px); height: 4px; border-radius: 10px; background: rgba(30,23,21,.22); transition: background .25s ease; }
.gallery__progress span.is-active { background: var(--ink); }
@media (max-width: 800px) {
  main > .menus { margin-top: 0; }
  .gallery { height: auto; }
  .gallery__stage { position: relative; top: auto; height: auto; min-height: 0; padding: 90px 0 45px; overflow: visible; }
  .gallery__track { display: block; width: auto; height: auto; }
  .gallery__slide { width: auto; min-height: 660px; padding: 0 24px 90px; }
  .gallery__images { height: 430px; grid-template-columns: 1.5fr .85fr; gap: 10px; }
  .gallery__image:last-child { display: none; }
  .gallery__titles { display: none; }
  .gallery__slide::after { display: block; margin-top: -54px; color: var(--ink); content: attr(data-title); font: 400 clamp(3.5rem, 14vw, 6rem)/.8 var(--display); letter-spacing: -.07em; }
  .gallery__controls { position: relative; right: auto; bottom: auto; align-items: flex-start; width: auto; margin: -48px 24px 0; }
  .gallery__controls--progress-only { display: none; }
  .gallery__progress { display: none; }
}

@media (max-width: 800px) {
  .story { display: flex; min-height: 0; }
  .story__copy { padding-top: 0; }
  .story__image { width: 100%; height: auto; aspect-ratio: 1; margin-top: 45px; border-radius: 20px; }
}

/* Menu is the dark editorial section; the chef story returns to the light page theme. */
.menus { color: var(--cream); background: var(--ink); }
.menus .section-rule { color: var(--cream-muted); }
.menus .section-rule::after { background: rgba(251,245,238,.22); }
.menus__note { border-color: rgba(251,245,238,.26); }
.menus__note p { color: var(--cream-muted); }
.menus__note > span { color: var(--rose-light); }
.story { color: var(--ink); background: var(--cream); }
.story__copy .button { margin-top: 30px; }

@media (max-width: 520px) {
  .hero__arc-copy { display: none; }
}

/* Center the chef story as a matched composition and use the hero's tall pill treatment. */
.story { display: flex; align-items: center; justify-content: space-between; min-height: min(900px, 88svh); }
.story__copy { flex: 0 1 52%; align-self: center; padding-top: 0; }
.story__image { flex: 0 0 min(43%, 560px); width: min(100%, 560px); height: min(720px, 56vw); aspect-ratio: auto; margin: 0; border-radius: 999px; }
@media (max-width: 800px) {
  .story { flex-direction: column; min-height: 0; }
  .story__copy { align-self: auto; }
  .story__image { flex-basis: auto; width: 100%; height: min(680px, 150vw); aspect-ratio: auto; border-radius: 999px; }
}

/* Final cascade safeguards for client-approved accents. */
.gallery__progress span.is-active { background: var(--gold); }
.menus .section-rule::after { background: linear-gradient(90deg,rgba(226,202,148,.56),rgba(223,167,155,.2)); }
.menus__intro { display: block; margin: 0 var(--page-edge); }
.menus__intro-copy { display: block; }
.menus__intro-eyebrow { display: flex; align-items: center; gap: 18px; margin: 0 0 48px; color: var(--gold-light); font: 700 14px/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.menus__intro-eyebrow::after { flex: 1; height: 1px; content: ""; background: linear-gradient(90deg,rgba(226,202,148,.56),rgba(223,167,155,.2)); }
.menus__intro h2 { max-width: 80vw; margin: 0; color: var(--cream); font-size: 96px; font-weight: 400; line-height: 1; letter-spacing: -.055em; }
.menus__intro-support { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.52fr); column-gap: clamp(50px,12vw,210px); align-items: start; margin-top: 48px; }
.menus__intro-support p { grid-column: 1; }
.menus__intro-support p { margin: 0; color: rgba(251,245,238,.88); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.45; }
.menus__intro-support .button { grid-column: 2; margin-top: 0; }
@media (max-width: 800px) {
  .menus__intro-support { display: block; margin-top: 38px; }
  .menus__intro h2 { max-width: 12ch; }
  .menus__intro-support .button { margin-top: 30px; }
}
@media (max-width: 520px) {
  .hero__image-frame { width: min(82vw,350px); border-radius: 20px; }
  .hero__title { font-size: clamp(3.35rem,16.4vw,5.3rem); }
}

/* Return the hero to the original tall pill composition. */
.hero__image-frame {
  width: clamp(300px,42vw,700px);
  height: auto;
  aspect-ratio: .70;
  border-radius: 999px;
}
@media (max-width: 800px) {
  .hero__image-frame { width: min(82vw,560px); aspect-ratio: .70; border-radius: 999px; }
}
@media (max-width: 520px) {
  .hero__image-frame { width: min(82vw,350px); aspect-ratio: .70; border-radius: 999px; }
}

/* Scroll reveal: begin as a pill, then open toward the source photo's natural wide ratio. */
.hero__image-frame {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--hero-frame-width, clamp(300px,42vw,700px));
  height: var(--hero-frame-height, auto);
  aspect-ratio: auto;
  border-radius: var(--hero-frame-radius, 999px);
  margin: 0;
  transform: translate(-50%, -50%) scale(.72);
  transition: opacity .7s ease .1s, transform 1.5s cubic-bezier(.16,1,.3,1) .1s, width .08s linear, height .08s linear, border-radius .08s linear;
}
body.is-ready .hero__image-frame { transform: translate(-50%, -50%); }
.hero__image { transform: scale(calc(1.16 - var(--hero-progress) * .16)); }
@media (max-width: 800px) {
  .hero__image-frame { width: var(--hero-frame-width, min(82vw,560px)); height: var(--hero-frame-height, auto); aspect-ratio: auto; }
}
@media (max-width: 520px) {
  .hero__image-frame { width: var(--hero-frame-width, min(82vw,350px)); aspect-ratio: auto; }
}

/* The scroll reveal introduces the offer after the approved hero moment. */
.hero__support {
  position: absolute;
  z-index: 6;
  right: var(--page-edge);
  bottom: clamp(62px, 8vh, 110px);
  left: var(--page-edge);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr);
  gap: clamp(28px, 8vw, 150px);
  align-items: end;
  visibility: hidden;
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .75s ease, transform .9s cubic-bezier(.16,1,.3,1), visibility 0s linear .9s;
  pointer-events: none;
}
.hero__support::before {
  position: absolute;
  z-index: -1;
  right: -12vw;
  bottom: -12vh;
  left: -12vw;
  height: 42vh;
  content: "";
  background: linear-gradient(90deg, rgba(26,13,10,.88), rgba(26,13,10,.48) 48%, transparent 100%);
  pointer-events: none;
}
body.hero-support-visible .hero__support {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s;
  pointer-events: auto;
}
.hero__support-copy { max-width: 720px; }
.hero__support-copy .eyebrow { margin-bottom: 16px; color: var(--gold-light); }
.hero__support-copy h2 { max-width: 700px; margin: 0; color: var(--cream); font-size: clamp(3.2rem, 6.2vw, 7.4rem); line-height: .84; }
.hero__support-copy > p:not(.eyebrow) { max-width: 560px; margin: 28px 0 0; color: rgba(251,245,238,.9); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.45; }
.hero__support-copy .button { margin-top: 26px; }
.hero__trust { display: grid; gap: 0; align-self: end; border-top: 1px solid rgba(251,245,238,.42); }
.hero__trust span { display: block; padding: 15px 0; color: rgba(251,245,238,.78); border-bottom: 1px solid rgba(251,245,238,.25); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: .78rem; line-height: 1.35; }
.hero__trust strong { display: block; color: var(--cream); font-weight: 600; }
@media (max-width: 800px) {
  .hero__support { grid-template-columns: 1fr; gap: 22px; bottom: 58px; }
  .hero__support::before { bottom: -8vh; height: 66vh; background: linear-gradient(180deg, transparent 0%, rgba(26,13,10,.74) 28%, rgba(26,13,10,.94) 100%); }
  .hero__support-copy h2 { max-width: 12ch; font-size: clamp(3.2rem, 13vw, 5.2rem); }
  .hero__support-copy > p:not(.eyebrow) { max-width: 34rem; margin-top: 18px; font-size: 1rem; }
  .hero__support-copy .button { margin-top: 18px; }
  .hero__trust { grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(251,245,238,.42); }
  .hero__trust span { padding: 10px 10px 0 0; border-bottom: 0; font-size: .7rem; }
  .hero__trust span + span { padding-left: 10px; border-left: 1px solid rgba(251,245,238,.25); }
}
@media (max-width: 520px) {
  .hero__support { right: 24px; bottom: 48px; left: 24px; }
  .hero__support-copy .eyebrow { margin-bottom: 10px; font-size: .62rem; }
  .hero__trust { grid-template-columns: 1fr; }
  .hero__trust span, .hero__trust span + span { padding: 9px 0; border-left: 0; border-bottom: 1px solid rgba(251,245,238,.25); }
}

/* Final hero transition treatment: centered copy over the full food image. */
.hero__support {
  right: auto;
  bottom: auto;
  left: 50%;
  top: 50%;
  width: min(92vw, 1120px);
  grid-template-columns: 1fr;
  gap: clamp(28px, 4vh, 48px);
  align-items: center;
  text-align: center;
  transform: translate(-50%, calc(-36% + 28px));
}
.hero__support::before { display: none; }
body.hero-support-visible .hero__support { transform: translate(-50%, -36%); }
.hero__support-copy { max-width: 920px; margin: 0 auto; }
.hero__support-copy .eyebrow { text-shadow: 0 2px 18px rgba(20,8,5,.45); }
.hero__support-copy h2 { max-width: 1000px; font-weight: 700; letter-spacing: -.03em; text-shadow: 0 3px 9px rgba(20,8,5,.42), 0 14px 34px rgba(20,8,5,.16); }
.hero__support-copy > p:not(.eyebrow) { max-width: 850px; margin: 44px auto 0; color: rgba(251,245,238,.94); font-size: 20px; font-weight: 600; line-height: 1.35; text-wrap: balance; text-shadow: 0 2px 16px rgba(20,8,5,.55); }
.hero__support-copy .button { margin-top: 28px; }
.hero__trust { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 620px); margin: 0 auto; text-align: left; }
.hero__trust span { padding: 15px 20px; }
.hero__trust span + span { border-left: 1px solid rgba(251,245,238,.25); }
body.is-ready .hero__scroll-cue { opacity: 1; transform: translate(-50%, 0); }
body.hero-next-section-visible .hero__scroll-cue { opacity: 0; transform: translate(-50%, 12px); pointer-events: none; }
@media (max-width: 800px) {
  .hero__support { top: 52%; width: calc(100% - 48px); gap: 24px; }
  body.hero-support-visible .hero__support { transform: translate(-50%, -50%); }
  .hero__support-copy h2 { max-width: 14ch; margin-right: auto; margin-left: auto; }
  .hero__trust { width: 100%; }
}
@media (max-width: 520px) {
  .hero__support { top: 51%; width: calc(100% - 48px); }
  body.hero-support-visible .hero__support { transform: translate(-50%, -50%); }
}

/* Final hero type scale and CTA treatment. */
.hero__title { font-size: 156px; }
.hero__arc-copy { font-size: 16px; }
.gallery__titles h2 { font-size: 90px; font-weight: 400; letter-spacing: -.03em; }
.hero__support-copy .eyebrow { font-size: 16px; line-height: 1.2; }
.hero__support-copy h2 { font-size: 120px; line-height: .8; }
.hero__support-copy > p:not(.eyebrow) { max-width: 850px; margin: 44px auto 0; font-size: 22px; font-weight: 600; line-height: 1.35; text-wrap: balance; text-shadow: 0 2px 6px rgba(20,8,5,.42), 0 8px 22px rgba(20,8,5,.14); }
.hero__support-copy .button--light { color: var(--ink); background: var(--cream); border-color: var(--gold); }
.hero__support-copy .button--light:hover, .hero__support-copy .button--light:focus-visible { color: var(--cream); background: var(--ink); border-color: var(--gold); }
@media (max-width: 800px) {
  .hero__title { font-size: clamp(64px, 17vw, 118px); }
  .hero__support-copy h2 { font-size: clamp(58px, 13vw, 96px); }
  .hero__support-copy .eyebrow { font-size: 14px; }
}
@media (max-width: 520px) {
  .hero__title { font-size: clamp(54px, 17.3vw, 88px); }
  .hero__support-copy h2 { font-size: clamp(48px, 13vw, 72px); }
  .hero__support-copy .eyebrow { font-size: 13px; }
}

@media (max-width: 800px) {
  .services__heading { display: block; }
  .services__heading .services__eyebrow { margin-bottom: 12px; }
  .services__heading h2 { max-width: 760px; }
  .services__support { display: block; margin-top: 38px; }
  .services__support p { max-width: 430px; }
  .services__support .button { margin-top: 34px; }
}

/* Scroll reveal motion for the supporting hero message. */
.hero-support-word { display: inline-block; white-space: nowrap; }
.hero-support-letter {
  display: inline-block;
  opacity: 0;
  transform: translateY(76px);
  transition: opacity .55s ease, transform .8s cubic-bezier(.16,1,.3,1);
  transition-delay: calc(var(--letter-index) * 35ms);
}
body.hero-support-visible .hero-support-letter { opacity: 1; transform: translateY(0); }
.hero__support-copy > p:not(.eyebrow) {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s ease .5s, transform .85s cubic-bezier(.16,1,.3,1) .5s;
}
body.hero-support-visible .hero__support-copy > p:not(.eyebrow) { opacity: 1; transform: translateY(0); }

/* Inner-page heroes open directly in the approved full-bleed state. The homepage keeps the scroll reveal. */
body.inner-page .hero { height: 100svh; }
body.inner-page .hero__stage { position: relative; height: 100svh; min-height: 0; }
body.inner-page .hero__background { opacity: 0; transition: none; }
body.inner-page .hero__image-frame { width: calc(100vw + 2px); height: calc(100svh + 2px); border-radius: 0; opacity: 1; transform: translate(-50%, -50%); transition: none; }
body.inner-page .hero__image { transform: scale(1); filter: saturate(.96) contrast(1.04) brightness(.92); transition: none; }
body.inner-page .hero__title, body.inner-page .hero__arc-copy { opacity: 0; visibility: hidden; transition: none; }
body.inner-page .hero__support { visibility: visible; opacity: 1; transform: translate(-50%, -36%); transition: none; pointer-events: auto; }
body.inner-page .hero-support-letter, body.inner-page .hero__support-copy > p:not(.eyebrow) { opacity: 1; transform: none; transition: none; }
body.about-page .hero { height: 70svh; }
body.about-page .hero__stage { height: 70svh; }
body.about-page .hero__image-frame { height: calc(70svh + 2px); }
body.inner-page:not(.services-open) .site-header { color: var(--cream) !important; }
body.inner-page:not(.services-open) .nav-link:hover, body.inner-page:not(.services-open) .nav-link:focus-visible, body.inner-page:not(.services-open) .nav-link--button:hover, body.inner-page:not(.services-open) .nav-link--button:focus-visible { color: var(--rose-light); }
body.inner-page:not(.services-open) .nav-cta:hover, body.inner-page:not(.services-open) .nav-cta:focus-visible { color: var(--ink); background: var(--cream); border-color: var(--cream); }
body.inner-page.is-light-content-nav:not(.services-open) .site-header { color: var(--ink) !important; }
body.inner-page.is-light-content-nav:not(.services-open) .nav-link:hover, body.inner-page.is-light-content-nav:not(.services-open) .nav-link:focus-visible, body.inner-page.is-light-content-nav:not(.services-open) .nav-link--button:hover, body.inner-page.is-light-content-nav:not(.services-open) .nav-link--button:focus-visible { color: var(--rose); }
body.inner-page.is-light-content-nav:not(.services-open) .nav-cta:hover, body.inner-page.is-light-content-nav:not(.services-open) .nav-cta:focus-visible { color: var(--cream); background: var(--ink); border-color: var(--ink); }
body.about-page .hero__image { object-position: center 42%; }
body.about-page .hero__image-glow { background: linear-gradient(180deg, rgba(20,8,5,.02) 0%, rgba(20,8,5,.02) 38%, rgba(20,8,5,.52) 100%); }
body.about-page .hero__image-frame::after { position: absolute; z-index: 2; inset: 0; content: ""; opacity: .15; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='about-grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23about-grain)' opacity='.4'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; pointer-events: none; }
body.about-page .hero__support { top: 58%; transform: translate(-50%, -24%); }
body.about-page .hero__support-copy { max-width: 980px; }
body.about-page .hero__support-heading { font-size: clamp(4.2rem, 9vw, 9.5rem); }
body.about-page .hero__support-description { max-width: 720px; margin-top: 30px; font-size: clamp(1rem, 1.5vw, 1.35rem); }
@media (max-width: 800px) { body.about-page .hero__support { top: 58%; transform: translate(-50%, -28%); } body.about-page .hero__support-heading { font-size: clamp(3.6rem, 14vw, 6.5rem); } }

/* About editorial layout: alternating image-led sections inspired by the reference page. */
.about-editorial { position: relative; overflow: hidden; background: var(--cream); color: var(--ink); }
.about-editorial__header { margin: 0 clamp(24px, 6vw, 96px); padding-top: clamp(80px, 10vw, 150px); }
.about-editorial__intro { width: min(760px, calc(100% - 48px)); margin: clamp(56px, 8vw, 120px) auto clamp(56px, 8vw, 120px); }
.about-editorial__intro h2, .about-editorial__copy h2, .about-editorial__vision-heading h2 { max-width: 12ch; margin: 18px 0 32px; font: 400 clamp(3.5rem, 7vw, 8rem)/.88 var(--display); letter-spacing: -.04em; }
.about-editorial__intro > p:last-child, .about-editorial__copy > p:not(.eyebrow), .about-editorial__vision-heading > p:last-child { max-width: 600px; font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.45; }
.about-editorial__full-image { width: 100%; height: min(72vw, 760px); margin: 0; overflow: hidden; }
.about-editorial__full-image img, .about-editorial__rounded-image img, .about-editorial__pill-image img, .about-editorial__small-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-editorial__split, .about-editorial__reverse { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 9vw, 150px); align-items: center; min-height: 850px; padding-top: clamp(90px, 12vw, 180px); padding-bottom: clamp(90px, 12vw, 180px); }
.about-editorial__reverse { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.about-editorial__copy { max-width: 660px; }
.about-editorial__copy > p + p { margin-top: 22px; }
.about-editorial__pill-image { width: min(100%, 520px); height: min(68vw, 700px); margin: 0 auto; overflow: hidden; border-radius: 999px; border: 1px solid rgba(201,162,93,.65); box-shadow: 0 28px 70px rgba(43,27,23,.16); }
.about-editorial__rounded-image { width: 100%; height: min(58vw, 620px); margin: 0; overflow: hidden; border-radius: 28px 28px 180px 180px; border: 1px solid rgba(201,162,93,.55); }
.about-editorial--method { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(40px, 8vw, 120px); align-items: start; padding: clamp(90px, 11vw, 170px) clamp(24px, 6vw, 96px); background: var(--ink); color: var(--cream); }
.about-editorial__method-copy h2 { max-width: 10ch; margin: 22px 0 30px; font: 400 clamp(3.5rem, 6.4vw, 7.5rem)/.86 var(--display); letter-spacing: -.04em; }
.about-editorial__method-copy > p:last-child { max-width: 550px; color: var(--cream-muted); font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.45; }
.about-editorial__principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.about-editorial__principles article { min-height: 290px; padding: 28px 24px; border: 1px solid rgba(240,203,195,.32); border-radius: 28px; background: rgba(255,255,255,.06); }
.about-editorial__principles span { color: var(--rose-light); font: 700 1.7rem "Helvetica Neue", Helvetica, Arial, sans-serif; }
.about-editorial__principles h3 { margin: 82px 0 16px; font: 400 clamp(1.6rem, 2.2vw, 2.7rem)/.95 var(--display); }
.about-editorial__principles p { color: var(--cream-muted); line-height: 1.45; }
.about-editorial--trust { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: clamp(50px, 10vw, 160px); align-items: center; min-height: 760px; }
.about-editorial__trust-copy h2 { max-width: 11ch; margin: 18px 0 30px; font: 400 clamp(3.5rem, 6.4vw, 7rem)/.88 var(--display); letter-spacing: -.04em; }
.about-editorial__trust-copy > p:not(.eyebrow) { max-width: 620px; font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.45; }
.about-editorial__trust-copy .button { margin-top: 34px; }
.about-editorial__detail { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 22px; align-items: end; }
.about-editorial__small-image { height: 340px; margin: 0; overflow: hidden; border-radius: 999px; border: 1px solid rgba(201,162,93,.65); }
.about-editorial__detail p { margin: 0 0 8px; font: 400 1.15rem/1.25 var(--display); }
.about-editorial--vision { padding-top: clamp(90px, 11vw, 160px); }
.about-editorial__vision-heading { display: grid; grid-template-columns: .8fr 1.2fr; column-gap: clamp(30px, 7vw, 110px); align-items: end; padding: 0 clamp(24px, 6vw, 96px) clamp(56px, 8vw, 110px); }
.about-editorial__vision-heading h2 { margin-bottom: 0; }
.about-editorial__vision-heading > p:last-child { margin-bottom: 8px; }

@media (max-width: 800px) {
  .about-editorial__header { margin-inline: 24px; }
  .about-editorial__intro { width: auto; margin-inline: 24px; }
  .about-editorial__full-image { height: 58vw; min-height: 280px; }
  .about-editorial__split, .about-editorial__reverse, .about-editorial--trust, .about-editorial--method { grid-template-columns: 1fr; gap: 52px; min-height: 0; }
  .about-editorial__reverse .about-editorial__rounded-image { order: 2; }
  .about-editorial__pill-image { width: min(80vw, 460px); height: 120vw; max-height: 620px; }
  .about-editorial__rounded-image { height: 74vw; max-height: 500px; border-radius: 26px 26px 120px 120px; }
  .about-editorial__principles { grid-template-columns: 1fr; }
  .about-editorial__principles article { min-height: 0; }
  .about-editorial__principles h3 { margin-top: 42px; }
  .about-editorial__detail { max-width: 560px; }
  .about-editorial__vision-heading { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 520px) {
  .about-editorial__intro h2, .about-editorial__copy h2, .about-editorial__vision-heading h2, .about-editorial__method-copy h2, .about-editorial__trust-copy h2 { font-size: clamp(3.2rem, 15vw, 5.5rem); }
  .about-editorial__detail { grid-template-columns: 1fr 90px; }
  .about-editorial__small-image { height: 270px; }
}

/* The intro image is intentionally compact; the closing vision image remains full-width. */
.about-editorial--intro .about-editorial__full-image { height: 380px; }
@media (max-width: 800px) {
  .about-editorial--intro .about-editorial__full-image { height: 280px; }
}

.about-full-image-section { background: var(--cream); }
.about-full-image-section .about-editorial__full-image { height: 380px; }
.about-editorial--split { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(180px, .9fr) !important; gap: clamp(24px, 6vw, 110px); align-items: center; min-height: 760px; }
.about-editorial--split .about-editorial__copy h2 { max-width: 11ch; }
.about-editorial--split .about-editorial__pill-image { width: 100%; height: min(680px, 52vw); margin: 0; }
.about-editorial--reverse { display: grid !important; grid-template-columns: minmax(180px, .9fr) minmax(0, 1.1fr) !important; gap: clamp(24px, 6vw, 110px); align-items: center; min-height: 760px; }
.about-editorial--reverse .about-editorial__rounded-image { width: 100%; height: min(680px, 52vw); margin: 0; border-radius: 999px; }
.about-method-cards { grid-template-columns: 1fr; gap: 18px; margin-top: 0; }
.about-method-cards .why-goodness__card { min-height: 220px; color: var(--ink); background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.82) 100%); }
.about-method-cards .why-goodness__card + .why-goodness__card { border-left: 0; padding-left: clamp(24px, 3vw, 52px); }
.about-method-cards .why-goodness__card h3 { margin-top: 34px; }
.about-editorial--split .about-editorial__pill-image { width: 100%; height: min(680px, 52vw); margin: 0; }
.about-mission .services__intro { text-align: center; }
.about-mission .services__heading h2 { max-width: 100%; margin-inline: auto; }
.about-mission .services__support { display: block; text-align: center; }
.about-mission .services__support p { max-width: 760px; margin-inline: auto; }
@media (max-width: 800px) {
  .about-full-image-section .about-editorial__full-image { height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-support-letter, .hero__support-copy > p:not(.eyebrow) { opacity: 1; transform: none; transition: none; }
}

/* Semantic hero heading order with the existing visual treatment preserved. */
.hero__support-heading {
  display: block;
  max-width: 1000px;
  margin: 0;
  color: var(--cream);
  font: 700 120px/.8 var(--display);
  letter-spacing: -.03em;
  text-shadow: 0 3px 9px rgba(20,8,5,.42), 0 14px 34px rgba(20,8,5,.16);
}
.hero__support-description {
  max-width: 850px;
  margin: 44px auto 0;
  color: rgba(251,245,238,.94);
  font: 600 22px/1.35 "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-wrap: balance;
  text-shadow: 0 2px 6px rgba(20,8,5,.42), 0 8px 22px rgba(20,8,5,.14);
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s ease .5s, transform .85s cubic-bezier(.16,1,.3,1) .5s;
}
body.hero-support-visible .hero__support-description { opacity: 1; transform: translateY(0); }
@media (max-width: 800px) {
  .hero__support-heading { max-width: 14ch; margin-right: auto; margin-left: auto; font-size: clamp(58px, 13vw, 96px); }
  .hero__support-description { max-width: 34rem; margin-top: 18px; font-size: 16px; }
}
@media (max-width: 520px) {
  .hero__support-heading { font-size: clamp(48px, 13vw, 72px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero__support-description { opacity: 1; transform: none; transition: none; }
}

/* Keep the semantic tag changes from inheriting the other paragraph rules. */
.hero__support-copy #hero-support-heading {
  display: block;
  max-width: 1000px;
  margin: 0;
  color: var(--cream);
  font: 700 120px/.8 var(--display);
  letter-spacing: -.03em;
  opacity: 1;
  transform: none;
  transition: none;
  text-shadow: 0 3px 9px rgba(20,8,5,.42), 0 14px 34px rgba(20,8,5,.16);
}
.hero__support-copy .hero__support-description {
  max-width: 850px;
  margin: 44px auto 0;
  color: rgba(251,245,238,.94);
  font: 600 22px/1.35 "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-wrap: balance;
  text-shadow: 0 2px 6px rgba(20,8,5,.42), 0 8px 22px rgba(20,8,5,.14);
}
@media (max-width: 800px) {
  .hero__support-copy #hero-support-heading { max-width: 14ch; margin-right: auto; margin-left: auto; font-size: clamp(58px, 13vw, 96px); }
  .hero__support-copy .hero__support-description { max-width: 34rem; margin-top: 18px; font-size: 16px; }
}
@media (max-width: 520px) {
  .hero__support-copy #hero-support-heading { font-size: clamp(48px, 13vw, 72px); }
}

/* Services copy structure: keep the heading group separate from its supporting actions. */
.services { padding-top: 64px; }
.services .section-rule { margin-bottom: 48px; }
.services .section-rule span { color: #C9A25D; font: 700 14px/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.services__heading { display: block; }
.services__intro { margin-bottom: 48px; }
.services__heading .services__eyebrow { max-width: none; margin: 0 0 24px; color: #C9A25D; font-size: 14px; white-space: nowrap; }
.services__heading h2 { max-width: 80vw; font-size: 96px; font-weight: 700; line-height: .9; }
.services__heading h2, .why-goodness__heading h2 { font-weight: 400; }
.why-goodness .section-rule { margin-bottom: 48px; }
.button--outline { color: var(--cream); background: var(--ink); border-color: var(--ink); }
.button--outline:hover, .button--outline:focus-visible { color: var(--cream); background: var(--gold); border-color: var(--gold); }
.menus .menus__intro-support .button--outline { color: var(--cream); background: var(--gold); border-color: var(--gold); }
.menus .menus__intro-support .button--outline:hover, .menus .menus__intro-support .button--outline:focus-visible { color: var(--cream); background: transparent; border-color: var(--gold); }
.menu-showcase__image::after { display: none; }
.services__support p, .why-goodness .services__support p { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.45; }
.menus__intro-support .button, .services__support .button { font-weight: 700; }
.services__support { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.52fr); column-gap: clamp(50px,12vw,210px); align-items: start; }
.services__support p { grid-column: 1; max-width: none; margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.45; }
.services__support .button { grid-column: 2; margin-top: 0; }
@media (max-width: 800px) {
  .services__intro { margin-bottom: 38px; }
  .services__heading .services__eyebrow { white-space: normal; }
  .services__heading h2 { max-width: 80vw; font-size: clamp(4.5rem, 13vw, 7.2rem); }
  .services__support { display: block; }
  .services__support p { max-width: 430px; font-size: 18px; }
  .services__support .button { margin-top: 34px; }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .services__heading h2, .why-goodness__heading h2, .menus__intro h2 { max-width: 100%; font-size: clamp(4rem, 7.2vw, 6rem); line-height: .9; text-wrap: balance; }
  .why-goodness-break { display: none; }
}
