.food-page { background: #f5f1e8; color: #173f35; }
.food-header { position: absolute; color: #fff; background: rgba(8,27,21,.28); border-bottom: 0; backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); }
.food-header .nav-inner { border-bottom: 0; }
.food-header .desktop-nav { display: none; }
.food-header .brand { color: #fff; }
.food-header .book-button { background: rgba(245,241,232,.08); border-color: rgba(255,255,255,.5); color: #fff; }
.food-hero { position: relative; min-height: min(820px, 86vh); display: grid; align-items: end; color: #f5f1e8; overflow: hidden; }
.food-hero-image, .food-hero-shade { position: absolute; inset: 0; }
.food-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.food-hero-shade { background: linear-gradient(90deg, rgba(7,25,19,.75), rgba(7,25,19,.1) 66%), linear-gradient(0deg, rgba(7,25,19,.8), transparent 56%); }
.food-hero-copy { position: relative; z-index: 1; padding-bottom: clamp(70px, 10vw, 130px); }
.food-kicker { color: #c5d4ca; font-size: 11px; letter-spacing: .2em; }
.food-kicker.dark { color: #8d765b; }
.food-hero-copy h1 { margin: 20px 0 26px; font-family: var(--zh); font-size: clamp(48px, 8vw, 104px); line-height: 1.18; font-weight: 300; letter-spacing: -.06em; }
.food-hero-copy h1 em, .food-intro h2 em, .food-menu-sticky h2 em, .food-section-heading h2 em, .food-hours h2 em { font-family: var(--serif); font-weight: 500; }
.food-hero-copy > p:last-child { max-width: 460px; margin: 0; font-family: var(--zh); font-size: 15px; line-height: 2; color: rgba(245,241,232,.75); }
.food-hero-index { position: absolute; z-index: 2; right: clamp(24px, 5vw, 78px); bottom: 42px; display: flex; align-items: center; gap: 16px; color: rgba(245,241,232,.65); font-size: 10px; letter-spacing: .2em; }
.food-hero-index span { width: 72px; height: 1px; background: rgba(245,241,232,.42); }
.food-intro { background: #f5f1e8; }
.food-intro-grid, .food-section-heading, .food-menu-grid, .source-grid, .food-hours-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(40px, 8vw, 130px); }
.food-intro-grid > div:last-child { max-width: 760px; }
.food-intro h2, .food-section-heading h2, .food-menu-sticky h2, .food-hours h2 { margin: 12px 0 26px; font-family: var(--zh); font-size: clamp(38px, 5.5vw, 72px); line-height: 1.35; font-weight: 300; letter-spacing: -.05em; }
.food-lead { max-width: 580px; margin: 0; color: #69766f; font-family: var(--zh); font-size: 15px; line-height: 2.1; }
.food-season { background: #0d211a; color: #f5f1e8; }
.food-section-heading { align-items: start; margin-bottom: 70px; }
.food-section-heading h2 { color: #f5f1e8; }
.food-section-heading > div:last-child { max-width: 720px; }
.season-grid { display: grid; grid-template-columns: 1.3fr .85fr .85fr; gap: 22px; }
.season-grid article { min-width: 0; }
.season-grid img { width: 100%; height: 270px; object-fit: cover; margin-bottom: 25px; }
.season-feature { grid-row: span 2; }
.season-feature img { height: 600px; }
.season-grid span, .menu-list article > span, .menu-list article div > p:first-child, .source-image > span { color: #9eae9f; font-size: 10px; letter-spacing: .18em; }
.season-grid h3 { margin: 13px 0 10px; font-family: var(--zh); font-size: 25px; font-weight: 400; }
.season-grid p { margin: 0; color: rgba(245,241,232,.62); font-family: var(--zh); font-size: 13px; line-height: 1.9; }
.season-feature > div { max-width: 500px; }
.food-menu { background: #f5f1e8; }
.food-menu-sticky h2 { color: #173f35; }
.food-menu-sticky > p { max-width: 300px; margin: 0 0 26px; color: #69766f; font-family: var(--zh); font-size: 13px; line-height: 2; }
.menu-list { border-top: 1px solid rgba(23,63,53,.2); }
.menu-list article { display: grid; grid-template-columns: 40px minmax(0, 1fr) 30px; gap: 20px; align-items: start; padding: 30px 0; border-bottom: 1px solid rgba(23,63,53,.2); }
.menu-list article > span, .menu-list article > strong { color: #8d765b; font-size: 12px; font-weight: 400; letter-spacing: .12em; }
.menu-list article div > p:first-child { margin: 0 0 10px; color: #8d765b; }
.menu-list h3 { margin: 0 0 9px; font-family: var(--zh); font-size: 24px; font-weight: 400; }
.menu-list article div > p:last-child { margin: 0; color: #69766f; font-family: var(--zh); font-size: 13px; line-height: 1.9; }
.food-source { background: #ebe4d8; }
.source-grid { align-items: center; }
.source-image { position: relative; }
.source-image img { width: 100%; height: 520px; object-fit: cover; }
.source-image > span { position: absolute; left: 24px; bottom: 24px; color: #fff; }
.source-copy > p { max-width: 500px; margin: 0 0 48px; color: #52635a; font-family: var(--zh); font-size: 16px; line-height: 2.1; }
.source-facts { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(23,63,53,.2); }
.source-facts div { padding: 22px 14px 0 0; border-right: 1px solid rgba(23,63,53,.2); }
.source-facts div + div { padding-left: 14px; }
.source-facts div:last-child { border-right: 0; }
.source-facts strong { display: block; margin-bottom: 16px; color: #8d765b; font-size: 12px; font-weight: 400; }
.source-facts span { color: #173f35; font-family: var(--zh); font-size: 13px; line-height: 1.8; }
.food-hours { background: #173f35; color: #f5f1e8; }
.food-hours h2 { color: #f5f1e8; }
.hours-table { border-top: 1px solid rgba(245,241,232,.2); }
.hours-table div { display: grid; grid-template-columns: 1fr 1fr 110px; gap: 20px; padding: 20px 0; border-bottom: 1px solid rgba(245,241,232,.2); align-items: center; }
.hours-table span, .hours-table strong { font-family: var(--zh); font-size: 15px; font-weight: 400; }
.hours-table strong { color: #c5d4ca; letter-spacing: .08em; }
.hours-table small { color: rgba(245,241,232,.52); font-size: 11px; }
.hours-note { max-width: 510px; margin: 28px 0 0; color: rgba(245,241,232,.6); font-family: var(--zh); font-size: 13px; line-height: 1.9; }
@media (max-width: 800px) { .food-header .desktop-nav { display: none; } .food-intro-grid, .food-section-heading, .food-menu-grid, .source-grid, .food-hours-grid { grid-template-columns: 1fr; gap: 30px; } .season-grid { grid-template-columns: 1fr; } .season-feature { grid-row: auto; } .season-feature img, .season-grid img { height: 330px; } .source-image img { height: 380px; } }
@media (max-width: 520px) { .food-hero { min-height: 700px; } .food-hero-index { display: none; } .food-hero-copy h1 { font-size: 54px; } .source-facts { grid-template-columns: 1fr; } .source-facts div, .source-facts div + div { padding: 18px 0; border-right: 0; border-bottom: 1px solid rgba(23,63,53,.2); } .source-facts div:last-child { border-bottom: 0; } .hours-table div { grid-template-columns: 1fr; gap: 7px; } }
