.season-layer{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden}.season-layer canvas{width:100%;height:100%;display:block}.season-ornaments{position:absolute;inset:0;transition:opacity .3s;pointer-events:none}.season-ornaments svg{width:100%;height:100%;overflow:visible}.season-toast{position:fixed;z-index:55;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;background:#fffefaF5;color:#1b3540;border:1px solid #d4deda;box-shadow:0 12px 40px #09212c25;border-radius:16px;padding:13px 14px 13px 19px;max-width:calc(100% - 30px);width:max-content;backdrop-filter:blur(14px)}.toast-dot{width:10px;height:10px;background:var(--season);box-shadow:0 0 0 5px color-mix(in srgb,var(--season) 16%,transparent);border-radius:50%;flex-shrink:0}.season-toast strong{font-size:13px;display:block}.season-toast small{font-size:11px;color:#677b82;display:block;margin-top:3px}.season-toast button{border:0;background:#edf2ef;border-radius:50%;width:30px;height:30px;color:#46616b;font-size:20px;cursor:pointer;margin-left:14px;flex-shrink:0}


.season-info{position:fixed;z-index:65;bottom:20px;right:20px;width:min(335px,calc(100% - 28px));font-family:'DM Sans',Arial,sans-serif;color:#173641}.season-info[hidden],.season-story[hidden],.season-hotspots[hidden]{display:none}.season-info-trigger{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border:1px solid #d4e0de;border-radius:14px;background:#fffffaf5;box-shadow:0 8px 30px #06273529;backdrop-filter:blur(12px);cursor:pointer;color:inherit;text-align:left;font-family:inherit}.info-date{flex-shrink:0;width:39px;text-align:center;font-size:9px;letter-spacing:.1em;border-right:1px solid #dce6e3;padding-right:10px;color:#4d777e}.info-date b{display:block;font:600 22px/1.15 Outfit,sans-serif;letter-spacing:-.04em;color:#174854}.season-info-trigger>span:nth-child(2){flex:1;min-width:0}.season-info-trigger strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.season-info-trigger small{display:block;font-size:10px;font-weight:500;color:#6c8184;margin-top:4px}.info-circle{border:1px solid #b8d7d8;width:22px;height:22px;text-align:center;border-radius:50%;font:italic 600 14px/21px Georgia;color:#1c7f8e;flex-shrink:0}.season-info-trigger:focus-visible,.season-story button:focus-visible,.season-story a:focus-visible,.season-hit:focus-visible{outline:3px solid #44c2d0;outline-offset:3px}.season-story{position:absolute;right:0;bottom:calc(100% + 10px);width:100%;border:1px solid #cfddda;border-radius:17px;background:#fffffb;box-shadow:0 20px 70px #07243232;padding:20px}.story-top{display:flex;gap:12px;align-items:center;justify-content:space-between}.story-top span{color:#32838c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;line-height:1.5}.story-top button{border:0;border-radius:50%;width:26px;height:26px;background:#edf3ef;color:#345d65;font-size:19px;cursor:pointer;flex-shrink:0}.season-story h2{font:600 23px/1.12 Outfit,sans-serif;margin:13px 0 12px;letter-spacing:-.035em}.season-story p{font-size:13px;line-height:1.7;color:#557078;margin:0 0 14px}.season-story a{color:#117b8c;text-decoration:underline;text-underline-offset:3px;font-size:11px;font-weight:700}.season-story a[hidden]{display:none}.season-story #story-note{font-size:10px;color:#658087}.season-hotspots{position:fixed;inset:0;z-index:32;pointer-events:none}.season-hit{pointer-events:auto;position:absolute;background:transparent;border:0;border-radius:50%;cursor:help;padding:0}.season-hit:hover{box-shadow:0 0 0 1px #c4e2e555;background:#c4e2e510}

.season-layer[hidden],.season-toast[hidden],.season-info[hidden],.season-story[hidden]{display:none}
.festive-on .hero{position:relative}.festive-on .hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 90% 10%,color-mix(in srgb,var(--season) 12%,transparent),transparent 60%)}
.season-dismiss{display:block;width:100%;margin-top:16px;padding:10px;border:1px solid #ccdedb;border-radius:8px;background:#f2f6f1;color:#3b656e;font:600 11px 'DM Sans',Arial;cursor:pointer}.season-dismiss:focus-visible,.season-toast button:focus-visible{outline:3px solid #44c2d0;outline-offset:3px}.story-note{display:block;font-size:10px;color:#648087}.season-story{max-height:70vh;overflow:auto}
@media(max-width:900px){.season-toast{bottom:100px}}
@media(max-width:600px){.season-info{right:14px;bottom:14px;max-width:320px}.season-info-trigger{padding:9px 12px}.season-story{padding:18px}.season-story h2{font-size:22px}.season-toast{padding:11px 10px 11px 16px;gap:10px;border-radius:13px}.season-toast strong{font-size:12px}.season-toast small{font-size:10px}.season-toast button{margin-left:3px}}
@media(prefers-reduced-motion:reduce){.season-ornaments{transition:none}}
@media print{.season-layer,.season-toast,.season-info,.season-hotspots{display:none!important}}
