@charset "UTF-8";
:root{color-scheme:dark;--bg:#08090c;--text:#f5f5f7;--muted:#a3a7b0;--accent:#b5d8ff;--edge:clamp(24px,5.5vw,100px);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:hover{color:white}button:disabled{opacity:.25;cursor:default}a{color:var(--accent)}svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}#map-stage{position:fixed;inset:0;background:#080b11;opacity:0;transition:opacity 1s}body.map-visible #map-stage{opacity:1}.map-vignette{position:absolute;inset:0;box-shadow:inset 0 0 130px #08090c66;pointer-events:none}.masthead{position:fixed;z-index:20;top:0;left:0;right:0;height:90px;padding:0 var(--edge);display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(#08090c65,transparent)}.wordmark{font-weight:750;font-size:23px;letter-spacing:-1.2px;padding:0}.wordmark span{font-weight:400;color:var(--muted);margin-left:4px}#chapter-label{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:#d6d9df}.icon-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;font-size:22px;color:#c5c7ce;transition:background .2s}.icon-button:hover{background:#ffffff15}.icon-button svg{width:19px;height:19px}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .85s,visibility .85s;overflow:hidden;padding:110px var(--edge) 105px;display:flex;align-items:center}.slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}.slide-content{position:relative;z-index:2;width:100%;max-width:1500px;margin:0 auto}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600;color:var(--accent);margin-bottom:24px}h1,h2,h3,p{margin:0}h1,h2{font-weight:650;letter-spacing:-.065em;line-height:1.02;text-wrap:balance}h1{font-size:clamp(76px,12vw,190px)}h2{font-size:clamp(44px,6.8vw,112px)}.lead{font-size:clamp(16px,1.65vw,24px);line-height:1.5;color:#b8bcc6;max-width:520px;margin-top:28px;letter-spacing:-.025em}.gradient-text{background:linear-gradient(115deg,#fff 12%,#b5d8ff 58%,#7c99bd);background-clip:text;-webkit-background-clip:text;color:transparent}.intro h1{max-width:900px}.intro .lead{max-width:620px}.intro{background:radial-gradient(ellipse at 80% 65%,#17345155,transparent 50%)}.intro .slide-content:before{content:"";position:absolute;width:34vw;height:34vw;right:-12vw;top:50%;transform:translateY(-50%);border-radius:50%;border:1px solid #b5d8ff20;box-shadow:0 0 100px #6aa6d811,inset 0 0 100px #6aa6d80a;z-index:-1}.intro-bottom{display:flex;gap:25px;align-items:center;margin-top:44px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #ffffff30;padding:13px 23px;border-radius:30px;font-size:13px;background:#ffffff08;backdrop-filter:blur(20px)}.pill:hover{background:#ffffff18}.subtle{font-size:12px;color:var(--muted)}.map-slide .slide-content{margin-left:0;max-width:44%}.map-slide h2{font-size:clamp(40px,5.7vw,91px)}.coordinates{margin-top:35px;font-size:11px;letter-spacing:.14em;color:#8f9eae;font-variant-numeric:tabular-nums}.map-slide .lead{max-width:370px}.chapter-number{font-size:clamp(130px,23vw,360px);font-weight:700;letter-spacing:-.09em;position:absolute;right:0;top:50%;transform:translateY(-50%);line-height:.8;color:#ffffff04;pointer-events:none}.chapter-icon{width:72px;height:72px;color:var(--accent);margin-bottom:25px}.chapter-icon svg{width:100%;height:100%;stroke-width:1}.chapter-slide{background:radial-gradient(ellipse at 85% 45%,#17345166,transparent 65%)}.chapter-slide.kazan{--accent:#b7e5cf;background:radial-gradient(ellipse at 85% 45%,#1f423666,transparent 65%)}.chapter-slide.dolgoprudni{--accent:#c8c2ff;background:radial-gradient(ellipse at 85% 45%,#30245966,transparent 65%)}.chapter-slide h2{max-width:1000px}.hero-photo{padding:0}.photo-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.78);transform:scale(1.035)}.hero-photo.active .photo-backdrop{animation:kenburns 17s ease-out both}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0007,transparent 85%),linear-gradient(0deg,#08090ce8,transparent 80%);pointer-events:none}.hero-photo .slide-content{align-self:flex-end;padding:0 var(--edge) 135px;max-width:none;pointer-events:none}.hero-photo .lead{color:#eee}.hero-photo h2{max-width:900px}.hero-photo .photo-hit{position:absolute;inset:90px 0 90px;z-index:1;width:100%;cursor:zoom-in}.photo-caption{position:absolute;right:var(--edge);bottom:120px;z-index:3;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#ddd}.pair-stack{height:100%;display:flex;flex-direction:column;justify-content:center;gap:30px}.pair-stack h2{font-size:clamp(34px,4.6vw,64px)}.photo-pair{flex:1;min-height:0;display:flex;justify-content:center;gap:16px}.photo-card{display:block;position:relative;overflow:hidden;border-radius:12px;padding:0;width:100%;height:100%;background:#17191d;cursor:zoom-in}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.photo-card:hover img{transform:scale(1.035)}.photo-pair .photo-card,.contact-row .photo-card{width:auto;height:100%;aspect-ratio:var(--ar);flex:0 1 auto;min-width:0}.contact-header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.contact-header h2{font-size:clamp(34px,4.8vw,70px)}.contact-header .eyebrow{margin-bottom:14px}.contact-rows{height:min(56vh,640px);display:flex;flex-direction:column;gap:14px}.contact-row{flex:1;min-height:0;display:flex;justify-content:center;gap:14px}.contact-row .photo-card{border-radius:10px}.bridge-slide{background:var(--bg)}.bridge-slide .slide-content{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.bridge-slide h2{font-size:clamp(42px,5.9vw,88px)}.bridge-drawing{width:100%;height:clamp(120px,25vh,300px);margin-top:20px;overflow:visible;stroke:var(--accent);stroke-width:1.5}.bridge-drawing .cable{stroke:#b5d8ff70;stroke-width:1}.active .bridge-drawing .cable{stroke-dasharray:450;stroke-dashoffset:450;animation:draw 2.8s .4s ease forwards}.bridge-water{stroke:#568eb533;stroke-width:1}.bridge-stats{display:flex;gap:7vw;margin-top:5px}.bridge-stats strong{font-size:clamp(30px,4vw,58px);font-weight:550;letter-spacing:-.05em;display:block}.bridge-stats span{display:block;font-size:12px;color:var(--muted);margin-top:6px}.video-layout{display:grid;grid-template-columns:.8fr 1.4fr;align-items:center;gap:5vw}.video-layout video{width:100%;max-height:63vh;border-radius:16px;background:black}.video-layout h2{font-size:clamp(40px,5.8vw,90px)}.final{text-align:center;background:radial-gradient(ellipse at 50% 85%,#20354d77,transparent 65%)}.final h2{font-size:clamp(56px,9vw,145px)}.final .lead{margin:28px auto 0;max-width:700px}.final .intro-bottom{justify-content:center}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s .1s,transform 1s .1s}.active .reveal{opacity:1;transform:none}.active .reveal.delay{transition-delay:.3s}.controls{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:24px;padding:20px var(--edge) 23px;background:linear-gradient(transparent,#08090c99);height:86px}.timeline{display:flex;align-items:center;gap:5px;flex:1;max-width:430px;margin-right:auto}.timeline button{height:28px;padding:12px 0;flex:1;position:relative}.timeline button:after{content:"";display:block;height:2px;background:#ffffff26;transition:background .3s}.timeline button.visited:after{background:#ffffff70}.timeline button.current:after{background:var(--accent);height:3px}.transport{display:flex;align-items:center;gap:8px}#counter{font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.06em;margin-right:15px;color:#b8bbc3}.control-divider{width:1px;height:16px;background:#ffffff26;margin:0 5px}#autoplay[aria-pressed=true]{color:var(--accent);background:#b5d8ff18}dialog{color:var(--text);background:#111319f5;border:1px solid #ffffff1c;border-radius:22px;padding:36px;max-width:1100px;width:90vw;max-height:88dvh;box-shadow:0 25px 130px #000b;backdrop-filter:blur(30px)}dialog::backdrop{background:#030508cf;backdrop-filter:blur(14px)}.dialog-header{display:flex;align-items:start;justify-content:space-between;gap:25px;margin-bottom:32px}.dialog-header h2{font-size:34px;letter-spacing:-.045em}.dialog-header .eyebrow{margin-bottom:12px}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.overview-item{text-align:left;padding:18px;min-height:120px;background:linear-gradient(145deg,#263344,#131921);border:1px solid #ffffff10;border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;background-size:cover;background-position:center}.overview-item span{font-size:11px;color:#b5d8ff}.overview-item strong{font-size:17px;letter-spacing:-.035em;font-weight:500}.overview-item[aria-current=true]{outline:2px solid var(--accent)}.gallery-tabs{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.gallery-tabs button{padding:10px 18px;background:#ffffff08;border-radius:20px;font-size:13px}.gallery-tabs button[aria-pressed=true]{color:#10141b;background:var(--accent)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid .photo-card{height:220px}#lightbox{width:96vw;max-width:1600px;height:92dvh;padding:30px 65px;overflow:hidden;background:#090b10}#lightbox[open]{display:flex;align-items:center;justify-content:center}#lightbox .close-dialog{position:absolute;right:15px;top:12px}#lightbox figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}#lightbox-image{max-width:100%;max-height:calc(100% - 35px);object-fit:contain}#lightbox-caption{font-size:12px;color:var(--muted);text-align:center}#photo-prev{position:absolute;left:10px}#photo-next{position:absolute;right:10px}#help{max-width:600px}#help p{font-size:15px;line-height:1.6}.muted{color:var(--muted);margin-top:18px}.shortcuts{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;font-size:14px;margin:28px 0}.shortcuts dt{color:var(--accent)}.shortcuts dd{margin:0;color:#c5c8d0}#notes{position:fixed;z-index:25;bottom:100px;right:var(--edge);width:min(460px,88vw);padding:27px;border:1px solid #ffffff20;background:#141a24ee;backdrop-filter:blur(25px);border-radius:18px;box-shadow:0 10px 50px #0008}#notes p{font-size:16px;line-height:1.6}#notes .eyebrow{font-size:10px;margin-bottom:14px}#close-notes{float:right;margin:-12px -12px 0 0}#toast{position:fixed;z-index:100;bottom:100px;left:50%;transform:translate(-50%,10px);padding:12px 22px;max-width:90vw;background:#252c39ed;border:1px solid #ffffff20;border-radius:25px;font-size:13px;opacity:0;pointer-events:none;transition:.25s}#toast.visible{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-js{position:fixed;inset:0;display:grid;place-items:center;background:#08090c;z-index:200}@keyframes kenburns{from{transform:scale(1.035)}to{transform:scale(1.1)}}@keyframes draw{to{stroke-dashoffset:0}}
@media(min-width:1800px){.slide{padding-top:130px;padding-bottom:130px}}
@media(max-width:760px){.masthead{height:70px}#chapter-label{font-size:9px;letter-spacing:.1em}.wordmark{font-size:20px}.slide{padding-top:88px;padding-bottom:94px}h1{font-size:clamp(64px,15vw,115px)}h2{font-size:clamp(40px,10vw,70px)}.lead{font-size:16px;margin-top:20px}.eyebrow{font-size:9px;margin-bottom:17px}.intro-bottom{gap:15px;margin-top:30px;flex-wrap:wrap}.intro .subtle{font-size:10px}.map-slide{align-items:flex-start}.map-slide .slide-content{max-width:100%;margin-top:10px}.map-slide h2{font-size:44px}.map-slide .lead{max-width:300px;font-size:14px;margin-top:14px}.coordinates{margin-top:14px;font-size:9px}.chapter-icon{width:52px;height:52px}.chapter-number{font-size:55vw;top:25%;right:8px}.pair-stack{gap:16px}.pair-stack h2{font-size:38px}.photo-pair{gap:10px;align-items:center}.photo-pair .photo-card{flex:1 1 0;height:auto;max-height:100%}.hero-photo .slide-content{padding:0 var(--edge) 125px}.hero-photo h2{font-size:48px}.photo-caption{bottom:95px;font-size:8px}.contact-header{align-items:start;gap:10px;margin-bottom:18px}.contact-header h2{font-size:34px}.contact-header .pill{font-size:11px;padding:10px 13px;white-space:nowrap}.contact-rows{height:52vh;gap:10px}.contact-row{gap:10px}.contact-row .photo-card{flex:1 1 0;height:auto;max-height:100%}.bridge-slide h2{font-size:39px}.bridge-drawing{height:22vh;margin-top:12px}.bridge-stats{gap:25px}.bridge-stats strong{font-size:29px}.bridge-stats span{font-size:10px;max-width:90px;line-height:1.4}.video-layout{grid-template-columns:1fr;gap:25px}.video-layout h2{font-size:42px}.video-layout video{max-height:43vh}.final h2{font-size:clamp(49px,11vw,85px)}.final .lead{font-size:15px}.controls{padding:13px 18px 16px;gap:8px;height:76px}.timeline{gap:3px}.transport{gap:2px}#counter{font-size:9px;margin-right:4px}.controls .icon-button{width:32px;height:34px;font-size:20px}.control-divider{display:none}.overview-grid{grid-template-columns:repeat(2,1fr)}dialog{padding:22px;border-radius:18px;width:94vw}.dialog-header h2{font-size:26px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid .photo-card{height:200px}#lightbox{padding:40px 38px;height:90dvh}#lightbox .icon-button{width:30px}.shortcuts{font-size:12px}.overview-item{min-height:110px}.overview-item strong{font-size:15px}}
@media(max-height:560px) and (min-width:761px){.masthead{height:58px}.slide{padding-top:65px;padding-bottom:72px}h1{font-size:80px}h2{font-size:52px}.eyebrow{margin-bottom:12px}.lead{font-size:15px;margin-top:15px}.intro-bottom{margin-top:20px}.chapter-icon{width:42px;height:42px;margin-bottom:15px}.controls{height:65px;padding-top:10px;padding-bottom:10px}.bridge-slide h2{font-size:40px}.bridge-stats strong{font-size:30px}.hero-photo .slide-content{padding-bottom:85px}.photo-caption{bottom:85px}.contact-header{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{transform:none}.bridge-drawing .cable{stroke-dashoffset:0!important}}
