/* Seasonal trim only: original photographs, typography and story layouts stay intact. */
html[data-season] { --season-header: #242b30; --season-trim: #edb16b; --season-text: #fffdf7; }
html[data-season="halloween"] { --navy: #23252a; --gold: #f5ad5d; --rust: #a64620; --cream: #f7e9d6; --season-header: #23252a; --season-trim: #f5ad5d; }
html[data-season="thanksgiving"], html[data-season="fall"] { --gold: #eac079; --rust: #974a2e; --cream: #f3ebdc; --season-header: #3d3029; --season-trim: #eac079; }
html[data-season="christmas"] { --gold: #e4c27a; --rust: #984039; --cream: #f2eee4; --season-header: #243c34; --season-trim: #e4c27a; }
html[data-season="newyear"] { --gold: #e7ca83; --season-header: #1c2b39; --season-trim: #e7ca83; }
html[data-season="valentine"] { --gold: #edc2b6; --rust: #943b48; --season-header: #49313a; --season-trim: #edc2b6; }
html[data-season="stpatrick"] { --gold: #dbca84; --rust: #356047; --season-header: #244237; --season-trim: #dbca84; }
html[data-season="easter"] { --gold: #eed4a0; --rust: #665074; --cream: #f2eef5; --season-header: #493e55; --season-trim: #eed4a0; }
html[data-season="spring"] { --gold: #dfcf90; --rust: #46634b; --cream: #eef1e6; --season-header: #30463c; --season-trim: #dfcf90; }
html[data-season="memorial"], html[data-season="independence"] { --gold: #e6cc99; --rust: #9a403d; --season-header: #23364a; --season-trim: #e6cc99; }
html[data-season] .site-header { background: var(--season-header); color: var(--season-text); border-bottom: 2px solid var(--season-trim); }
html[data-season] .site-header .brand small { color: #e2dfd8; }
html[data-season] .site-header .brand-mark { background: transparent; color: var(--season-trim); border: 1px solid var(--season-trim); }
html[data-season] .site-header .nav-pill { border-color: #9da1a2; }
html[data-season] .menu-button { color: var(--season-text); }
html[data-season] .site-header a:focus-visible, html[data-season] .menu-button:focus-visible { outline: 2px solid var(--season-trim); outline-offset: 5px; }
.seasonal-badge { position: absolute; z-index: 2; top: 24px; left: clamp(24px,8vw,118px); display: flex; align-items: center; gap: 12px; margin: 0; padding: 9px 15px; color: #fffdf7; background: rgba(24,28,31,.8); border: 1px solid var(--season-trim); font: 600 13px/1.4 var(--sans); letter-spacing: .04em; max-width: calc(100% - 48px); }
.seasonal-badge svg { width: 27px; height: 27px; flex: 0 0 27px; color: var(--season-trim); }
.seasonal-ornament { position: absolute; right: 0; top: 0; width: 160px; height: 150px; color: #eee4d2; pointer-events: none; }
.seasonal-ornament svg { width: 100%; height: 100%; }
.seasonal-brand-icon { display: inline-flex; color: var(--season-trim); }
.seasonal-brand-icon svg { width: 24px; height: 24px; }
@media(max-width:900px) { html[data-season] .site-header nav { background: var(--season-header); } html[data-season] .article-page .site-header nav { background: transparent; } }
@media(max-width:560px) { .seasonal-badge { left: 22px; top: 22px; font-size: 12px; gap: 8px; padding: 8px 12px; max-width: calc(100% - 122px); } .seasonal-ornament { width: 94px; height: 88px; } .seasonal-brand-icon { display: none; } }

/* A clear October welcome, like dressing the front porch for Halloween. */
html[data-season="halloween"] .site-header { border-bottom-width: 4px; }
html[data-season="halloween"] .site-header .brand-mark { background: var(--gold); color: var(--navy); }
html[data-season="halloween"] .site-header .nav-pill { border-color: var(--gold); }
html[data-season="halloween"] .hero { border-bottom: 5px solid var(--gold); }
html[data-season="halloween"] .hero-copy { padding-top: 170px; }
html[data-season="halloween"] .seasonal-badge { top: 0; left: 0; width: 100%; max-width: none; padding: 18px clamp(24px,8vw,118px); gap: 19px; border: 0; border-bottom: 1px solid #f5ad5d; background: #a64620; color: #fffdf7; }
html[data-season="halloween"] .seasonal-badge svg { width: 53px; height: 53px; flex-basis: 53px; color: #ffe0a9; }
.seasonal-banner-copy { display: grid; gap: 5px; }
.seasonal-banner-copy strong { font: 500 32px/1.1 var(--serif); letter-spacing: 0; }
.seasonal-banner-copy small { font: 500 13px/1.5 var(--sans); letter-spacing: .06em; }
html[data-season="halloween"] .seasonal-ornament { top: 98px; width: 250px; height: 235px; color: #fff1d8; }
.seasonal-bats { position: absolute; z-index: 1; top: 235px; right: 10%; width: 240px; height: 140px; color: #f5ad5d; pointer-events: none; }
.seasonal-bats svg { width: 100%; height: 100%; }
html[data-season="halloween"] footer { border-top: 5px solid var(--gold); }
@media(max-width:900px) { .seasonal-bats { top: 230px; right: 3%; width: 145px; height: 100px; } }
@media(max-width:560px) {
  html[data-season="halloween"] .seasonal-badge { padding: 14px 22px; gap: 14px; }
  html[data-season="halloween"] .seasonal-badge svg { width: 42px; height: 42px; flex-basis: 42px; }
  .seasonal-banner-copy strong { font-size: 25px; }
  .seasonal-banner-copy small { font-size: 11px; }
  html[data-season="halloween"] .seasonal-ornament { top: 84px; width: 150px; height: 140px; }
  .seasonal-bats { top: 165px; right: 10px; width: 140px; height: 90px; }
  html[data-season="halloween"] .hero-copy { padding-top: 260px; }
}
