/* Four seasonal selections, presented one at a time when scripting is available. */
.seasons-page .site-header{position:relative;background:var(--ink);border-bottom-color:#ffffff30}
.seasons-page.nav-open .site-header{position:fixed}
.seasons-opening{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:8%;padding:40px 7% 54px;align-items:center}
.seasons-back{display:inline-flex;gap:14px;align-items:center;font-size:.875rem;min-height:44px;margin-bottom:20px;color:var(--soft)}
.seasons-back:hover{text-decoration:underline;text-underline-offset:5px}
.seasons-opening .eyebrow{font-size:.875rem}
.seasons-opening h1{font-family:var(--serif);font-size:clamp(3.5rem,5.8vw,5.8rem);font-weight:400;letter-spacing:-.035em;line-height:1.04;margin:20px 0 25px}
.seasons-opening h1 em{font-weight:400}
.seasons-opening-copy>p:not(.eyebrow){font-size:1rem;line-height:1.85;color:var(--soft);max-width:480px;margin-bottom:16px}
.seasons-opening-copy .text-link{margin-top:5px;font-size:1rem;gap:40px}
.seasons-opening-photo{position:relative;align-self:stretch;min-height:440px;overflow:hidden}
.seasons-opening-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}
.seasons-opening-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 24px 20px;background:linear-gradient(transparent,#14271bc9);color:var(--cream);font-family:var(--serif);font-size:1.5rem;font-style:italic;line-height:1.3}
.seasonal-collection{--season-accent:#536345;scroll-margin-top:0;background:#eeeee5}
.seasonal-collection[data-active-season=summer]{--season-accent:#87612d}
.seasonal-collection[data-active-season=autumn]{--season-accent:#9a472f}
.seasonal-collection[data-active-season=winter]{--season-accent:#42574f}
.seasons-navigation{position:sticky;top:0;z-index:15;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 7%;background:var(--paper);overflow-x:auto;overscroll-behavior-x:contain}
.season-tabs{display:grid;grid-template-columns:repeat(4,minmax(max-content,1fr));gap:20px;max-width:1200px;margin:auto}
.season-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 6px;min-height:68px;border-bottom:2px solid transparent;line-height:1.2;text-align:center;white-space:nowrap;overflow-wrap:normal}
.season-tab>span{font-family:var(--serif);font-size:2rem}
.season-tab small{font-family:var(--sans);font-size:.875rem;line-height:1.5;color:var(--soft)}
.season-tab:hover{border-color:var(--line)}
.season-tab[aria-selected=true]{color:var(--season-accent);border-color:var(--season-accent)}
.season-tab:focus-visible{outline-offset:1px}
.season-chapter{padding:60px 7% 70px;scroll-margin-top:120px}
.season-chapter+.season-chapter{border-top:1px solid var(--line)}
.season-chapter[role=tabpanel]{border-top:0;scroll-margin-top:0}
.season-chapter:focus-visible{outline:2px solid var(--ink);outline-offset:-7px}
.season-spread{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:6%;max-width:1200px;margin:auto;align-items:start}
.season-mood{position:sticky;top:calc(var(--season-index-height,100px) + 28px);min-width:0}
.season-mood .eyebrow{font-size:.875rem;color:var(--season-accent)}
.season-mood h2{font-size:clamp(3.5rem,5.4vw,5.2rem);margin:13px 0 20px;line-height:1.04}
.season-mood h2 em{display:block;font-size:.58em;line-height:1.25;margin-top:4px}
.season-description{font-size:1rem;line-height:1.85;color:var(--soft);max-width:400px;margin-bottom:27px}
.season-mood figure{overflow:hidden}
.season-mood img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.season-autumn .season-mood img{object-position:center 58%}
.season-ingredients{font-family:var(--serif);font-style:italic;font-size:1.45rem;line-height:1.5;padding-top:17px;margin-top:19px;border-top:1px solid var(--line)}
.season-menu{background:#fffef9;border:1px solid #d7dccd;border-top:2px solid var(--season-accent);padding:35px 7% 27px;text-align:center;box-shadow:0 8px 25px #263d3205;min-width:0}
.season-menu-heading{margin:0 auto 23px;max-width:440px}
.season-menu-heading img{width:132px;height:auto;margin:0 auto 17px;filter:brightness(0) saturate(100%) invert(21%) sepia(13%) saturate(987%) hue-rotate(96deg) brightness(94%) contrast(89%)}
.season-menu-heading>p{font-size:.875rem;letter-spacing:.035em;color:var(--soft);margin-bottom:8px}
.season-menu-heading h3{font-family:var(--serif);font-size:2rem;line-height:1.2;font-weight:400;font-style:italic}
/* Simple menu lists with a clear heading for each part of the meal. */
.season-category-nav{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.season-category-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.5;text-decoration:underline;text-decoration-color:#8b978655;text-underline-offset:5px}
.season-category-nav a:hover{text-decoration-color:currentColor}
.season-option-group{padding:29px 0 31px;border-top:1px solid var(--line);text-align:left;scroll-margin-top:18px}
.season-option-group h4{font-family:var(--serif);font-size:2.2rem;font-weight:400;line-height:1.16;margin:0 0 24px;color:var(--season-accent)}
.season-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:24px 28px;margin:0}
.season-option{min-width:0;break-inside:avoid}
.season-option dt{font-family:var(--serif);font-size:1.6rem;font-weight:500;line-height:1.18;margin:0 0 7px;overflow-wrap:break-word}
.season-option dd{font-size:1rem;line-height:1.75;color:var(--soft);margin:0}
.season-menu-note{font-size:.875rem;line-height:1.7;padding-top:20px;border-top:1px solid var(--line);color:var(--soft)}
html.has-season-tabs{scroll-padding-top:calc(var(--season-index-height,100px) + 16px)}
.seasons-event-invitation{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:65px 10% 70px;background:var(--ink);color:var(--cream)}
.seasons-event-invitation h2{font-size:clamp(3.4rem,4.6vw,4.8rem);margin-top:20px}
.seasons-event-invitation>div>p:not(.eyebrow){font-size:1rem;line-height:1.85;margin-bottom:19px;color:#e2e7da;max-width:510px}
.seasons-event-invitation .eyebrow{font-size:.875rem}
.seasons-event-invitation .button{margin-top:8px;font-size:1rem;gap:24px;white-space:normal}
.seasons-policies-link{display:block;width:fit-content;font-size:.875rem;line-height:1.8;margin-top:20px;min-height:44px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.seasons-opening{gap:6%}.season-spread{gap:5%;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}.season-menu{padding-left:7%;padding-right:7%}.season-mood h2{font-size:4.4rem}.season-ingredients{font-size:1.3rem}.seasons-event-invitation{padding-left:7%;padding-right:7%;gap:7%}}
@media(max-width:750px){.seasons-opening{padding:22px 6% 35px;grid-template-columns:1fr;gap:28px;max-width:660px}.seasons-back{margin-bottom:15px}.seasons-opening h1{font-size:clamp(3.5rem,10vw,4.7rem);margin:17px 0 23px}.seasons-opening-copy>p:not(.eyebrow){max-width:none}.seasons-opening-photo{min-height:0;aspect-ratio:3/2;align-self:auto}.seasons-opening-photo figcaption{font-size:1.3rem;padding:40px 18px 16px}.seasons-navigation{padding:6px 5%}.season-tabs{gap:4px}.season-tab{padding:10px 2px;gap:5px;min-height:65px}.season-tab>span{font-size:clamp(1.2rem,5.1vw,1.5rem)}.season-tab small{font-size:.8125rem}.season-chapter{padding:35px 6% 45px}.season-spread{grid-template-columns:1fr;gap:30px;max-width:560px}.season-mood{position:static}.season-mood h2{font-size:3.8rem;margin-bottom:17px}.season-mood h2 em{display:inline;font-size:.58em;margin-left:8px}.season-description{max-width:none;margin-bottom:22px}.season-mood img{aspect-ratio:3/2;max-height:330px}.season-ingredients{font-size:1.4rem;padding-top:13px;margin-top:14px}.season-menu{padding:30px 7% 23px}.season-menu-heading{margin-bottom:22px}.season-menu-heading img{width:126px}.season-option-group{padding:26px 0 29px}.season-option-group h4{font-size:2.1rem;margin-bottom:22px}.season-options{gap:22px 26px}.season-option dt{font-size:1.65rem}.season-category-nav{margin-top:12px;padding-top:8px;gap:0 20px}.seasons-event-invitation{grid-template-columns:1fr;padding:46px 7% 40px;gap:26px}.seasons-event-invitation h2{font-size:3.6rem}.seasons-event-invitation .button{max-width:100%;font-size:.9375rem;padding:13px 18px;gap:18px}}
@media(max-width:380px){.season-mood h2 em{display:block;margin-left:0}.season-menu{padding-left:6%;padding-right:6%}}
@media(min-width:751px) and (max-height:950px){.season-mood{position:static}}
