/* ==========================================================================
   Agraz Family — the seasons (both pages). <html data-season> is set in <head>.
   Summer keeps the house colors (terracotta and sea); the others shift them.
   ========================================================================== */
:root[data-season="autumn"] {
  --accent: #b4521f; --accent-hover: #973f15; --accent-soft: rgba(180, 82, 31, .1);
  --gold: #b47a26; --gold-soft: rgba(180, 122, 38, .14);
}
:root[data-season="winter"] {
  --accent: #a3343f; --accent-hover: #862833; --accent-soft: rgba(163, 52, 63, .1);
  --sea: #2f6481; --sea-soft: rgba(47, 100, 129, .11);
  --gold: #8f7a52; --gold-soft: rgba(143, 122, 82, .13);
}
:root[data-season="spring"] {
  --accent: #b84a6c; --accent-hover: #9a3a59; --accent-soft: rgba(184, 74, 108, .1);
  --sea: #3d7a4f; --sea-soft: rgba(61, 122, 79, .11);
  --gold: #a3862a; --gold-soft: rgba(163, 134, 42, .13);
}
@media (prefers-color-scheme: dark) {
  :root[data-season="autumn"]:not([data-theme="light"]) { --accent: #ef9a5a; --accent-hover: #f5ae78; --accent-soft: rgba(239, 154, 90, .13); --gold: #e0ae62; --gold-soft: rgba(224, 174, 98, .13); }
  :root[data-season="winter"]:not([data-theme="light"]) { --accent: #e57a84; --accent-hover: #ef949c; --accent-soft: rgba(229, 122, 132, .13); --sea: #8fbfdc; --sea-soft: rgba(143, 191, 220, .12); --gold: #c9b994; --gold-soft: rgba(201, 185, 148, .13); }
  :root[data-season="spring"]:not([data-theme="light"]) { --accent: #ee8fae; --accent-hover: #f4a8c1; --accent-soft: rgba(238, 143, 174, .13); --sea: #8fd0a0; --sea-soft: rgba(143, 208, 160, .12); --gold: #d8bd62; --gold-soft: rgba(216, 189, 98, .13); }
}
:root[data-season="autumn"][data-theme="dark"] { --accent: #ef9a5a; --accent-hover: #f5ae78; --accent-soft: rgba(239, 154, 90, .13); --gold: #e0ae62; --gold-soft: rgba(224, 174, 98, .13); }
:root[data-season="winter"][data-theme="dark"] { --accent: #e57a84; --accent-hover: #ef949c; --accent-soft: rgba(229, 122, 132, .13); --sea: #8fbfdc; --sea-soft: rgba(143, 191, 220, .12); --gold: #c9b994; --gold-soft: rgba(201, 185, 148, .13); }
:root[data-season="spring"][data-theme="dark"] { --accent: #ee8fae; --accent-hover: #f4a8c1; --accent-soft: rgba(238, 143, 174, .13); --sea: #8fd0a0; --sea-soft: rgba(143, 208, 160, .12); --gold: #d8bd62; --gold-soft: rgba(216, 189, 98, .13); }

/* ---- the land, dressed for the season ---- */
:root {
  --hl-far: #345a3c; --hl-mid: #5c7f34; --hl-near: #b59a3e; --hl-rows: rgba(50, 50, 15, .3);
  --hl-tree: #3f6f3a; --hl-tree-2: #4f7f3f; --hl-pine: #2b4f35; --hl-trunk: #4a3426; --hl-bare: #5b4a40;
  --hl-barn: #9b2f24; --hl-roof: #3f2c26; --hl-trim: #f3ead8; --hl-steel: #b9b4aa; --hl-silo: #c9bfae;
  --hl-glow: rgba(255, 214, 90, .12); --hl-sun: #ffd97a;
  --hl-sky-1: #a9d5ee; --hl-sky-2: #f7e3b5;
  --q-base: #fbf3dc; --q-a: #c8452f; --q-b: #2b6b66; --q-c: #e8b23a;
}
:root[data-season="autumn"] {
  --hl-far: #4b4430; --hl-mid: #7a5328; --hl-near: #a06d2c; --hl-rows: rgba(60, 35, 15, .35);
  --hl-tree: #c25a22; --hl-tree-2: #d9922f; --hl-glow: rgba(224, 138, 44, .17); --hl-sun: #f6b25a;
  --hl-sky-1: #f6c98f; --hl-sky-2: #f3dcb8;
  --q-base: #f3e6c8; --q-a: #c8541d; --q-b: #e2b04a; --q-c: #6b2a1a;
}
:root[data-season="winter"] {
  --hl-far: #6c7c8a; --hl-mid: #b9c6d1; --hl-near: #e3eaf0; --hl-rows: rgba(110, 130, 150, .32);
  --hl-pine: #2b4a3e; --hl-roof: #eef3f7; --hl-glow: rgba(170, 200, 230, .16); --hl-sun: #fff6dc;
  --hl-sky-1: #c9dcec; --hl-sky-2: #eef3f8;
  --q-base: #f6f1e6; --q-a: #a32f3a; --q-b: #3f6a85; --q-c: #2b4a3e;
}
:root[data-season="spring"] {
  --hl-far: #3b5e3d; --hl-mid: #5f8f45; --hl-near: #84b05a; --hl-rows: rgba(40, 70, 30, .3);
  --hl-tree: #f0a9bd; --hl-tree-2: #6f9f4a; --hl-pine: #2f5a3a; --hl-roof: #4a332c; --hl-glow: rgba(240, 169, 189, .15);
  --hl-sky-1: #cfe8f3; --hl-sky-2: #f8e4ec;
  --q-base: #fbf6ec; --q-a: #e27a9b; --q-b: #6f9f4a; --q-c: #f2c14e;
}

.heartland-svg { display: block; width: 100%; height: 100%; }
.hl-far { fill: var(--hl-far); }
.hl-mid { fill: var(--hl-mid); }
.hl-near { fill: var(--hl-near); }
.hl-rows { fill: none; stroke: var(--hl-rows); stroke-width: 1.2; }
.hl-tree { fill: var(--hl-tree); }
.hl-tree:nth-of-type(2n) { fill: var(--hl-tree-2); }
.hl-trunk { fill: var(--hl-trunk); }
.hl-pine { fill: var(--hl-pine); }
.hl-snowcap { fill: #f4f8fb; }
.hl-bare { fill: none; stroke: var(--hl-bare); stroke-width: 1.4; stroke-linecap: round; }
.hl-barn { fill: var(--hl-barn); }
.hl-roof { fill: var(--hl-roof); }
.hl-trim { fill: none; stroke: var(--hl-trim); stroke-width: 1.4; }
.hl-trim-x { fill: none; stroke: var(--hl-trim); stroke-width: 1; }
.hl-lit { fill: #ffd479; }
.hl-silo { fill: var(--hl-silo); }
.hl-silo-top { fill: var(--hl-steel); }
.hl-silo-band { stroke: rgba(0, 0, 0, .18); stroke-width: 1; }
.hl-tower { fill: none; stroke: var(--hl-steel); stroke-width: 1.3; stroke-linecap: round; }
.hl-vane, .hl-hub { fill: var(--hl-steel); }
.hl-blade { fill: none; stroke: var(--hl-steel); stroke-width: 2.2; stroke-linecap: round; }
.hl-tank, .hl-tank-top { fill: #d8d4cb; }
.hl-tank-top { fill: var(--hl-steel); }
.hl-word { fill: var(--accent); font-family: var(--font-display, Georgia, serif); font-weight: 700; letter-spacing: .02em; }
.hl-fence { fill: none; stroke: rgba(74, 52, 38, .55); stroke-width: 1.5; }
.q-base { fill: var(--q-base); }
.q-a { fill: var(--q-a); }
.q-b { fill: var(--q-b); }
.q-c { fill: var(--q-c); }
.hl-pumpkins circle { fill: #e07a24; }
.hl-bales rect { fill: #d9b25a; }
.hl-snowman circle { fill: #f7fafc; }
.hl-tulips path, .hl-corn path { fill: none; stroke: #4f7a35; stroke-width: 1.4; stroke-linecap: round; }
.hl-corn path { stroke: #7d8f2f; stroke-width: 2; }
.hl-tulips .t0 { fill: #e2506e; } .hl-tulips .t1 { fill: #f2c14e; } .hl-tulips .t2 { fill: #f08fb0; }
.hl-moon { fill: #f3ecd2; }
.hl-sun { fill: var(--hl-sun); }
.hl-stars circle { fill: #fff; opacity: .7; }
.hl-flies { display: none; }
:root[data-season="summer"] .hl-flies { display: inline; }
.hl-flies circle { fill: #ffe98a; filter: drop-shadow(0 0 3px #ffd84a); }
.season-motion .hl-blades { animation: hlSpin 11s linear infinite; }
.season-motion .hl-flies circle { animation: hlBlink 3.2s ease-in-out infinite; }
.season-motion .hl-flies .f1 { animation-delay: -1.1s; }
.season-motion .hl-flies .f2 { animation-delay: -2.2s; }
.season-motion .hl-stars circle:nth-child(3n) { animation: hlBlink 4.6s ease-in-out infinite; }
@keyframes hlSpin { to { transform: rotate(360deg); } }
@keyframes hlBlink { 0%, 100% { opacity: .15; } 50% { opacity: 1; } }

/* the wide view along the top of the public footer: the farm at dusk, porch light on */
.site-footer.has-heartland { padding-top: 0; }
.heartland { height: clamp(96px, 10.4vw, 180px); margin-bottom: clamp(40px, 6vw, 72px); background: linear-gradient(180deg, transparent 20%, var(--hl-glow)); }
.site-footer .heartland-svg { filter: saturate(.88) brightness(.9); }
.season-line { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: .9rem; color: var(--on-night-2, rgba(255, 255, 255, .7)); }
.season-line em { font-style: italic; color: var(--on-night, #fff); }
.season-quilt { width: 22px; height: 22px; flex: none; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .25)); }

/* the postcard in the hub's sidebar */
.heartland-card { margin: 12px 4px 4px; border-radius: 16px; overflow: hidden; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-sm); flex: none; }
.hc-art { height: 78px; background: linear-gradient(180deg, var(--hl-sky-1), var(--hl-sky-2)); }
.hc-cap { display: flex; align-items: center; gap: 10px; padding: 9px 12px 10px; margin: 0; font-size: .74rem; color: var(--ink-3); line-height: 1.3; }
.hc-cap strong { display: block; font-size: .84rem; color: var(--ink); font-weight: 600; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .hc-art { background: linear-gradient(180deg, #1b2733, color-mix(in srgb, var(--hl-sky-1) 30%, #1b2733)); }
}
:root[data-theme="dark"] .hc-art { background: linear-gradient(180deg, #1b2733, color-mix(in srgb, var(--hl-sky-1) 30%, #1b2733)); }

/* a little badge on the welcome banner */
.season-chip {
  display: inline-flex; align-items: center; gap: 8px; width: max-content; max-width: 100%;
  margin: 0 0 4px; padding: 4px 12px 4px 5px; border-radius: var(--r-pill, 999px);
  font-size: .7rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #fff;
  background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .22);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.season-chip .season-quilt { width: 20px; height: 20px; }

/* weather over the hero photo and the welcome banner */
.season-sky { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
