/* Seasonal aurora: translucent colour and pearly light; photos stay clear. */
:root,
:root[data-season="autumn"] {
  --theme-air-1: #fff7e9;
  --theme-air-2: #fff5ef;
  --theme-air-3: #f2f9fd;
  --theme-light-1: #fff3dc;
  --theme-light-2: #fff0e8;
  --theme-light-3: #edf6fb;
  --theme-glow-1: #fbd99f;
  --theme-glow-2: #f5cbb6;
  --theme-glow-3: #cee4f0;
  --theme-colour-1: #c97733;
  --theme-colour-2: #daa63d;
  --theme-colour-3: #b86556;
  --theme-ink-1: #683729;
  --theme-ink-2: #573a21;
  --theme-ink-3: #284c3d;
  --theme-focus: #66321d;
  --theme-aurora: #f5e7bd;
}
:root[data-season="spring"] {
  --theme-air-1: #fff6fa;
  --theme-air-2: #f5fbf0;
  --theme-air-3: #f1f9ff;
  --theme-light-1: #fff0f6;
  --theme-light-2: #f1f8e8;
  --theme-light-3: #eaf6fe;
  --theme-glow-1: #f4cddd;
  --theme-glow-2: #d2e9c6;
  --theme-glow-3: #c7e5fa;
  --theme-colour-1: #d77aa4;
  --theme-colour-2: #bf8bd1;
  --theme-colour-3: #9bb76b;
  --theme-ink-1: #713452;
  --theme-ink-2: #55415f;
  --theme-ink-3: #2c5141;
  --theme-focus: #793250;
  --theme-aurora: #e8edc5;
}
:root[data-season="summer"] {
  --theme-air-1: #effcf6;
  --theme-air-2: #f0f8ff;
  --theme-air-3: #f8fbea;
  --theme-light-1: #e2faef;
  --theme-light-2: #e9f4ff;
  --theme-light-3: #f4f9df;
  --theme-glow-1: #b5e4d4;
  --theme-glow-2: #c0def8;
  --theme-glow-3: #deedbf;
  --theme-colour-1: #36ab84;
  --theme-colour-2: #4ba8cf;
  --theme-colour-3: #9fbe56;
  --theme-ink-1: #124e3e;
  --theme-ink-2: #104c69;
  --theme-ink-3: #35522d;
  --theme-focus: #0b5344;
  --theme-aurora: #f1d9d2;
}
:root[data-season="winter"] {
  --theme-air-1: #f2f8ff;
  --theme-air-2: #f5f7fc;
  --theme-air-3: #f0f9fd;
  --theme-light-1: #eaf3ff;
  --theme-light-2: #eff3fb;
  --theme-light-3: #e9f5fc;
  --theme-glow-1: #c5e0fa;
  --theme-glow-2: #d5deed;
  --theme-glow-3: #d8eaf6;
  --theme-colour-1: #739bd1;
  --theme-colour-2: #9e85c6;
  --theme-colour-3: #6eb4c4;
  --theme-ink-1: #293e66;
  --theme-ink-2: #49365f;
  --theme-ink-3: #1d4652;
  --theme-focus: #2d406a;
  --theme-aurora: #eadac9;
}
/* White pauses and a cooler seasonal wash give each chapter a clear role. */
:root {
  --theme-paper: #fffefd;
  --theme-chapter-cool:
    radial-gradient(ellipse 100% 95% at 100% 0%, color-mix(in srgb, var(--theme-glow-3) 80%, transparent), transparent 76%),
    radial-gradient(ellipse 85% 95% at 0% 100%, color-mix(in srgb, var(--theme-glow-2) 48%, transparent), transparent 74%),
    linear-gradient(135deg, var(--theme-air-3), var(--theme-light-3) 55%, var(--theme-air-2));
  --muted: #30453f;
  --theme-air:
    radial-gradient(ellipse 90% 85% at 2% -5%, color-mix(in srgb, var(--theme-glow-1) 48%, transparent), transparent 76%),
    radial-gradient(ellipse 85% 95% at 100% 90%, color-mix(in srgb, var(--theme-glow-3) 50%, transparent), transparent 75%),
    radial-gradient(ellipse 78% 100% at 58% 5%, color-mix(in srgb, var(--theme-glow-2) 40%, transparent), transparent 75%),
    linear-gradient(125deg, var(--theme-air-1), var(--theme-air-2) 48%, var(--theme-air-3));
  --theme-soft:
    radial-gradient(ellipse 90% 55% at 12% -8%, #ffffffd6 8%, transparent 75%),
    radial-gradient(ellipse 85% 72% at 92% 105%, color-mix(in srgb, var(--theme-glow-3) 76%, transparent), transparent 74%),
    radial-gradient(ellipse 85% 100% at 100% 0%, color-mix(in srgb, var(--theme-aurora) 62%, transparent), transparent 76%),
    radial-gradient(ellipse 90% 55% at 45% 52%, color-mix(in srgb, var(--theme-glow-2) 72%, transparent), transparent 75%),
    linear-gradient(125deg, var(--theme-glow-1), var(--theme-light-2) 50%, var(--theme-light-3));
  --theme-air-overlay:
    radial-gradient(ellipse 90% 85% at 2% -5%, color-mix(in srgb, var(--theme-glow-1) 45%, transparent), transparent 76%),
    radial-gradient(ellipse 85% 95% at 100% 90%, color-mix(in srgb, var(--theme-glow-3) 46%, transparent), transparent 75%),
    radial-gradient(ellipse 78% 100% at 58% 5%, color-mix(in srgb, var(--theme-glow-2) 38%, transparent), transparent 75%),
    linear-gradient(125deg, color-mix(in srgb, var(--theme-air-1) 94%, transparent), color-mix(in srgb, var(--theme-air-2) 90%, transparent) 48%, color-mix(in srgb, var(--theme-air-3) 94%, transparent));
  --theme-soft-overlay:
    radial-gradient(ellipse 90% 55% at 12% -8%, #ffffffc7 8%, transparent 75%),
    radial-gradient(ellipse 85% 72% at 92% 105%, color-mix(in srgb, var(--theme-glow-3) 70%, transparent), transparent 74%),
    radial-gradient(ellipse 85% 100% at 100% 0%, color-mix(in srgb, var(--theme-aurora) 56%, transparent), transparent 76%),
    radial-gradient(ellipse 90% 55% at 45% 52%, color-mix(in srgb, var(--theme-glow-2) 65%, transparent), transparent 75%),
    linear-gradient(125deg, color-mix(in srgb, var(--theme-glow-1) 90%, transparent), color-mix(in srgb, var(--theme-light-2) 90%, transparent) 50%, color-mix(in srgb, var(--theme-light-3) 94%, transparent));
  --theme-ink: linear-gradient(125deg, var(--theme-ink-1), var(--theme-ink-2) 48%, var(--theme-ink-3));
  --four-seasons-line: linear-gradient(100deg, var(--theme-colour-1), var(--theme-colour-2) 52%, var(--theme-colour-3));
  --four-seasons-soft: var(--theme-soft);
  --four-seasons-ink: var(--theme-ink);
  --season-heading: var(--theme-ink);
}

body { background: var(--theme-air); }
.site-header { background: var(--theme-air); }
.mobile-menu { background: var(--theme-soft); }
.nav-visit { background: var(--theme-ink); }
.nav-visit:hover { background: var(--theme-ink-1); }
.hero { background: var(--theme-air); }
.hero::before, .hero::after { display: none; }
.hero .hero-copy .button:hover { background: var(--theme-ink-1); }
.anniversary-note { background: var(--theme-air); }
.about::before { background-image: var(--theme-air-overlay), var(--bg-water); }
.holiday-shortcuts { background: var(--theme-air); }
.seasons { background: var(--theme-light-1); }
.seasons::before { background: var(--theme-soft); }
.visit { background: var(--theme-paper); }
.visit::after { opacity: .07; }
.highlights { background: var(--theme-chapter-cool); }
.around { background: var(--theme-soft); }
.sarakura-feature { background: var(--theme-ink-1); }
.sarakura-body { background-image: linear-gradient(115deg, color-mix(in srgb, var(--theme-ink-1) 93%, transparent), color-mix(in srgb, var(--theme-ink-3) 90%, transparent)), var(--bg-night); }
/* Give all three learning destinations the same clear white surface. */
.higashida-grid .furnace-spot {
  background: #ffffffd9;
  border-color: #e0e7dc;
  box-shadow: 0 18px 32px -31px #1d4b4380;
}
.flower-note { background: var(--theme-light-1); }
.flower-note::before { background-image: var(--theme-air-overlay), var(--bg-wisteria); }
.food-drink { background: var(--theme-paper); }
.tenshin-feature {
  border-left-color: var(--theme-colour-1);
  background-image: linear-gradient(115deg, color-mix(in srgb, var(--theme-light-2) 88%, transparent), color-mix(in srgb, var(--theme-air-3) 92%, transparent)), var(--bg-paper);
}
.stay { background: var(--theme-chapter-cool); }
.day-plans { background: var(--theme-paper); }
.trip-tablist button[aria-selected="true"] { background: var(--theme-soft); border-bottom-color: var(--theme-focus); }
.trip-panel { background: var(--theme-soft); }
.photo-contest { background-image: var(--theme-soft-overlay), var(--bg-paper); }
.history { background-image: linear-gradient(115deg, color-mix(in srgb, var(--theme-ink-1) 92%, transparent), color-mix(in srgb, var(--theme-ink-3) 89%, transparent)), url('/assets/dam-v2-1200.webp'); }
.airport::before { background: var(--theme-paper); }
.guide { background: var(--theme-soft); }
.faq { background: var(--theme-paper); }
.closing { background: var(--theme-ink-1); }
.closing::before { background-image: linear-gradient(115deg, color-mix(in srgb, var(--theme-ink-1) 88%, transparent), color-mix(in srgb, var(--theme-ink-3) 84%, transparent)), var(--season-photo); }
.closing .button { background: var(--theme-air); }
.closing .button:hover { background: var(--theme-light-2); }
.site-footer { background: var(--theme-ink); }
.photo-star { color: var(--theme-focus); }
.faq details[open] .question-mark { background: var(--theme-ink); }
.holiday-shortcuts a:focus-visible { outline-color: var(--theme-focus); }
:is(main .eyebrow, .hero .hero-copy .eyebrow, main .place-tag):not(.sarakura-feature *, .history *, .closing *) { color: var(--theme-focus); }
:is(main figcaption, main .destination-note, main .area-note, main .stay-intro, main .alcohol-note, main .section-heading>p:not(.eyebrow), main .guide-row p):not(.sarakura-feature *, .history *, .closing *) { color: var(--muted); }
.trip-steps li>span { color: var(--theme-focus); }

@media (forced-colors: active) {
  body, .site-header, .mobile-menu, .site-footer { background: Canvas; }
  .nav-visit, .hero .hero-copy .button, .closing .button { background: ButtonFace; color: ButtonText; border: 1px solid ButtonText; }
}
@media print {
  body, .site-header, .site-footer { background: white; }
}
