/* All image coordinates follow the supplied 1920 x 1080 collage. */
.home-page.world-design{background:#faf8f2;color:#26372d}
.home-page .site-header{position:relative;z-index:40;background:#faf8f2;color:#26372d;border:0;box-shadow:none;height:84px;padding:0 5%;max-width:none;width:100%;margin:0;transition:background 2.8s,color 2.8s}
.home-page .site-header a,.home-page .wordmark,.home-page .wordmark span,.home-page .header-note,.home-page .menu-toggle{color:inherit}
.home-page.is-night .site-header{background:#101c38;color:#e3e9f3}
.world-opening{padding:0;background:#faf8f2}
.world-canvas{position:relative;isolation:isolate;width:100%;aspect-ratio:1920/1080;overflow:hidden;background:#faf8f2;outline:none;transition:background 2.8s}
.world-canvas:not(.is-day){background:#101c38}
.world-collage,.world-figures{display:contents}
.world-sky-night,.world-sky-dawn{position:absolute;inset:0;pointer-events:none;transition:opacity 3s}
.world-sky-night{z-index:0;background:radial-gradient(ellipse at 22% 30%,#344d79,transparent 55%),linear-gradient(#101c38,#1d3355);opacity:1}
.world-sky-dawn{z-index:0;background:radial-gradient(ellipse at 50% 10%,#d4edfa 0%,#f5f5ed 48%,#faf8f2 70%);opacity:0}
.is-day .world-sky-night{opacity:0}.is-day .world-sky-dawn{opacity:1}
.collage-layer{position:absolute;display:block;height:auto;max-width:none;pointer-events:none;transition:filter 3s,opacity 3s}
.collage-panorama{z-index:2;left:0;bottom:-1.5%;width:100%;height:103%;object-fit:fill}
.collage-blue-house{z-index:8;left:4.5%;top:59.2%;width:24.5%}
.collage-toy-house{z-index:8;left:24.9%;top:60.9%;width:9.6%}
.collage-garage{z-index:8;left:30.7%;top:50.7%;width:29.4%}
.collage-car{z-index:9;left:41.4%;top:79.4%;width:18.7%}
.collage-brick-house{z-index:8;left:55.9%;top:34%;width:41.5%}
.collage-chimney{z-index:3;left:82%;top:22.4%;width:15.2%}
.world-canvas:not(.is-day) .collage-layer:not(.collage-sun):not(.collage-moon):not([class*="glow"]){filter:brightness(.38) grayscale(.9)}
.collage-moon,.collage-sun{z-index:1;left:5.7%;top:4.3%;width:31%;transform-origin:145% 170%;transition:transform 3.8s cubic-bezier(.45,0,.2,1),opacity 2.5s;filter:drop-shadow(0 0 18px #efc87255)}
.collage-moon{width:20%;left:11%;top:7%;transform:rotate(0);opacity:1;filter:drop-shadow(0 0 28px #b6d5ff88)}
.collage-sun{transform:rotate(-115deg);opacity:0}
.is-day .collage-sun{transform:rotate(0deg);opacity:1;animation:sun-breathe 18s 4s ease-in-out infinite alternate}
.is-day .collage-moon{transform:rotate(115deg);opacity:0}
@keyframes sun-breathe{from{rotate:0deg}to{rotate:360deg}}
.collage-glow-blue{z-index:11;left:4.5%;top:59.2%;width:24.5%}
.collage-glow-brick{z-index:11;left:55.9%;top:34%;width:41.5%}
.collage-glow-blue,.collage-glow-brick{opacity:.9;mix-blend-mode:screen}
.collage-glow-brick{mask-image:radial-gradient(ellipse 3.5% 7% at 19% 58%,#000 65%,transparent),radial-gradient(ellipse 3.5% 7% at 30% 58%,#000 65%,transparent),radial-gradient(ellipse 3.5% 7% at 41.5% 58%,#000 65%,transparent),radial-gradient(ellipse 3% 7% at 57% 59%,#000 65%,transparent),radial-gradient(ellipse 2.7% 7% at 64% 60%,#000 65%,transparent),radial-gradient(ellipse 2.4% 6% at 69% 61%,#000 65%,transparent),radial-gradient(ellipse 3% 8% at 75% 64%,#000 65%,transparent)}
.collage-glow-blue{mask-image:radial-gradient(ellipse 12% 13% at 36% 26%,#000 70%,transparent),radial-gradient(ellipse 16% 10% at 65% 32%,#000 75%,transparent),radial-gradient(ellipse 3% 9% at 30% 67%,#000 70%,transparent),radial-gradient(ellipse 3% 9% at 44% 67%,#000 70%,transparent),radial-gradient(ellipse 7% 10% at 64% 67%,#000 70%,transparent)}
.is-day .collage-glow-blue,.is-day .collage-glow-brick{opacity:0}
.collage-rays,.world-light-wash,.world-night-shade,.world-moon,.world-sun{display:none}
.hero-figure{position:absolute;z-index:6;padding:0;border:0;background:none;cursor:pointer;line-height:0;transition:opacity 2s;opacity:1}
.figure-fedor{left:38%;top:26.8%;width:23.7%}.figure-ron{left:33.3%;top:30.6%;width:12.1%}.figure-zhenya{left:60.7%;top:25.6%;width:24.1%}.figure-olya{left:54.1%;top:38.5%;width:17.3%;z-index:7}.figure-zeus{left:25.3%;top:43%;width:8.5%}
.figure-photo{width:100%;height:auto;display:block;transition:transform .4s,filter 3s}
.hero-figure:hover .figure-photo,.hero-figure:focus-visible .figure-photo{transform:translateY(-8px)}
.figure-name{position:absolute;top:0;left:50%;transform:translate(-50%,-110%);background:#fffcf4;color:#24372e;border-radius:20px;padding:9px 16px;font-size:12px;line-height:1;opacity:0;transition:opacity .2s;box-shadow:0 5px 20px #14233a22}
.hero-figure:hover .figure-name,.hero-figure:focus-visible .figure-name{opacity:1}
.figure-tooltip{display:none}
.scene-hotspot{position:absolute;z-index:12;border:0;background:transparent;cursor:pointer;border-radius:12px}
.scene-hotspot:focus-visible,.hero-figure:focus-visible{outline:2px solid #e6b76c;outline-offset:4px}
.hotspot-blue{left:10%;top:63%;width:15%;height:14%}.hotspot-kitchen{left:11%;top:79%;width:15%;height:12%}.hotspot-toy{left:26%;top:63%;width:7%;height:17%}.hotspot-garage{left:37%;top:69%;width:13%;height:14%}.hotspot-shed{left:47%;top:73%;width:9%;height:8%}.hotspot-brick{left:62%;top:65%;width:22%;height:20%}.hotspot-car{left:44%;top:82%;width:14%;height:13%}.hotspot-land{left:3%;top:42%;width:19%;height:16%}
.scene-stars{position:absolute;z-index:1;inset:0 0 65%;pointer-events:none;background-image:radial-gradient(1px 1px at 12% 21%,#fff 90%,transparent),radial-gradient(2px 2px at 61% 41%,#dbe9ff 90%,transparent),radial-gradient(1px 1px at 83% 12%,#fff 90%,transparent);background-size:170px 110px,280px 180px,210px 150px;opacity:.8;animation:twinkle 4s ease-in-out infinite alternate;transition:opacity 2s}
.is-day .scene-stars{opacity:0;animation:none}
@keyframes twinkle{to{opacity:.35}}
.scene-cloud{position:absolute;z-index:1;pointer-events:none;width:25%;height:7%;top:15%;left:0;border-radius:50%;background:radial-gradient(ellipse,#fff9 0%,#fff5 45%,transparent 70%);filter:blur(8px);opacity:0;transition:opacity 3s;animation:cloud-travel 55s linear infinite}
.cloud-two{top:22%;width:32%;animation-delay:-27s;animation-duration:80s}.is-day .scene-cloud{opacity:.8}
@keyframes cloud-travel{from{translate:-100% 0}to{translate:450% 0}}
.world-art{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;opacity:0;transition:opacity 3s}.is-day .world-art{opacity:1}.world-birds{stroke:#4b646b;animation:bird-flight 16s linear infinite}.world-birds-two{animation-delay:-8s}
@keyframes bird-flight{from{transform:translate(-800px,0)}to{transform:translate(300px,-35px)}}
.world-copy{position:absolute;z-index:15;left:39%;top:4%;width:45%;opacity:0;transition:opacity 2s;color:#e4eaf5;pointer-events:none}.is-entered .world-copy{opacity:1}.is-day .world-copy{color:#26372d}.world-copy .eyebrow{color:inherit;font-size:clamp(7px,.65vw,12px);letter-spacing:.18em}.world-copy h1{color:inherit;font-size:clamp(25px,3.2vw,62px);line-height:1.05;margin:12px 0}.world-copy h1 em{color:inherit}.world-copy p{font-size:clamp(9px,.85vw,16px);max-width:380px;line-height:1.6;color:inherit}
.world-welcome{position:absolute;inset:0;z-index:30;display:flex;align-items:flex-start;padding:4% 0 0 39%;transition:opacity .6s;pointer-events:none}.world-welcome.is-dismissed{opacity:0}.welcome-card{width:80%;max-width:650px;color:#edf1f9;pointer-events:auto}.welcome-kicker{font-size:clamp(7px,.65vw,11px);letter-spacing:.16em}.welcome-card h2{font-size:clamp(30px,4vw,72px);margin:12px 0;color:inherit}.welcome-card p{font-size:clamp(11px,1vw,18px);max-width:410px;line-height:1.6}.welcome-continue,.world-replay{border:1px solid #ced9e455;border-radius:50px;background:#faf8f2;color:#26372d;padding:13px 22px;cursor:pointer;transition:transform .2s,box-shadow .2s}.welcome-continue:hover,.world-replay:hover{transform:translateY(-2px);box-shadow:0 8px 25px #172a4440}.welcome-continue{margin-top:15px}.welcome-note{display:block;font-size:10px;opacity:.7;margin-top:15px}
.world-replay{position:absolute;z-index:31;right:4%;top:3%;padding:10px 15px;font-size:11px;display:none}.is-entered .world-replay{display:flex;gap:8px}.world-hint{position:absolute;z-index:16;bottom:1%;left:4%;font-size:10px;color:#58615c}.world-stamp{display:none}
.world-opening-caption{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding:28px 5%;background:#faf8f2;color:#657267;font-size:10px;letter-spacing:.13em}.caption-channels{padding:13px 22px;border:1px solid #bfc5b9;border-radius:30px;color:#26372d;letter-spacing:0}.home-page.world-design .section{border:0;box-shadow:none;border-radius:0;margin:0 auto;background:#faf8f2}.home-page.world-design .story,.home-page.world-design .album{background:#fff}
.scene-dialog{width:min(460px,calc(100% - 36px));padding:42px;border:1px solid #d8d4c7;border-radius:24px;background:#faf8f2;color:#26372d;box-shadow:0 30px 100px #07132e55}.scene-dialog::backdrop{background:#10213b66;backdrop-filter:blur(6px)}.scene-dialog h2{font-size:38px;margin:20px 0;color:inherit}.scene-dialog p{font-size:16px;line-height:1.7}.scene-close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:28px;cursor:pointer;color:inherit}.scene-link{display:inline-block;margin-top:15px;border-bottom:1px solid;padding-bottom:6px;color:#435b4e}.scene-dialog .eyebrow{font-size:10px;color:#7d836e}
@media(max-width:700px){.home-page .site-header{height:72px}.home-page .site-header nav{background:#faf8f2;color:#26372d}.home-page .header-note{display:none}.world-canvas{aspect-ratio:auto;height:calc(56.25vw + 220px)}.world-figures{display:contents}.world-copy,.world-welcome{left:6%;top:25px;width:88%;padding:0}.world-copy h1{font-size:35px}.world-copy p{font-size:12px}.welcome-card{width:90%}.welcome-card h2{font-size:38px}.welcome-card p{font-size:13px;max-width:290px}.welcome-continue{padding:11px 18px;margin-top:8px}.welcome-note{display:none}.world-replay{right:5%;top:175px}.world-hint{display:none}.world-opening-caption{gap:10px;font-size:8px}.scene-cloud{top:240px}.scene-stars{bottom:30%}.scene-dialog{padding:32px}.scene-dialog h2{font-size:30px}.home-page .section{padding:42px 6%}}
.world-welcome{padding-top:1.5%}.welcome-card h2{font-size:clamp(30px,3.4vw,64px);margin:8px 0}.welcome-card p{margin:6px 0;font-size:clamp(11px,.9vw,17px)}.welcome-continue{min-height:0;padding:10px 20px;font-size:12px;margin-top:6px}.welcome-note{display:none}
@media(max-width:700px){.world-welcome{padding-top:0}.welcome-card h2{font-size:36px}.welcome-card p{font-size:13px}.welcome-continue{margin-top:12px}.world-copy h1{max-width:280px}}
/* One uninterrupted sky, glass navigation and a physical day/night switch. */
.home-page .site-header,.home-page.is-night .site-header{position:absolute;inset:0 0 auto;background:transparent;height:94px;color:#263d48;gap:20px}
.home-page.is-night .site-header{color:#eef3ff}.home-page .header-note{display:none}
.home-page .wordmark{font-size:clamp(26px,3vw,42px);line-height:.82;letter-spacing:-.05em;text-shadow:0 2px 22px #ffffff30}.home-page .wordmark span{font-size:10px;letter-spacing:.32em;margin-top:12px}
.home-page .site-header nav{gap:8px}.home-page .site-header nav a,.home-page .site-header nav a:last-child,.home-page .menu-toggle{border:1px solid #ffffff90;border-radius:50px;padding:12px 20px;background:linear-gradient(135deg,#ffffff8a,#ffffff35);box-shadow:inset 0 1px #ffffffb0,0 5px 20px #384e6810;backdrop-filter:blur(18px);transition:background .4s,transform .3s,color 1s}
.home-page .site-header nav a:hover{transform:translateY(-3px);background:#fff9}.home-page.is-night .site-header nav a,.home-page.is-night .menu-toggle{background:linear-gradient(135deg,#ffffff19,#ffffff08);border-color:#d9e6ff30;box-shadow:inset 0 1px #ffffff20,0 5px 20px #07122622}
.world-canvas{aspect-ratio:auto;height:calc(56.25vw + 100px)}
.world-night-shade{display:block;position:absolute;inset:0;z-index:10;background:#5b83c7;mix-blend-mode:color;opacity:.8;pointer-events:none;transition:opacity 3s}.is-day .world-night-shade{opacity:0}
.world-copy{top:100px}.world-welcome{padding:108px 0 0 39%}.welcome-card h2{font-size:clamp(27px,3.6vw,68px);line-height:1.05;margin:12px 0}.welcome-card p{max-width:390px;font-size:clamp(12px,1vw,18px);line-height:1.6}.welcome-continue{margin-top:20px;padding:18px 27px;font-size:14px;background:linear-gradient(120deg,#f9f3df,#edf3ff);box-shadow:inset 0 1px #fff,0 12px 35px #020e3040;border:1px solid #fff9}.welcome-continue span{margin-left:18px}
.hero-figure{transform-origin:50% 100%;transform:translateY(28%) scale(.18);opacity:0;transition:transform 2.8s cubic-bezier(.18,.7,.22,1),opacity 1.6s;pointer-events:none}.is-day .hero-figure{transform:translateY(0) scale(1);opacity:1;pointer-events:auto;transition-delay:.65s}.is-day .figure-zhenya{transition-delay:.85s}.is-day .figure-olya{transition-delay:1s}.is-day .figure-ron,.is-day .figure-zeus{transition-delay:1.15s}
.collage-layer{transition:filter 3s,opacity 3s,scale .5s,translate .5s;transform-origin:50% 90%}.collage-layer.is-highlighted{scale:1.035;translate:0 -5px}
.is-day .collage-sun{animation:sun-breathe 180s 4s linear infinite;transform-origin:50% 50%}.collage-sun{transform-origin:145% 170%}
.world-replay{top:100px;right:4%;align-items:center;padding:7px 13px 7px 7px;gap:9px;background:#ffffff65;border:1px solid #fff9;backdrop-filter:blur(15px);box-shadow:inset 0 1px #fff8,0 6px 22px #0f254915;color:#314653;font-size:11px}.world-canvas:not(.is-day) .world-replay{background:#ffffff12;color:#edf3ff;border-color:#c8ddff40}.day-switch{position:relative;display:flex;align-items:center;justify-content:space-around;width:62px;height:31px;border-radius:30px;background:#c9dce4;color:#455c72;font-size:17px;box-shadow:inset 0 1px 5px #17365420}.day-switch i{position:absolute;width:25px;height:25px;left:3px;top:3px;background:#fff6d2;border:1px solid #fff9;border-radius:50%;box-shadow:0 2px 7px #1b31532b;transition:translate .6s,background .6s;mix-blend-mode:screen}.world-canvas:not(.is-day) .day-switch{background:#142647;color:#dce9ff}.world-canvas:not(.is-day) .day-switch i{translate:31px 0;background:#c4d7ff}
.world-hint{left:4%;bottom:1.4%;display:flex;flex-direction:column;gap:4px;padding:10px 16px;border:1px solid #ffffffa0;border-radius:17px;background:#faf8f2b3;backdrop-filter:blur(14px);color:#344957;font-size:9px;box-shadow:0 6px 25px #172a3c14}.world-hint span{font-size:11px}.world-hint:hover{background:#fff}
.scene-hotspot .project-tag{position:absolute;top:100%;left:50%;translate:-50% 4px;white-space:nowrap;padding:9px 13px;background:#faf8f2ed;color:#2c434d;border:1px solid #fff;border-radius:14px;box-shadow:0 8px 25px #10223a35;font-size:12px;font-weight:600;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .3s;pointer-events:none}.project-tag small{display:block;font-size:10px;font-weight:400;margin-top:5px}.scene-hotspot:hover,.scene-hotspot:focus-visible{z-index:20}.scene-hotspot:hover .project-tag,.scene-hotspot:focus-visible .project-tag{opacity:1;transform:none}.scene-link{padding:14px 20px;border:1px solid #b9c8c8;border-radius:30px;background:#fff8;font-size:13px}
.world-art{z-index:2}.world-birds{stroke:#304d60;stroke-width:1.2;fill:#304d60}.world-birds path{transform-box:fill-box;transform-origin:center;animation:wingbeat 1.2s ease-in-out infinite alternate}.world-birds path:nth-child(2){animation-delay:-.4s}.world-birds path:nth-child(3){animation-delay:-.8s}@keyframes wingbeat{to{scale:1 .35;rotate:4deg}}
.scene-stars::after{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 72% 34%,#fff,transparent),radial-gradient(1px 1px at 37% 62%,#fff,transparent),radial-gradient(2px 2px at 91% 59%,#c7e3ff,transparent);background-size:237px 159px;animation:twinkle 2.3s -1s ease-in-out infinite alternate}
@media(max-width:700px){.home-page .site-header,.home-page.is-night .site-header{height:82px;padding:0 6%}.home-page .site-header nav{background:#f3f4efee;backdrop-filter:blur(18px);border-radius:22px;padding:12px}.home-page.is-night .site-header nav{background:#14213ced}.home-page .site-header nav a{color:inherit}.world-canvas{height:calc(56.25vw + 300px)}.world-copy,.world-welcome{top:100px;left:6%;padding:0;width:88%}.welcome-card h2{font-size:31px}.welcome-card p{font-size:12px;max-width:300px}.welcome-continue{padding:14px 22px;margin-top:12px;font-size:12px}.world-replay{top:245px;right:5%}.world-hint{display:none}.scene-cloud{top:320px}.world-copy h1{font-size:32px}.world-art{top:200px;height:55%}.project-tag small{font-size:9px}.scene-hotspot .project-tag{font-size:10px;padding:7px 9px}}
.sun-orbit{position:absolute;z-index:1;left:5.7%;top:4.3%;width:31%;transform-origin:145% 170%;transform:rotate(-115deg);opacity:0;transition:transform 4s cubic-bezier(.45,0,.2,1),opacity 2.5s;pointer-events:none}.is-day .sun-orbit{transform:rotate(0);opacity:1}.sun-orbit .collage-sun,.is-day .sun-orbit .collage-sun{position:relative;top:0;left:0;width:100%;transform:none;opacity:1;transform-origin:50% 50%}.sun-orbit .collage-sun{animation:sun-breathe 180s linear infinite}
/* The supplied light layers remain intact, including their projected rays. */
.collage-glow-blue,.collage-glow-brick{mask-image:none;opacity:.82;mix-blend-mode:screen}
.collage-glow-blue{left:5.55%;top:60.4%;width:23.3%;height:19.35vw;object-fit:fill}
.collage-glow-brick{left:55.9%;top:38%;width:37.9%}
.is-day .collage-glow-blue,.is-day .collage-glow-brick{opacity:0}
.collage-toy-house{z-index:7}.collage-blue-house{z-index:8}
.sun-orbit,.is-day .sun-orbit,.moon-orbit{position:absolute;z-index:1;left:5.7%;top:4.3%;width:31%;aspect-ratio:594/433;transform-origin:145% 170%;opacity:1;transition:transform 6s cubic-bezier(.4,0,.3,1);pointer-events:none}
.sun-orbit,.is-day .sun-orbit{transform:rotate(var(--sun-angle,-180deg))}
.moon-orbit{transform:rotate(var(--moon-angle,0deg))}
.moon-orbit .collage-moon,.is-day .moon-orbit .collage-moon{position:absolute;top:5%;left:18%;width:65%;opacity:1;transform:none;transition:none;rotate:calc(-1 * var(--moon-angle,0deg))}
.world-twilight{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:linear-gradient(180deg,#78446f 0%,#da6f6a 20%,#ffb27e 43%,#ffe0ae 65%,transparent 85%)}
.is-sunset .world-twilight{animation:twilight-pass 6s ease-in-out both}.is-sunrise .world-twilight{animation:twilight-pass 6s ease-in-out both;background:linear-gradient(180deg,#686d97 0%,#e59187 22%,#ffcf9c 48%,#fff0c7 65%,transparent 85%)}
@keyframes twilight-pass{0%{opacity:0}25%,55%{opacity:.92}100%{opacity:0}}
.world-replay:disabled{cursor:progress;opacity:.8}
.world-canvas:not(.is-day) .scene-hotspot,.world-canvas:not(.is-day) .hero-figure{pointer-events:none;cursor:default}
.world-canvas:not(.is-day) .project-tag,.world-canvas:not(.is-day) .world-hint{opacity:0;visibility:hidden;pointer-events:none}
.night-fireflies{position:absolute;inset:0;z-index:25;pointer-events:none;overflow:hidden;transition:opacity .5s}.night-fireflies i{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffef9c;box-shadow:0 0 6px 2px #ffcf6d99,0 0 18px 5px #ffbe3b35;opacity:0}.is-day .night-fireflies{opacity:0}
.night-backlight{position:absolute;z-index:4;left:58%;top:calc(100px + 17vw);width:38%;height:13vw;pointer-events:none;background:radial-gradient(ellipse at 55% 70%,#ff9b4648 0%,#e9833325 28%,transparent 66%);filter:blur(12px);opacity:.8;transition:opacity 3s}.night-backlight::before{content:"";position:absolute;left:-115%;top:50%;width:45%;height:65%;background:radial-gradient(ellipse,#ffc06a25,transparent 70%)}.is-day .night-backlight{opacity:0}
@media(max-width:700px){.night-backlight{top:calc(300px + 17vw)}}
/* Quiet, localized roof lighting. Foreground PNGs occlude the lower glow. */
.night-backlight{inset:0;width:auto;height:auto;background:none;filter:none;opacity:1}.night-backlight::before{display:none}.roof-glow{position:absolute;display:block;pointer-events:none;background:radial-gradient(ellipse at 50% 100%,#ffb25b6b 0%,#f4984930 35%,transparent 72%);filter:blur(9px);mask-image:linear-gradient(#000 65%,transparent);height:5vw}.roof-kitchen{left:9%;top:calc(100px + 32vw);width:15%}.roof-garage{left:35%;top:calc(100px + 37vw);width:20%}.roof-house{left:61%;top:calc(100px + 33vw);width:21%}
.world-art .bird-flock{fill:#304957;animation:flock-journey 32s linear infinite}.bird-glide{animation:bird-drift 4s var(--flight-delay) ease-in-out infinite alternate}.sky-bird .wing{transform-origin:0 0;animation:natural-wing 1.15s var(--flight-delay) ease-in-out infinite alternate}.sky-bird .wing-right{animation-direction:alternate-reverse}@keyframes natural-wing{0%,15%{transform:scaleY(.5) rotate(-3deg)}85%,100%{transform:scaleY(1.1) rotate(4deg)}}@keyframes bird-drift{to{translate:0 -7px;rotate:3deg}}@keyframes flock-journey{0%{transform:translate(-180px,20px);opacity:0}7%{opacity:.75}45%{transform:translate(640px,-16px)}90%{opacity:.75}100%{transform:translate(1510px,12px);opacity:0}}
.home-page .site-header{padding:0 5%;height:96px}.home-page .wordmark{position:relative;padding-left:45px;font-size:32px;letter-spacing:-.045em}.home-page .wordmark::before{content:"Ф";position:absolute;left:0;top:-4px;width:33px;height:43px;display:grid;place-items:center;border:1px solid #b887553d;border-radius:18px 18px 10px 10px;font-size:25px;color:#a77344;background:linear-gradient(145deg,#fff8,#e8d3b244);box-shadow:inset 0 1px #fff8}.home-page.is-night .wordmark::before{color:#efd0a1;background:linear-gradient(145deg,#ffffff20,#ffffff05);border-color:#e6c48e55}.home-page .wordmark span{font-size:8px;letter-spacing:.28em}
.home-page .site-header nav a,.home-page .site-header nav a:last-child{position:relative;overflow:hidden;padding:13px 21px;border-color:#fff9;background:linear-gradient(140deg,#ffffffa0,#ffffff30 60%,#ffffff65);box-shadow:inset 0 1px 1px #fff, inset 0 -1px 1px #ffffff70,0 8px 24px #4257710b;backdrop-filter:blur(22px) saturate(1.4)}
.home-page.is-night .site-header nav a{background:linear-gradient(140deg,#c5ddff25,#ffffff08 60%,#bad5ff15);border-color:#d8e7ff35;box-shadow:inset 0 1px 1px #fff4,inset 0 -1px 1px #e7f0ff15,0 8px 24px #06112725}
.welcome-card h2 em{font-style:italic;color:#f0cda0}.welcome-kicker{display:inline-flex;align-items:center;gap:9px;letter-spacing:.19em}.welcome-kicker::before{content:"";width:5px;height:5px;border-radius:50%;background:#edbd7a;box-shadow:0 0 14px #eab979aa}.welcome-card{animation:welcome-reveal 1.4s .2s both cubic-bezier(.2,.7,.2,1)}@keyframes welcome-reveal{from{opacity:0;transform:translateY(15px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
.welcome-continue{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:25px;padding:10px 10px 10px 24px;min-height:62px;border:1px solid #ffffffa0;border-radius:50px;background:linear-gradient(120deg,#fff3dbdd,#dcecffc4 60%,#ffffffba);color:#213b52;backdrop-filter:blur(24px) saturate(1.6);box-shadow:inset 0 2px 2px #fff,inset 0 -2px 3px #c6e3fb55,0 12px 40px #040f332d;font-size:14px;letter-spacing:.01em}.welcome-continue span{display:grid;place-items:center;margin:0;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#ffffffb8,#c8dcf160);box-shadow:inset 0 1px #fff,0 2px 10px #213b5218;font-size:22px;transition:transform .3s}.welcome-continue:hover span{transform:rotate(45deg)}
.welcome-continue::before,.world-replay::before{content:"";position:absolute;inset:-100% -50%;z-index:-1;background:linear-gradient(110deg,transparent 40%,#fff8 49%,transparent 58%);transform:translateX(-60%);transition:transform .9s}.welcome-continue:hover::before,.world-replay:hover::before{transform:translateX(60%)}
.world-replay{isolation:isolate;overflow:hidden;padding:9px 16px 9px 9px;min-height:55px;border-radius:40px;background:linear-gradient(135deg,#fff9,#ffffff40 55%,#fff8);border:1px solid #ffffffbb;box-shadow:inset 0 1px 2px #fff,inset 0 -1px 2px #c5d8e455,0 8px 25px #24435412;backdrop-filter:blur(22px) saturate(1.5);gap:10px}.switch-copy{display:flex;flex-direction:column;gap:4px;text-align:left}.switch-copy small{font-size:7px;letter-spacing:.13em;opacity:.65}.switch-copy b{font-size:10px;font-weight:500}.world-canvas:not(.is-day) .world-replay{background:linear-gradient(135deg,#d9e9ff25,#ffffff08 55%,#bed6fa15);box-shadow:inset 0 1px 1px #ffffff55,0 8px 30px #07102a30;border-color:#d8e8ff40}.day-switch{width:66px;height:34px;background:linear-gradient(135deg,#a6c4d6,#e6eff3);box-shadow:inset 0 2px 5px #21475b24;font-size:16px}.day-switch i{width:28px;height:28px;left:3px;top:3px;background:radial-gradient(circle at 35% 25%,#fff,#fff1c6 70%);box-shadow:inset 0 1px 2px #fff,0 2px 8px #213d6255;mix-blend-mode:normal;opacity:.85}.world-canvas:not(.is-day) .day-switch i{translate:32px 0;background:radial-gradient(circle at 35% 25%,#fff,#aecbfa 75%)}
.world-copy h1 em{color:#a87648;transition:color 2s}.world-canvas:not(.is-day) .world-copy h1 em{color:#edc89c}.world-copy .eyebrow{color:#7d8b8d;letter-spacing:.2em}.world-canvas:not(.is-day) .world-copy .eyebrow{color:#aebed8}.world-copy p{color:#526872;transition:color 2s}.world-canvas:not(.is-day) .world-copy p{color:#ccd9ea}
@media(max-width:700px){.roof-kitchen{top:calc(300px + 32vw)}.roof-garage{top:calc(300px + 37vw)}.roof-house{top:calc(300px + 33vw)}.home-page .wordmark{font-size:26px;padding-left:39px}.home-page .wordmark::before{width:29px;height:37px;font-size:22px}.welcome-continue{min-height:55px;padding:8px 8px 8px 18px;font-size:12px;gap:18px}.welcome-continue span{width:36px;height:36px}.world-replay{min-height:47px;padding:6px 12px 6px 6px}.switch-copy small{font-size:6px}.welcome-card h2{font-size:29px}.world-copy h1{font-size:29px}.world-copy{width:88%}.world-copy p{max-width:290px}.world-canvas .night-backlight{top:0}}
/* The whole diorama fits the horizontal viewport; its original ratio is fixed. */
.world-opening{position:relative;isolation:isolate;background:#faf8f2;transition:background 3s}.home-page.is-night .world-opening{background:#101c38}.world-canvas{margin-inline:auto;max-width:100%;container-type:inline-size}
.world-opening::before{content:"";position:absolute;z-index:-1;inset:0 0 100px;pointer-events:none;background:radial-gradient(circle at 4% 30%,#ddba7f25 0%,transparent 5%),radial-gradient(circle at 96% 55%,#abcdd835 0%,transparent 7%),radial-gradient(circle at 3% 76%,#f1cea435 0%,transparent 4%),radial-gradient(circle at 93% 18%,#e1cbaa25 0%,transparent 3%);filter:blur(14px);transition:opacity 3s}.home-page.is-night .world-opening::before{background:radial-gradient(circle at 4% 30%,#d8a45c25,transparent 5%),radial-gradient(circle at 96% 55%,#78a3df25,transparent 7%),radial-gradient(circle at 3% 76%,#caa06318,transparent 4%)}
.is-day:not(.is-sunrise) .moon-orbit,.world-canvas:not(.is-day):not(.is-sunset) .sun-orbit{visibility:hidden}
.collage-panorama{bottom:0}.roof-glow{height:calc(var(--scene-width,100vw)*.05)}.roof-kitchen{top:calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.32)}.roof-garage{top:calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.37)}.roof-house{top:calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.33)}
.world-copy h1{font-size:clamp(25px,3.2cqw,62px)}.welcome-card h2{font-size:clamp(27px,3.6cqw,68px)}.welcome-card p{font-size:clamp(12px,1cqw,18px)}.world-copy p{font-size:clamp(10px,.95cqw,16px)}
@media(max-width:700px){.world-copy h1{font-size:29px}.welcome-card h2{font-size:29px}.world-copy p{font-size:12px}}
/* Continuous full-width sky. Only the photographic terrain changes its lighting. */
.world-opening,.home-page.is-night .world-opening{background:#faf8f2;transition:background 3s}.home-page.is-night .world-opening{background:#101d37}
.world-canvas,.world-canvas:not(.is-day){background:transparent}.world-sky-night,.world-sky-dawn,.world-night-shade{display:none}
.world-opening::before{inset:0 0 100px;filter:none;background:radial-gradient(ellipse at 50% 43%,#c8e7f855 0%,#e9e8d533 40%,transparent 74%)}.home-page.is-night .world-opening::before{background:radial-gradient(ellipse at 50% 45%,#52779a38 0%,#304e7520 40%,transparent 75%)}
.scene-filters{position:absolute;pointer-events:none}
.world-canvas .scene-terrain,.world-canvas:not(.is-day) .scene-terrain{filter:none!important;opacity:0;transition:opacity 3s,scale .5s,translate .5s}.world-canvas.is-day .scene-terrain{opacity:1}.world-canvas .scene-terrain.night-duplicate{filter:url(#moonlight)!important;opacity:1}.world-canvas.is-day .scene-terrain.night-duplicate{opacity:0}
.celestial-sky{position:absolute;inset:0;z-index:1;pointer-events:none;mask-image:linear-gradient(#000 0%,#000 calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.14),transparent calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.25))}
.is-day:not(.is-sunrise) .moon-orbit,.world-canvas:not(.is-day):not(.is-sunset) .sun-orbit{visibility:visible}
.moon-orbit,.sun-orbit{will-change:transform}
.collage-chimney{z-index:8}
.world-twilight{mask-image:radial-gradient(ellipse at 50% 20%,#000 30%,transparent 72%)}
.roof-glow{height:calc(var(--scene-width,100vw)*.065);filter:blur(7px);background:radial-gradient(ellipse at 50% 100%,#ffba6ba8 0%,#f9a15165 28%,#f09a4225 48%,transparent 75%);mask-image:linear-gradient(#000 85%,transparent)}
.roof-kitchen{left:10%;top:calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.285);width:17%}.roof-garage{left:35%;top:calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.335);width:23%}.roof-house{left:61%;top:calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.303);width:24%}.roof-tower{left:84%;top:calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.105);width:9%;height:calc(var(--scene-width,100vw)*.05)}
.night-meteors{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;transition:opacity 2s}.is-day .night-meteors{opacity:0}.night-meteors i{position:absolute;left:65%;top:15%;width:95px;height:1px;border-radius:100%;background:linear-gradient(90deg,transparent,#daebff);box-shadow:2px 0 5px #ddecff;opacity:0;transform:rotate(145deg);animation:meteor-fall 19s 7s linear infinite}.night-meteors i:nth-child(2){left:40%;top:8%;width:65px;animation-delay:16s;animation-duration:27s}@keyframes meteor-fall{0%,89%,100%{opacity:0;translate:0 0}90%{opacity:.9;translate:0 0}96%{opacity:.5;translate:-190px 115px}98%{opacity:0;translate:-240px 145px}}
.scene-stars{animation:twinkle 5.7s ease-in-out infinite alternate}.scene-stars::after{animation:twinkle 3.3s -1s ease-in-out infinite alternate}.is-day .scene-stars{animation:none;opacity:0}
.world-replay{min-width:190px;padding:8px 15px 8px 8px;background:linear-gradient(145deg,#fffffff2,#f2f8ffd9);color:#183a51;border-color:#fff;box-shadow:inset 0 1px #fff,0 7px 25px #142f4d25}.world-canvas:not(.is-day) .world-replay{background:linear-gradient(145deg,#293c59ee,#17243bee);border-color:#97b2dc65;color:#f4f7ff;box-shadow:inset 0 1px #d5e6ff40,0 7px 25px #06122655}.switch-copy b{font-size:11px}.switch-copy small{font-size:7px;opacity:.8}
.landscape-switch.day-switch{width:83px;height:42px;flex:none;overflow:hidden;background:linear-gradient(#2d9ec2,#6bc1dc);box-shadow:inset 0 2px 5px #16455765}.world-canvas:not(.is-day) .landscape-switch{background:linear-gradient(#080f20,#152742)}
.landscape-switch.day-switch i{left:4px;top:4px;width:34px;height:34px;opacity:1;background:#ffd34d;border:1px solid #ffe28f;box-shadow:0 0 0 6px #ffe78422,0 0 0 12px #ffe78415,0 2px 6px #16557333;transition:translate .8s cubic-bezier(.2,.8,.2,1),background .5s,box-shadow .5s;z-index:2}.world-canvas:not(.is-day) .landscape-switch i{translate:41px 0;background:#d4e4f2;border-color:#eaf4ff;box-shadow:0 0 0 6px #dcecff15,0 0 0 12px #dcecff0e,0 2px 6px #06152b55}
.switch-clouds{position:absolute;right:-7px;bottom:-8px;width:61px;height:25px;background:#c7e6f0;border-radius:30px;box-shadow:-13px -8px 0 -2px #aad7e7,12px -19px 0 -4px #c7e6f0;transition:translate .7s,opacity .7s}.world-canvas:not(.is-day) .switch-clouds{translate:0 35px;opacity:0}.switch-stars{position:absolute;left:10px;top:9px;color:white;font-size:12px;line-height:11px;opacity:0;transition:opacity .5s}.world-canvas:not(.is-day) .switch-stars{opacity:1}.moon-crater{position:absolute;left:7px;top:14px;width:8px;height:8px;border-radius:50%;background:#a9bfd2;box-shadow:13px -7px 0 1px #b0c6d8,11px 9px 0 -2px #b0c6d8;opacity:0;transition:opacity .5s}.world-canvas:not(.is-day) .moon-crater{opacity:1}
.bird-flock .sky-bird:nth-child(2) .bird-glide{animation-duration:3.1s}.bird-flock .sky-bird:nth-child(3) .bird-glide{animation-duration:5.3s}.bird-flock .sky-bird:nth-child(4) .bird-glide{animation-duration:4.7s}.bird-flock .sky-bird:nth-child(3) .wing{animation-duration:1.5s}.bird-flock .sky-bird:nth-child(4) .wing{animation-duration:.9s}
@media(max-width:700px){.world-replay{min-width:176px;padding:6px 12px 6px 6px}.landscape-switch.day-switch{scale:.9;transform-origin:left center;margin-right:-5px}}
/* Warm backlight follows the upper contours of the supplied cutouts. */
.world-canvas .scene-rim{z-index:4;filter:brightness(0) invert(1) sepia(1) saturate(6) hue-rotate(345deg) blur(20px)!important;opacity:.48;translate:0 -15px;scale:1.025;mask-image:linear-gradient(#000 0%,#000 61%,transparent 80%);transition:opacity 3s;pointer-events:none}.world-canvas .collage-brick-house.scene-rim{opacity:.44;translate:0 -19px;filter:brightness(0) invert(1) sepia(1) saturate(5) hue-rotate(345deg) blur(25px)!important}.world-canvas.is-day .scene-rim{opacity:0}.roof-glow{opacity:.4}.roof-tower{top:calc(var(--scene-offset,100px) + var(--scene-width,100vw)*.21);width:14%;left:80%}
/* Ambient fireflies replace the discarded halos. Their layer is behind buildings. */
.night-backlight,.scene-rim{display:none!important}
.garden-fireflies{position:absolute;inset:0;z-index:5;pointer-events:none;transition:opacity 2s;overflow:hidden}.garden-fireflies i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffdf89;box-shadow:0 0 5px 1px #ffd16eaa,0 0 12px 3px #efaf3a25;opacity:0;animation:garden-flight var(--duration) var(--delay) ease-in-out infinite}.is-day .garden-fireflies{opacity:0}.is-day .garden-fireflies i{animation-play-state:paused}
@keyframes garden-flight{0%,12%{opacity:0;transform:translate(0,0) scale(.3)}28%{opacity:.9;transform:translate(calc(var(--drift)*-.2),calc(var(--rise)*-.25)) scale(1)}50%{opacity:.45;transform:translate(calc(var(--drift)*.45),calc(var(--rise)*-.5)) scale(.75)}68%{opacity:.8}90%,100%{opacity:0;transform:translate(var(--drift),calc(var(--rise)*-1)) scale(.2)}}
.collage-glow-blue,.collage-glow-brick{opacity:1;filter:brightness(1.35) saturate(1.15);mix-blend-mode:screen;transition:opacity 3s}.is-day .collage-glow-blue,.is-day .collage-glow-brick{opacity:0}
.world-canvas{width:min(100%,calc((100svh - 100px)*16/9));height:min(100svh,calc(56.25vw + 100px));transition:opacity 1s}.scene-loading .world-canvas,.scene-loading .site-header{opacity:0;visibility:hidden}.scene-ready .world-canvas{animation:scene-reveal 1.2s both ease-out}.scene-ready .site-header{animation:scene-reveal .9s both ease-out}.scene-loading .welcome-card{animation:none}.scene-ready .welcome-card{animation:welcome-reveal 1.3s .25s both cubic-bezier(.2,.7,.2,1)}@keyframes scene-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.world-canvas{width:100%;height:calc(56.25vw + 300px)}}
@media(prefers-reduced-motion:reduce){.world-canvas *,.home-page .site-header,.scene-ready .world-canvas{animation:none!important;transition:none!important}.world-art,.night-fireflies,.night-meteors,.garden-fireflies{display:none}}

