*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#07111f;color:#f5f7fa;font-family:"DM Sans",sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.nav{position:fixed;top:0;left:0;right:0;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;z-index:15;mix-blend-mode:difference}.brand{font-family:"Playfair Display",serif;font-size:34px;color:#fff;text-decoration:none}.brand span{font-style:italic}.nav-right{display:flex;gap:22px;align-items:center;font-size:12px;letter-spacing:.16em}.counter b{font-size:16px}.sound{background:none;border:0;color:white;font-size:25px;cursor:pointer}.hero{height:100vh;min-height:700px;position:relative;display:flex;align-items:center;padding:0 9vw;overflow:hidden}.hero-bg,.ending-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,9,17,.85),rgba(2,9,17,.25)),url("images/sochi-sunset.jpg") center/cover;transform:scale(1.04);animation:heroZoom 14s ease-out forwards}.hero-content{position:relative;max-width:850px;z-index:2}.eyebrow{font-size:11px;letter-spacing:.23em;font-weight:700;opacity:.65;margin:0 0 24px}.hero h1,.ending h2{font-family:"Playfair Display",serif;font-size:clamp(68px,10vw,150px);line-height:.84;letter-spacing:-.055em;margin:0}.hero h1 em,.ending h2 em,h2 em{font-weight:500}.lead{max-width:510px;font-size:17px;line-height:1.7;opacity:.78;margin:38px 0}.start{display:inline-flex;gap:24px;align-items:center;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding:0 0 12px;font-size:14px}.start span{font-size:20px}.hero-meta{position:absolute;bottom:38px;left:9vw;right:220px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em;opacity:.55}.scroll-hint{position:absolute;right:5vw;bottom:38px;font-size:9px;letter-spacing:.18em;opacity:.5;display:flex;gap:10px;align-items:center}.scroll-hint span{display:block;width:35px;height:1px;background:#fff}.intro{min-height:80vh;padding:15vh 9vw 10vh;background:#f2eee7;color:#15202d;position:relative;display:flex;flex-direction:column}.intro-inner{max-width:850px}.intro h2{font-family:"Playfair Display",serif;font-size:clamp(48px,7vw,95px);line-height:.95;letter-spacing:-.05em;margin:0}.intro p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:620px;margin-top:38px;color:#53606b}.route{position:relative;left:auto;right:auto;bottom:auto;margin-top:100px;display:flex;justify-content:space-between;flex-shrink:0}.route-line{position:absolute;top:7px;left:0;right:0;height:1px;background:#c7c2ba}.route-dot{position:relative;width:16%;font-size:10px;letter-spacing:.13em;color:#7b7f82}.route-dot span{display:flex;width:15px;height:15px;border-radius:50%;background:#f2eee7;border:1px solid #9b9994;align-items:center;justify-content:center;font-size:0;position:relative;z-index:1}.route-dot.active span{background:#15202d}.route-dot small{display:block;margin-top:14px;font-size:9px}.chapter{min-height:100vh;position:relative;display:grid;grid-template-columns:55% 45%;overflow:hidden}.chapter.reverse{grid-template-columns:45% 55%}.chapter-image{position:relative;overflow:hidden;min-height:100vh}.chapter-image img{width:100%;height:110%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);transform:scale(1.08)}.chapter:hover .chapter-image img{transform:scale(1.02)}.chapter-content{display:flex;flex-direction:column;justify-content:center;padding:9vw;position:relative;z-index:2}.chapter h2{font-family:"Playfair Display",serif;font-size:clamp(52px,6vw,92px);line-height:.9;letter-spacing:-.05em;margin:0}.chapter-content>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:500px;opacity:.72;margin:35px 0 28px}.photo-note{font-size:12px;line-height:1.6;max-width:510px;opacity:.55;border-left:1px solid currentColor;padding-left:15px}.photo-note span{font-size:9px;letter-spacing:.2em;font-weight:700;display:block;margin-bottom:5px;opacity:.8}.dark{background:#081522}.light{background:#eeeae3;color:#172330}.ocean{background:#062a39}.mountain{background:#dfe5df;color:#17231e}.night{background:#090d18}.night .chapter-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(5,9,17,.45))}.ending{height:100vh;min-height:700px;position:relative;display:flex;align-items:center;padding:0 9vw;overflow:hidden}.ending-bg{background:linear-gradient(90deg,rgba(3,9,17,.86),rgba(3,9,17,.2)),url("images/lake-rica.jpg") center/cover}.ending-content{position:relative;max-width:850px}.ending-content>p:not(.eyebrow){max-width:520px;line-height:1.8;opacity:.78;margin:35px 0}.credit{margin-top:80px;font-size:10px;letter-spacing:.22em;opacity:.5}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1.12)}to{transform:scale(1.04)}}@media(max-width:800px){.hero{padding:0 7vw}.hero h1{font-size:68px}.hero-meta{left:7vw;right:7vw;bottom:28px;gap:20px}.hero-meta span:last-child{display:none}.scroll-hint{display:none}.intro{padding:12vh 7vw 12vh}.route{left:auto;right:auto;bottom:auto;margin-top:70px}.route-dot small{font-size:7px}.chapter,.chapter.reverse{display:flex;flex-direction:column;min-height:0}.chapter-image{height:65vh;min-height:0;order:0}.chapter-content{min-height:70vh;padding:14vw 9vw;order:1}.chapter h2{font-size:58px}.chapter-content>p:not(.eyebrow){font-size:15px}.ending{padding:0 7vw}.ending h2{font-size:68px}.nav{padding:0 7vw}.counter{display:none}}