/* Halloween: Realistic ("Lantern Night"). Preview skin over v4. Remove data-season to restore v4. */
html[data-season="halloween-realistic"] {
  --night: #0F1214; --night-2: #171C1F; --card: #1E2427; --bone: #EFE6D2; --bone-muted: #BDB3A0;
  --pumpkin: #F28C28; --candle: #FFC766; --foot: #0A0C0D;
  --sand: var(--night); --seafoam: var(--night-2); --ink: var(--bone); --muted: var(--bone-muted);
  --kelp: var(--pumpkin); --sea: var(--candle); --border: #2C3438;
  --display: "IM Fell English", Georgia, serif;
  --font: "Work Sans", "Segoe UI", system-ui, sans-serif;
}
html[data-season="halloween-realistic"] body { background: var(--night); color: var(--bone); }
html[data-season="halloween-realistic"] a { color: var(--pumpkin); }
html[data-season="halloween-realistic"] a:focus-visible { outline: 3px solid var(--candle); outline-offset: 3px; }

/* Display type on h1, h2, band line only */
html[data-season="halloween-realistic"] .hero h1 { font-family: var(--display); font-weight: 400; font-size: clamp(2.1rem, 4.6vw, 3.3rem); line-height: 1.1; letter-spacing: 0; color: var(--bone); text-shadow: 0 2px 24px rgb(0 0 0 / .6); }
html[data-season="halloween-realistic"] .section h2 { font-family: var(--display); font-weight: 400; font-size: clamp(1.8rem, 3.4vw, 2.5rem); letter-spacing: 0; color: var(--bone); }
html[data-season="halloween-realistic"] .amount { font-variant-numeric: tabular-nums; }

/* 1. Style bar */
html[data-season="halloween-realistic"] .style-bar { background: rgb(10 12 13 / .92); border-bottom: 1px solid rgb(242 140 40 / .35); color: var(--bone); }
html[data-season="halloween-realistic"] .style-bar-label { color: var(--bone-muted); }
html[data-season="halloween-realistic"] .style-bar-links a { color: var(--bone); background: rgb(239 230 210 / .06); border-color: rgb(239 230 210 / .2); }
html[data-season="halloween-realistic"] .style-bar-links a:hover,
html[data-season="halloween-realistic"] .style-bar-links a:focus-visible { color: var(--pumpkin); border-color: var(--pumpkin); background: rgb(242 140 40 / .08); }
html[data-season="halloween-realistic"] .season-nav-links a[aria-current="page"] { background: var(--pumpkin); color: var(--night); border-color: var(--pumpkin); }

/* 2. Hero: kept fog photo, moon, two lit jack-o'-lanterns */
html[data-season="halloween-realistic"] .hero { min-height: min(86vh, 44rem); padding-bottom: 4rem; color: var(--bone); }
html[data-season="halloween-realistic"] .hero-bg { background: url("../images/season/hero-halloween.jpg") center / cover no-repeat; filter: brightness(.55) saturate(.6) hue-rotate(-8deg); }
html[data-season="halloween-realistic"] .hero-overlay { background:
  radial-gradient(40rem 26rem at 50% 62%, rgb(242 140 40 / .16), transparent 70%),
  radial-gradient(34rem 30rem at 50% 55%, rgb(15 18 20 / .5), transparent 75%),
  linear-gradient(180deg, rgb(15 18 20 / .55) 0%, rgb(15 18 20 / .82) 55%, rgb(15 18 20 / .95) 100%); }
html[data-season="halloween-realistic"] .hero::before {
  content: ""; position: absolute; z-index: 0; top: 2.5rem; right: 6%; width: 14rem; height: 14rem;
  background: url("../images/season/hr-moon-720.jpg") center / cover no-repeat;
  mix-blend-mode: screen; -webkit-mask-image: radial-gradient(circle, #000 34%, transparent 62%); mask-image: radial-gradient(circle, #000 34%, transparent 62%);
  opacity: .95; pointer-events: none; }
html[data-season="halloween-realistic"] .hero::after {
  content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none;
  background: url("../images/season/hr-lantern-left-900.jpg") left 2% bottom / auto 50% no-repeat,
              url("../images/season/hr-lantern-right-800.jpg") right 2% bottom / auto 44% no-repeat;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(ellipse 24% 44% at 11% 78%, #000 55%, transparent 100%), radial-gradient(ellipse 22% 36% at 90% 82%, #000 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 24% 44% at 11% 78%, #000 55%, transparent 100%), radial-gradient(ellipse 22% 36% at 90% 82%, #000 55%, transparent 100%); }
html[data-season="halloween-realistic"] .hero-inner { z-index: 1; }
html[data-season="halloween-realistic"] .hero .hero-hello { color: var(--candle); opacity: 1; }
html[data-season="halloween-realistic"] .hero .lede { color: var(--bone-muted); }
html[data-season="halloween-realistic"] .btn-primary { background: var(--pumpkin); color: var(--night); }
html[data-season="halloween-realistic"] .btn-primary:hover,
html[data-season="halloween-realistic"] .btn-primary:focus-visible { background: var(--candle); color: var(--night); }
html[data-season="halloween-realistic"] .hero .btn-ghost { border-color: rgb(239 230 210 / .75); color: var(--bone); background: rgb(15 18 20 / .35); }
html[data-season="halloween-realistic"] .hero .btn-ghost:hover,
html[data-season="halloween-realistic"] .hero .btn-ghost:focus-visible { border-color: var(--candle); color: var(--candle); background: rgb(15 18 20 / .55); }
html[data-season="halloween-realistic"] .hero-logo-mark { box-shadow: 0 0 36px rgb(242 140 40 / .35); }
@media (max-width: 639px) {
  html[data-season="halloween-realistic"] .hero { padding-bottom: 9rem; }
  html[data-season="halloween-realistic"] .hero::before { width: 8rem; height: 8rem; right: 4%; top: 1.5rem; }
  html[data-season="halloween-realistic"] .hero::after { background-size: auto 30%, auto 26%; }
  html[data-season="halloween-realistic"] .hero::after { -webkit-mask-image: radial-gradient(ellipse 40% 20% at 18% 90%, #000 55%, transparent 100%), radial-gradient(ellipse 38% 18% at 84% 92%, #000 55%, transparent 100%); mask-image: radial-gradient(ellipse 40% 20% at 18% 90%, #000 55%, transparent 100%), radial-gradient(ellipse 38% 18% at 84% 92%, #000 55%, transparent 100%); }
}

/* 3. Photo band: dusk boathouse + lantern-row copy panel */
html[data-season="halloween-realistic"] .photo-band { background: var(--night); }
html[data-season="halloween-realistic"] .photo-band-figure { position: relative; }
html[data-season="halloween-realistic"] .photo-band-figure img { filter: brightness(.72) saturate(.8) sepia(.18); }
html[data-season="halloween-realistic"] .photo-band-figure::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 80px rgb(242 140 40 / .25); pointer-events: none; }
html[data-season="halloween-realistic"] .photo-band-copy { background: linear-gradient(160deg, rgb(15 18 20 / .88), rgb(15 18 20 / .74)), url("../images/season/hr-lantern-row-2000.jpg") center 60% / cover no-repeat; border-left: 3px solid var(--pumpkin); }
html[data-season="halloween-realistic"] .photo-band-copy .photo-band-line { font-family: var(--display); font-style: italic; color: var(--bone); font-size: clamp(1.5rem, 2.6vw, 1.95rem); line-height: 1.3; }

/* 4. Help: orange leaves in fog */
html[data-season="halloween-realistic"] #help { background: linear-gradient(rgb(15 18 20 / .86), rgb(15 18 20 / .9)), url("../images/season/hr-leaves-fog-2000.jpg") center / cover no-repeat; }
html[data-season="halloween-realistic"] .section .wrap.narrow > p,
html[data-season="halloween-realistic"] .section-intro,
html[data-season="halloween-realistic"] .price-group-blurb,
html[data-season="halloween-realistic"] .platform-note { color: var(--bone-muted); }

/* 5. Pricing: lantern strip fading into night-2 */
html[data-season="halloween-realistic"] #pricing { position: relative; padding-top: calc(12rem + 1rem); background: var(--night-2); }
html[data-season="halloween-realistic"] #pricing::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 12rem; background: url("../images/season/hr-lantern-row-2000.jpg") center 55% / cover no-repeat; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); pointer-events: none; }
html[data-season="halloween-realistic"] #pricing > * { position: relative; }
html[data-season="halloween-realistic"] .price-card,
html[data-season="halloween-realistic"] .section-alt .price-card { background: var(--card); border-color: #2C3438; color: var(--bone); box-shadow: none; }
html[data-season="halloween-realistic"] .price-card.featured { border-top: 3px solid var(--pumpkin); box-shadow: 0 10px 34px rgb(242 140 40 / .14); }
html[data-season="halloween-realistic"] .price-card h4 { color: var(--bone); }
html[data-season="halloween-realistic"] .price-group,
html[data-season="halloween-realistic"] .pay-line { color: var(--candle); }
html[data-season="halloween-realistic"] .soft-disclaimer { background: var(--night); border: 1px dashed #3A4347; color: var(--bone-muted); }

/* 6. How: lantern-disc numerals */
html[data-season="halloween-realistic"] .steps li { background: var(--card); border-color: #2C3438; color: var(--bone); }
html[data-season="halloween-realistic"] .steps li::before { background: var(--pumpkin); color: var(--night); box-shadow: 0 -4px 0 -1.5px #5B7A3A; }

/* 7. About: moon behind branches */
html[data-season="halloween-realistic"] #about { background: linear-gradient(rgb(15 18 20 / .86), rgb(23 28 31 / .9)), url("../images/season/hr-moon-branches-2000.jpg") center 40% / cover no-repeat; }

/* 8. Style samples */
html[data-season="halloween-realistic"] .style-sample-list a { background: var(--card); border-color: #2C3438; color: var(--pumpkin); }
html[data-season="halloween-realistic"] .style-sample-list a:hover,
html[data-season="halloween-realistic"] .style-sample-list a:focus-visible { border-color: var(--pumpkin); color: var(--candle); }

/* 9. Contact porch */
html[data-season="halloween-realistic"] .contact { position: relative; background: var(--night-2); color: var(--bone); border-top: 1px solid rgb(242 140 40 / .2); overflow: hidden; }
html[data-season="halloween-realistic"] .contact::after { content: ""; position: absolute; right: 6%; bottom: 0; width: 22rem; height: 85%; background: url("../images/season/hr-lantern-right-800.jpg") right bottom / auto 100% no-repeat; mix-blend-mode: screen; -webkit-mask-image: radial-gradient(ellipse 50% 50% at 60% 60%, #000 50%, transparent 100%); mask-image: radial-gradient(ellipse 50% 50% at 60% 60%, #000 50%, transparent 100%); pointer-events: none; }
html[data-season="halloween-realistic"] .contact .wrap { position: relative; z-index: 1; }
html[data-season="halloween-realistic"] .contact h2 { color: var(--bone); }
html[data-season="halloween-realistic"] .contact p,
html[data-season="halloween-realistic"] .section.contact .wrap.narrow > p { color: var(--bone-muted); }
html[data-season="halloween-realistic"] .contact .btn-primary { background: var(--pumpkin); color: var(--night); box-shadow: 0 0 30px rgb(242 140 40 / .35); }
html[data-season="halloween-realistic"] .contact .btn-primary:hover,
html[data-season="halloween-realistic"] .contact .btn-primary:focus-visible { background: var(--candle); color: var(--night); }
@media (max-width: 1099px) { html[data-season="halloween-realistic"] .contact::after { opacity: .35; } }
@media (max-width: 639px) { html[data-season="halloween-realistic"] .contact::after { display: none; } }

/* 10. Footer: fir line + static bats */
html[data-season="halloween-realistic"] .site-footer { position: relative; background: var(--foot); color: var(--bone-muted); }
html[data-season="halloween-realistic"] .site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -47px; height: 48px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 48' preserveAspectRatio='none'%3E%3Cpath fill='%230A0C0D' d='M0 48V36L22 30 44 8 66 30 88 26 110 4 132 28 154 32 176 12 198 30 220 24 242 2 264 28 286 34 308 10 330 30 352 26 374 6 396 30 400 32V48z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat; }
html[data-season="halloween-realistic"] .footer-inner { position: relative;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 12'%3E%3Cpath fill='%232A3033' d='M14 4 11 1 8 4 4 2 0 6 5 5 9 9 14 7 19 9 23 5 28 6 24 2 20 4 17 1z'/%3E%3C/svg%3E") 30% 0 / 28px auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 12'%3E%3Cpath fill='%232A3033' d='M14 4 11 1 8 4 4 2 0 6 5 5 9 9 14 7 19 9 23 5 28 6 24 2 20 4 17 1z'/%3E%3C/svg%3E") 72% 6px / 22px auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 12'%3E%3Cpath fill='%232A3033' d='M14 4 11 1 8 4 4 2 0 6 5 5 9 9 14 7 19 9 23 5 28 6 24 2 20 4 17 1z'/%3E%3C/svg%3E") 86% 0 / 18px auto no-repeat; }
html[data-season="halloween-realistic"] .footer-inner a { color: var(--candle); }
html[data-season="halloween-realistic"] .photo-credit { color: var(--bone-muted); }
html[data-season="halloween-realistic"] .season-credit { font-size: .8rem; margin-top: .4rem !important; }

/* Motion: plays once. Reduced motion shows the final lit state. */
@media (prefers-reduced-motion: no-preference) {
  html[data-season="halloween-realistic"] .hero::after { animation: hrLight 1.4s ease-out both; }
  html[data-season="halloween-realistic"] .hero::before { animation: hrFade 1.8s ease-out .2s both; }
  html[data-season="halloween-realistic"] .hero h1 { animation: hrRise .7s ease-out both; }
  html[data-season="halloween-realistic"].js-reveal :is(.section h2, .price-card, .steps li, .photo-band-copy) { opacity: 0; transform: translateY(14px); transition: opacity .6s ease-out, transform .6s cubic-bezier(.22,1,.36,1); }
  html[data-season="halloween-realistic"].js-reveal :is(.section h2, .price-card, .steps li, .photo-band-copy).is-in { opacity: 1; transform: none; }
}
@keyframes hrLight { from { opacity: 0; filter: brightness(.4); } to { opacity: 1; filter: brightness(1); } }
@keyframes hrFade { from { opacity: 0; } to { opacity: .95; } }
@keyframes hrRise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* Remaining v4 tokens, mapped so no v4 dark-on-light color lands on the night palette */
html[data-season="halloween-realistic"] { --sea-deep: var(--bone); --driftwood: var(--bone-muted); --kelp-bright: var(--candle); --sea-mid: var(--candle); --seafoam-mid: var(--night-2); --kelp-tint: rgb(242 140 40 / .12); --foam: var(--night-2); }
html[data-season="halloween-realistic"] .price { color: var(--bone); }
