/* Seasonal layer: remove this stylesheet and campaign blocks after November. */
@media screen {
  body {
    background: radial-gradient(ellipse at top right, #d4e9e6, transparent 45%), linear-gradient(140deg, #f1f3f2, #e7eceb);
  }
  .header-shell { border-color: #354e50; box-shadow: 0 16px 45px #101b2226; }
  .header-cta { background: linear-gradient(120deg, #11191f, #29494c); border-bottom-color: #90d1cd; }
  .global-footer { background: radial-gradient(ellipse at top left, #264e50, transparent 65%), #111a21; }
  .bn-banner {
    position: relative;
    margin: 2rem 0;
    padding: clamp(1.5rem, 4vw, 3.5rem);
    border: 1px solid #638c8b;
    border-radius: 30px 60px 30px 30px;
    background: radial-gradient(ellipse at top right, #28585a 0%, transparent 60%), linear-gradient(120deg, #10171c, #17262d);
    color: #f7fbfa;
    box-shadow: 0 20px 48px #12212624;
    scroll-margin-top: calc(var(--site-header-space, 140px) + 1rem);
  }
  .bn-eyebrow { color: #b8e5df; font-size: .78rem; letter-spacing: .16em; font-weight: 600; }
  .bn-banner h2 { margin: .65rem 0 1.5rem; color: #fff; font-size: clamp(1.8rem, 4.5vw, 3.6rem); line-height: 1.1; letter-spacing: -.035em; }
  .bn-banner h2 span { color: #90d1cd; }
  .bn-banner p { color: #d5e5e3; font-size: .9rem; line-height: 1.6; max-width: none; }
  .bn-offers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; margin-bottom: 1.5rem; }
  .bn-offers > div { border-top: 1px solid #6d9898; padding-top: 1.2rem; font-size: .95rem; }
  .bn-offers strong { display: block; color: #b7ece5; font-size: clamp(2.8rem, 5vw, 4.8rem); line-height: 1.15; font-weight: 600; letter-spacing: -.05em; }
  .bn-link { display: inline-block; color: #c2f2ec; text-decoration: underline; text-underline-offset: .3em; font-weight: 600; padding: .5rem 0; }
  .bn-link:hover { color: #fff; }
  .bn-link:focus-visible, .bn-price-terms:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
  .bn-terms { padding: 1.25rem 0; border-top: 1px solid #547373; }
  .bn-terms h3 { color: #fff; }
  .bn-terms ul { padding-left: 1.25rem; color: #e2eeec; line-height: 1.7; }
  .bn-terms li + li { margin-top: .5rem; }
  .bn-actions { display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; }
  body[data-zone-context] .summer-campaign-card { background: linear-gradient(135deg, #244649, #111a22); }
  .summer-campaign-card .bn-price { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; }
  .bn-price-label { font-size: .8rem; color: #d6f1ec; }
  .summer-campaign-card .bn-price .price-original { color: #c8ddda; }
  .bn-multi-price { border-top: 1px solid #658382; padding-top: .65rem; margin-top: .3rem; font-size: .9rem; line-height: 1.5; color: #e3f5f1; }
  .bn-multi-price strong { color: #b7ece5; white-space: nowrap; }
  .bn-price-terms { font-size: .75rem; color: #d6f1ec; text-decoration: underline; text-underline-offset: .2em; }
  @media (max-width: 600px) {
    .bn-banner { border-radius: 24px; margin: 1rem 0; }
    .bn-offers { grid-template-columns: 1fr; gap: 1rem; }
    .bn-offers > div { padding-top: .8rem; }
    .bn-offers strong { font-size: 3rem; }
    .bn-actions { gap: .7rem 1.25rem; }
  }
}
