@font-face{font-family:Evolventa;src:url('/assets/fonts/evolventa-regular.woff')}@font-face{font-family:UNCAGE;src:url('/assets/fonts/uncage.woff')}*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:#17191b;background:#e6e8eb;font-family:Evolventa,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #a51213;outline-offset:5px}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:16px}.room{position:relative;isolation:isolate;min-height:680px;height:100svh;overflow:hidden;background:linear-gradient(100deg,#fff,#e6e8eb 52%,#fff)}.topbar{position:absolute;inset:16px 2.2% auto;height:68px;display:flex;align-items:center;gap:2%;padding:10px 2.4%;z-index:10;border:1px solid #fff;border-radius:25px;background:linear-gradient(135deg,#fffffff5,#f7f8f9d9);box-shadow:inset 0 2px 3px #fff,0 12px 22px #17191b22}.brand{width:14%;flex-shrink:0}.brand img{display:block;width:100%;height:auto}.desktop-nav{display:flex;align-items:center;justify-content:space-between;gap:1.8vw;flex:1;white-space:nowrap;font-size:clamp(11px,.95vw,16px)}.accent,.active{color:#a51213}.write,.back,footer button{border:1px solid #b9bdc2;border-radius:10px;background:linear-gradient(135deg,#fff,#e6e8eb);box-shadow:inset 0 1px 2px white,0 5px 10px #17191b12}.write{padding:11px 16px;font-size:clamp(11px,.95vw,16px);white-space:nowrap}.menu-toggle{display:none}.ceiling{position:absolute;left:-12%;top:-34%;width:125%;height:58%;z-index:2;border-radius:0 0 50% 50%;background:linear-gradient(170deg,#fff 38%,#e6e8eb 80%,#f8f9fa);border-bottom:3px solid white;box-shadow:0 3px 5px #fff,0 14px 34px #17191b55;pointer-events:none}.wall{position:absolute;left:28%;top:15%;right:-4%;bottom:15%;border-radius:14% 0 0 16%;background:radial-gradient(ellipse at 50% 96%,#a512131b,transparent 35%),linear-gradient(90deg,#353638,#17191b 18%,#111214 72%,#34373b);box-shadow:inset 8px 12px 38px #0008,0 10px 20px #17191b44;mask-image:linear-gradient(90deg,transparent,#000 12%)}.wall:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 10%,#ffffff05 10.1%,transparent 10.2%)}.floor{position:absolute;left:-20%;right:-20%;height:34%;bottom:-12%;transform:perspective(700px) rotateX(51deg);transform-origin:50% 0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#bcc1c633 10%),repeating-linear-gradient(0deg,#f5f6f7 0,#e6e8eb 70px,#c7cbcf55 71px);border-top:8px solid #f6f7f8;box-shadow:0 -8px 14px #fff9,0 -15px 22px #17191b35}.floor-light{position:absolute;left:33%;width:45%;bottom:17%;height:2px;background:linear-gradient(90deg,transparent,#a51213,transparent);box-shadow:0 0 12px 2px #a512134d;opacity:.48;animation:light-drift 19s ease-in-out infinite alternate;pointer-events:none}.copy{position:absolute;left:3.8%;top:18%;width:28%;z-index:3}.back{display:inline-flex;gap:28px;align-items:center;padding:10px 17px;font-size:14px;margin-bottom:34px}.back span{border-left:1px solid #b9bdc2;padding-left:15px}h1,h2{font-family:UNCAGE,sans-serif;font-weight:400;margin:0}h1{font-size:clamp(26px,2.8vw,52px);line-height:1.12;letter-spacing:-.045em}.copy h2{font-size:clamp(15px,1.4vw,24px);line-height:1.35;max-width:100%;margin:25px 0 18px}.copy p{font-size:clamp(13px,1.2vw,20px);line-height:1.6;margin:0 0 29px}.actions{display:grid;gap:13px;max-width:92%}.actions a{display:flex;align-items:center;gap:16px;min-height:70px;padding:12px 17px;border-radius:18px;border:1px solid #fff;background:linear-gradient(135deg,#fff,#e6e8eb 76%,#fff);box-shadow:inset 0 2px 3px #fff,0 12px 18px #17191b1c,0 2px 3px #17191b12;transition:box-shadow .6s,transform .6s}.actions a:hover{transform:translateY(-2px);box-shadow:inset 0 2px 3px #fff,0 12px 18px #17191b1c,0 0 18px #a5121322}.actions svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.actions span{font-size:clamp(12px,1.15vw,19px);overflow-wrap:anywhere}.actions small{display:block;color:#686d73;font-size:11px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}.actions i{font-style:normal;margin-left:auto;font-size:15px;color:#787d83}.geography{position:absolute;left:30%;top:22%;width:47.5%;height:57%;z-index:3;display:flex;align-items:center}.geography svg{display:block;width:100%;height:100%;overflow:visible}.route{fill:none;stroke:#a51213;stroke-width:1.1;opacity:.6}.city text,.moscow text{fill:#f5f6f7;font-family:Evolventa,sans-serif;font-size:14px;letter-spacing:.01em}.city circle{fill:#17191b;stroke:#e6e8eb;stroke-width:1.5}.city .arrival{fill:#a51213;stroke:none;opacity:0}.comet-tail{fill:none;stroke:#d73838;stroke-width:2;stroke-linecap:round}.comet-head{fill:#fff;stroke:#ee6c67;stroke-width:1.2}.moscow>circle{fill:#a51213;stroke:#fff;stroke-width:1.4}.moscow .moscow-halo{fill:#a51213;stroke:none;opacity:.13}.moscow .moscow-core{fill:#fff;stroke:none}.moscow text{font-size:18px}.column{position:absolute;z-index:4;right:3.2%;top:17%;width:19%;bottom:14%;margin:0;padding:5.8% 2.2% 3%;border:1px solid #fff;border-radius:48% 48% 35% 35% / 5% 5% 4% 4%;background:linear-gradient(90deg,#cbd0d5,#f7f8f9 19%,#fff 45%,#e6e8eb 87%,#bfc4ca);box-shadow:inset 6px 0 16px #fff8,16px 14px 32px #0006,0 3px 3px #17191b66}.column:after{content:'';position:absolute;bottom:2.4%;left:0;right:0;height:5%;border-radius:0 0 50% 50%;border-bottom:3px solid #fff8;pointer-events:none}.column-cap{position:absolute;top:-2px;left:-1px;right:-1px;height:7%;border-radius:50%;background:linear-gradient(170deg,#fff,#e6e8eb);border:1px solid #fff;box-shadow:0 3px 5px #17191b12}.portrait{width:100%;height:66%;border-radius:22px;overflow:hidden;background:#b6b8ba}.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}.column figcaption{padding:18px 0 0}.column h2{font-size:clamp(21px,2vw,34px);line-height:1.15;letter-spacing:-.04em}.column p{font-size:clamp(10px,.9vw,15px);line-height:1.65;margin:12px 0 0}footer{position:absolute;bottom:3%;left:3.8%;right:3.2%;z-index:5;display:flex;justify-content:space-between;align-items:center;font-size:13px}.status{display:flex;align-items:center;gap:10px}.status i{width:8px;height:8px;background:#a51213;border-radius:50%;box-shadow:0 0 10px #a5121330}.tools{display:flex;gap:9px}footer button{padding:9px 13px;font-size:12px}#mobile-menu[hidden]{display:none}#mobile-menu{position:absolute;top:80px;left:3%;right:3%;z-index:11;border:1px solid white;border-radius:18px;background:#f7f8f9;box-shadow:0 14px 30px #17191b33;padding:20px}#mobile-menu a{display:block;padding:9px}body.paused .floor-light{animation-play-state:paused}@keyframes light-drift{from{transform:translateX(-10%);opacity:.23}to{transform:translateX(10%);opacity:.55}}@media(max-height:760px) and (min-width:1000px){.room{min-height:600px}.copy{top:17%}.back{margin-bottom:18px}.copy h2{margin:16px 0 12px}.copy p{margin-bottom:20px}.actions a{min-height:58px}.actions{gap:10px}.column{padding-top:5%}.portrait{height:63%}}@media(max-width:1050px){.desktop-nav{display:none}.topbar{justify-content:space-between}.brand{width:190px}.menu-toggle{display:block;border:0;background:transparent;padding:10px}.write{margin-left:auto}.copy{width:31%;left:3%}.geography{left:31%;width:45%}.column{right:2%;width:21%;padding-left:2%;padding-right:2%}.actions{max-width:100%}.actions a{padding:12px;gap:10px}.actions i{display:none}.copy h1{font-size:2.8vw}}@media(max-width:760px){.room{height:auto;min-height:100svh;overflow:hidden;padding-bottom:32px}.topbar{position:relative;inset:auto;margin:12px 4%;height:60px;padding:10px 16px;border-radius:20px}.brand{width:145px}.write{display:none}.ceiling{top:-180px;height:360px;left:-60%;width:200%}.wall{left:-10%;right:-10%;top:580px;bottom:360px;border-radius:30%;mask-image:linear-gradient(0deg,transparent,#000 9%,#000 88%,transparent)}.floor{display:none}.floor-light{top:1050px;bottom:auto;width:80%;left:10%}main{display:flex;flex-direction:column;position:relative;padding:28px 6% 0}.copy{position:relative;left:auto;top:auto;width:100%}.back{margin-bottom:28px}.copy h1{font-size:clamp(30px,8.7vw,52px)}.copy h2{font-size:20px;margin-top:22px}.copy p{font-size:15px}.actions{max-width:100%;gap:10px}.actions a{min-height:65px;padding:12px 18px}.actions span{font-size:16px}.actions svg{margin-right:8px}.geography{position:relative;left:auto;top:auto;width:100%;height:auto;margin:38px 0 30px;aspect-ratio:1.1;background:radial-gradient(ellipse,#17191b 60%,#282b2f);border-radius:24px;box-shadow:inset 0 0 35px #0004,0 16px 30px #17191b20;padding:18px 8px}.geography svg{overflow:visible}.city text{font-size:17px}.moscow text{font-size:21px}.column{position:relative;inset:auto;width:100%;display:grid;grid-template-columns:42% 1fr;gap:22px;padding:30px 22px;margin:0;border-radius:30px;background:linear-gradient(120deg,#fff,#e6e8eb);box-shadow:inset 0 2px 3px #fff,0 12px 24px #17191b1a}.column-cap,.column:after{display:none}.portrait{height:auto;aspect-ratio:4/5;border-radius:16px}.column figcaption{align-self:center;padding:0}.column h2{font-size:23px}.column p{font-size:11px}footer{position:relative;inset:auto;padding:36px 6% 0;gap:15px;align-items:flex-start}.tools{flex-wrap:wrap;justify-content:flex-end}footer button{font-size:10px;padding:8px}.status{font-size:12px;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.brand img{filter:invert(1)}.actions i,.back span{font-family:Arial,sans-serif}.city text{font-size:16px}.route{opacity:.82;stroke-width:1.2}@media(max-width:760px){.city text{font-size:17px}}

.actions i svg{width:14px;height:14px}.back span{font-size:22px;line-height:16px}@media(max-width:760px){.city text{font-size:26px}.moscow text{font-size:28px}.geography{aspect-ratio:1.1}.copy h1{font-size:clamp(28px,8.3vw,52px)}}

.comet-halo{stroke-width:6;opacity:.13}
/* Reference-aligned composition, revision 2. */
@media(min-width:761px){
.topbar{inset:1.2% 1% auto;height:7.5%;min-height:56px;border-radius:32px;padding:8px 5.7%;gap:4.5%}.brand{width:13.2%}.desktop-nav{font-size:clamp(12px,1.15vw,20px);gap:2.8vw}.write{font-size:clamp(12px,1.1vw,19px);padding:10px 20px}.topbar{padding-right:1.7%}.copy{position:static}.back{position:absolute;left:3.6%;top:14.2%;height:5.2%;margin:0;font-size:clamp(14px,1.12vw,20px);padding:8px 24px}.copy h1{position:absolute;top:24%;left:3.8%;width:29%;font-size:clamp(28px,3vw,55px);line-height:1.1;margin:0}.copy h2{position:absolute;top:37.5%;left:3.8%;width:28%;font-size:clamp(15px,1.38vw,25px);margin:0;line-height:1.25}.copy p{position:absolute;top:42.5%;left:3.8%;width:29%;font-size:clamp(14px,1.22vw,22px);line-height:1.45;margin:0}.actions{position:absolute;left:3.8%;top:51.5%;width:22%;max-width:none;gap:1.7vh}.actions a{height:8.1vh;min-height:58px;padding:10px 1.6vw;gap:1.5vw;border-radius:20px}.actions span{font-size:clamp(12px,1.25vw,21px)}.actions small{font-size:clamp(10px,.9vw,15px);letter-spacing:0;margin-bottom:3px}.actions i{display:none}.actions svg{width:32px;height:32px}.column{right:3%;top:12.7%;bottom:12.5%;width:19.4%;padding:0;border-radius:50% 50% 34% 34% / 5% 5% 3.3% 3.3%}.column-cap{height:6.5%}.portrait{position:absolute;top:13.8%;left:11.5%;width:77%;height:48%;border-radius:25px}.portrait img{object-position:50% 25%}.column figcaption{position:absolute;top:64.5%;left:11.5%;right:7%;padding:0}.column h2{font-size:clamp(22px,2.1vw,39px);line-height:1.14}.column p{font-size:clamp(10px,.95vw,17px);line-height:1.65;margin-top:12px}.column:after{bottom:2.8%;height:4%}.geography{left:29.5%;top:24%;width:47.3%;height:50.5%;display:block}.ceiling{left:-12%;top:-34%;height:56%;width:125%}.wall{left:26%;top:14%;bottom:14%;border-radius:0;mask-image:linear-gradient(90deg,transparent,#000 14%)}.floor{height:29%;bottom:-12%;border-top-width:9px}.floor-light{bottom:21%;left:45%;width:27%}footer{bottom:3.3%;font-size:16px}.tools button{font-size:14px}.room{min-height:640px}
}
.map-stage{position:relative;width:100%;height:100%;isolation:isolate}.map-stage>svg,.map-stage>canvas,#cities{position:absolute;inset:0;width:100%;height:100%;display:block}.map-stage>svg{overflow:visible}.map-stage>canvas{pointer-events:none}#cities{pointer-events:none}.route{stroke:#a51213;stroke-width:1.25;opacity:.85;fill:none}.city-label{position:absolute;width:max-content;height:0;color:#f4f4f5;font-size:clamp(11px,1.05vw,19px);line-height:1.2;white-space:nowrap}.city-label-inner{display:flex;align-items:center;gap:10px;position:relative;left:-4px;top:-.6em;transform-origin:4px 50%;will-change:transform}.city-label i{flex:none;display:block;width:8px;height:8px;border:1px solid #f8e9e5;border-radius:50%;background:#281819;box-shadow:0 0 5px #a5121355}.moscow-label{position:absolute;left:47.5%;top:50%;transform:translate(-50%,-50%);color:#fff;text-align:center;font-size:clamp(15px,1.35vw,24px)}.moscow-label span{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);text-shadow:0 2px 5px #000}.moscow-label i{display:block;width:19px;height:19px;border:1px solid #fff;border-radius:50%;background:#a5121340;box-shadow:0 0 11px #a5121380}.floor-light{animation-duration:23s}.portrait{box-shadow:inset 0 0 1px #fff8}
@media(min-width:761px) and (max-width:1100px){.desktop-nav{display:none}.topbar{gap:20px}.brand{width:180px}.write{margin-left:auto}.menu-toggle{display:block}.copy h1{font-size:3vw}.copy h2{font-size:1.5vw}.copy p{font-size:1.35vw}.actions{width:24%}.actions span{font-size:1.35vw}.actions svg{width:23px}.column p{font-size:1vw}.column h2{font-size:2.2vw}.geography{left:31%;width:45%}.city-label{font-size:10px}}
@media(max-width:760px){.geography{height:auto;aspect-ratio:1.12;padding:18px 18px 18px 8px}.map-stage{height:100%}.city-label{font-size:9px;line-height:1.22}.city-label-inner{gap:4px;left:-2px}.city-label i{width:4px;height:4px}.moscow-label{font-size:12px}.moscow-label span{bottom:16px}.moscow-label i{width:12px;height:12px}.route{stroke-width:1.5}.column .portrait{position:static}.column figcaption{position:static}.actions svg{width:26px;height:26px}.floor-light{opacity:.25}}
.moscow-label{left:50%}@media(min-width:761px){.copy>.back,.copy>h1,.copy>h2,.copy>p,.copy>.actions{z-index:4}.copy h2{width:32%;font-size:clamp(15px,1.32vw,24px);letter-spacing:-.035em;white-space:nowrap}.actions a{padding-left:1.5vw;padding-right:1.2vw;gap:1.3vw}.actions a[href^="mailto"] span{font-size:clamp(12px,1.1vw,19px);white-space:nowrap}.floor{left:-12%;right:-12%;top:77.7%;bottom:auto;height:40%;transform:none;border-radius:50% 50% 0 0 / 32% 32% 0 0;box-shadow:0 -3px 8px #ffffff80,0 -13px 17px #17191b44;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#bcc1c61f 10%),linear-gradient(180deg,#eef0f2,#fff 33%,#e6e8eb)}.floor-light{bottom:22%;z-index:2}.topbar .write{flex-shrink:0}.topbar{gap:3.6%}.desktop-nav{gap:2.2vw}}
/* Markers have an exact geometric anchor; multiline labels cannot displace them. */
.city-label{width:0;height:0}.city-label-inner{display:block;position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0}.city-label i{position:absolute;left:-4px;top:-4px;width:8px;height:8px}.city-label span{position:absolute;left:14px;top:0;transform:translateY(-50%);line-height:1.2}.label-left span{left:auto;right:14px;text-align:right}.label-below span{left:0;top:14px;transform:translateX(-50%);text-align:center}
@media(min-width:761px){.column{--cap-height:clamp(40px,4.8vw,80px);border-radius:50% / calc(var(--cap-height)/2);border:0;background:linear-gradient(90deg,#b5bbc1 0%,#d7dce0 8%,#f1f3f5 22%,#fff 42%,#f3f4f5 63%,#d7dce1 82%,#aeb5bd 100%);box-shadow:inset 1px 0 1px #fff8,inset -1px 0 1px #ffffff60,17px 18px 28px #17191b40,0 3px 4px #17191b45;isolation:isolate}.column-cap{top:0;left:0;right:0;width:100%;height:var(--cap-height);border-radius:50%;border:1px solid #fefefe;background:radial-gradient(ellipse at 42% 25%,#fff 0%,#f4f5f6 55%,#d4d9de 100%);box-shadow:inset 0 -3px 4px #b6bdc64d,0 2px 2px #17191b15;z-index:1}.column:before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#17191b16,transparent 17%,#fff2 45%,transparent 78%,#17191b14);pointer-events:none;z-index:0}.column:after{left:0;right:0;bottom:0;height:var(--cap-height);border-radius:0 0 50% 50%;border-bottom:3px solid #f9fafbc0;box-shadow:0 2px 3px #17191b24;background:linear-gradient(180deg,transparent 35%,#17191b09);z-index:1}.column .portrait,.column figcaption{z-index:2}.column .portrait{box-shadow:0 0 1px #ffffff90}.column figcaption{right:9%}}
@media(max-width:760px){.city-label i{left:-2px;top:-2px;width:4px;height:4px}.city-label span{left:7px}.label-left span{left:auto;right:7px}.label-below span{left:0;top:8px}}

/* Keep the complete contact stack above the curved screen's lower edge. */
@media(min-width:761px){
 .copy{position:absolute;left:3.8%;top:17%;bottom:26%;width:26%;display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,1.5vh,16px);z-index:4}
 .copy h1,.copy h2,.copy p,.copy .actions{position:static;inset:auto;width:100%;max-width:none;margin:0}
 .copy h1{font-size:clamp(24px,2.5vw,44px);line-height:1.1}
 .copy h2{font-size:clamp(14px,1.2vw,20px);line-height:1.3;white-space:normal;letter-spacing:-.025em}
 .copy p{font-size:clamp(13px,1.1vw,18px);line-height:1.45}
 .copy .actions{display:grid;gap:clamp(8px,1.25vh,12px)}
 .copy .actions a{height:clamp(48px,7vh,64px);min-height:48px;padding:8px 1.2vw;gap:1vw;border-radius:16px}
 .copy .actions svg{width:26px;height:26px}
 .copy .actions span{font-size:clamp(12px,1.1vw,18px)}
 .copy .actions a[href^="mailto"] span{font-size:clamp(11px,1vw,17px);white-space:normal}
 .copy .actions small{font-size:clamp(10px,.8vw,13px);margin-bottom:2px}
}
@media(max-width:760px){main{padding-top:calc(2.2svh + 86px)}}
