/* XII ключей — /new/ v2
   Движение снято с era-residence.com (GSAP 3 + ScrollTrigger + SplitText + Lenis)
   и kingsons.ru (закреплённая сцена со шторками, Lenis lerp .06). Контент и бренд — свои. */
@font-face{font-family:"Ricordi";src:url("/assets/fonts/TTRicordiMarmo-Regular.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Norms";src:url("/assets/fonts/TTNormsPro-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Norms";src:url("/assets/fonts/TTNormsPro-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Corm";src:url("fonts/CormorantGaramond-Italic-cyr.woff2") format("woff2");font-style:italic;font-weight:500;font-display:swap;unicode-range:U+0400-04FF}
@font-face{font-family:"Corm";src:url("fonts/CormorantGaramond-Italic-lat.woff2") format("woff2");font-style:italic;font-weight:500;font-display:swap;unicode-range:U+0000-03FF,U+2000-206F}

:root{
  --ivory:#f3ede3; --champ:#e7d5bc; --velvet:#4e2b1c; --black:#0c0907; --ink:#2b1810;
  --ink-60:#2b181099; --ink-10:#2b18101a; --white-80:#fffc; --white-20:#fff3;
  --gold:#d6a360;
  --display:"Ricordi",Georgia,serif; --script:"Corm","Cormorant Garamond",Georgia,serif; --sans:"Norms",system-ui,sans-serif;
  --off:4.8rem; --cell:13.6rem; --gap:1.6rem;
  --vh:100vh;
}
html{font-size:calc(100vw / 1440 * 10);-webkit-text-size-adjust:100%;background:var(--black)}
@media (max-width:991px){html{font-size:calc(100vw / 390 * 10)}:root{--off:2.4rem;--cell:8rem;--vh:var(--_100svh,100svh)}}
*{box-sizing:border-box;margin:0;padding:0}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
body{font:400 1.5rem/1.5 var(--sans);color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;overflow-x:clip}
@media (max-width:991px){body{font-size:1.5rem}}
img,video,iframe,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-family:var(--script);font-style:italic;font-weight:500;letter-spacing:0;text-transform:none}
::selection{background:var(--gold);color:var(--black)}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.skip{position:fixed;left:12px;top:-60px;z-index:20000;background:var(--gold);color:var(--black);padding:10px 14px}.skip:focus{top:12px}
.cap{font:500 1.1rem/1.45 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.split-line{display:block}.split-char,.split-word{display:inline-block;will-change:transform}
[data-part],[data-scroll-reveal]:not([data-scroll-reveal="w"]),[data-text]{visibility:hidden}
html.no-motion [data-part],html.no-motion [data-scroll-reveal],html.no-motion [data-text]{visibility:visible}
.circle{display:block;width:100%;height:100%;border-radius:50%}
.circle.is-gold{background:radial-gradient(circle at 35% 30%,#ecc994,#d6a360 45%,#a7773d)}
.circle.is-velvet{background:radial-gradient(circle at 35% 30%,#7a4a33,#4e2b1c 55%,#331a10)}

/* ── preloader ────────────────────────────────────────────────────── */
.preloader{position:fixed;inset:0;z-index:11000;pointer-events:auto;color:var(--ivory);display:none}
html.is-loading .preloader{display:block}
.preloader_fill{position:absolute;inset:0;background:var(--velvet)}
.preloader_ghost{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-55%) rotate(-8deg);font:italic 500 46rem/1 var(--script);color:var(--ivory);opacity:0;white-space:nowrap;pointer-events:none}
.preloader_frame{position:absolute;z-index:3;inset:2.4rem;border:1px solid #f3ede333;opacity:0}
.preloader_ctn{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:4.8rem var(--off) 4rem}
.preloader_t{display:flex;justify-content:center}
.preloader_icon{width:4rem;height:4rem;filter:invert(1);opacity:.9}
.preloader_mid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4rem}
.preloader_side{font:400 2.4rem/1 var(--display);letter-spacing:.8em;text-transform:uppercase;text-align:center}
.preloader_logo{position:relative;text-align:center}
.preloader_title{font:400 9rem/.88 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.preloader_script{position:absolute;left:50%;bottom:-3.2rem;transform:translateX(-30%) rotate(-12deg);font:italic 500 6.4rem/1 var(--script);color:var(--gold);white-space:nowrap}
.preloader_b{display:flex;flex-direction:column;align-items:center;gap:2.4rem}
.preloader_progress{width:1px;height:9.6rem;background:#f3ede31a;overflow:clip}
.preloader_track{display:block;width:100%;height:100%;background:var(--ivory)}
.preloader_caption{font:500 1.1rem/1.45 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-align:center}
.preloader_arch{position:absolute;inset:0;z-index:2;pointer-events:none;display:flex;justify-content:center;--arch-w:24vw;--arch-y:104vh}
.arch{position:absolute;top:var(--arch-y);width:var(--arch-w);height:calc(var(--arch-w) * 1.4 + 220vh);border-radius:var(--arch-w) var(--arch-w) 0 0}
.arch.is-1{box-shadow:0 0 0 300vmax var(--velvet);outline:1px solid #f3ede359;outline-offset:-1px}
.arch.is-2{width:calc(var(--arch-w) * 1.1);top:calc(var(--arch-y) - var(--arch-w) * .05);border:1px solid #f3ede333}
@media (max-width:991px){.preloader_mid{grid-template-columns:1fr;gap:1.6rem}.preloader_side{font-size:1.6rem}.preloader_title{font-size:6.4rem}.preloader_script{font-size:4.8rem;bottom:-2.6rem}.preloader_ghost{font-size:24rem}}

/* ── fixed chrome ─────────────────────────────────────────────────── */
[data-theme]{--fg:#fff;--fg-2:var(--white-80);--fg-line:var(--white-20);color:var(--fg);transition:color .4s cubic-bezier(.25,1,.5,1)}
[data-theme].is-ink{--fg:var(--ink);--fg-2:var(--ink-60);--fg-line:var(--ink-10)}
.logo-badge{position:fixed;left:var(--off);top:var(--off);z-index:1200;width:var(--cell);aspect-ratio:1;display:grid;place-items:center}
.logo-badge_ring{position:absolute;inset:0;width:100%;height:100%}
.logo-badge_ring text{font:500 7.2px var(--sans);letter-spacing:.24em;fill:currentColor}
.logo-badge_key{width:30%;height:auto;filter:invert(1);transition:filter .4s}
.is-ink .logo-badge_key,.logo-badge.is-ink .logo-badge_key{filter:none}
.nav{position:fixed;right:var(--off);top:var(--off);z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:.8rem;text-align:right}
.nav_main{position:relative;display:flex;gap:.2rem;flex-direction:column;align-items:flex-end;font:400 1.9rem/1 var(--display);text-transform:uppercase;padding-bottom:.8rem;margin-bottom:1.2rem}
.nav_main::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor}
.nav_sub{font:500 1rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--fg-2)}
.nav_sub:hover{color:var(--fg)}
.menu-btn{display:none;position:fixed;right:var(--off);top:var(--off);z-index:1200;width:4.8rem;height:4.8rem}
.menu-btn i{position:absolute;left:1rem;right:1rem;height:1px;background:currentColor}.menu-btn i:first-child{top:2rem}.menu-btn i:last-child{top:2.8rem}
.s-bar{position:fixed;left:var(--off);width:var(--cell);top:calc(var(--off) * 2 + var(--cell));bottom:calc(var(--off) * 2 + var(--cell));z-index:1200;display:flex;flex-direction:column;align-items:center;gap:1.6rem;pointer-events:none}
.s-bar_label{font:500 1rem/1 var(--sans);letter-spacing:.2em}
.s-bar_track{position:relative;width:1px;flex:1;background:var(--fg-line)}
.s-bar_fill{position:absolute;left:0;top:0;width:1px;height:var(--progress,0%);background:currentColor}
.s-bar_thumb{position:absolute;left:50%;top:var(--progress,0%);width:4.8rem;height:4.8rem;transform:translate(-50%,-50%);pointer-events:auto;display:grid;place-items:center;cursor:grab}
.s-bar_thumb i{width:.7rem;height:.7rem;border-radius:50%;background:currentColor}
.s-down{position:fixed;left:var(--off);top:calc(100% - var(--off));z-index:1200;height:var(--cell);display:flex;align-items:center;gap:2.4rem;transform:rotate(-90deg);transform-origin:0 0;font:500 1rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.s-down i{width:4.8rem;height:1px;background:currentColor;position:relative;overflow:hidden}
@media (max-width:991px){.nav,.s-bar,.s-down{display:none}.menu-btn{display:block}.logo-badge{width:7.2rem}}

/* hover-link (ERA): буквы переворачиваются, линия уходит */
[hover-link]{position:relative;display:inline-grid;cursor:pointer}
[hover-link] [hover="text"]{grid-area:1/1}
.link_line{position:absolute;left:0;right:0;bottom:-.2em;height:1px;background:currentColor}

/* ── 1. hero ──────────────────────────────────────────────────────── */
.hero-area{position:relative;height:calc(var(--vh) * 4)}
.hero-w{position:sticky;top:0;height:var(--vh);overflow:hidden;display:flex;flex-direction:column}
.hero-bg{position:absolute;inset:0 0 auto;z-index:0;will-change:transform}
.hero-bg_img{position:relative;height:calc(var(--vh) * 1.22)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.hero-img.is-night{opacity:1}
.hero-bg_shade{position:absolute;inset:0;background:linear-gradient(#00000080,#0000 32%,#0000 48%,#000000b3 82%)}
.hero-s{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-start;padding:var(--off) calc(var(--off) + var(--cell) + var(--gap)) 0;color:#fff;pointer-events:none}
.hero-s>*{pointer-events:auto}
.hero-logo{position:relative;width:100%;display:flex;justify-content:center;text-align:center}
.hero-title{font:400 19.2rem/.875 var(--display);letter-spacing:-.024em;text-transform:uppercase;white-space:nowrap}
.hero-script{position:absolute;left:50%;bottom:-6.4rem;transform:translateX(-4%) rotate(-12deg);text-shadow:0 .4rem 3rem #0006;font:italic 500 12rem/1 var(--script);color:var(--gold);white-space:nowrap}
.hero-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:3.2rem;margin-top:8rem}
.hero-row_side{font:400 2.8rem/1 var(--display);text-transform:uppercase}
.hero-row_side:first-child{text-align:left}.hero-row_side:last-child{text-align:right}
.hero-tabs{display:flex;align-items:center;gap:1.6rem;font:500 1.15rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.hero-tabs button{padding:.8rem 0;opacity:.55;transition:opacity .8s cubic-bezier(.75,0,.25,1)}
.hero-tabs button[aria-pressed="true"]{opacity:1}
.hero-tabs_divider{position:relative;width:6.4rem;height:1px;background:#ffffff4d;overflow:hidden}
.hero-tabs_divider::after{content:"";position:absolute;inset:0;background:#fff;transform-origin:left;transform:scaleX(var(--tab,0));transition:transform .8s cubic-bezier(.75,0,.25,1)}
body[data-time="night"] .hero-tabs_divider{--tab:1}
.hero-b{margin-top:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:3.2rem;padding-bottom:var(--off)}
.hero-desc{grid-column:1;max-width:34rem;font-size:1.4rem;line-height:1.45;color:var(--white-80)}
.btn-circle{grid-column:2;position:relative;width:16rem;height:16rem;display:grid;place-items:center;text-align:center;font:500 1rem/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#fff}
.btn-circle svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.btn-circle circle{fill:none;stroke-width:1}
.btn-circle_base{stroke:#ffffff80}.btn-circle::before{content:'';position:absolute;inset:0;border-radius:50%;background:#0000002e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.btn-circle span{position:relative}.btn-circle_arc{stroke:#fff;stroke-width:1.5}
@media (max-width:991px){
  .hero-s{padding:calc(var(--off) + 8rem) var(--off) 0}
  .hero-title{font-size:6rem}
  .hero-script{font-size:5.2rem;bottom:-4rem;transform:translateX(-50%) rotate(-8deg)}
  .hero-row{grid-template-columns:1fr;gap:1.6rem;margin-top:5.6rem;text-align:center}
  .hero-row_side{font-size:2rem}.hero-row_side:first-child,.hero-row_side:last-child{text-align:center}
  .hero-tabs{justify-content:center}
  .hero-b{grid-template-columns:1fr;justify-items:center;text-align:center;padding-bottom:9.6rem}
  .hero-desc{grid-column:1}.btn-circle{grid-column:1;width:12rem;height:12rem}
}

/* ── 2. arc ───────────────────────────────────────────────────────── */
.arc-w{position:relative;z-index:2;margin-top:calc(var(--vh) * -1.6)}
.arc-s{position:relative;height:var(--vh);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 var(--off)}
.arc-s::before{content:"";position:absolute;left:var(--off);right:var(--off);bottom:0;height:calc(100% - 4rem);background:var(--champ);border-radius:50vw 50vw 0 0/43vw 43vw 0 0}
.arc-text{position:absolute;left:var(--off);right:var(--off);top:4rem;width:calc(100% - var(--off) * 2);height:auto;overflow:visible}
.arc-text text{font:400 40px var(--display);text-transform:uppercase;fill:var(--ink)}
.arc-place{position:relative;display:flex;align-items:center;gap:2.4rem;font:500 1rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;margin-bottom:3.2rem}
.arc-place img{width:3.4rem;height:3.4rem}
.arc-rule{position:relative;display:block;width:1px;height:24rem;background:var(--ink-10)}
@media (max-width:991px){.arc-w{margin-top:calc(var(--vh) * -1.2)}.arc-s{height:70vh}.arc-s::before{border-radius:50vw 50vw 0 0/50vw 50vw 0 0;left:0;right:0}.arc-text{left:0;right:0;width:100%}.arc-rule{height:14rem}}

/* ── 3. details + slider ──────────────────────────────────────────── */
.details{position:relative;z-index:2;background:var(--champ);padding:4rem var(--off) 14rem;display:flex;flex-direction:column;align-items:center;text-align:center}
.details-title{font:400 19.2rem/.875 var(--display);letter-spacing:-.024em;text-transform:uppercase;white-space:nowrap}
.details-script{font:italic 500 9.6rem/1 var(--script);color:var(--velvet);margin-top:-2.4rem}
.slider{width:40rem;margin-top:4.8rem}
.slider_frame{position:relative;aspect-ratio:4/5;overflow:hidden}
.slider_slide{position:absolute;inset:0;display:none}
.slider_img{position:absolute;inset:0;overflow:hidden}
.slider_img img{width:100%;height:100%;object-fit:cover}
.slider_pag{display:flex;align-items:center;justify-content:center;gap:1.6rem;margin-top:2.4rem;font:400 1.8rem/1 var(--display)}
.slider_pag button{width:4.8rem;height:4.8rem;border:1px solid var(--ink);border-radius:4.8rem;font:400 1.6rem var(--sans);transition:background .4s,color .4s}
.slider_pag button:hover{background:var(--ink);color:var(--ivory)}
.slider_bar{position:relative;width:6.4rem;height:1px;background:var(--ink-10)}
.slider_bar i{position:absolute;left:0;top:0;height:1px;width:0;background:var(--ink)}
.details-text{max-width:44rem;margin-top:4.8rem;font-size:1.5rem}
.details-cap{margin-top:1.6rem;font:500 1rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-60)}
@media (max-width:991px){.details-title{font-size:6.4rem}.details-script{font-size:4.8rem;margin-top:-.8rem}.slider{width:100%}.details{padding-bottom:9.6rem}}

/* ── 4. King & Sons chapter ───────────────────────────────────────── */
.ks{position:relative;z-index:3;background:var(--ivory)}
.ks-pin{position:relative;width:100vw;height:var(--vh);overflow:hidden}
.ks-pin>*{position:absolute;inset:0}
.ks-welcome{z-index:3}
.ks-curtain{position:absolute;top:0;left:0;width:100vw;height:55%;z-index:2}
.ks-curtain_inner{width:100%;height:100%;background:var(--ivory);color:var(--ink)}
.ks-curtain_logo{position:absolute;left:50%;top:calc(100% - 6.4rem);transform:translate(-50%,-100%);text-align:center}
.ks-curtain_caption{font:500 2rem/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2.4rem}
.ks-curtain_icon{display:flex;align-items:baseline;justify-content:center;gap:1.6rem;font:400 10rem/.9 var(--display);color:var(--velvet)}
.ks-curtain_icon small{font:italic 500 6.4rem/1 var(--script);color:var(--gold)}
.ks-wrapper{position:absolute;inset:0;overflow:hidden;color:var(--ivory);background:var(--black)}
.ks-wrapper_image{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;transform-origin:center top}
.ks-wrapper_image img{position:absolute;inset:0;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:50% 23%}
.ks-wrapper::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0000008c,#0000 60%);pointer-events:none}
.ks-h2{position:absolute;z-index:1;top:50%;left:3.4rem;font:400 10.4rem/.93 var(--display);text-transform:uppercase;letter-spacing:-.02em}
.ks-p{position:absolute;z-index:1;top:50%;left:72%;font:500 1.8rem/1.4 var(--sans);letter-spacing:.03em;text-align:center}
.ks-history{z-index:4;pointer-events:none}
.ks-history_wrap{position:absolute;inset:0}
.ks-block{position:absolute;inset:0}
.ks-block.is-bottom{background:var(--black);color:var(--ivory)}
.ks-block.is-top{background:var(--ivory);color:var(--ink);z-index:1}
.ks-block_wrapper,.ks-block_inner{position:absolute;inset:0}
.ks-block_word{position:absolute;z-index:1;top:50%;left:0;font:400 13rem/.96 var(--display);text-transform:uppercase;letter-spacing:-.02em;text-align:right;white-space:nowrap}
.ks-block_word span{display:block}
.ks-block.is-top .ks-block_word{color:var(--velvet)}
.ks-block_image{position:absolute;top:50%;left:50%;width:30.6rem;height:40.6rem;transform:translateY(-50%)}
.ks-block_circle{position:absolute;top:0;left:0;width:18.8rem;height:18.8rem}
.ks-block_human{position:relative;width:100%;height:100%;overflow:hidden}
.ks-block_human img{position:absolute;width:110%;height:110%;max-width:none;object-fit:cover;object-position:100% 50%}
.ks-block_text{position:absolute;top:50%;left:calc(50% + 36rem);transform:translateY(-50%);font:500 1.6rem/1.45 var(--sans);letter-spacing:.02em}
.ks-stories{z-index:1;pointer-events:none}
.ks-stories_wrap{position:absolute;inset:0;overflow:hidden}
.ks-stories_content{position:absolute;inset:0;background:var(--ivory)}
.ks-images{position:absolute;top:50%;left:0;display:grid;grid-template-columns:2fr 1fr;column-gap:2rem;height:100%}
.ks-images_left,.ks-images_right{position:relative;height:100%}
.ks-images_left{overflow:hidden}
.ks-images img{width:100%;height:100%;object-fit:cover}
.ks-images_container{position:absolute;inset:0;overflow:hidden}
.ks-images_circle{position:absolute;top:0;left:0;width:14rem;height:14rem;z-index:-1}
.ks-text{position:absolute;left:-30rem;top:0;width:80vw;height:100%;display:flex;align-items:center;color:var(--ink);pointer-events:none}
.ks-text_big{position:absolute;top:50%;left:0;font:400 14rem/1 var(--display);text-transform:uppercase;white-space:nowrap;color:var(--velvet)}
.ks-text_big span{display:block}
.ks-text_container{position:relative;width:100vw;height:100%}
.ks-small{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8rem;font:400 3rem/1.25 var(--display);text-transform:uppercase;text-align:center;white-space:nowrap}
.ks-small img{width:4rem;height:4rem;opacity:.8}
.ks-final{z-index:2;pointer-events:none}
.ks-final_wrap{position:absolute;inset:0;overflow:hidden}
.ks-final_image{position:absolute;top:50%;right:0;width:24rem;height:42rem;overflow:hidden}
.ks-final_inner{position:absolute;inset:0}
.ks-final_inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ks-final_text{position:absolute;bottom:60%;left:50%;font:500 1.8rem/1.4 var(--sans);letter-spacing:.03em;text-align:center;color:var(--ivory);transform-origin:center bottom;text-shadow:0 0 30px #0006}
.ks-final_title{position:absolute;bottom:12rem;left:3.4rem;font:400 22rem/.96 var(--display);text-transform:uppercase;color:var(--ivory);white-space:nowrap}
.ks-final_title span{display:block}
.ks-main-curtain{z-index:5;pointer-events:none}
.ks-main-curtain_inner{position:absolute;inset:0;background:var(--black);color:var(--ivory);display:grid;place-items:center}
.ks-main-curtain_inner .circle{position:absolute;left:50%;top:50%;width:14rem;height:20rem;border-radius:50% 50% 46% 54%/60% 60% 40% 40%;transform:translate(-50%,-50%) rotate(12deg)}
.ks-main-curtain_inner p{position:relative;font:400 9.6rem/1 var(--display);text-transform:uppercase}
@media (max-width:991px){
  .ks-h2{font-size:4.8rem;left:2.4rem}.ks-p{font-size:1.4rem;width:28rem;left:50%;top:80%}
  .ks-curtain_caption{font-size:1.3rem}.ks-curtain_icon{font-size:6.4rem}.ks-curtain_icon small{font-size:4rem}
  .ks-block_word{font-size:5.6rem}.ks-block_image{width:16rem;height:22rem;left:auto;right:2.4rem;top:auto;bottom:6rem;transform:none}
  .ks-block_circle{width:10rem;height:10rem}
  .ks-block_text{left:2.4rem;top:auto;bottom:6rem;transform:none;font-size:1.3rem;width:18rem}.ks-block_text br{display:none}
  .ks-text_big{font-size:6.4rem}.ks-small{font-size:1.6rem;gap:1.6rem;white-space:normal;width:32rem}.ks-small br{display:none}.ks-small img{width:2.4rem;height:2.4rem}
  .ks-final_title{font-size:9.6rem;bottom:9.6rem;left:2.4rem}.ks-final_text{font-size:1.4rem;width:30rem}
  .ks-main-curtain_inner p{font-size:4rem}
}

/* ── 5. residences (static) ───────────────────────────────────────── */
.residences{position:relative;z-index:3;background:#fbf8f3;color:var(--ink);padding:16rem calc(var(--off) + var(--cell) + var(--gap)) 12rem}
.res-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2.4rem;border-bottom:1px solid var(--ink-10);padding-bottom:2.8rem}
.res-head h2{font:400 9.6rem/.9 var(--display);text-transform:uppercase;letter-spacing:-.02em;text-align:right}
.res-head h2 em{color:var(--velvet)}
.res-grid{display:grid;grid-template-columns:minmax(28rem,.8fr) 1.2fr;gap:9.6rem;margin-top:4.8rem;align-items:start}
.lots{list-style:none;border-top:1px solid var(--ink-10)}
.lots li{border-bottom:1px solid var(--ink-10)}
.lots button{width:100%;display:grid;grid-template-columns:3.4rem 5.4rem 1fr auto;align-items:center;gap:1.4rem;padding:1.3rem .6rem;text-align:left}
.lots img{width:2.8rem;height:2.8rem;opacity:.55}
.lots .n{font:400 2.2rem var(--display)}
.lots .t{font:500 1rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60)}
.lots .a{font:400 1.7rem var(--sans)}
.lots button:hover{background:#2b18100a}
.lots button[aria-pressed="true"]{background:var(--ink);color:var(--ivory)}
.lots button[aria-pressed="true"] .t{color:#f3ede3a6}
.lots button[aria-pressed="true"] img{filter:invert(1);opacity:.9}
.card{position:sticky;top:11rem;border:1px solid var(--ink-10);background:#fff;padding:3.6rem}
.card-top{display:flex;justify-content:space-between;align-items:flex-start}
.card-no{font:500 1.1rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60)}
.card-no b{font:400 1.5rem var(--display);color:var(--ink);margin-left:.4rem}
.card-area{font:400 9.6rem/.9 var(--display);margin-top:.8rem}
.card-area small{font:500 1.3rem var(--sans);letter-spacing:.1em;margin-left:.8rem;vertical-align:top}
.card-key{width:5.6rem;height:5.6rem;opacity:.75}
.plan{display:block;width:100%;aspect-ratio:4/3;margin:2.4rem 0 1.4rem;background:#fbf8f3;cursor:zoom-in}
.plan img{width:100%;height:100%;object-fit:contain;padding:4%}
.card-switch{display:flex;gap:.6rem}
.card-switch button{padding:1rem 1.6rem;border:1px solid var(--ink-10);font:500 1rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
.card-switch button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--ivory)}
.spec{margin:2.4rem 0}
.spec div{display:grid;grid-template-columns:20rem 1fr;gap:1.6rem;padding:1.2rem 0;border-top:1px solid var(--ink-10)}
.spec dt{font:500 1rem/1.9 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60)}
.btn{display:flex;justify-content:space-between;align-items:center;gap:1.6rem;width:100%;min-height:5.6rem;padding:0 2.2rem;background:var(--velvet);color:var(--ivory);font:500 1.1rem var(--sans);letter-spacing:.18em;text-transform:uppercase;transition:background .4s}
.btn span{font-size:1.6rem}.btn:hover{background:var(--ink)}
.btn-light{background:var(--ivory);color:var(--ink);width:auto;min-width:32rem}.btn-light:hover{background:var(--gold)}
.fine{margin-top:1.2rem;font-size:1.3rem;color:var(--ink-60)}
@media (max-width:991px){
  .residences{padding:12rem var(--off) 9.6rem}
  .res-head{flex-direction:column;align-items:flex-start}.res-head h2{text-align:left;font-size:5.2rem}
  .res-grid{grid-template-columns:1fr;gap:3.2rem}.card{position:static;padding:2rem}
  .lots button{grid-template-columns:2.8rem 4.6rem 1fr auto;gap:1rem;padding:1.2rem .4rem}
  .spec div{grid-template-columns:1fr;gap:.4rem}.card-area{font-size:6.4rem}
}

/* ── 6. location: horizontal ──────────────────────────────────────── */
.loc-area{position:relative;z-index:3;background:var(--ivory);color:var(--ink)}
.loc-screen{position:sticky;top:0;height:var(--vh);overflow:hidden;display:flex}
.loc-track{display:flex;flex:0 0 auto;height:100%}
.loc-panel{flex:0 0 auto;height:100%;position:relative;display:flex;flex-direction:column;justify-content:center}
.loc-intro{width:100vw;padding:0 calc(var(--off) + var(--cell) + var(--gap));align-items:center;text-align:center}
.loc-title{font:400 17rem/.88 var(--display);text-transform:uppercase;letter-spacing:-.024em;margin-top:3.2rem}
.loc-line{display:block;white-space:nowrap}
.loc-line em{font-size:1.1em;color:var(--velvet)}
.loc-photo{width:110vw;flex-direction:row;align-items:center;gap:8rem;padding-right:8rem}
.loc-photo_img{position:relative;width:62vw;height:78%;overflow:hidden}
.loc-photo_img img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover}
.loc-photo_copy{width:34rem}
.loc-photo_copy h3{font:400 4.8rem/1 var(--display);text-transform:uppercase;margin-bottom:2.4rem}
.loc-path{width:140vw;padding:0 8rem}
.loc-path_title{font:400 9.6rem/.9 var(--display);text-transform:uppercase}
.loc-path_title em{color:var(--velvet)}
.loc-path_map{position:relative;height:42vh;margin-top:4rem}
.loc-path_map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.loc-path_line{fill:none;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.loc-stops{list-style:none}
.loc-stops li{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:.4rem;padding-bottom:1.6rem;text-align:center}
.loc-stops li::after{content:"";position:absolute;bottom:-.4rem;left:50%;width:.8rem;height:.8rem;border-radius:50%;background:var(--ink);transform:translateX(-50%)}
.loc-stops b{font:500 1rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.loc-stops span{font:400 1.3rem/1 var(--sans);color:var(--ink-60)}
.loc-stops .is-home img{width:3.4rem;height:3.4rem}
.loc-stops .is-home b{color:var(--velvet)}
.loc-stops .is-home::after{background:var(--velvet);width:1.2rem;height:1.2rem;bottom:-.6rem}
.loc-path_note{margin-top:3.2rem;font:500 1rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-60)}
.loc-map{width:80vw;padding:12rem 8rem 8rem 0;gap:2.4rem}
.loc-map_frame{position:relative;flex:1;background:var(--velvet)}
.loc-map_frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.link{align-self:flex-start;font:500 1.1rem var(--sans);letter-spacing:.18em;text-transform:uppercase;padding-bottom:.6rem}
@media (max-width:991px){
  .loc-screen{position:relative;height:auto;display:block}
  .loc-track{display:block;height:auto}
  .loc-panel{width:auto!important;height:auto;padding:9.6rem var(--off)!important}
  .loc-title{font-size:7.2rem}
  .loc-photo{flex-direction:column;align-items:stretch;gap:3.2rem}.loc-photo_img{width:100%;height:56vh}.loc-photo_copy{width:auto}
  .loc-path_title{font-size:5.6rem}
  .loc-path_map{height:auto;margin-top:3.2rem}.loc-path_map svg{display:none}
  .loc-stops{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem 1.6rem}
  .loc-stops li{position:static;transform:none;align-items:flex-start;text-align:left;padding:0 0 0 1.6rem;border-left:1px solid var(--ink-10)}
  .loc-stops li::after{display:none}.loc-stops b{white-space:normal}
  .loc-map_frame{height:70vh;flex:none}
}

/* ── 7. architecture ──────────────────────────────────────────────── */
.arch-area{position:relative;z-index:3;background:var(--ivory)}
.arch-intro{position:sticky;top:0;z-index:2;height:var(--vh);margin-bottom:calc(var(--vh) * -1);pointer-events:none;transform-origin:50% 50%}
.arch-intro_l{position:absolute;inset:-1% calc(50% - 1px) 0 0;background:var(--ivory)}
.arch-intro_r{position:absolute;inset:-1% 0 0 50%;background:var(--ivory)}
.arch-w{position:relative;height:calc(var(--vh) * 3)}
.arch-img{position:sticky;top:0;height:var(--vh);overflow:hidden;transform-origin:center top}
.arch-img img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.arch-img::after{content:"";position:absolute;inset:0;background:linear-gradient(#00000059,#0000 40%,#0000 60%,#00000080)}
.arch-s{position:absolute;inset:auto 0 0;height:var(--vh);z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:var(--off) calc(var(--off) + var(--cell) + var(--gap));color:#fff;pointer-events:none}
.arch-title{font:400 19.2rem/.875 var(--display);text-transform:uppercase;letter-spacing:-.024em;white-space:nowrap;text-align:center}
.arch-desc{align-self:center;max-width:52rem;font:400 2.8rem/1.15 var(--display);text-transform:uppercase;text-align:center}
@media (max-width:991px){.arch-intro{display:none}.arch-w{height:auto}.arch-img{position:relative;height:80vh}.arch-s{position:absolute;inset:0;height:auto;padding:12rem var(--off) 9.6rem}.arch-title{font-size:5.2rem}.arch-desc{font-size:1.8rem}}

/* ── 8–9. visit + footer ──────────────────────────────────────────── */
.visit{position:relative;z-index:3;height:var(--vh);background:var(--velvet)}
.visit-img{position:absolute;inset:0;overflow:hidden}
.visit-img img{width:100%;height:100%;object-fit:cover}
.visit-img::after{content:"";position:absolute;inset:0;background:#0000004d}
.footer-w{position:relative;z-index:4;margin-top:calc(var(--vh) * -1);color:var(--ivory)}
.footer-s{position:relative;height:var(--vh);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--off) + 4rem) calc(var(--off) + var(--cell) + var(--gap)) var(--off)}
.footer-t{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2rem}
.footer-key{width:4.4rem;height:4.4rem;filter:invert(1)}
.footer-phone{font:400 12rem/.9 var(--display);letter-spacing:-.02em;white-space:nowrap}
.footer-addr{font:500 1.1rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.footer-b{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;font-size:1.3rem;color:#f3ede3bf}
.footer-b p:last-child{text-align:right}
.footer-b a{border-bottom:1px solid #f3ede359}
.footer-logo{width:9.6rem;height:auto}
@media (max-width:991px){.footer-s{padding:12rem var(--off) 10rem}.footer-phone{font-size:4rem}.footer-b{grid-template-columns:1fr;gap:2rem;text-align:center;justify-items:center}.footer-b p:last-child{text-align:center}.btn-light{min-width:0;width:100%}}

/* ── dialogs / mobile bar ─────────────────────────────────────────── */
dialog{border:0;padding:0;max-width:none;max-height:none}
dialog::backdrop{background:#0c0907e6}
.lightbox{width:min(1200px,94vw);height:min(860px,90dvh);margin:auto;background:#fff;overflow:hidden}
.lightbox.dark{background:var(--black)}
.lightbox img{width:100%;height:100%;object-fit:contain;padding:56px 24px 24px}
.lightbox iframe{width:100%;height:100%;border:0;padding-top:48px}
.x{position:absolute;right:14px;top:10px;z-index:2;padding:10px;font:500 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.lightbox.dark .x,.sheet .x{color:var(--ivory)}
.sheet{width:100%;height:100dvh;margin:0;background:var(--velvet);color:var(--ivory);padding:12rem var(--off) 4rem}
.sheet nav{display:flex;flex-direction:column;gap:1rem}
.sheet nav a{font:400 3.2rem/1.15 var(--display);text-transform:uppercase}
.sheet-phone{display:block;margin-top:4rem;font:500 1.4rem var(--sans);letter-spacing:.14em}
.mbar{display:none}
@media (max-width:991px){
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:1300;transform:translateY(calc(100% + 20px));transition:transform .8s cubic-bezier(.25,1,.5,1)}
  .mbar.on{transform:none}
  .mbar a{display:grid;place-items:center;height:52px;font:500 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;background:var(--ivory);color:var(--ink);border:1px solid var(--ink-10)}
  .mbar a:last-child{background:var(--velvet);color:var(--ivory);border-color:#d6a36080}
}
@media (prefers-reduced-motion:reduce){.preloader{display:none!important}}

/* ── v3: рендеры, видео, лайтбокс ─────────────────────────────────── */
.slider_img img{cursor:zoom-in}
.slider_caption{margin-top:1.6rem;font:500 1rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-60);min-height:1.4em}
.slider{width:46rem}
.play-link{grid-column:3;justify-self:end;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:1.6rem;row-gap:.4rem;align-items:center;text-align:left;color:#fff}
.play-link_ico{grid-row:1/3;width:6.4rem;height:6.4rem;border-radius:50%;border:1px solid #ffffff80;display:grid;place-items:center;background:#0000002e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .8s cubic-bezier(.25,1,.5,1),transform .8s cubic-bezier(.25,1,.5,1)}
.play-link_ico svg{width:2rem;height:2rem;fill:currentColor;margin-left:.3rem}
.play-link span{font:400 2.4rem/1 var(--display);text-transform:uppercase}
.play-link small{font:500 1rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--white-80)}
.play-link:hover .play-link_ico{background:var(--gold);border-color:var(--gold);color:var(--black);transform:scale(1.08)}
.hero-b{grid-template-columns:1fr auto 1fr}
.play-link.is-arch{align-self:center;justify-self:center;pointer-events:auto;margin-top:-6rem}
@media (max-width:991px){.play-link{grid-column:1;justify-self:center}.play-link_ico{width:5.2rem;height:5.2rem}.play-link span{font-size:2rem}.hero-b{gap:2.4rem}.slider{width:100%}}

.interiors{position:relative;z-index:3;background:var(--ivory);color:var(--ink);padding:16rem calc(var(--off) + var(--cell) + var(--gap)) 12rem}
.int-head{text-align:center;margin-bottom:9.6rem;display:flex;flex-direction:column;align-items:center}
.int-title{font:400 17rem/.88 var(--display);text-transform:uppercase;letter-spacing:-.024em;margin-top:2.4rem}
.int-script{font:italic 500 9.6rem/1 var(--script);color:var(--velvet);margin-top:-2.4rem}
.int-row{display:grid;gap:3.2rem;align-items:end;margin-bottom:14rem}
.int-row.is-1{grid-template-columns:1.9fr 1fr}
.int-row.is-2{grid-template-columns:1fr .8fr 1fr}
.int-row.is-3{grid-template-columns:1fr .9fr 1fr}
.int-row.is-2 .is-sq{margin-bottom:12rem}
.int-row.is-3 .is-sq{margin-bottom:16rem}
.int-fig{position:relative;overflow:hidden;cursor:zoom-in}
.int-fig.is-wide{aspect-ratio:16/10}.int-fig.is-tall{aspect-ratio:4/5}.int-fig.is-sq{aspect-ratio:1}
.int-fig img{position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover}
.int-fig figcaption{position:absolute;left:0;bottom:0;right:0;padding:4rem 1.6rem 1.4rem;color:#fff;font:500 1rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;background:linear-gradient(#0000,#00000059)}
.int-copy{max-width:34rem;padding-bottom:2rem}
.int-copy h3{font:400 4.8rem/1 var(--display);text-transform:uppercase;margin-bottom:2rem}
.int-copy p{font-size:1.5rem}
.int-video{position:relative;display:block;width:100%;aspect-ratio:21/9;overflow:hidden;color:#fff}
.int-video_img{position:absolute;inset:0}
.int-video_img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.25,1,.5,1)}
.int-video::after{content:"";position:absolute;inset:0;background:#00000059;transition:background .8s}
.int-video:hover img{transform:scale(1.05)}.int-video:hover::after{background:#0000008c}
.int-video_label{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4rem;font:400 7.2rem/1 var(--display);text-transform:uppercase}
.int-video_label .play-link_ico{width:12rem;height:12rem}.int-video_label .play-link_ico svg{width:3.2rem;height:3.2rem}
@media (max-width:991px){
  .interiors{padding:12rem var(--off) 9.6rem}.int-title{font-size:6rem}.int-script{font-size:4.4rem;margin-top:-.8rem}.int-head{margin-bottom:5.6rem}
  .int-row,.int-row.is-1,.int-row.is-2,.int-row.is-3{grid-template-columns:1fr;margin-bottom:7.2rem;gap:2.4rem}
  .int-row .is-sq{margin-bottom:0!important}
  .int-row.is-3 .int-copy{order:3}
  .int-video{aspect-ratio:4/5}.int-video_label{font-size:3.6rem}.int-video_label .play-link_ico{width:8rem;height:8rem}
}

.vmodal{position:fixed;inset:0;width:100%;height:100%;margin:0;background:transparent;overflow:hidden}
.vmodal::backdrop{background:transparent}
.vmodal_over{position:absolute;inset:0;background:#0c0907f2}
.vmodal_box{position:absolute;inset:4rem 8rem;display:flex;flex-direction:column;transform-origin:50% 0%}
.vmodal video{flex:1;min-height:0;width:100%;background:#000;object-fit:contain}
.vmodal_bar{display:flex;justify-content:space-between;align-items:center;padding-top:1.6rem;color:var(--ivory);font:500 1.1rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.vmodal_tabs{display:flex;gap:2.4rem}
.vmodal_tabs button{padding:.8rem 0;opacity:.5;border-bottom:1px solid transparent;transition:opacity .4s,border-color .4s}
.vmodal_tabs button[aria-pressed="true"]{opacity:1;border-color:var(--gold)}
.vmodal_close{padding:.8rem 0}
@media (max-width:991px){.vmodal_box{inset:1.6rem 1.2rem}}

.lbox{position:fixed;inset:0;width:100%;height:100%;margin:0;background:#0c0907f2;overflow:hidden}
.lbox::backdrop{background:transparent}
.lbox_img{position:absolute;inset:4rem 8rem 9rem;width:calc(100% - 16rem);height:calc(100% - 13rem);object-fit:contain}
.lbox_bar{position:absolute;left:8rem;right:8rem;bottom:3rem;display:grid;grid-template-columns:auto 1fr auto auto;gap:3.2rem;align-items:center;color:var(--ivory);font:500 1.1rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.lbox_num b{font-weight:500;color:var(--gold)}
.lbox_cap{color:#f3ede3b3}
.lbox_nav{display:flex;gap:1rem}
.lbox_nav button{width:4.8rem;height:4.8rem;border:1px solid #f3ede359;border-radius:50%;font:400 1.6rem var(--sans);transition:background .4s,color .4s}
.lbox_nav button:hover{background:var(--ivory);color:var(--ink)}
@media (max-width:991px){.lbox_img{inset:6rem 1.2rem 12rem;width:calc(100% - 2.4rem);height:calc(100% - 18rem)}.lbox_bar{left:1.6rem;right:1.6rem;grid-template-columns:auto 1fr auto;row-gap:1.6rem}.lbox_cap{grid-column:1/-1;grid-row:2}}
@media (max-width:991px){.hero-b .btn-circle{display:none}.hero-b{padding-bottom:12rem}.play-link{justify-self:center;margin:0 auto}}
@media (max-width:991px){.hero-desc{display:none}.hero-row{margin-top:4.8rem;gap:1rem}.play-link span{white-space:nowrap}.hero-b{padding-bottom:9.6rem}}

/* ── v4: UX-правки по аудиту ──────────────────────────────────────── */
:root{--ink-60:#2b1810b8;--side:calc(var(--off) + var(--cell) + var(--gap) + 2.4rem)}
@media (max-width:991px){:root{--side:var(--off)}}
.nav_main{font-size:1.5rem}
.nav_sub{font-size:1.05rem}
/* герой: меньше элементов поверх фасада, читаемость */
.hero-s{padding-left:var(--side);padding-right:var(--side)}
.hero-row_side,.hero-tabs,.play-link{text-shadow:0 .2rem 2.4rem #000a}
.hero-bg_shade{background:linear-gradient(#0009,#0000 34%,#0000 52%,#000000bf 88%)}
.hero-b{grid-template-columns:1fr auto 1fr}
.hero-b .play-link{grid-column:1;justify-self:start}
.hero-b .btn-circle{grid-column:2}
@media (max-width:991px){.hero-b .play-link{grid-column:1;justify-self:center}}
/* арка: содержательная, не пустая */
.arc-rule{height:9.6rem}
.arc-body{position:relative;width:min(100rem,100%);display:flex;flex-direction:column;align-items:center;text-align:center;padding:4rem 0 8rem}
.arc-lead{max-width:56rem;font:400 2.8rem/1.2 var(--display);text-transform:uppercase;color:var(--ink)}
.arc-facts{display:grid;grid-template-columns:repeat(4,1fr);width:100%;margin-top:5.6rem;border-top:1px solid var(--ink-10)}
.arc-facts div{display:flex;flex-direction:column-reverse;gap:.8rem;padding:2.4rem 1rem 0;border-left:1px solid var(--ink-10)}
.arc-facts div:first-child{border-left:0}
.arc-facts dd{font:400 6.4rem/.9 var(--display)}
.arc-facts dt{font:500 1.1rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60)}
.arc-s{height:auto;min-height:var(--vh);padding-top:30vh}
@media (max-width:991px){.arc-s{padding-top:22vh}.arc-lead{font-size:1.9rem}.arc-facts{grid-template-columns:1fr 1fr;row-gap:2.4rem}.arc-facts div:nth-child(3){border-left:0}.arc-facts dd{font-size:4.4rem}.arc-body{padding-bottom:5.6rem}}
/* заголовки не уходят под фиксированные элементы */
.details,.interiors,.residences{padding-left:var(--side);padding-right:var(--side)}
.slider_caption{font-size:1.1rem;color:var(--ink)}
.details-cap{font-size:1.1rem}
.details-text{font-size:1.6rem}
.int-title{white-space:nowrap}
.lots .t{font-size:1.1rem}.spec dt{font-size:1.1rem}.card-no{font-size:1.2rem}
/* K&S */
.ks-p{left:50%;top:auto;bottom:10vh}
.ks-wrapper::after{background:linear-gradient(90deg,#000000a6,#0000 62%),linear-gradient(#0000 55%,#0009)}
.ks-final_inner::after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 35%,#00000080)}
.ks-final_text{text-shadow:0 .2rem 2rem #000c}
.ks-main-curtain_key{position:absolute;left:50%;top:calc(50% - 11rem);width:6.4rem;height:6.4rem;transform:translateX(-50%);filter:invert(1);opacity:.85}
.ks-small{color:var(--ink)}
/* окружение */
.loc-photo_copy{width:40rem}.loc-photo_copy h3{font-size:4rem}
.loc-stops li{left:var(--px,var(--x));top:var(--py,var(--y))}
/* архитектура: читаемость поверх фасада */
.arch-img::after{background:linear-gradient(#00000080,#0000 30%,#0000 45%,#000000b3 85%)}
.arch-desc{text-shadow:0 .2rem 2.4rem #000c}
@media (max-width:991px){.hero-s{padding-left:var(--off);padding-right:var(--off)}}
@media (max-width:991px){.ks-text_big{display:none}.footer-phone{font-size:3.4rem}}

/* ══ v5: замочная скважина, свой логотип ═══════════════════════════ */
[data-kh]{-webkit-mask-image:url(media/keys/slot.svg);mask-image:url(media/keys/slot.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:var(--kh,30vh) auto;mask-size:var(--kh,30vh) auto;-webkit-mask-position:50% var(--kh-y,50%);mask-position:50% var(--kh-y,50%)}
.kh-line{position:absolute;left:50%;width:var(--kh,30vh);top:calc((100% - var(--kh,30vh) * 1.6) * var(--kh-yn,.5));transform:translateX(-50%);overflow:visible;pointer-events:none;z-index:3}
.kh-line use,.hero-kh_line use{stroke:var(--gold);fill:none;fill-rule:evenodd;opacity:var(--kh-lo,.95)}
.kh-o{fill:rgba(214,163,96,.08)!important;stroke-width:1.4px}
.kh-i{stroke-width:.8px;opacity:.55!important}

/* логотип */
.logo-badge,.s-bar,.s-down{display:none!important}
.logo-mark{position:fixed;left:var(--off);top:calc(var(--off) * .6);z-index:1200;width:11rem;aspect-ratio:1}
.logo-mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .4s cubic-bezier(.25,1,.5,1)}
.logo-mark_dark{opacity:0}
.logo-mark.is-ink .logo-mark_dark{opacity:1}.logo-mark.is-ink .logo-mark_light{opacity:0}
@media (max-width:991px){.logo-mark{width:8rem;top:1.2rem;left:1.6rem}}

/* рельс из двенадцати скважин вместо полосы прокрутки */
.keys-rail{position:fixed;left:calc(var(--off) + 4.4rem);top:50%;transform:translateY(-50%);z-index:1200;display:flex;flex-direction:column;align-items:center;gap:1.6rem}
.keys-rail_num{font:400 1.6rem/1 var(--display);min-width:3rem;text-align:center}
.keys-rail_list{list-style:none;display:flex;flex-direction:column;gap:.9rem}
.keys-rail button{display:block;width:1.7rem;height:2.1rem;padding:0;cursor:pointer}
.keys-rail svg{width:100%;height:100%;overflow:visible;transition:transform .5s cubic-bezier(.25,1,.5,1)}
.keys-rail use{fill:transparent;fill-rule:evenodd;stroke:currentColor;stroke-width:1px;opacity:.5;transition:fill .5s cubic-bezier(.25,1,.5,1),opacity .5s,stroke .5s}
.keys-rail li.is-on use{fill:currentColor;opacity:.9}
.keys-rail li.is-cur use{fill:var(--gold);stroke:var(--gold);opacity:1}
.keys-rail li.is-cur svg{transform:scale(1.3)}
.keys-rail button:hover use{opacity:1}
@media (max-width:991px){.keys-rail{display:none}}

/* прелоадер */
.preloader{background:var(--velvet);transition:none}
.preloader_ctn{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3.2rem;padding:0}
.preloader_logo{width:26rem;height:auto}
.preloader_progress{width:1px;height:9.6rem}
.preloader_caption{font:500 1.1rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#f3ede3b3}
.preloader_kh{position:absolute;left:50%;top:50%;height:52vh;width:auto;transform:translate(-50%,-50%);z-index:2;opacity:0}
.preloader_kh path{fill:none;stroke:var(--gold);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
@media (max-width:991px){.preloader_logo{width:18rem}}

/* герой в скважине */
.hero-area{height:calc(var(--vh) * 2.4)}
.hero-w{background:var(--velvet);--kh:calc(var(--vh) * .42 * .625);--kh-y:50%;--kh-yn:.5}
.hero-kh{position:absolute;inset:0;z-index:1}
.hero-kh_img{position:absolute;inset:0;will-change:transform}
.hero-kh_img .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.hero-kh_img::after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 60%,#0006)}
.hero-kh_line{position:absolute;left:50%;width:var(--kh);top:calc((100% - var(--kh) * 1.6) * .5);transform:translateX(-50%);z-index:2;overflow:visible;pointer-events:none}
.hero-kh_line path{fill:none;stroke:var(--gold);stroke-width:1;vector-effect:non-scaling-stroke}
.hero-l,.hero-r{position:absolute;z-index:3;top:50%;transform:translateY(-50%);color:var(--ivory)}
.hero-l{left:calc(var(--off) + 13rem);width:calc(50% - var(--kh) * 1.35 - var(--off) - 17rem)}
.hero-r{right:calc(var(--off) + 13rem);width:calc(50% - var(--kh) * 1.35 - var(--off) - 17rem);display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:3.2rem}
.hero-kicker{font:500 1.1rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:2.4rem}
.hero-title{display:flex;flex-direction:column;font:400 24rem/.8 var(--display);letter-spacing:-.03em;text-transform:uppercase;white-space:normal}
.hero-title em{font:italic 500 9.6rem/1 var(--script);color:var(--gold);margin:-.8rem 0 0 1.2rem;text-transform:none}
.hero-sub{margin-top:3.2rem;font:500 1.1rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#f3ede3b3}
.hero-quote{font:400 3.6rem/1.05 var(--display);text-transform:uppercase;max-width:30rem}
.hero-r .hero-tabs{justify-content:flex-end}
.hero-r .play-link{grid-column:auto;justify-self:auto}
.hero-hint{position:absolute;z-index:3;left:50%;bottom:2.4rem;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:1.2rem;font:500 1rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ivory)}
.hero-hint i{width:1px;height:4rem;background:linear-gradient(var(--gold),#d6a36000)}
@media (max-width:991px){
  .hero-w{--kh:min(calc(var(--vh) * .4 * .625),34.8vw);--kh-y:45%}
  .hero-kh_line{top:calc((100% - var(--kh) * 1.6) * .45)}
  .hero-l{left:0;right:0;width:auto;top:10.4rem;transform:none;text-align:center;display:flex;flex-direction:column;align-items:center}
  .hero-kicker{margin-bottom:1rem}
  .hero-title{flex-direction:row;align-items:baseline;gap:1.2rem;font-size:7.2rem}
  .hero-title em{font-size:4.8rem;margin:0}
  .hero-sub{display:none}
  .hero-r{left:var(--off);right:var(--off);width:auto;top:auto;bottom:9rem;transform:none;align-items:center;text-align:center;gap:1.6rem}
  .hero-quote{font-size:2rem;max-width:none}
  .hero-r .hero-tabs{justify-content:center}
  .hero-hint{display:none}
}

/* интро-скважина: сцена 1000×1000 — все позиции в % совпадают с координатами SVG
   круг скважины: центр (500,287), r 330; горловина 573; текст по дуге r 290 */
.kharc{position:relative;z-index:2;margin-top:calc(var(--vh) * -1.1);color:var(--ink)}
/* круг выше сцены на ~6% ширины: запас сверху, а по бокам — обрезка, иначе на телефоне страница становится шире экрана */
.kharc_clip{overflow:hidden;padding-top:9%;margin-top:-9%}
.kharc_stage{position:relative;width:100%;aspect-ratio:1/1}
.kharc_shape,.kharc_text{position:absolute;inset:0;width:100%;height:100%}
.kharc_shape svg{display:block;width:100%;height:100%;overflow:visible}
.kharc_shape .ka-f{fill:var(--champ)}
.kharc_shape .ka-l{fill:none;stroke:#b48a52;stroke-width:1.4px;vector-effect:non-scaling-stroke;opacity:.8}
.kharc_shape .ka-t{stroke-width:.8px;opacity:.5}
.kharc_shape .ka-key{fill:#b48a52;stroke:#b48a52;stroke-width:1px;fill-rule:evenodd}
.kharc_text .kr-l{fill:none;stroke:#b48a52;stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.65}
.kharc_text .kr-t{opacity:.4}
.kharc_dial{position:absolute;left:50%;top:40%;width:44%;transform:translate(-50%,-50%);--df:transparent}
.kharc_dial .dc-f{fill:none}
.kharc_text{overflow:visible;pointer-events:none}
.kharc_text text{font:400 30px var(--display);text-transform:uppercase;fill:var(--ink)}
.kharc_place{position:absolute;left:50%;top:28.7%;margin:0;transform:translate(-50%,-50%);white-space:nowrap}
.kharc_place img{width:4.4rem;height:4.4rem}
.kharc_lead{position:absolute;left:50%;top:73.5%;width:44%;max-width:none;margin:0;transform:translateX(-50%);text-align:center;font-size:clamp(1.5rem,1.75vw,3rem)}
.kharc_facts{position:absolute;left:16%;right:16%;bottom:6%;width:auto;margin:0}
@media (max-width:991px){
  .kharc{margin-top:calc(var(--vh) * -.8)}
  .kharc_stage{width:100%;margin-left:0}
  .kharc_text text{font-size:34px}
  .kharc_place{gap:1.4rem;font-size:.95rem;letter-spacing:.2em}
  .kharc_place img{width:3rem;height:3rem}
  .kharc_lead{top:73%;width:56%;font-size:1.5rem;line-height:1.25}
  .kharc_facts{position:static;background:var(--champ);margin:0;padding:0 var(--off) 4rem}
}

/* переходы-главы через скважину */
.kh-tr{position:relative;z-index:3;height:calc(var(--vh) * 1.6);background:var(--black)}
.kh-tr_pin{position:sticky;top:0;height:var(--vh);overflow:hidden;--kh:calc(var(--vh) * .36 * .625);--kh-y:50%;--kh-yn:.5}
.kh-tr_num{position:absolute;left:0;right:0;top:12vh;text-align:center;font:500 1.1rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);z-index:1}
.kh-tr_title{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font:400 17rem/.9 var(--display);text-transform:uppercase;letter-spacing:-.02em;color:var(--ivory);white-space:nowrap;z-index:1}
.kh-tr_kh{position:absolute;inset:0;z-index:2}
.kh-tr_img{position:absolute;inset:0}
.kh-tr_img img{width:100%;height:100%;object-fit:cover}
@media (max-width:991px){.kh-tr{height:calc(var(--vh) * 1.35)}.kh-tr_title{font-size:5.6rem}.kh-tr_pin{--kh:min(calc(var(--vh) * .4 * .625),39vw)}}

/* K&S шторка с главой и скважиной */
.ks-main-curtain_num{position:absolute;top:12vh;left:0;right:0;text-align:center;font:500 1.1rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.ks-main-curtain_inner p{font-size:17rem}
.ks-main-curtain_inner{--kh:0px;--kh-y:56%;--kh-yn:.56}
.ks-kh{position:absolute;inset:0;z-index:2}
.ks-main-curtain_inner .kh-line{opacity:0}
@media (max-width:991px){.ks-main-curtain_inner p{font-size:5.6rem}}

/* футер: фото закрывается в скважину */
.visit{background:var(--velvet)}
.visit{--kh:400vw;--kh-y:44%;--kh-yn:.44}
.visit{overflow:clip}
.visit .kh-line{z-index:2;opacity:0;--kh-lo:.5}
.kh-tr_pin{padding:0 var(--side)}
.kh-tr_title{font-size:17rem}
.hero-l{left:calc(var(--off) + 10rem);width:calc(50% - var(--kh) * 1.35 - var(--off) - 13rem)}
.hero-r{right:calc(var(--off) + 4rem);width:calc(50% - var(--kh) * 1.35 - var(--off) - 6rem)}
.hero-title{font-size:min(20rem,13vw);white-space:nowrap}
.hero-title>span{white-space:nowrap}
.hero-quote{font-size:3rem;max-width:34rem}
@media (max-width:991px){.hero-l,.hero-r{width:auto}.hero-l{left:0;right:0}.hero-r{left:var(--off);right:var(--off)}.hero-title{font-size:7.2rem}.hero-quote{font-size:2rem}}
.logo-mark{width:12.8rem}

/* ═══ ТЗ «Ход времени» (28.10): экраны 1–8 ═══ */
/* ЭКРАН 2 · Ключ замысла — карточка на матовом стекле поверх утреннего кадра */
.idea{position:relative;z-index:3;min-height:var(--vh);display:flex;align-items:center;justify-content:center;padding:12rem calc(var(--off) + var(--cell) + var(--gap));overflow:hidden;background:#1b130e;color:var(--ivory)}
.idea_bg{position:absolute;inset:0}
.idea_bg img{width:100%;height:100%;object-fit:cover;filter:blur(10px) saturate(1.05);transform:scale(1.08)}
.idea::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(12,9,7,.35),rgba(12,9,7,.55))}
.idea_card{position:relative;z-index:2;display:grid;grid-template-columns:34rem 1fr;gap:5.6rem;align-items:center;max-width:118rem;padding:4rem;border-radius:2.4rem;
  background:rgba(243,237,227,.12);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 3rem 8rem rgba(0,0,0,.35)}
.idea_ph{border-radius:1.6rem;overflow:hidden;aspect-ratio:900/1234}
.idea_ph img{width:100%;height:100%;object-fit:cover}
.idea_tx h2{font:400 5.6rem/1 var(--display);text-transform:uppercase;margin:1.6rem 0 2.4rem}
.idea_tx p:not(.cap):not(.idea_sign){font-size:1.7rem;line-height:1.6;color:rgba(243,237,227,.88);margin-top:1.2rem;max-width:62rem}
.idea_sign{margin-top:2.8rem;font:500 1.1rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.idea_sign b{font:italic 500 2.6rem/1 var(--script);letter-spacing:0;text-transform:none;color:var(--ivory);margin-right:.8rem}
@media (max-width:991px){
  .idea{padding:8rem 1.6rem}
  .idea_card{grid-template-columns:1fr;gap:2.4rem;padding:2rem;border-radius:1.8rem}
  .idea_ph{max-width:22rem;aspect-ratio:1/1.1}
  .idea_tx h2{font-size:3.6rem;margin:1.2rem 0 1.6rem}
  .idea_tx p:not(.cap):not(.idea_sign){font-size:1.5rem}
}
/* ЭКРАН 3 · Материалы */
.details-kick{text-align:center;margin-bottom:1.6rem;color:var(--velvet)}
.details-text{max-width:62rem}
.details-text p+p{margin-top:1.2rem}
/* ЭКРАН 5 · Тишина: абзацы в шапке */
.inside_lead p+p{margin-top:1rem}
/* ЭКРАН 6 · Город */
.loc-thesis{margin-top:3.2rem;font:400 2.4rem/1.35 var(--display);text-transform:uppercase;max-width:60rem;color:var(--velvet)}
.loc-photo_copy p+p{margin-top:1.2rem}
.loc-photo_copy p{font-size:1.45rem;line-height:1.6}
.loc-stops li{cursor:default;outline:none}
.loc-stops li:not(.is-home)::after{transition:transform .3s,background .3s}
.loc-stops li:hover::after,.loc-stops li:focus::after,.loc-stops li.on::after{background:var(--gold);transform:translateX(-50%) scale(1.6)}
.loc-desc{position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%,.8rem);width:26rem;padding:1.4rem 1.6rem;border-radius:1.2rem;background:var(--ink);color:var(--ivory);
  font:400 1.3rem/1.5 var(--sans);text-align:left;letter-spacing:0;text-transform:none;opacity:0;pointer-events:none;transition:opacity .3s,transform .4s cubic-bezier(.25,1,.5,1);z-index:5;box-shadow:0 1.6rem 4rem rgba(0,0,0,.25)}
.loc-stops li:hover .loc-desc,.loc-stops li:focus .loc-desc,.loc-stops li.on .loc-desc{opacity:1;transform:translate(-50%,0)}
.loc-stops li:nth-child(-n+2) .loc-desc{left:0;transform:translate(0,.8rem)}
.loc-stops li:nth-child(-n+2):hover .loc-desc,.loc-stops li:nth-child(-n+2):focus .loc-desc{transform:none}
.loc-stops li:nth-last-child(-n+2) .loc-desc{left:auto;right:0;transform:translate(0,.8rem)}
.loc-stops li:nth-last-child(-n+2):hover .loc-desc,.loc-stops li:nth-last-child(-n+2):focus .loc-desc{transform:none}
@media (max-width:991px){
  .loc-thesis{font-size:1.9rem}
  .loc-photo_copy p{font-size:1.45rem}
  .loc-desc{position:static;width:auto;padding:0;margin-top:.6rem;background:none;color:var(--ink-60);box-shadow:none;opacity:1;transform:none;font-size:1.3rem}
}
/* ЭКРАН 7 · карточка резиденции (статично, ТЗ) */
.card-hour{margin-top:.6rem;font:italic 500 1.9rem/1.2 var(--script);color:var(--velvet)}
.spec .is-wide dd{font-size:1.4rem;line-height:1.6;color:var(--ink-60)}
.card-btns{display:grid;gap:.8rem}
.btn-line{background:transparent;color:var(--ink);border:1px solid var(--ink-10)}
.btn-line:hover{background:var(--ivory)}
.floors{margin-top:8rem;border-top:1px solid var(--ink-10);padding-top:4rem}
.floors_head{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:start}
.floors_note{font-size:1.5rem;line-height:1.6;color:var(--ink-60)}
.floors_list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:3.2rem;margin-top:4rem}
.floors_list li{border-top:1px solid var(--ink);padding-top:2rem}
.floors_list b{display:block;font:400 4rem/1 var(--display);text-transform:uppercase}
.floors_list span{display:block;margin-top:1rem;font:500 1.1rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--velvet)}
.floors_list p{margin-top:1.2rem;font-size:1.45rem;line-height:1.6;color:var(--ink-60)}
@media (max-width:991px){.floors{margin-top:5.6rem}.floors_head,.floors_list{grid-template-columns:1fr;gap:2.4rem}.floors_list b{font-size:3.2rem}}
/* ЭКРАН 8 · финал */
.footer-lead{max-width:64rem;font-size:1.6rem;line-height:1.6;color:rgba(243,237,227,.82)}
@media (max-width:991px){.footer-lead{font-size:1.4rem}}
.hero-note{max-width:30rem;margin-top:-.4rem;font:400 1.35rem/1.5 var(--sans);color:rgba(255,255,255,.82);text-shadow:0 .2rem 1.2rem rgba(0,0,0,.45)}
@media (max-width:991px){.hero-note{display:none}}
