html[data-season]{--season-color:#536f56;--season-wash:#f1f3e8;--season-soft:#e3ead8}
html[data-season=summer]{--season-color:#486f65;--season-wash:#fff0cc;--season-soft:#f7e5b5}
html[data-season=autumn]{--season-color:#895331;--season-wash:#f5e3ce;--season-soft:#edcfac}
html[data-season=winter]{--season-color:#294b3d;--season-wash:#f5e8d6;--season-soft:#ecddc4}
[data-season] body:not(.admin-body){background:#fcf9f1}
[data-season] .hero{background:radial-gradient(ellipse at 50% 30%,#fffdf6,var(--season-wash))}
[data-season] .hero .kicker,[data-season] .nav a.active{background:var(--season-soft);color:var(--season-color)}
[data-season] .section-head h2 em,[data-season] .page-title em{color:var(--season-color)}
[data-season] .hero .btn.accent,[data-season] .band{background:var(--season-color);color:#fff9ed;border-color:var(--season-color)}
[data-season] .band h2,[data-season] .band p,[data-season] .band h2 em{color:inherit}
[data-season] .tile,[data-season] .price{border-color:var(--season-soft)}
.season-host{position:relative;isolation:isolate}
.season-decoration{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
/* Full-page ornaments follow the page edges, not the centered content column. */
[data-season] body:not(.admin-body)>main{container-type:inline-size;overflow-x:clip}
main>.season-host>.season-decoration{left:50%;right:auto;width:100vw;width:100cqw;transform:translateX(-50%)}
.hero.season-host>.season-decoration{z-index:0}.hero.season-host>:not(.season-decoration){position:relative;z-index:1}
.season-ornament{position:absolute;width:110px;height:140px;top:8px;opacity:.8;pointer-events:none}
.season-left{left:-24px}.season-right{right:-24px;transform:scaleX(-1)}
.hero .season-ornament{width:240px;height:290px;top:20px}
.hero .season-left{left:-20px}.hero .season-right{right:-20px}
[data-season=winter] .nav-wrap{position:relative}
.season-lights{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-around;pointer-events:none;border-top:1px solid #58715b;height:25px;overflow:hidden}
.season-lights i{width:5px;height:9px;border-radius:50%;background:#f6d28c;box-shadow:0 0 7px 2px #efd28a99;margin-top:4px}.season-lights i:nth-child(3n){margin-top:9px}
.season-snow{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:40}
.season-snow i{position:absolute;top:-12px;left:var(--x);width:4px;height:4px;border-radius:50%;background:#fffdfa;box-shadow:0 0 2px #ad9579;animation:season-fall var(--duration) linear infinite;animation-delay:var(--delay);opacity:0}
@keyframes season-fall{0%{transform:translate3d(0,-12px,0);opacity:0}8%,90%{opacity:.65}100%{transform:translate3d(32px,103vh,0);opacity:0}}
.season-paused .season-snow i{animation-play-state:paused}
.appearance-preview-notice{padding:10px 16px;text-align:center;background:#f5e9d2;color:#4a2c1d;font:14px sans-serif}.appearance-preview-notice a{color:inherit;text-decoration:underline}
#appearance-fields{border:0;padding:0;margin:20px 0}#appearance-fields>legend{font-weight:700;margin-bottom:14px}
.appearance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1000px}
.appearance-choice{position:relative;cursor:pointer}.admin-body .appearance-choice input{position:absolute;top:14px;left:14px;z-index:1;accent-color:#496951;width:19px;height:19px;min-height:0;min-width:0}
.appearance-card{display:flex;flex-direction:column;border:2px solid #e5dbca;border-radius:18px;overflow:hidden;background:#fffdf8;height:100%;padding-bottom:16px}
.appearance-card strong,.appearance-card small{padding:0 18px}.appearance-card strong{margin:12px 0 5px;font-size:19px}.appearance-card small{font-size:13px;color:#776759;line-height:1.5}
.appearance-art{height:100px;display:flex;align-items:center;justify-content:center;background:#f5e8d6}.appearance-art svg{width:100%;height:100%}
[data-style=spring] .appearance-art{background:#edf1e4}[data-style=summer] .appearance-art{background:#fff0c8}[data-style=autumn] .appearance-art{background:#f2ddc5}[data-style=winter] .appearance-art{background:#e6ece1}
.standard-mark{font:700 28px var(--serif);color:#4a2c1d}
.appearance-choice input:checked+.appearance-card{border-color:#496951;box-shadow:0 0 0 1px #496951}.appearance-choice input:focus-visible+.appearance-card{outline:3px solid #a66e37;outline-offset:4px}
.appearance-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.appearance-snow{margin-top:22px}
@media(max-width:700px){.appearance-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appearance-card strong,.appearance-card small{padding-inline:12px}.appearance-card strong{font-size:17px}.hero .season-ornament{width:125px;height:170px}.hero .season-left{left:-30px}.hero .season-right{right:-30px}.season-ornament{width:75px;height:100px;opacity:.6}.season-decoration{contain:paint}}
@media(prefers-reduced-motion:reduce){.season-snow{display:none}}

/* Mobile callouts frame their own rounded card. Desktop remains full bleed. */
@media(max-width:700px){main>.band.season-host>.season-decoration{inset:0;width:auto;transform:none;border-radius:inherit}}
