/* Seasonal scenes share the original logo's home and telephone hit areas. */
.navigation-ticker:has(.brand-frame--seasonal) { padding: 0; border-top: 0; }
.navigation-ticker:has(.brand-frame--seasonal) .ticker-nav { padding-bottom: env(safe-area-inset-bottom, 0px); }
.brand--ticker:has(.brand-frame--seasonal) { --seasonal-logo-width: 212px; --seasonal-art-height: calc(var(--seasonal-logo-width) * 2 / 3); width: var(--seasonal-logo-width); padding: 0; align-items: stretch; }
.brand-links--seasonal { display: flex; width: 100%; }
.brand--ticker .brand-frame--seasonal { flex: 1; width: 100%; max-width: none; min-height: var(--seasonal-art-height); aspect-ratio: auto; overflow: hidden; }
.brand-frame--seasonal > .seasonal-scene { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.brand-links--seasonal .brand-home-link { top: 0; bottom: calc((100% - var(--seasonal-art-height)) / 2 + max(1.5rem, var(--seasonal-art-height) * .2)); }
.brand-links--seasonal .brand-phone-link { top: auto; bottom: calc((100% - var(--seasonal-art-height)) / 2); height: max(1.5rem, var(--seasonal-art-height) * .2); min-height: 1.5rem; }
/* Fill the entire viewport while keeping the artwork's proportions intact. */
.seasonal-scene { background: #fcf5e6; }
.seasonal-scene[data-season-theme="thanksgiving"] { background: #fbf2df; }
.seasonal-scene[data-season-theme="halloween"],
.seasonal-scene[data-season-theme="christmas"] { background: linear-gradient(135deg, #091427, #132a49 58%, #1e3e5a); }
.seasonal-scene > g > rect:first-child { fill: transparent; }
.seasonal-scene clipPath[id$="-canvas"] > rect { rx: 0; }
@media (max-width: 1000px) {
  .brand--ticker:has(.brand-frame--seasonal) { --seasonal-logo-width: 192px; }
}
@media (max-width: 540px) {
  .brand--ticker:has(.brand-frame--seasonal) { --seasonal-logo-width: 155.2px; }
}

.season-page { background: #f5f3ec; }
.season-main { max-width: 1380px; margin-inline: auto; padding: 2.5rem 3rem calc(var(--ticker-height) + 3rem); }
.season-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-bottom: 1px solid #09244225; padding-bottom: 1.5rem; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
.season-top a:hover { text-decoration: underline; text-underline-offset: .3em; }
.season-intro { padding-block: 3rem 2.5rem; display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.season-intro h1 { font-size: clamp(2.2rem,4vw,4rem); line-height: 1.07; letter-spacing: -.04em; font-weight: 500; margin: 0 0 1rem; }
.season-intro h1 em { font-family: Georgia, serif; font-weight: 400; }
.season-intro p { max-width: 55ch; margin: 0; color: #536373; line-height: 1.7; }
.season-tools { flex: 0 0 auto; text-align: right; }
.season-tools p { font-size: .85rem; margin-bottom: .8rem; color: #092442; }
.season-calendar { border-block: 1px solid #09244225; padding: 1rem 0; margin-bottom: 2.5rem; }
.season-calendar ul { display: flex; flex-wrap: wrap; gap: .7rem 2rem; list-style: none; padding: 0; margin: 0; font-size: .9rem; font-weight: 600; }
.season-calendar p { margin: .65rem 0 0; font-size: .82rem; color: #536373; }
.season-button { font: inherit; font-size: .875rem; font-weight: 600; color: #092442; background: transparent; border: 1px solid #9aa7ae; padding: .75rem 1rem; cursor: pointer; min-height: 44px; }
.season-button:hover { border-color: #092442; background: #e9e9e2; }
.season-button[aria-pressed="true"][data-season-choice] { color: white; background: #14374a; border-color: #14374a; }
#season-automatic[aria-pressed="true"] { color: white; background: #14374a; border-color: #14374a; }
.season-button:focus-visible { outline: 3px solid #337fb9; outline-offset: 4px; }
.season-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
.season-card { min-width: 0; margin: 0; padding-bottom: 1.8rem; border-bottom: 1px solid #09244230; }
.season-stage { padding: 0; border: 0; overflow: hidden; }
.season-stage .seasonal-scene { display: block; width: 100%; height: auto; }
.season-caption { display: flex; gap: 1.5rem; align-items: start; justify-content: space-between; padding-top: 1.25rem; }
.season-caption h2 { font-size: 1.15rem; margin: 0 0 .45rem; font-weight: 600; }
.season-caption p { margin: 0; max-width: 36ch; font-size: .88rem; line-height: 1.65; color: #536373; }
.season-caption .season-button { flex: 0 0 auto; }
.season-original { display: flex; gap: 1rem; align-items: center; margin-top: 2rem; }
.season-original p { color: #536373; font-size: .85rem; line-height: 1.6; }
@media (max-width: 750px) {
  .season-main { padding: 1.4rem 1.2rem calc(var(--ticker-height) + 2rem); }
  .season-intro { display: block; padding-block: 2rem; }
  .season-tools { text-align: left; margin-top: 1.4rem; }
  .season-tools .season-button { margin-bottom: .5rem; }
  .season-grid { grid-template-columns: 1fr; gap: 2rem; }
  .season-caption { gap: .8rem; }
  .season-caption .season-button { font-size: .78rem; padding-inline: .7rem; }
  .season-original { align-items: start; }
}
