.dining-hero { min-height: min(78svh, 820px); }
.dining-hero > img { object-position: 50% 54%; }
.dining-intro { padding-block: clamp(68px, 8vw, 112px); }
.dining-intro h2, .dining-plans__intro h2 { max-width: 850px; font-size: clamp(54px, 5.7vw, 88px); }
.dining-intro > p:last-child, .dining-plans__intro > p:last-child { max-width: 590px; }
.dining-note { max-width: 590px; margin: 28px 0 0; padding-top: 18px; border-top: 1px solid rgba(20, 61, 52, .22); font-size: 12px; line-height: 1.65; }.dining-note strong { display: block; margin-bottom: 5px; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.dining-lunch, .dining-harvest, .dining-evening, .dining-celebration { min-height: clamp(500px, 45vw, 610px); overflow: hidden; }
.dining-lunch > img { object-position: 52% 50%; }.dining-evening > img { object-position: 50% 50%; }.dining-celebration > img { object-position: 48% 50%; }
.dining-lunch .copy-block, .dining-harvest .copy-block, .dining-evening .copy-block, .dining-celebration .copy-block { align-self: stretch; display: grid; align-content: center; }
.harvest-gallery { display: grid; grid-template-columns: 1.12fr .88fr; grid-template-rows: 1fr 1fr; gap: 8px; padding: 8px; background: #e8dfd0; overflow: hidden; }.harvest-gallery img { width: 100%; height: 100%; min-width: 0; display: block; object-fit: cover; }.harvest-gallery__garden { grid-row: 1 / span 2; object-position: 50% 52%; }.harvest-gallery img:nth-child(2) { object-position: 50% 40%; }.harvest-gallery img:nth-child(3) { object-position: 50% 50%; }
.dining-plans { padding: clamp(72px, 8vw, 112px) clamp(20px, 8vw, 130px); background: var(--paper); }.dining-plans__intro { max-width: 870px; margin-bottom: clamp(38px, 5vw, 64px); }.dining-plans__intro h2 { margin: 0; font-family: var(--serif); font-weight: 500; letter-spacing: -.05em; line-height: .9; }.dining-plans__intro > p:last-child { margin: 26px 0 0; font-size: 15px; line-height: 1.7; }.dining-plans__grid { margin: 0; }.dining-plans__grid .feature-card { min-height: 250px; padding: clamp(30px, 3.4vw, 48px); }
.dining-close { position: relative; min-height: clamp(460px, 58svh, 680px); display: grid; place-items: center; padding: 78px 20px; overflow: hidden; color: #fff; text-align: center; isolation: isolate; }.dining-close::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5, 24, 18, .62), rgba(5, 24, 18, .3)), linear-gradient(0deg, rgba(5, 24, 18, .52), transparent 70%); }.dining-close > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; }.dining-close h2 { max-width: 760px; margin: 0; font: 500 clamp(64px, 7vw, 108px)/.88 var(--serif); letter-spacing: -.05em; }.dining-close .inline-link { justify-self: center; margin-top: 34px; }
@media (max-width: 700px), (max-aspect-ratio: 3/4) { .dining-hero { min-height: 84svh; }.dining-hero > img { object-position: 57% 52%; }.dining-intro { padding: 66px 20px 72px; }.dining-intro h2, .dining-plans__intro h2 { font-size: clamp(48px, 12.5vw, 62px); }.dining-lunch, .dining-harvest, .dining-evening, .dining-celebration { min-height: 0; }.dining-lunch > img, .dining-evening > img, .dining-celebration > img { min-height: 82vw; max-height: 480px; }.dining-lunch > img { object-position: 52% 50%; }.dining-evening > img { object-position: 50% 50%; }.dining-celebration > img { object-position: 52% 50%; }.harvest-gallery { min-height: 86vw; grid-template-columns: 1fr 1fr; }.harvest-gallery img { min-height: 0; max-height: none; }.dining-plans { padding: 70px 20px; }.dining-plans__intro { margin-bottom: 38px; }.dining-plans__grid { margin-inline: -20px; }.dining-plans__grid .feature-card { min-height: 0; padding: 36px 20px; }.dining-close { min-height: 76svh; align-items: end; padding-bottom: 72px; }.dining-close > img { object-position: 54% 54%; }.dining-close h2 { font-size: clamp(58px, 15vw, 76px); } }

@media (min-width: 701px) and (min-aspect-ratio: 3/4) { .harvest-gallery img:nth-child(3) { object-position: 24% 50%; } }
