/* ═══════════════════════════════════════════════════════════════
   AQSHAM — оформление в духе «тихой роскоши»
   Подключается после site.css: меняет палитру и шрифты всего сайта,
   шапку, меню, подвал и задаёт кинематографичную главную (.lx).
   ═══════════════════════════════════════════════════════════════ */

:root{
  --d:#211f1c;            /* вечер — тёмные блоки */
  --d2:#2b2824;
  --b:#8c7563;            /* тёплый тауп — «коричневые» блоки */
  --l:#efe9e1;            /* песок — светлые блоки */
  --l2:#e5ddd2;
  --tan:#c9a284;          /* светлая медь — вторые строки заголовков */
  --cu:#c4835a;           /* медь заката — акцент */

  --ink:#211f1c; --ink-2:#5d564e; --muted:#8f867c;
  --deep:#211f1c; --deep-2:#38332d;
  --accent:#c4835a; --emerald:#8c7563; --gold:#c9a284; --gold-2:#c4835a;
  --cream:#efe9e1; --sand:#e5ddd2; --sand-2:#d8cdbf; --line:#d6ccbf;
  --grad:linear-gradient(90deg,#c4835a,#c4835a);
  --serif:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --sans:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:0px; --r-sm:0px;
  --hdr:76px;
  --ease:cubic-bezier(.22,.8,.2,1);
  --ease2:cubic-bezier(.65,0,.35,1);
}
body{background:var(--l);color:var(--d);font-weight:400;letter-spacing:-.005em}
::selection{background:rgba(196,131,90,.35)}

/* ─── типографика всего сайта ─── */
.h1,.h2,.h3{font-family:var(--sans);font-weight:500;text-transform:uppercase;letter-spacing:-.045em;line-height:.95}
.h2{font-size:clamp(34px,4.6vw,72px)}
.h3{font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;line-height:1}
.h2 em,.h1 em{font-style:normal;background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--cu)}
.kick{font-size:11px;letter-spacing:.18em;font-weight:500;color:inherit;opacity:.7}
.kick::before{background:currentColor;width:22px}
.btn{border-radius:0;height:50px;font-size:11.5px;font-weight:500;letter-spacing:.14em}
.btn-grad,.btn-dark{background:var(--d);color:var(--l)}
@media (hover:hover) and (pointer:fine){.btn-grad:hover,.btn-dark:hover{background:var(--cu);box-shadow:none}}
.inp{border-radius:0!important}
.chip{border-radius:0!important}
.panel{border-radius:0}
.card-pic,.card-pic img{border-radius:0!important}

/* ─── плавная прокрутка ─── */
html.has-lenis,html.has-lenis body{height:auto}
html.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* ─── шапка ─── */
.promo{background:var(--d)}
.ticker{display:none!important}
.hdr{position:fixed;left:0;right:0;top:0;z-index:70;height:var(--hdr);background:transparent;border:0;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--d);transition:color .4s,background .4s,transform .5s var(--ease)}
.hdr .wrap{display:none}
.hdr-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(16px,2.2vw,32px)}
.hdr[data-on="dark"],.hdr[data-on="brown"]{color:var(--l)}
body:not(.is-home) .hdr{background:rgba(239,233,225,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--d)}
body:not(.is-home) main{padding-top:var(--hdr)}

.hlogo{display:flex;flex-direction:column;font-size:12px;line-height:1;font-weight:500;letter-spacing:-.01em;text-transform:uppercase;gap:1px}
.is-home .hlogo{opacity:calc(var(--hp,0) * 1.6 - .6);transition:opacity .2s}
.hacts{display:flex;align-items:center;gap:clamp(14px,2.4vw,40px)}
.hl{font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;position:relative;display:inline-flex;align-items:center;gap:8px;height:40px}
.hl::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
@media (hover:hover) and (pointer:fine){.hl:hover::after{transform:scaleX(1);transform-origin:left}}
.hl .cnt{position:static;transform:none;min-width:18px;height:18px;border-radius:9px;background:var(--cu);color:#fff;font-size:10px;display:grid;place-items:center;letter-spacing:0}
.hl .cnt[data-n="0"],.hl .cnt:empty{display:none}
.hl-ico{width:40px;justify-content:center}
.hl-ico .ico{width:20px;height:20px}
.hdr .lang-btn{font-size:11.5px;letter-spacing:.12em;border:0;padding:0;height:40px;background:none;color:inherit}
.burger2{display:inline-flex;align-items:center;gap:12px}
.burger2 i{position:relative;width:22px;height:8px;display:block}
.burger2 i::before,.burger2 i::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.burger2 i::before{top:0}.burger2 i::after{bottom:0}
@media (max-width:760px){.hl.m-hide2{display:none}.hacts{gap:14px}}

/* ─── меню на весь экран ─── */
.drawer{width:100%;max-width:none;background:var(--d);color:var(--l);transform:translateY(-100%);transition:transform .8s var(--ease2);display:block;overflow:auto}
.drawer.on{transform:none}
.scrim{display:none!important}
.dr-head{height:var(--hdr);padding:0 clamp(16px,2.2vw,32px);border:0;display:flex;align-items:center;justify-content:space-between}
.dr-head img{display:none}
.dr-head::before{content:"AQSHAM\A APARTS";white-space:pre;font-size:12px;line-height:1;font-weight:500}
.dr-head .hbtn{color:var(--l);width:auto;height:40px;border-radius:0;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.dr-body{padding:clamp(20px,4vw,60px) clamp(16px,2.2vw,32px) 40px;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,5vw,80px);align-items:start}
.dr-body>div:first-child{grid-column:2;grid-row:1 / span 2}
.dr-links{grid-column:1;grid-row:1;display:flex;flex-direction:column;border:0}
.dr-links a{border:0;padding:4px 0;font-size:clamp(30px,4.6vw,64px);font-weight:500;letter-spacing:-.045em;line-height:1;text-transform:uppercase;justify-content:flex-start;gap:16px;color:var(--l);
  opacity:0;transform:translateY(40px);transition:opacity .6s,transform .8s var(--ease),color .3s}
.drawer.on .dr-links a{opacity:1;transform:none}
.drawer.on .dr-links a:nth-child(2){transition-delay:.05s}.drawer.on .dr-links a:nth-child(3){transition-delay:.1s}.drawer.on .dr-links a:nth-child(4){transition-delay:.15s}
.drawer.on .dr-links a:nth-child(5){transition-delay:.2s}.drawer.on .dr-links a:nth-child(6){transition-delay:.25s}.drawer.on .dr-links a:nth-child(7){transition-delay:.3s}.drawer.on .dr-links a:nth-child(8){transition-delay:.35s}
.dr-links a .ico{display:none}
@media (hover:hover) and (pointer:fine){.dr-links a:hover{color:var(--tan)}}
.dr-cap{color:var(--tan);opacity:1}
.dr-cats{grid-template-columns:repeat(2,1fr)}
.dr-cats a{border-radius:0}
.dr-cats img{border-radius:0}
.dr-contact{grid-column:1;color:rgba(239,233,225,.7)}
.dr-contact a{color:var(--l)}
.drawer .lang-btn.wide{grid-column:1;justify-self:start;border-color:rgba(239,233,225,.3);color:var(--l);border-radius:0}
@media (max-width:860px){
  .dr-body{grid-template-columns:1fr}
  .dr-body>div:first-child{grid-column:1;grid-row:auto}
  .dr-links,.dr-contact,.drawer .lang-btn.wide{grid-column:1;grid-row:auto}
}

/* ─── нижняя навигация (телефон) ─── */
@media (max-width:760px){
  .tabbar{background:rgba(33,31,28,.92)!important;color:var(--l)!important;border:0!important;backdrop-filter:blur(14px)}
  .tabbar a{color:rgba(239,233,225,.6)!important}
  .tabbar a.act{color:var(--l)!important}
  .tabbar a.act::before{background:var(--cu)!important}
}

/* ─── подвал ─── */
.foot{background:var(--d);color:rgba(239,233,225,.72)}
.foot h4{color:var(--tan);font-weight:500;letter-spacing:.14em}
.foot-big{font-family:var(--sans);font-weight:500;letter-spacing:-.06em;color:rgba(239,233,225,.06);line-height:.8}

/* ─── курсор ─── */
.cur{position:fixed;left:0;top:0;z-index:200;pointer-events:none;width:0;height:0;mix-blend-mode:difference}
.cur span{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#fff;display:grid;place-items:center;
  font-size:0;color:#000;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:all .45s var(--ease);opacity:0}
.cur.on span{opacity:1}
.cur.hov span{left:-22px;top:-22px;width:44px;height:44px;background:transparent;border:1px solid #fff}
.cur.big{mix-blend-mode:normal}
.cur.big span{left:-48px;top:-48px;width:96px;height:96px;background:var(--cu);color:#fff;font-size:10.5px}

/* ═══════════════════ ГЛАВНАЯ ═══════════════════ */
.lx{--pad:clamp(16px,2.2vw,32px);position:relative;background:var(--d);color:var(--l)}
.lx section{position:relative}
.lx img{width:100%;height:100%;object-fit:cover}
.lx .t-up{text-transform:uppercase;letter-spacing:-.035em;font-weight:500;line-height:1}
.lx-pad{padding-left:var(--pad);padding-right:var(--pad)}
.lx-k{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;opacity:.75;margin-bottom:22px}
.lx-big{font-size:clamp(24px,3vw,46px);text-transform:uppercase;letter-spacing:-.035em;line-height:1.02;font-weight:500;max-width:22em}
.lx-small{font-size:clamp(11px,.85vw,13px);text-transform:uppercase;letter-spacing:.02em;line-height:1.35;font-weight:500;max-width:34em}
.lx-giant{font-size:clamp(72px,15.5vw,260px);line-height:.8;letter-spacing:-.06em;font-weight:500;text-transform:uppercase;white-space:nowrap}
[data-theme="dark"]{background:var(--d);color:var(--l)}
[data-theme="brown"]{background:var(--b);color:var(--d)}
[data-theme="light"]{background:var(--l);color:var(--d)}
.lx-fig{position:relative;overflow:hidden;background:rgba(0,0,0,.08)}
.lx-fig>img{transform:scale(1.18);will-change:transform}
.lx-cap{position:absolute;left:12px;bottom:10px;z-index:2;color:#fff;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;text-shadow:0 1px 10px rgba(0,0,0,.4)}

/* появление: слова снизу из-под маски */
[data-split] .sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
[data-split] .swi{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--l,0) * 90ms)}
[data-split].in .swi{transform:none}
.lv{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.lv.in{opacity:1;transform:none}
.lv.d1{transition-delay:.12s}.lv.d2{transition-delay:.24s}.lv.d3{transition-delay:.36s}

/* 1. Герой */
.lx-open{position:relative}
.lx-hero{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;z-index:0}
.lx-hero-media{position:absolute;inset:0;transform:scale(calc(1.12 - var(--hp,0) * .08));transform-origin:50% 40%}
.lx-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,14,12,.45) 0%,rgba(15,14,12,0) 38%,rgba(15,14,12,0) 58%,rgba(15,14,12,.62) 100%)}
.lx-hero-media img{animation:lxZoom 2.4s var(--ease) both}
@keyframes lxZoom{from{transform:scale(1.12);filter:brightness(.6)}to{transform:none;filter:none}}
.lx-title{position:absolute;left:var(--pad);top:calc(var(--hdr) * .55);z-index:2;font-size:clamp(66px,12.6vw,214px);line-height:.84;letter-spacing:-.065em;font-weight:500;text-transform:uppercase;color:var(--l);
  transform-origin:0 0;transform:translateY(calc(var(--hp,0) * -2vh)) scale(calc(1 - var(--hp,0) * .78));opacity:calc(1 - var(--hp,0) * .9)}
.lx-title span{display:block;overflow:hidden;padding-bottom:.04em}
.lx-title span i{display:block;font-style:normal;animation:lxUp 1.5s var(--ease) both}
.lx-title span:nth-child(2) i{animation-delay:.12s}
@keyframes lxUp{from{transform:translateY(105%)}to{transform:none}}
.lx-tag{position:absolute;right:var(--pad);bottom:clamp(20px,4vh,44px);z-index:2;text-align:right;font-size:clamp(34px,4.6vw,78px);line-height:.88;letter-spacing:-.05em;font-weight:500;text-transform:uppercase;color:#f4dcc6;text-shadow:0 2px 30px rgba(0,0,0,.35);
  opacity:calc(1 - var(--hp,0) * 1.4)}
.lx-tag span{display:block;overflow:hidden}
.lx-tag span i{display:block;font-style:normal;animation:lxUp 1.5s .35s var(--ease) both}
.lx-tag span:nth-child(2) i{animation-delay:.47s}
.lx-down{position:absolute;left:var(--pad);bottom:clamp(20px,4vh,44px);z-index:2;width:44px;height:44px;border:1px solid rgba(239,233,225,.6);border-radius:50%;display:grid;place-items:center;color:var(--l);
  opacity:calc(1 - var(--hp,0) * 2);animation:lxFade 1s 1s both}
.lx-down .ico{width:18px;height:18px;animation:lxBob 2.2s 2s ease-in-out infinite}
@keyframes lxBob{50%{transform:translateY(5px)}}
@keyframes lxFade{from{opacity:0}}
@media (hover:hover) and (pointer:fine){.lx-down:hover{background:var(--l);color:var(--d)}}

/* 2. Вступление — тёмный блок наезжает на героя */
.lx-intro{z-index:1;padding:clamp(28px,4vw,48px) var(--pad) clamp(80px,10vw,160px);margin-top:-1px;box-shadow:0 -40px 80px rgba(0,0,0,.35)}
.lx-intro .lx-big{max-width:20em}
.lx-intro-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);margin-top:clamp(50px,8vw,120px);align-items:end}
.lx-intro-grid .a{grid-column:1 / span 3;aspect-ratio:4/5;align-self:center}
.lx-intro-grid .b{grid-column:5 / span 8;aspect-ratio:5/4}
.lx-intro-grid .lx-small{grid-column:1 / span 3;align-self:end;color:var(--tan)}

/* 3. Море — коричневый блок */
.lx-sea{padding:clamp(60px,8vw,120px) var(--pad) clamp(80px,11vw,170px);overflow:hidden}
.lx-sea .lx-big{max-width:24em}
.lx-sea-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);margin-top:clamp(40px,6vw,90px);align-items:start}
.lx-sea-grid .s1{grid-column:1 / span 3;aspect-ratio:3/4;margin-top:12vw}
.lx-sea-grid .s2{grid-column:5 / span 4;aspect-ratio:3/4}
.lx-sea-grid .s3{grid-column:10 / span 3;aspect-ratio:4/5;margin-top:22vw}
.lx-sea-grid .lx-small{grid-column:5 / span 4}

/* 4. «Первая линия» — липкая сцена */
.lx-line{height:220vh}
.lx-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.lx-line .bg{position:absolute;inset:0;transform:scale(calc(1.25 - var(--p,0) * .25))}
.lx-line .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,14,12,.1),rgba(15,14,12,.55))}
.lx-line h2{position:absolute;left:0;right:0;bottom:clamp(60px,14vh,140px);display:flex;justify-content:space-between;padding:0 var(--pad);color:var(--l)}
.lx-line h2 span:first-child{transform:translateX(calc(var(--p,0) * -6vw))}
.lx-line h2 span:last-child{transform:translateX(calc(var(--p,0) * 6vw))}
.lx-line .lx-small{position:absolute;left:var(--pad);bottom:clamp(20px,4vh,40px);color:var(--l);max-width:30em;opacity:calc(var(--p,0) * 3)}
@media (max-width:760px){.lx-line h2{flex-direction:column;gap:6px}.lx-line h2 span:last-child{align-self:flex-end}}

/* 5. Территория — светлый блок с коллажем */
.lx-ter{padding:clamp(70px,9vw,140px) var(--pad) clamp(70px,9vw,140px);overflow:hidden}
.lx-ter-head{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad)}
.lx-ter-head .lx-k{grid-column:1 / span 3}
.lx-ter-head .lx-big{grid-column:4 / span 9}
.lx-collage{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);margin-top:clamp(50px,7vw,110px)}
.lx-collage .c1{grid-column:2 / span 3;aspect-ratio:4/5}
.lx-collage .c2{grid-column:6 / span 4;aspect-ratio:1;margin-top:8vw}
.lx-collage .c3{grid-column:11 / span 2;aspect-ratio:3/4;margin-top:2vw}
.lx-collage .c4{grid-column:1 / span 3;aspect-ratio:1;margin-top:-4vw}
.lx-collage .c5{grid-column:8 / span 4;aspect-ratio:4/3;margin-top:4vw}

/* 6. Карта */
.lx-map{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;padding:0}
.lx-map-frame{position:relative;min-height:70vh;overflow:hidden;background:var(--l2)}
.lx-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) sepia(.18) contrast(1.08)}
.lx-map-frame .map-shield{position:absolute;inset:0;z-index:2;background:transparent}
.lx-map-box{position:relative}
.lx-map-box .mbx{position:sticky;top:0;min-height:100vh;padding:calc(var(--hdr) + 30px) var(--pad) 50px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.lx-map-list{list-style:none;display:flex;flex-direction:column}
.lx-map-list li{font-size:clamp(20px,2.3vw,36px);text-transform:uppercase;letter-spacing:-.04em;line-height:1.05;font-weight:500;padding:10px 0;border-top:1px solid rgba(33,31,28,.2)}
.lx-btn{display:inline-flex;align-items:center;gap:14px;height:52px;padding:0 26px;border:1px solid currentColor;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;position:relative;overflow:hidden;isolation:isolate;transition:color .45s var(--ease)}
.lx-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:currentColor;transform:translateY(101%);transition:transform .5s var(--ease)}
.lx-btn .ico{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){
  .lx-btn:hover::before{transform:none}
  [data-theme="dark"] .lx-btn:hover,.lx-btn.on-dark:hover{color:var(--d)}
  [data-theme="light"] .lx-btn:hover,[data-theme="brown"] .lx-btn:hover{color:var(--l)}
}
.lx-btn.fill{background:var(--d);color:var(--l);border-color:var(--d)}
.lx-btn.fill::before{background:var(--cu)}
@media (hover:hover) and (pointer:fine){[data-theme] .lx-btn.fill:hover{color:#fff}}

/* 7. АҚШАМ — слово едет через закат */
.lx-word{height:300vh}
.lx-word .lx-sticky{display:grid;place-items:center}
.lx-word .lx-giant{position:absolute;left:0;top:50%;transform:translate(calc(60vw - var(--p,0) * 190vw),-50%);color:var(--tan);z-index:1;font-size:clamp(120px,26vw,460px)}
.lx-word .sun{position:relative;z-index:2;width:clamp(220px,26vw,400px);aspect-ratio:3/4;overflow:hidden;transform:translateY(calc(30vh - var(--p,0) * 60vh)) rotate(calc(-4deg + var(--p,0) * 8deg))}
.lx-word .sun img{transform:scale(calc(1.3 - var(--p,0) * .3))}
.lx-word .txt{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(24px,5vh,50px);z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;opacity:calc(var(--p,0) * 4 - .6)}
.lx-word .txt b{font-size:clamp(20px,2.4vw,36px);text-transform:uppercase;letter-spacing:-.04em;font-weight:500;line-height:1}
@media (max-width:760px){.lx-word .txt{flex-direction:column;align-items:flex-start;gap:10px}}

/* 8. Планировки */
.lx-plans{padding:clamp(70px,9vw,140px) 0 clamp(70px,9vw,140px);overflow:hidden}
.lx-plans-head{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);align-items:end;padding:0 var(--pad)}
.lx-plans-head .lx-giant{grid-column:1 / -1;color:var(--l)}
.lx-plans-head p{grid-column:1 / span 5;margin-top:30px}
.lx-plans-head .lx-btn{grid-column:10 / span 3;justify-self:end;margin-top:30px}
.lx-rail{display:flex;gap:var(--pad);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:clamp(40px,5vw,70px) var(--pad) 10px;scrollbar-width:none;cursor:grab}
.lx-rail::-webkit-scrollbar{display:none}
.lx-rail.drag{cursor:grabbing;scroll-snap-type:none}
.lx-rail.drag a{pointer-events:none}
.lx-plan{flex:0 0 clamp(250px,25vw,380px);scroll-snap-align:start;display:flex;flex-direction:column;gap:14px;color:var(--l)}
.lx-plan .pic{aspect-ratio:4/5;background:var(--l);overflow:hidden;position:relative}
.lx-plan .pic img{object-fit:contain;padding:6%;transition:transform .9s var(--ease)}
@media (hover:hover) and (pointer:fine){.lx-plan:hover .pic img{transform:scale(1.05)}}
.lx-plan .row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid rgba(239,233,225,.25);padding-top:12px}
.lx-plan b{font-size:clamp(18px,1.6vw,24px);text-transform:uppercase;letter-spacing:-.035em;font-weight:500;line-height:1}
.lx-plan span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tan)}
.lx-plan .st{position:absolute;left:10px;top:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:var(--d);color:var(--l);padding:5px 8px}

/* 9. Вилла */
.lx-villa{padding:clamp(60px,8vw,120px) var(--pad) clamp(80px,10vw,150px);overflow:hidden}
.lx-villa .lx-giant{color:var(--d);margin-left:-.04em}
.lx-villa-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);margin-top:clamp(-50px,-4vw,-20px);align-items:start;position:relative;z-index:2}
.lx-villa-grid .v1{grid-column:5 / span 5;aspect-ratio:4/5}
.lx-villa-grid .v2{grid-column:1 / span 3;aspect-ratio:3/4;margin-top:9vw}
.lx-villa-grid .v3{grid-column:10 / span 3;aspect-ratio:3/4;margin-top:15vw}
.lx-villa-info{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);margin-top:clamp(40px,6vw,90px);align-items:start}
.lx-villa-info h3{grid-column:1 / span 4;font-size:clamp(26px,3vw,46px);text-transform:uppercase;letter-spacing:-.045em;font-weight:500;line-height:.95}
.lx-villa-info p{grid-column:5 / span 4}
.lx-villa-info .lx-btn{grid-column:10 / span 3;justify-self:end}
.lx-facts{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(33,31,28,.25);margin-top:30px}
.lx-facts div{padding:18px 18px 0 0}
.lx-facts b{display:block;font-size:clamp(26px,3vw,48px);text-transform:uppercase;letter-spacing:-.05em;font-weight:500;line-height:1}
.lx-facts span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}

/* 10. Комфорт */
.lx-comfort{display:grid;grid-template-columns:1fr 1fr;gap:0}
.lx-comfort .pic{position:relative}
.lx-comfort .pic .lx-sticky{height:100vh}
.lx-comfort .body{padding:calc(var(--hdr) + 40px) var(--pad) clamp(70px,9vw,140px)}
.lx-comfort .body h2{font-size:clamp(28px,3.4vw,54px);text-transform:uppercase;letter-spacing:-.045em;font-weight:500;line-height:.95;max-width:12em}
.lx-list{list-style:none;margin-top:clamp(40px,6vw,80px);counter-reset:c}
.lx-list li{counter-increment:c;display:grid;grid-template-columns:60px 1fr;gap:16px;padding:22px 0;border-top:1px solid rgba(239,233,225,.18);font-size:clamp(16px,1.5vw,22px);text-transform:uppercase;letter-spacing:-.025em;font-weight:500;line-height:1.1}
.lx-list li::before{content:"0" counter(c);font-size:11px;letter-spacing:.14em;color:var(--tan);padding-top:6px}

/* 11. Условия */
.lx-terms{padding:clamp(70px,9vw,140px) var(--pad)}
.lx-terms-head{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);align-items:end}
.lx-terms-head h2{grid-column:1 / span 8;font-size:clamp(40px,6.4vw,110px);text-transform:uppercase;letter-spacing:-.06em;font-weight:500;line-height:.86}
.lx-terms-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(33,31,28,.25);margin-top:clamp(40px,6vw,90px)}
.lx-terms-grid div{padding:22px 20px 22px 0;border-right:1px solid rgba(33,31,28,.12)}
.lx-terms-grid div:last-child{border:0}
.lx-terms-grid b{display:block;font-size:clamp(24px,2.7vw,44px);text-transform:uppercase;letter-spacing:-.05em;font-weight:500;line-height:1}
.lx-terms-grid span{display:block;margin-top:10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ink-2)}
.lx-calc{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);margin-top:clamp(40px,6vw,90px)}
.lx-calc .box{grid-column:5 / span 8;background:var(--b);color:var(--d);padding:clamp(24px,3vw,44px)}
.lx-calc .box h3{font-size:clamp(22px,2.2vw,32px);text-transform:uppercase;letter-spacing:-.04em;font-weight:500;margin-bottom:20px}
.lx-calc .lx-pic{grid-column:1 / span 3;aspect-ratio:3/4;align-self:end}
.lx-calc .calc input[type=range]{accent-color:var(--d)}
.lx-calc .calc-res b{font-family:var(--sans);font-weight:500;letter-spacing:-.04em}
.lx-calc .calc-note{color:rgba(33,31,28,.7)}

/* 12. Ход стройки — горизонтальная лента на скролле */
.lx-prog{height:300vh}
.lx-prog .lx-sticky{display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,4vh,50px)}
.lx-prog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:calc(var(--hdr) + 10px) var(--pad) 0}
.lx-prog-head h2{font-size:clamp(34px,5vw,86px);text-transform:uppercase;letter-spacing:-.055em;font-weight:500;line-height:.88}
.lx-prog-head p{max-width:28em}
.lx-row{display:flex;gap:var(--pad);padding:0 var(--pad);width:max-content;will-change:transform}
.lx-row figure{flex:0 0 auto;height:clamp(240px,46vh,520px);aspect-ratio:9/16;overflow:hidden;position:relative;cursor:zoom-in}
.lx-row figure:nth-child(3n+2){aspect-ratio:4/5}
.lx-row figure:nth-child(even){transform:translateY(5vh)}
.lx-row .lx-btn{align-self:center;margin:0 6vw 0 2vw;white-space:nowrap}
.lx-prog-foot{display:flex;justify-content:space-between;padding:0 var(--pad);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--tan)}

/* 13. Заявка */
.lx-call{padding:clamp(70px,9vw,140px) var(--pad);display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad)}
.lx-call .l{grid-column:1 / span 6}
.lx-call .l h2{font-size:clamp(36px,5.4vw,92px);text-transform:uppercase;letter-spacing:-.06em;font-weight:500;line-height:.86}
.lx-call .l p{margin-top:28px;max-width:30em}
.lx-call .lx-office{margin-top:40px;aspect-ratio:16/10;max-width:560px}
.lx-call .lx-cts{margin-top:30px;display:flex;flex-direction:column;gap:6px;font-size:clamp(18px,1.6vw,24px);letter-spacing:-.03em;font-weight:500}
.lx-call .lx-cts span{font-size:12px;letter-spacing:.06em;font-weight:400;color:var(--ink-2)}
.lx-call .r{grid-column:8 / span 5;align-self:start;background:var(--d);color:var(--l);padding:clamp(24px,3vw,44px)}
.lx-call .r .h3{color:var(--l)}
.lx-call .r p{color:rgba(239,233,225,.7)}
.lx-call .r .fld>span{color:rgba(239,233,225,.7)}
.lx-call .r .inp{background:transparent;border:0;border-bottom:1px solid rgba(239,233,225,.35);color:var(--l);padding-left:0}
.lx-call .r .inp::placeholder{color:rgba(239,233,225,.4)}
.lx-call .r .inp:focus{border-color:var(--cu);box-shadow:none}
.lx-call .r .chip{border-color:rgba(239,233,225,.3);color:var(--l);background:transparent}
.lx-call .r .chip.on{background:var(--l);color:var(--d);border-color:var(--l)}
.lx-call .r .btn-grad{background:var(--cu);color:#fff;width:100%}
@media (hover:hover) and (pointer:fine){.lx-call .r .btn-grad:hover{background:var(--l);color:var(--d)}}
.lx-call .r .form-note,.lx-call .r .form-note a{color:rgba(239,233,225,.5)}

/* ─── телефон ─── */
@media (max-width:760px){
  .lx-title{font-size:clamp(58px,17.5vw,120px);top:calc(var(--hdr) + 4px)}
  .lx-tag{font-size:clamp(30px,9vw,52px);bottom:calc(84px + env(safe-area-inset-bottom))}
  .lx-down{bottom:calc(84px + env(safe-area-inset-bottom))}
  .lx-intro-grid,.lx-sea-grid,.lx-collage,.lx-villa-grid,.lx-villa-info,.lx-calc,.lx-ter-head,.lx-plans-head,.lx-terms-head,.lx-call{grid-template-columns:repeat(6,1fr)}
  .lx-intro-grid .a{grid-column:1 / span 3}
  .lx-intro-grid .b{grid-column:1 / -1;order:-1}
  .lx-intro-grid .lx-small{grid-column:4 / span 3}
  .lx-sea-grid .s1{grid-column:1 / span 3;margin-top:20vw}
  .lx-sea-grid .s2{grid-column:4 / span 3}
  .lx-sea-grid .s3{grid-column:2 / span 4;margin-top:0}
  .lx-sea-grid .lx-small{grid-column:1 / -1}
  .lx-ter-head .lx-k,.lx-ter-head .lx-big{grid-column:1 / -1}
  .lx-collage .c1{grid-column:1 / span 4}
  .lx-collage .c2{grid-column:3 / span 4;margin-top:-10vw}
  .lx-collage .c3{grid-column:1 / span 3;margin-top:0}
  .lx-collage .c4{grid-column:4 / span 3;margin-top:14vw}
  .lx-collage .c5{grid-column:1 / -1;margin-top:0}
  .lx-map{grid-template-columns:1fr}
  .lx-map-box .mbx{min-height:0;position:static;padding:60px var(--pad)}
  .lx-map-frame{min-height:420px}
  .lx-plans-head p,.lx-plans-head .lx-btn{grid-column:1 / -1;justify-self:start}
  .lx-plan{flex-basis:72vw}
  .lx-villa-grid .v1{grid-column:2 / span 5}
  .lx-villa-grid .v2{grid-column:1 / span 3;margin-top:-6vw}
  .lx-villa-grid .v3{grid-column:4 / span 3;margin-top:12vw}
  .lx-villa-info h3,.lx-villa-info p,.lx-villa-info .lx-btn{grid-column:1 / -1;justify-self:start}
  .lx-facts{grid-template-columns:repeat(2,1fr)}
  .lx-facts div{padding-bottom:16px}
  .lx-comfort{grid-template-columns:1fr}
  .lx-comfort .pic .lx-sticky{position:relative;height:70vh}
  .lx-terms-head h2{grid-column:1 / -1}
  .lx-terms-grid{grid-template-columns:1fr 1fr}
  .lx-terms-grid div{border-right:0;border-bottom:1px solid rgba(33,31,28,.12);padding-right:12px}
  .lx-calc .box{grid-column:1 / -1}
  .lx-calc .lx-pic{display:none}
  .lx-prog-head{flex-direction:column;align-items:flex-start}
  .lx-call .l,.lx-call .r{grid-column:1 / -1}
  .hdr{height:64px}
  :root{--hdr:64px}
}
@media (prefers-reduced-motion:reduce){
  .lx-line,.lx-word,.lx-prog{height:auto}
  .lx-sticky{position:relative;height:auto;min-height:100vh}
  [data-split] .swi,.lv{transform:none!important;opacity:1!important}
}

.is-home .promo{display:none!important}
.lx-line h2{font-size:clamp(54px,10.4vw,180px)}
html:not(.past-hero) body.is-home .fab-wrap{opacity:0;pointer-events:none}
.fab-wrap{transition:opacity .5s}
.lx-plans .lx-giant{font-size:clamp(56px,13vw,220px)}
@media (max-width:760px){.lx-giant{font-size:13.5vw}.lx-word .lx-giant{font-size:34vw}}
.dr-head .hbtn{background:none!important;border:0!important;box-shadow:none!important;width:auto!important;padding:0!important}
.dr-head .hbtn span{display:inline}
