/* Decorative seasons stay in the page gutters, below all content. */
body.season-autumn{--paper:#fff8e8;--soft:#f4e9cd;--line:#e6d9bd;--accent:#93683f;--season-panel:#fffaf0;--season-wash:#f8efdcd9;--season-signature:#a07838;background-color:#fff8e8;background-image:radial-gradient(ellipse at 10% 15%,#f8db932e,transparent 60%)}
body.season-winter{--paper:#f0f8fd;--soft:#e3eff6;--line:#d3e3ed;--accent:#667c9a;--season-panel:#f7fbfe;--season-wash:#eaf4fad9;--season-signature:#6e91b2;background-color:#f0f8fd;background-image:radial-gradient(ellipse at 90% 20%,#bcdcf23b,transparent 60%)}
body.season-summer{--paper:#fff0a8;--soft:#f4e09c;--line:#dfcc90;--accent:#986b3b;--season-panel:#fff9df;--season-wash:#fff5c9d9;--season-signature:#a68033;background-color:#ffe882;background-image:radial-gradient(ellipse at 50% 25%,#fff7d0 0%,#ffeb91 64%,#ffe379 100%);background-attachment:fixed}
body.season-spring{--paper:#f2f8e9;--soft:#e6efd7;--line:#d8e4c9;--accent:#6f8355;--season-panel:#fafcf4;--season-wash:#edf4e0d9;--season-signature:#7c985d;background-color:#f2f8e9;background-image:radial-gradient(ellipse at 10% 80%,#d0e6b53d,transparent 60%)}
body[class*="season-"]{--season-gutter:max(20px,calc((100vw - min(1376px,100vw - 112px))/2));isolation:isolate}
body[class*="season-"]:before{color:var(--season-signature)}
.site-header,.site-footer{background:var(--season-panel,var(--paper))}
.hero-frame,.art-image,.single-image,.contact-aside{background:var(--soft)}
.artist-first,.artist-section,.makeup-feature,.contact-band{background:var(--season-wash,var(--soft))}
.photo-link,.photo-grid .is-poster .photo-link,.photo-grid .photo-link:has(img){background:var(--season-panel,var(--paper))}
.portrait-frame,.intro-portrait,.artist-portraits .photo-link{background:var(--season-panel,var(--paper))}
.seasonal-scene{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none;contain:strict}
.season-definitions{position:absolute;width:0;height:0;overflow:hidden}
.season-particle{position:absolute;top:-130px;width:min(var(--size,32px),calc(var(--season-gutter) - 10px));opacity:.56;animation:ng-season-fall var(--duration,35s) linear var(--delay,0s) infinite;will-change:transform;transform-origin:center}
.season-particle.edge-left{left:calc(var(--season-gutter)/2 - min(var(--size,32px),var(--season-gutter) - 10px)/2)}
.season-particle.edge-right{right:calc(var(--season-gutter)/2 - min(var(--size,32px),var(--season-gutter) - 10px)/2)}
.season-particle svg{display:block;width:100%;height:auto;overflow:visible;animation:ng-season-sway 7s ease-in-out var(--delay,0s) infinite alternate;transform-origin:center}
.season-leaf:nth-of-type(3n){opacity:.4}
.season-snowflake{color:#75a2c1;opacity:.66}
.season-snowflake svg{filter:drop-shadow(0 0 2px #fff)}
.season-boat{--size:100px!important;opacity:.64;animation-name:ng-boat-descent}
.season-boat svg{animation:ng-boat-rock 8s ease-in-out infinite alternate}
.season-tree{position:absolute;bottom:-6px;width:max(18px,calc(var(--season-gutter) - 10px));height:min(82vh,850px);opacity:.54}
.tree-left{left:5px}.tree-right{right:5px;transform:scaleX(-1);height:min(70vh,720px)}
.spring-bud{transform-box:fill-box;transform-origin:center;animation:ng-bud-open 6s ease-out var(--bloom-delay,2s) both}
.spring-leaf{transform-box:fill-box;transform-origin:0 100%;animation:ng-leaf-open 10s cubic-bezier(.25,.1,.25,1) calc(var(--bloom-delay,2s) + 3s) both}
.season-controls{padding-bottom:22px;display:flex;justify-content:flex-end}
.season-motion-toggle{background:transparent;border:1px solid var(--line);border-radius:30px;padding:8px 15px;color:var(--muted);font-size:12px;min-height:40px}
.season-motion-toggle:hover{background:var(--soft);color:var(--ink)}
.season-motion-toggle[hidden]{display:none}
.season-motion-paused .seasonal-scene *,.season-document-hidden .seasonal-scene *,.dialog-open .seasonal-scene *{animation-play-state:paused!important}
@keyframes ng-season-fall{0%{transform:translate3d(0,0,0) rotate(-22deg)}25%{transform:translate3d(var(--drift),calc(25vh + 55px),0) rotate(28deg)}50%{transform:translate3d(0,calc(50vh + 110px),0) rotate(-8deg)}75%{transform:translate3d(calc(var(--drift) * -1),calc(75vh + 165px),0) rotate(70deg)}100%{transform:translate3d(0,calc(100vh + 220px),0) rotate(var(--turn))}}
@keyframes ng-season-sway{from{transform:rotate(-13deg) scaleX(.9)}to{transform:rotate(16deg) scaleX(1)}}
@keyframes ng-boat-descent{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-4px,calc(25vh + 50px),0)}50%{transform:translate3d(2px,calc(50vh + 100px),0)}75%{transform:translate3d(-3px,calc(75vh + 150px),0)}100%{transform:translate3d(0,calc(100vh + 200px),0)}}
@keyframes ng-boat-rock{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
@keyframes ng-bud-open{0%{transform:scale(.25);opacity:.4}55%{transform:scale(1.2);opacity:1}100%{transform:scale(.7);opacity:.25}}
@keyframes ng-leaf-open{from{transform:scale(.02) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@media(max-width:1100px){body[class*="season-"]{--season-gutter:32px}.season-particle{--drift:3px!important}}
@media(max-width:600px){body[class*="season-"]{--season-gutter:20px}.season-particle{width:15px;opacity:.4}.season-particle.edge-left{left:2px}.season-particle.edge-right{right:2px}.season-particle:nth-of-type(n+7){display:none}.season-particle{--drift:1px!important}.season-boat{width:18px;opacity:.55}.season-tree{width:17px;opacity:.4}.tree-left{left:1px}.tree-right{right:1px}.season-controls{justify-content:flex-start}.artist-portraits figcaption p{font-size:14px;line-height:1.8}.artist-portraits .portrait-process{margin-top:40px}}
@media(prefers-reduced-motion:reduce){.seasonal-scene *{animation:none!important}.season-particle{top:18%;transform:none;will-change:auto}.season-particle:nth-of-type(n+3){display:none}.season-boat{top:65%}.spring-bud{opacity:.3}.spring-leaf{opacity:1;transform:none}.season-motion-toggle{display:none}}
@media print{.seasonal-scene,.season-controls{display:none}body[class*="season-"]{background:white}}

/* Stationary ornaments are attached only to the final я in two main headings. */
.season-word{white-space:nowrap}
.season-letter{display:inline-block;position:relative}
.letter-ornament{position:absolute;z-index:2;left:54%;bottom:calc(100% - .38em);width:.94em;height:1.04em;background-repeat:no-repeat;background-position:center;background-size:contain;transform:translateX(-42%) rotate(13deg);transform-origin:48% 94%;pointer-events:none;user-select:none}
.season-autumn .letter-ornament{background-image:url('letter-ornaments/maple.svg');bottom:calc(100% - .47em)}
.season-winter .letter-ornament{background-image:url('letter-ornaments/snow.svg');width:.76em;height:.43em;bottom:calc(100% - .57em);left:52%;transform:translateX(-50%) rotate(-4deg)}
.season-spring .letter-ornament{background-image:url('letter-ornaments/shoots.svg');width:.85em;height:1.13em;bottom:-.03em;left:55%;transform:translateX(-50%)}
.season-summer .letter-ornament{background-image:url('letter-ornaments/sunglasses.svg');width:1.04em;height:.58em;bottom:calc(100% - .34em);left:57%;transform:translateX(-45%) rotate(12deg)}
.hero .letter-ornament{margin-left:.035em}
@media print{.letter-ornament{display:none}}
