/* Eleven themes per brand; the original design remains Default. */
body[data-site-theme]{--green:var(--holiday-accent);--green-soft:var(--holiday-light);--panel:var(--holiday-panel);--line:var(--holiday-line);background-color:var(--holiday-bg);background-image:radial-gradient(circle at 4% 12%,var(--holiday-glow),transparent 32%),radial-gradient(circle at 98% 62%,var(--holiday-glow),transparent 35%);color:#f7f9f7}
body[data-site-theme=july4]{--holiday-accent:#a9d8ff;--holiday-light:#e8f5ff;--holiday-panel:#142b4b;--holiday-bg:#081426;--holiday-line:#6c9ec6;--holiday-glow:#12498660;--holiday-second:#e52e4e;--holiday-mark:'★';--holiday-edge:repeating-linear-gradient(135deg,#ed3857 0 20px,#fff 20px 40px,#173b80 40px 60px)}
body[data-site-theme=halloween]{--holiday-accent:#ffb65c;--holiday-light:#ffe1ba;--holiday-panel:#24192f;--holiday-bg:#100c18;--holiday-line:#ad789e;--holiday-glow:#863a7b50;--holiday-second:#9946cf;--holiday-mark:'✦';--holiday-edge:repeating-linear-gradient(135deg,#ff921e 0 22px,#131019 22px 44px)}
body[data-site-theme=thanksgiving]{--holiday-accent:#ffd080;--holiday-light:#ffedcd;--holiday-panel:#302016;--holiday-bg:#170f0a;--holiday-line:#b9956c;--holiday-glow:#a24c1755;--holiday-second:#b34122;--holiday-mark:'✦';--holiday-edge:repeating-linear-gradient(135deg,#df862b 0 22px,#f3cb7d 22px 44px,#803321 44px 66px)}
body[data-site-theme=christmas]{--holiday-accent:#9ce9b5;--holiday-light:#e0ffea;--holiday-panel:#142e24;--holiday-bg:#081a13;--holiday-line:#7dab8d;--holiday-glow:#196a4950;--holiday-second:#ce2943;--holiday-mark:'❄';--holiday-edge:repeating-linear-gradient(135deg,#d32642 0 20px,#fff2de 20px 40px,#14704c 40px 60px)}
body[data-theme-brand=fourway][data-site-theme=july4]{--holiday-accent:#fff1bf;--holiday-panel:#152c47;--holiday-glow:#25599380}
body[data-theme-brand=fourway][data-site-theme=halloween]{--holiday-accent:#d1ff8b;--holiday-panel:#271c32;--holiday-glow:#883aba60}
body[data-theme-brand=fourway][data-site-theme=thanksgiving]{--holiday-accent:#ffe2a0;--holiday-panel:#302921;--holiday-glow:#cd691c60}
body[data-theme-brand=fourway][data-site-theme=christmas]{--holiday-accent:#ffe391;--holiday-panel:#17302c;--holiday-glow:#25867b55}
.holiday-banner{position:relative;isolation:isolate;overflow:hidden;padding:clamp(30px,5vw,76px) max(22px,calc((100vw - 1240px)/2));border-block:12px solid transparent;border-image:var(--holiday-edge) 12;background:linear-gradient(110deg,var(--holiday-panel),var(--holiday-bg));box-shadow:inset 0 0 85px var(--holiday-glow);text-align:center}
.holiday-banner:before,.holiday-banner:after{position:absolute;z-index:-1;content:var(--holiday-mark);font:bold clamp(150px,24vw,390px)/1 Georgia,serif;color:var(--holiday-accent);opacity:.12;top:5px;transform:rotate(-18deg)}.holiday-banner:before{left:-2%}.holiday-banner:after{right:-2%;transform:rotate(18deg)}
.holiday-banner .holiday-art{display:block;font-size:clamp(35px,6vw,78px);letter-spacing:.35em;line-height:1.25;margin-bottom:18px;filter:drop-shadow(0 8px 0 #0005)}
.holiday-banner h2{position:relative;font-family:var(--font-display,Impact,sans-serif);font-size:clamp(2.5rem,7.5vw,7.3rem);line-height:.98;letter-spacing:.02em;color:var(--holiday-accent);text-transform:uppercase;max-width:1200px;margin:0 auto 20px;text-shadow:3px 4px 0 #000,6px 7px 0 var(--holiday-second)}
.holiday-banner p{font-size:clamp(1rem,2vw,1.3rem);line-height:1.6;color:#fff;max-width:760px;margin:0 auto}.holiday-banner small{display:block;margin-top:20px;color:#fff;font-weight:700}
body[data-theme-brand=fourway] .holiday-banner{background-image:linear-gradient(125deg,var(--holiday-panel) 20%,transparent 75%),repeating-conic-gradient(#ffffff0e 0 25%,transparent 0 50%);background-size:auto,64px 64px;text-align:left;transform:none}body[data-theme-brand=fourway] .holiday-banner h2,body[data-theme-brand=fourway] .holiday-banner p{margin-left:0}body[data-theme-brand=fourway] .holiday-art{letter-spacing:.65em}
body[data-site-theme] .brand-header{background:var(--holiday-bg);border-bottom:7px solid transparent;border-image:var(--holiday-edge) 7}body[data-site-theme] .brand-topline{background:var(--holiday-accent);color:#151718}body[data-site-theme] .brand-topline a,body[data-site-theme] .brand-topline b{color:#151718}
body[data-site-theme] .brand-navigation a[aria-current=page],body[data-site-theme] .brand-navigation a:hover,body[data-site-theme] .btn--primary,body[data-site-theme] .header-account{background:var(--holiday-accent);color:#101813;border-color:var(--holiday-accent);box-shadow:none}
body[data-site-theme] .brand-header .brand-primary small,body[data-site-theme] .eyebrow,body[data-site-theme] .section-title span{color:var(--holiday-accent)}body[data-site-theme] .eyebrow:before{background:var(--holiday-second)}
body[data-site-theme] .brand-footer{background:var(--holiday-bg);border-top:10px solid transparent;border-image:var(--holiday-edge) 10}body[data-site-theme] .brand-footer h2{color:var(--holiday-accent)}body[data-site-theme] .race-link-card,body[data-site-theme] .news-post{background:var(--holiday-panel);border-top:5px solid var(--holiday-accent)}body[data-site-theme] .race-intro{background:var(--holiday-panel);color:#fff;border-bottom-color:var(--holiday-second)}body[data-site-theme] .race-intro h1,body[data-site-theme] .race-intro p,body[data-site-theme] .race-intro .eyebrow{color:#fff}
body[data-site-theme] .race-ticker{background:var(--holiday-accent);color:#111}body[data-site-theme] .news-ticker{background:var(--holiday-bg);border-color:var(--holiday-accent)}body[data-site-theme] .profile-explanation{border-color:var(--holiday-accent)}
@media(max-width:600px){.holiday-banner{padding:30px 18px;border-block-width:7px}.holiday-banner h2{text-shadow:2px 2px 0 #000,3px 4px 0 var(--holiday-second)}.holiday-banner .holiday-art{letter-spacing:.2em}.holiday-banner:before,.holiday-banner:after{opacity:.08}}
@media print{.holiday-banner{display:none!important}body[data-site-theme]{background:white!important}}

body[data-site-theme] .race-hero h1 span {color:var(--holiday-accent)}
body[data-site-theme] main.section {padding-top:0}
body[data-site-theme] main.section > .holiday-banner {margin-bottom:48px}
/* Weather and celebration extensions. Effects never receive pointer input. */
body[data-site-theme=snow]{--holiday-accent:#c9f2ff;--holiday-light:#f3fcff;--holiday-panel:#203946;--holiday-bg:#0c1b29;--holiday-line:#8bbed3;--holiday-glow:#64b5e949;--holiday-second:#397da9;--holiday-mark:'❄';--holiday-edge:repeating-linear-gradient(135deg,#f0fcff 0 20px,#62aad2 20px 40px,#254860 40px 60px)}
body[data-site-theme=rain]{--holiday-accent:#a2e5f5;--holiday-light:#e0f9ff;--holiday-panel:#193242;--holiday-bg:#09171f;--holiday-line:#6eafbd;--holiday-glow:#337b9250;--holiday-second:#358a9d;--holiday-mark:'☂';--holiday-edge:repeating-linear-gradient(115deg,#3d718b 0 14px,#b1d9e7 14px 17px,#172d3c 17px 38px)}
body[data-site-theme=heat]{--holiday-accent:#ffd180;--holiday-light:#fff2d1;--holiday-panel:#51341d;--holiday-bg:#25180d;--holiday-line:#b98b52;--holiday-glow:#ed8c1560;--holiday-second:#c95116;--holiday-mark:'☀';--holiday-edge:repeating-linear-gradient(130deg,#c78329 0 22px,#6b3d18 22px 26px,#f9c477 26px 48px)}
body[data-site-theme=easter]{--holiday-accent:#ecd1ff;--holiday-light:#fff3ff;--holiday-panel:#382747;--holiday-bg:#1b1727;--holiday-line:#be9ecc;--holiday-glow:#957ac647;--holiday-second:#668b75;--holiday-mark:'✿';--holiday-edge:repeating-linear-gradient(120deg,#ffc0db 0 25px,#b6e6d4 25px 50px,#d9bcff 50px 75px,#ffe9a7 75px 100px)}
body[data-site-theme=valentines]{--holiday-accent:#ffc0d7;--holiday-light:#ffecf3;--holiday-panel:#491c35;--holiday-bg:#250f1c;--holiday-line:#c080a1;--holiday-glow:#ba3a6850;--holiday-second:#c63465;--holiday-mark:'♥';--holiday-edge:repeating-linear-gradient(135deg,#ffafcc 0 22px,#b32855 22px 44px,#ffe0eb 44px 66px)}
body[data-site-theme=mothers]{--holiday-accent:#ffd5ec;--holiday-light:#fff0f8;--holiday-panel:#342943;--holiday-bg:#191723;--holiday-line:#b99bbd;--holiday-glow:#b078ab48;--holiday-second:#688e77;--holiday-mark:'✿';--holiday-edge:repeating-linear-gradient(135deg,#dfa9cf 0 22px,#cadfc0 22px 44px,#9a84b9 44px 66px)}
body[data-site-theme=fathers]{--holiday-accent:#ffc988;--holiday-light:#ffecd4;--holiday-panel:#20333c;--holiday-bg:#121c25;--holiday-line:#99a9ac;--holiday-glow:#37658255;--holiday-second:#ad692e;--holiday-mark:'⚙';--holiday-edge:repeating-linear-gradient(135deg,#2d526b 0 20px,#ffc078 20px 40px,#152a36 40px 60px)}
body[data-theme-brand=fourway][data-site-theme=snow]{--holiday-accent:#fff6c7;--holiday-panel:#183a4f;--holiday-glow:#417ba870}
body[data-theme-brand=fourway][data-site-theme=rain]{--holiday-accent:#e7f794;--holiday-panel:#173941;--holiday-second:#538795}
body[data-theme-brand=fourway][data-site-theme=heat]{--holiday-accent:#ffe08a;--holiday-panel:#4c291a;--holiday-second:#e7642b}
body[data-theme-brand=fourway][data-site-theme=easter]{--holiday-accent:#cbf3d3;--holiday-panel:#2c304d;--holiday-second:#ad749a}
body[data-theme-brand=fourway][data-site-theme=valentines]{--holiday-accent:#ffe3ca;--holiday-panel:#451a28;--holiday-second:#e34765}
body[data-theme-brand=fourway][data-site-theme=mothers]{--holiday-accent:#e4f4b8;--holiday-panel:#2c3441;--holiday-second:#b57bab}
body[data-theme-brand=fourway][data-site-theme=fathers]{--holiday-accent:#d3e8ff;--holiday-panel:#243648;--holiday-second:#cd803f}
body[data-site-theme=snow] .brand-header{box-shadow:0 8px 20px #8cd3f530}body[data-site-theme=snow] .holiday-banner{box-shadow:inset 0 20px 35px #e2f7ff35,inset 0 -12px 30px #c9f2ff25}
body[data-site-theme=rain] .holiday-banner{background-image:linear-gradient(110deg,#09171fe8,#193242cc),repeating-linear-gradient(105deg,#a2e5f52b 0 2px,transparent 2px 20px);box-shadow:inset 0 -25px 50px #58c2e830}
body[data-site-theme=heat] .holiday-banner{background-color:var(--holiday-panel);background-image:linear-gradient(100deg,#35200abf,#a768154a),repeating-linear-gradient(37deg,transparent 0 72px,#130d0755 73px 76px,transparent 77px 158px),repeating-linear-gradient(118deg,transparent 0 103px,#24130688 104px 107px,transparent 108px 190px);box-shadow:inset 0 0 100px #fbad3540}
body[data-site-theme=heat] .card,body[data-site-theme=heat] .news-post{border-color:#a47743;box-shadow:4px 5px 0 #170f09;background-image:repeating-linear-gradient(24deg,transparent 0 105px,#e4bb7820 106px 107px,transparent 108px 212px)}
body[data-site-theme=easter] .holiday-banner{background-image:radial-gradient(ellipse at 12% 15%,#f6c1da35,transparent 40%),radial-gradient(ellipse at 85% 70%,#c3eeca30,transparent 40%),linear-gradient(115deg,var(--holiday-panel),var(--holiday-bg))}
body[data-site-theme=valentines] .holiday-banner h2{text-shadow:3px 4px 0 #36091e,6px 7px 0 #bd3962,0 0 30px #ffacc930}
body[data-site-theme=mothers] .holiday-banner{background-image:radial-gradient(ellipse at 8% 18%,#eaa5db30,transparent 38%),radial-gradient(ellipse at 88% 65%,#a5d39b30,transparent 38%),linear-gradient(120deg,var(--holiday-panel),var(--holiday-bg))}
body[data-site-theme=fathers] .holiday-banner{background-image:linear-gradient(120deg,#172a39dd,#223646aa),repeating-linear-gradient(45deg,#80a7c120 0 2px,transparent 2px 5px);border-block-width:14px}
.theme-weather,.theme-eggs{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:80;contain:strict}.theme-weather{mask-image:linear-gradient(to right,#000,transparent 37%,transparent 63%,#000)}
.weather-particle{position:absolute;left:var(--x);top:-30px;display:block;animation-delay:var(--delay);animation-duration:var(--duration);animation-timing-function:linear;animation-iteration-count:infinite}
.weather-snow .weather-particle{width:var(--size);height:var(--size);border-radius:50%;background:#fff;opacity:.8;box-shadow:0 0 4px #d5eeff;animation-name:snow-drift}
.weather-rain .weather-particle{width:var(--size);height:25px;border-radius:50%;background:linear-gradient(transparent,#b5e5ff);opacity:.55;animation-name:rain-fall}
@keyframes snow-drift{from{transform:translate3d(0,-20px,0)}to{transform:translate3d(var(--drift),calc(100vh + 60px),0)}}
@keyframes rain-fall{from{transform:translate3d(45px,-40px,0) rotate(12deg)}to{transform:translate3d(-100px,calc(100vh + 50px),0) rotate(12deg)}}
.weather-puddle{position:absolute;bottom:-14px;width:30%;height:65px;border-radius:50%;background:radial-gradient(ellipse,#a0d6e847 0 35%,#5ba5c13b 36% 50%,transparent 53%);border-top:1px solid #acdcef6b;animation:puddle-ripple 3s ease-in-out infinite;animation-delay:var(--delay)}
@keyframes puddle-ripple{50%{transform:scaleX(1.12) scaleY(.8);opacity:.5}}
.weather-toggle{display:block;margin:22px auto 0;padding:10px 18px;border:1px solid var(--holiday-accent);border-radius:6px;color:#fff;background:#14212e;font:700 .9rem/1.4 var(--font-body,sans-serif);cursor:pointer}.weather-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}.weather-toggle:disabled{opacity:.8;cursor:default}body[data-theme-brand=fourway] .weather-toggle{margin-left:0}
.weather-paused *,.weather-asleep *{animation-play-state:paused!important}
.theme-eggs{z-index:79}.theme-egg{position:absolute;width:var(--egg-size);height:calc(var(--egg-size)*1.35);border-radius:50% 50% 46% 46%/63% 63% 37% 37%;transform:rotate(var(--egg-angle));background:repeating-linear-gradient(12deg,transparent 0 9px,#ffffff9c 10px 13px,transparent 14px 20px),var(--egg-color);box-shadow:inset -5px -4px 7px #0003,2px 3px 3px #0003;border:1px solid #fff8;opacity:.85}
@media(max-width:600px){.theme-weather{mask-image:linear-gradient(to right,#000,transparent 24%,transparent 76%,#000)}.theme-egg{opacity:.45}.weather-puddle{height:40px}}
@media(prefers-reduced-motion:reduce){.theme-weather *{animation:none!important}.weather-snow .weather-particle{top:var(--y);opacity:.35}.weather-rain .weather-particle{display:none}}
@media print{.theme-weather,.theme-eggs,.weather-toggle{display:none!important}}

body[data-site-theme=heat] .holiday-banner { background-image:linear-gradient(100deg,#35200acc,#6b38049c),url("../images/theme-cracked-earth.svg");background-size:auto,600px 420px; }
body[data-site-theme=heat] .card { background-image:linear-gradient(#25180df2,#25180deb),url("../images/theme-cracked-earth.svg");background-size:auto,600px 420px; }

/* EPIC WEATHER: layered storm scenery, capped accumulation and scorched ground. */
body[data-site-theme=rain] .holiday-banner,body[data-site-theme=snow] .holiday-banner,body[data-site-theme=heat] .holiday-banner{padding-block:clamp(65px,7vw,110px);min-height:560px;border-image:none;border-color:#bce9ff55;border-block-width:2px;background:#0b1925;}
body[data-site-theme=rain] .holiday-banner:before,body[data-site-theme=rain] .holiday-banner:after,body[data-site-theme=snow] .holiday-banner:before,body[data-site-theme=snow] .holiday-banner:after,body[data-site-theme=heat] .holiday-banner:before,body[data-site-theme=heat] .holiday-banner:after{display:none}
body:is([data-site-theme=rain],[data-site-theme=snow],[data-site-theme=heat]) .holiday-art{font:800 .85rem/1.3 var(--font-body,sans-serif);letter-spacing:.5em;filter:none;margin-bottom:28px;color:var(--holiday-accent)}
body[data-site-theme=rain] .holiday-banner h2,body[data-site-theme=snow] .holiday-banner h2{color:#f0fbff;text-shadow:0 3px 0 #0b2a42,0 8px 0 #092034,0 14px 30px #000b;font-size:clamp(2.6rem,7.8vw,7.5rem)}
body:is([data-site-theme=rain],[data-site-theme=snow],[data-site-theme=heat]) .holiday-banner p,body:is([data-site-theme=rain],[data-site-theme=snow],[data-site-theme=heat]) .holiday-banner small{position:relative;text-shadow:0 2px 6px #000,0 0 20px #000}
.weather-scene{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#07131e}.weather-scene i{position:absolute;display:block;pointer-events:none}
.scene-rain{background:radial-gradient(ellipse at 80% 8%,#87bbd975,transparent 42%),linear-gradient(#182733,#071723 80%)}
.scene-rain .scene-sky{inset:-80px -10% 42%;background:radial-gradient(ellipse at 15% 60%,#070d16 0 18%,transparent 34%),radial-gradient(ellipse at 58% 30%,#09111e 0 25%,transparent 53%),radial-gradient(ellipse at 85% 60%,#183042 0 18%,transparent 42%);filter:drop-shadow(0 15px 22px #508ba744)}
.scene-rain .scene-horizon{right:9%;top:0;width:19%;height:100%;background:linear-gradient(#d4f6ffb3,#8edbff55 65%,transparent);clip-path:polygon(65% 0,39% 28%,64% 28%,12% 64%,36% 38%,13% 39%,45% 0);opacity:.6;filter:drop-shadow(0 0 12px #b7e9ff)}
.scene-rain .scene-terrain{inset:0;background:repeating-linear-gradient(106deg,transparent 0 26px,#c2ebff1c 27px 28px,transparent 30px 53px);mask-image:linear-gradient(#000,transparent 70%)}
.scene-rain .scene-foreground{bottom:-25%;left:-10%;width:120%;height:43%;border-radius:50%;background:repeating-radial-gradient(ellipse at 50% 0,#a4eaff66 0 2px,#183f56 4px 15px,#5da1bc66 18px 20px,#18384e 24px 45px);box-shadow:0 -14px 60px #9cdbff50;transform:perspective(400px) rotateX(20deg)}
.scene-snow{background:radial-gradient(ellipse at 75% 10%,#b4e6ff85,transparent 45%),linear-gradient(#0a2339,#335b76)}
.scene-snow .scene-sky{width:180px;height:180px;border-radius:50%;right:10%;top:8%;background:#eafaff;box-shadow:0 0 80px 35px #d7f2ff55;opacity:.7}
.scene-snow .scene-horizon{inset:20% -5% 0;background:linear-gradient(125deg,#e1f6ff,#89b8d4 40%,#203f56);clip-path:polygon(0 75%,12% 35%,18% 49%,30% 3%,39% 38%,44% 25%,61% 76%,74% 25%,83% 51%,90% 16%,100% 54%,100% 100%,0 100%);opacity:.48}
.scene-snow .scene-terrain{inset:0;background:linear-gradient(90deg,#061b31b8,transparent 85%),repeating-linear-gradient(157deg,transparent 0 44px,#e2f8ff16 47px 49px,transparent 53px 115px)}
.scene-snow .scene-foreground{bottom:-125px;left:-12%;width:124%;height:175px;border-radius:50% 65% 0 0;background:linear-gradient(#f4fcff,#bdd7e8);box-shadow:0 -8px 30px #d4efff45,160px -12px 0 0 #d8edf8,-190px -20px 0 0 #b4d5e9}
body[data-site-theme=snow] .holiday-banner h2{filter:drop-shadow(0 -2px 0 #fff);text-shadow:0 4px 0 #6194b6,0 9px 0 #133a59,0 15px 28px #0009}
/* Keep the downpour visible through the center, but softened over reading areas. */
.theme-weather{mask-image:linear-gradient(to right,#000,#0005 32%,#0005 68%,#000);z-index:80}
.weather-rain .weather-particle{height:55px;opacity:.78;background:linear-gradient(transparent,#a3d9fbb3);box-shadow:8px -120px 0 -0.4px #b8e5ff55,-25px -260px 0 -0.4px #b8e5ff44}
.weather-snow .weather-particle{opacity:.9;box-shadow:20px -200px 0 -1px #fff9,-60px -450px 0 -1px #fff7}
.theme-ground{position:fixed;bottom:0;left:0;width:100%;height:110px;z-index:81;pointer-events:none;overflow:hidden;contain:strict;animation:weather-collect 24s ease-out both;transform-origin:bottom}
@keyframes weather-collect{from{transform:translateY(75%)}to{transform:translateY(0)}}
.ground-bank{position:absolute;display:block;bottom:-38px;left:-15%;width:130%;height:84px;transform-origin:center;pointer-events:none}
.ground-rain .ground-bank{border-radius:45% 55% 0 0/24% 25% 0 0;background:linear-gradient(#bceeff60 0 2px,#55acdd50 3px,#0b486cab 28%,#062d49cf);box-shadow:0 -5px 22px #8bdeff30;animation:water-swell 7s ease-in-out infinite alternate}
.ground-rain .ground-bank:nth-child(2){bottom:-45px;left:-25%;background:linear-gradient(#c6edff70,#103d6777);animation-duration:4.5s;animation-delay:-2s}
.ground-rain .ground-bank:nth-child(3){bottom:-58px;left:0;background:linear-gradient(#bfedff66,#195071aa);animation-duration:6s;animation-delay:-4s}
@keyframes water-swell{from{transform:translateX(-3%) rotate(-1deg)}to{transform:translateX(3%) rotate(1deg)}}
.ground-splash{position:absolute;bottom:35px;width:24px;height:8px;border:1px solid #b6ebff99;border-radius:50%;animation:water-splash 1.2s ease-out infinite;animation-delay:var(--delay)}
@keyframes water-splash{from{transform:scale(.2);opacity:1}to{transform:scale(2.8);opacity:0}}
.ground-snow .ground-bank{height:100px;bottom:-65px;background:linear-gradient(165deg,#f9feff,#d3ebf7 55%,#8eb5d1);border-radius:40% 90% 0 0;box-shadow:0 -6px 20px #c5eaff40;transform:rotate(-1.5deg)}
.ground-snow .ground-bank:nth-child(2){left:32%;bottom:-49px;width:95%;height:105px;transform:rotate(-3deg);background:linear-gradient(#faffff,#acd3eb)}
.ground-snow .ground-bank:nth-child(3){left:-20%;bottom:-75px;width:100%;height:110px;transform:rotate(2deg);background:linear-gradient(#edfaff,#8eb5d1)}
.weather-paused,.weather-asleep,.weather-paused *,.weather-asleep *{animation-play-state:paused!important}
/* Sun-baked texture across the whole site, with dark reading surfaces above it. */
body[data-site-theme=heat]{background-color:#432916;background-image:radial-gradient(ellipse at 80% 0,#f7a42b44,transparent 55%),linear-gradient(#24110755,#1c100a88),url('../images/theme-cracked-earth.svg');background-size:auto,auto,850px 595px;--muted:#e7d2b8}
body[data-site-theme=heat] .section--panel{background:#25170ba8}
body[data-site-theme=heat] .holiday-banner{background:#33190e;border-color:#c27936;box-shadow:inset 0 0 100px #fbad3540}
.scene-heat{background:linear-gradient(#271109,#8e3814 52%,#cc802c)}
.scene-heat .scene-sky{width:clamp(180px,28vw,390px);aspect-ratio:1;right:4%;top:-15%;border-radius:50%;background:radial-gradient(#fff8c7,#ffdc6b 50%,#f9992b 70%);box-shadow:0 0 80px 45px #ffab3455,0 0 160px 60px #f74f1540}
.scene-heat .scene-horizon{inset:0;background:linear-gradient(90deg,#220e0aeb 10%,#38190c88 60%,#4e1f0022)}
.scene-heat .scene-terrain{bottom:-10%;left:-15%;width:130%;height:60%;background:linear-gradient(#47210e44,#381b08aa),url('../images/theme-cracked-earth.svg');background-size:auto,550px 385px;transform:perspective(350px) rotateX(35deg);transform-origin:bottom;box-shadow:0 -25px 80px #ef9d3f44}
.scene-heat .scene-foreground{inset:0;background:linear-gradient(90deg,#24110799,transparent 70%)}
body[data-site-theme=heat] .holiday-banner h2{color:#ffe4ac;text-shadow:0 3px 0 #974312,0 7px 0 #411c0a,0 12px 25px #000b}
body[data-site-theme=heat] .section-copy{color:#f2e2cc;text-shadow:0 1px 4px #180b00}
@media(max-width:600px){body:is([data-site-theme=rain],[data-site-theme=snow],[data-site-theme=heat]) .holiday-banner{min-height:480px;padding:50px 20px 65px}.theme-weather{mask-image:linear-gradient(to right,#000,#0003 25%,#0003 75%,#000)}.theme-ground{height:85px}.weather-rain .weather-particle{height:38px}.scene-snow .scene-sky{width:100px;height:100px}.scene-rain .scene-horizon{width:35%;right:0}.scene-heat .scene-sky{top:-5%}}
@media(prefers-reduced-motion:reduce){.theme-ground,.theme-ground *{animation:none!important}.theme-ground{transform:none}.ground-rain .ground-bank{opacity:.6}}
@media print{.theme-ground{display:none!important}}

/* Compact theme banners: half-size decorative spacing and headline treatment.
   Body copy and controls retain readable/tappable minimums on small screens. */
body[data-site-theme] .holiday-banner{padding-block:clamp(15px,2.5vw,38px);border-block-width:6px}
body[data-site-theme] .holiday-banner .holiday-art{font-size:clamp(18px,3vw,39px);margin-bottom:9px}
body[data-site-theme] .holiday-banner h2{font-size:clamp(1.5rem,3.75vw,3.65rem);margin-bottom:10px;text-shadow:2px 2px 0 #000,3px 4px 0 var(--holiday-second)}
body[data-site-theme] .holiday-banner p{font-size:1rem;line-height:1.4}
body[data-site-theme] .holiday-banner small{margin-top:10px;font-size:.75rem}
body[data-site-theme] .weather-toggle{margin-top:11px;padding:6px 14px;min-height:36px;font-size:.8rem}
body:is([data-site-theme=rain],[data-site-theme=snow],[data-site-theme=heat]) .holiday-banner{min-height:280px;padding-block:clamp(32px,3.5vw,55px);border-block-width:1px}
body:is([data-site-theme=rain],[data-site-theme=snow],[data-site-theme=heat]) .holiday-art{font-size:.75rem;margin-bottom:14px}
body:is([data-site-theme=rain],[data-site-theme=snow],[data-site-theme=heat]) .holiday-banner h2{font-size:clamp(1.5rem,3.9vw,3.75rem)}
body[data-site-theme] main.section > .holiday-banner{margin-bottom:24px}
@media(max-width:600px){
 body[data-site-theme] .holiday-banner{padding-block:15px;border-block-width:3.5px}
 body:is([data-site-theme=rain],[data-site-theme=snow],[data-site-theme=heat]) .holiday-banner{min-height:240px;padding-block:25px 32px;border-block-width:1px}
}
