/* ============================================================
   Legion Real Estate — Каталог Бали
   Собрано из оригинала https://lre.legion-real-estate.com/catalog-bali/
   Оригинальные 4x <style> объединены в один файл.
   ============================================================ */

@font-face{font-family:'CentSchbk';src:url('../brand/fonts/CentSchbk-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../brand/fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../brand/fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../brand/fonts/Montserrat-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../brand/fonts/Montserrat-Bold.woff2') format('woff2');font-weight:700;font-display:swap}

:root{
  --ink:#151619;
  --ink-2:#1D2024;
  --graphite-hi:#262A30;
  --gold:#9B7D50;
  --gold-2:#BE9669;
  --hl:#E4C277;
  --hl-2:#ECD6A0;
  --cream:#F3ECE1;
  --white:#FFFFFF;
  --line:rgba(190,150,105,.22);
  --line-soft:rgba(190,150,105,.10);
  --paper:#FFFFFF;
  --ink-on-paper:#1E1E1E;
  --serif:'CentSchbk', Georgia, serif;
  --sans:'Montserrat', Arial, sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:radial-gradient(135% 95% at 50% -12%, #1E2126 0%, var(--ink) 54%, #101114 100%);
  color:var(--cream);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--ink)}

/* ---------- фоновая сетка досье ---------- */
.grid-lines{position:fixed;inset:0;pointer-events:none;z-index:0}
.grid-lines span{position:absolute;top:0;bottom:0;width:1px;background:var(--line-soft)}
.grid-lines span:nth-child(1){left:14%}
.grid-lines span:nth-child(2){left:50%}
.grid-lines span:nth-child(3){left:86%}

/* лёгкое зерно */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- общие атомы ---------- */
.eyebrow{
  display:flex;align-items:center;gap:14px;
  font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-2);
}
.eyebrow::before{content:'';width:34px;height:1px;background:linear-gradient(90deg,var(--hl),var(--gold));flex:none}
.hairline{height:1px;background:linear-gradient(90deg,var(--gold-2),transparent);border:none}
.idx{font-family:var(--serif);font-weight:700;color:var(--hl);font-size:13px;letter-spacing:.1em}
.idx small{color:var(--gold);font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.3em;text-transform:uppercase;margin-left:10px}

/* фото в рамке с засечками */
.frame{position:relative;padding:14px}
.frame::before,.frame::after{content:'';position:absolute;width:38px;height:38px;pointer-events:none}
.frame::before{top:0;left:0;border-top:1px solid var(--gold-2);border-left:1px solid var(--gold-2);border-top-left-radius:8px}
.frame::after{bottom:0;right:0;border-bottom:1px solid var(--gold-2);border-right:1px solid var(--gold-2);border-bottom-right-radius:8px}
.frame .ph{position:relative;overflow:hidden;background:var(--ink-2)}
.frame .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.19,1,.22,1)}
@media(hover:hover){.frame:hover .ph img{transform:scale(1.035)}}
.caption{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,236,225,.55)}
.caption::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--hl);flex:none}

/* появление */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.19,1,.22,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}
.reveal.d2{transition-delay:.24s}
.reveal.d3{transition-delay:.36s}
.reveal.d4{transition-delay:.48s}

@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero .up{opacity:0;animation:rise .95s cubic-bezier(.19,1,.22,1) forwards}
.hero .up.d1{animation-delay:.15s}
.hero .up.d2{animation-delay:.3s}
.hero .up.d3{animation-delay:.45s}
.hero .up.d4{animation-delay:.6s}
.hero .up.d5{animation-delay:.75s}

@media (prefers-reduced-motion:reduce){
  .reveal,.hero .up{opacity:1 !important;transform:none !important;animation:none !important;transition:none !important}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;z-index:1;
  min-height:calc(var(--vhu,1vh)*100);
  display:grid;
  grid-template-columns:minmax(0,57fr) minmax(0,43fr);
  border-bottom:1px solid var(--line);
}
.hero-left{display:flex;flex-direction:column;padding:clamp(20px,3.2vw,44px) clamp(20px,4vw,64px);background:var(--ink);position:relative}
.hero-left::after{content:'';position:absolute;top:0;right:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--gold-2),rgba(190,150,105,.08))}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:clamp(16px,calc(var(--vhu,1vh)*2.4),26px);border-bottom:1px solid var(--line)}
.topbar img{height:clamp(30px,3.4vw,40px);width:auto}
.topbar .tag{font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:rgba(243,236,225,.5);text-align:right}
.hero-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(22px,calc(var(--vhu,1vh)*4.5),56px) 0}
.hero .idx-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:clamp(14px,calc(var(--vhu,1vh)*2.4),26px)}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(56px,8.2vw,124px);line-height:.96;letter-spacing:-.03em;color:var(--white);text-wrap:balance}
.hero h1 .sub{display:block;margin-top:10px;font-family:var(--sans);font-weight:500;font-size:clamp(10px,.9vw,12px);letter-spacing:.34em;text-transform:uppercase;color:var(--gold-2)}
.bigidea{margin:clamp(16px,calc(var(--vhu,1vh)*2.6),28px) 0 0;font-family:var(--serif);font-style:normal;font-weight:700;font-size:clamp(18px,1.7vw,24px);line-height:1.35;letter-spacing:-.01em;color:var(--hl);max-width:34ch;text-wrap:balance}
.lead{margin-top:clamp(12px,calc(var(--vhu,1vh)*2),20px);font-size:clamp(13px,1.05vw,15px);font-weight:400;line-height:1.7;color:rgba(243,236,225,.78);max-width:52ch}
.price-row{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-top:clamp(18px,calc(var(--vhu,1vh)*3),32px)}
.price-row .lbl{font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2)}
.price-row .val{font-family:var(--serif);font-weight:700;font-size:clamp(34px,3.4vw,52px);letter-spacing:-.02em;color:var(--hl-2);white-space:nowrap}
.price-row .val.req{font-size:clamp(24px,2.4vw,36px);color:var(--cream)}
.price-row .pr-price{display:flex;flex-direction:column;gap:4px;align-self:flex-end;margin-left:6px}
.price-row .pr-price .lbl{color:rgba(243,236,225,.5)}
/* факты - строка-таблица досье */
.facts{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.facts .f{padding:clamp(20px,calc(var(--vhu,1vh)*3),30px) 18px clamp(6px,calc(var(--vhu,1vh)*1),10px) 0;border-right:1px solid var(--line-soft)}
.facts .f:last-child{border-right:none}
.facts .f + .f{padding-left:clamp(14px,1.5vw,20px)}
.facts .f::before{content:'';display:block;width:26px;height:2px;background:linear-gradient(90deg,var(--hl-2),var(--gold-2));margin-bottom:clamp(11px,calc(var(--vhu,1vh)*1.7),17px)}
.facts .n{font-family:var(--serif);font-weight:700;font-size:clamp(25px,2.4vw,36px);letter-spacing:-.02em;color:var(--hl-2);white-space:nowrap}
.facts .n em{font-style:normal;font-family:var(--sans);font-weight:500;font-size:.5em;letter-spacing:.06em;color:var(--gold-2)}
.facts .t{margin-top:9px;font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(243,236,225,.5);line-height:1.6}
/* правая колонка - фото */
.hero-right{position:relative;overflow:hidden;min-height:100%;cursor:zoom-in}
.hero-right>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-right .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,22,25,.82) 0%,rgba(21,22,25,.25) 34%,rgba(21,22,25,0) 62%),linear-gradient(0deg,rgba(21,22,25,.78) 0%,rgba(21,22,25,0) 36%)}
.hero-right .corner-t,.hero-right .corner-b{position:absolute;width:44px;height:44px;pointer-events:none;z-index:2}
.hero-right .corner-t{top:22px;left:22px;border-top:1px solid var(--hl);border-left:1px solid var(--hl);border-top-left-radius:8px}
.hero-right .corner-b{bottom:22px;right:22px;border-bottom:1px solid var(--hl);border-right:1px solid var(--hl);border-bottom-right-radius:8px}
.hero-right .photo-cap{position:absolute;left:26px;bottom:26px;z-index:2;display:flex;align-items:center;gap:10px;font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.hero-right .photo-cap::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--hl)}
.hero-right .photo-idx{position:absolute;top:26px;right:26px;z-index:2;font-family:var(--serif);font-weight:700;font-size:13px;letter-spacing:.12em;color:rgba(255,255,255,.7)}
/* пустая правая колонка - когда чистого рендера нет */
.hero-right.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center;padding:34px;background:linear-gradient(155deg,var(--ink-2),var(--ink));cursor:default}
.hero-right.empty svg{width:46px;height:46px;stroke:var(--gold-2);opacity:.75}
.hero-right.empty .e1{font-family:var(--serif);font-weight:700;font-size:clamp(20px,2vw,27px);color:var(--cream)}
.hero-right.empty .e2{font-size:12px;letter-spacing:.03em;color:rgba(243,236,225,.5);max-width:24ch;line-height:1.6}

/* ---------- ОБЛОЖКА КАТАЛОГА (первый экран) ---------- */
.hero.cover h1{font-size:clamp(32px,4.3vw,60px);line-height:1.06;max-width:none}
.hero.cover .cover-sub{margin:clamp(12px,calc(var(--vhu,1vh)*2.2),22px) 0 0;font-family:var(--sans);font-weight:400;font-size:clamp(15px,1.55vw,21px);line-height:1.4;letter-spacing:.01em;color:var(--hl);max-width:44ch;text-wrap:balance}
.facts.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:560px){.facts.three{grid-template-columns:1fr 1fr}}
.hero.cover .price-row .val{color:var(--hl-2)}
.hero.cover .price-row .val span{font-family:var(--sans);font-weight:500;font-size:.4em;letter-spacing:.03em;color:rgba(243,236,225,.6);margin-left:8px;white-space:nowrap}
.hero-right.index{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,60px);background:linear-gradient(160deg,rgba(190,150,105,.07),rgba(21,22,25,0) 62%),var(--ink-2);cursor:default;min-height:100%}
.hero-right.index .corner-t,.hero-right.index .corner-b{position:absolute;width:44px;height:44px;pointer-events:none;z-index:2}
.hero-right.index .corner-t{top:22px;left:22px;border-top:1px solid var(--gold-2);border-left:1px solid var(--gold-2);border-top-left-radius:8px}
.hero-right.index .corner-b{bottom:22px;right:22px;border-bottom:1px solid var(--gold-2);border-right:1px solid var(--gold-2);border-bottom-right-radius:8px}
.ci-h{font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-2);margin-bottom:clamp(14px,calc(var(--vhu,1vh)*2),22px);display:flex;align-items:center;gap:12px}
.ci-h::before{content:'';width:30px;height:1px;background:var(--gold-2)}
.ci-item{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;padding:clamp(14px,calc(var(--vhu,1vh)*2),20px) 0;border-top:1px solid var(--line-soft);transition:padding-left .35s ease,border-color .35s ease}
.ci-item:first-of-type{border-top:1px solid var(--line)}
.ci-item:hover{padding-left:9px;border-top-color:var(--line)}
.ci-item .ci-n{font-family:var(--serif);font-weight:700;color:var(--hl);font-size:15px;letter-spacing:.06em}
.ci-item .ci-name b{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(17px,1.5vw,21px);letter-spacing:-.01em;color:var(--cream);line-height:1.05}
.ci-item .ci-name em{font-style:normal;display:block;margin-top:4px;font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,236,225,.5)}
.ci-item .ci-price{font-family:var(--serif);font-weight:700;font-size:14px;color:var(--hl-2);white-space:nowrap;text-align:right}
.ci-item .ci-price small{display:block;font-family:var(--sans);font-weight:500;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.ci-more{margin-top:clamp(16px,calc(var(--vhu,1vh)*2.4),24px);padding-top:clamp(14px,calc(var(--vhu,1vh)*2),18px);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,236,225,.55)}
.ci-more b{font-family:var(--serif);color:var(--hl);font-size:15px}

/* ---------- СЕКЦИИ ---------- */
.section{position:relative;z-index:1;padding:clamp(64px,calc(var(--vhu,1vh)*10),120px) clamp(20px,4vw,64px);border-bottom:1px solid var(--line)}
.wrap{max-width:1280px;margin:0 auto;position:relative}
.watermark{position:absolute;top:-.35em;right:-.04em;z-index:0;pointer-events:none;font-family:var(--serif);font-weight:700;letter-spacing:-.02em;font-size:clamp(110px,17vw,260px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(190,150,105,.10);user-select:none;white-space:nowrap}
.sec-head{position:relative;z-index:1;max-width:760px}
.sec-head .idx{display:block;margin-bottom:16px}
.sec-head h2{font-family:var(--serif);font-weight:700;font-size:clamp(32px,4.2vw,58px);line-height:1.04;letter-spacing:-.03em;color:var(--white);text-wrap:balance;margin-top:14px}
.sec-head .note{margin-top:16px;font-size:clamp(13px,1vw,15px);color:rgba(243,236,225,.7);max-width:56ch}

/* галерея (компактная) */
.pgal{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,16px);margin-top:clamp(28px,calc(var(--vhu,1vh)*4.5),44px)}
.pgal.two{grid-template-columns:repeat(2,1fr)}
.pgal figure{position:relative;overflow:hidden;aspect-ratio:3/2;border:1px solid var(--line-soft);cursor:zoom-in;background:var(--ink-2)}
.pgal img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.19,1,.22,1)}
@media(hover:hover){.pgal figure:hover img{transform:scale(1.05)}}
.pgal figure::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,16,18,.62));opacity:0;transition:.35s}
.pgal figure:hover::after{opacity:1}
.pgal figure .gt{position:absolute;top:10px;left:10px;width:20px;height:20px;border-top:1px solid var(--hl);border-left:1px solid var(--hl);border-top-left-radius:6px;opacity:0;transition:.3s;z-index:2}
.pgal figure:hover .gt{opacity:.9}
.pgal figcaption{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;opacity:0;transform:translateY(6px);transition:.35s}
.pgal figure:hover figcaption{opacity:1;transform:none}
.pgal figcaption .t{font-size:11px;font-weight:500;letter-spacing:.05em;color:#fff}
.pgal figcaption .p{font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--hl);white-space:nowrap}

/* место и инфраструктура + застройщик */
.place{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,72px);align-items:center;margin-top:clamp(36px,calc(var(--vhu,1vh)*6),64px)}
.place-photos{position:relative;padding-bottom:clamp(56px,7vw,90px)}
.frame[data-full]{cursor:zoom-in}
.place-photos .frame.main .ph{aspect-ratio:16/10}
.place-photos .frame.over{position:absolute;right:-8px;bottom:0;width:min(46%,260px);background:var(--ink);z-index:2}
.place-photos .frame.over .ph{aspect-ratio:3/4}
.place-copy .bigidea{margin-top:0}
.place-copy p{margin-top:18px;font-size:clamp(13px,1vw,14.5px);color:rgba(243,236,225,.72);max-width:50ch}
.amen{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 0;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,236,225,.75)}
.amen span{display:flex;align-items:center;gap:10px;margin-right:22px}
.amen span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold-2)}
.dev-line{margin-top:clamp(26px,calc(var(--vhu,1vh)*4),36px);padding-top:clamp(20px,calc(var(--vhu,1vh)*3),26px);border-top:1px solid var(--line)}
.dev-line .dl-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.dev-line .dl-lbl{font-size:9.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-2)}
.dev-line .dl-name{font-family:var(--serif);font-weight:700;font-size:clamp(20px,1.9vw,26px);letter-spacing:-.01em;color:var(--white)}
.dev-line .dl-note{margin-top:8px;font-size:11.5px;letter-spacing:.02em;color:rgba(243,236,225,.55)}
@media(max-width:980px){.place{grid-template-columns:1fr}.place-copy{order:1}.place-photos{order:2}}
@media(max-width:560px){.place-photos .frame.over{right:0;width:44%}}

/* галерея с нахлёстами (крупный кадр + меньший внахлёст) */
.gstack{margin-top:clamp(30px,calc(var(--vhu,1vh)*4.5),46px);display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(40px,4.5vw,72px) clamp(34px,3.8vw,60px)}
.gstack.one{grid-template-columns:minmax(0,600px);justify-content:start}
@media(max-width:980px){.gstack{grid-template-columns:1fr}}
.gduo{position:relative;padding-bottom:clamp(52px,7vw,92px)}
.gduo .frame{padding:14px}
.gduo .g-big .ph{aspect-ratio:4/3}
.gduo .g-small{position:absolute;right:0;bottom:0;width:min(50%,214px);background:var(--ink);z-index:2}
.gduo .g-small .ph{aspect-ratio:3/4}
@media(max-width:560px){.gduo .g-small{width:46%}}

/* карусель: горизонтальные кадры мельче + вертикальные внахлёст сверху */
.gwrap{position:relative;margin-top:clamp(26px,calc(var(--vhu,1vh)*4),42px)}
.carousel{display:flex;gap:clamp(18px,2vw,32px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px clamp(16px,2.4vw,28px);scrollbar-width:none;-ms-overflow-style:none}
.carousel::-webkit-scrollbar{display:none}
.cduo{position:relative;flex:0 0 auto;width:clamp(250px,31vw,420px);scroll-snap-align:center;padding-bottom:clamp(40px,3.6vw,60px);padding-right:clamp(24px,2.6vw,46px)}
.cduo .frame{padding:11px}
.cduo .c-big .ph{aspect-ratio:3/2}
.cduo .c-small{position:absolute;right:0;bottom:0;width:min(46%,150px);background:var(--ink);z-index:2}
.cduo .c-small .ph{aspect-ratio:3/4}
.cduo .caption{margin-top:11px}
.gfoot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:clamp(8px,calc(var(--vhu,1vh)*1.4),14px)}
.ghint{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,236,225,.42)}
.gnav{display:flex;gap:10px}
.gnav button{width:46px;height:46px;border:1px solid var(--line);background:transparent;color:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s}
.gnav button:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.gnav .gnext{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.gnav .gnext:hover{background:var(--gold-2);border-color:var(--gold-2)}
.gnav svg{width:20px;height:20px}

/* CTA */
.cta-sec .cta-wrap{max-width:660px;margin:0 auto;text-align:center}
.cta-sec .eyebrow{display:inline-flex;margin-bottom:20px}
.cta-sec h2{font-family:var(--serif);font-weight:700;font-size:clamp(30px,4.4vw,54px);line-height:1.04;letter-spacing:-.03em;color:var(--white)}
.cta-sec p{margin:16px auto 30px;color:rgba(243,236,225,.72);max-width:48ch;font-size:clamp(13px,1.05vw,15.5px)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:15px 32px;border:1px solid var(--gold);background:var(--gold);color:var(--ink);cursor:pointer;transition:.28s}
.btn:hover{background:var(--gold-2);border-color:var(--gold-2)}

/* экономика: асимметричная раскладка */
.econ{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);margin-top:clamp(36px,calc(var(--vhu,1vh)*6),64px);align-items:stretch}
.stat-hero{border:1px solid var(--line);position:relative;padding:clamp(24px,3vw,42px);background:linear-gradient(160deg,rgba(190,150,105,.12),rgba(21,22,25,0) 70%)}
.stat-hero::before{content:'';position:absolute;top:-1px;left:-1px;width:38px;height:38px;border-top:1px solid var(--hl);border-left:1px solid var(--hl);border-top-left-radius:8px}
.stat-hero .lbl{font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2)}
.stat-hero .big{font-family:var(--serif);font-weight:700;font-size:clamp(60px,8vw,132px);line-height:.95;letter-spacing:-.03em;color:var(--hl-2);margin:18px 0 8px}
.stat-hero .big em{font-style:normal;font-size:.34em;color:var(--gold-2);letter-spacing:0}
.stat-hero .big.big-word{font-size:clamp(40px,4.6vw,68px);white-space:nowrap}
.stat-hero .sub{font-size:12.5px;color:rgba(243,236,225,.65);line-height:1.7;max-width:34ch}
.stat-list{display:flex;flex-direction:column}
.stat-list .row{display:grid;grid-template-columns:minmax(96px,168px) 1fr;gap:20px;align-items:baseline;padding:clamp(16px,calc(var(--vhu,1vh)*2.4),24px) 0;border-bottom:1px solid var(--line-soft);transition:padding-left .4s ease,border-color .4s ease}
.stat-list .row:first-child{border-top:1px solid var(--line)}
.stat-list .row:hover{padding-left:12px;border-bottom-color:var(--line)}
.stat-list .num{font-family:var(--serif);font-weight:700;font-size:clamp(24px,2.4vw,38px);letter-spacing:-.02em;color:var(--hl);white-space:nowrap}
.stat-list .num em{font-style:normal;font-size:.5em;font-family:var(--sans);font-weight:500;color:var(--gold-2)}
.stat-list .desc{font-size:12.5px;line-height:1.65;color:rgba(243,236,225,.68)}
.stat-list .desc b{display:block;font-weight:600;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);margin-bottom:4px}

/* таблица юнитов */
.units{position:relative;z-index:1;margin-top:clamp(44px,calc(var(--vhu,1vh)*7),80px)}
.units .eyebrow{margin-bottom:22px}
.tbl-scroll{overflow-x:auto;border:1px solid var(--line);position:relative;scrollbar-width:none;-ms-overflow-style:none}
.tbl-scroll::-webkit-scrollbar{display:none}
.tbl-scroll::before{content:'';position:absolute;top:0;right:0;width:34px;height:34px;border-top:1px solid var(--hl);border-right:1px solid var(--hl);border-top-right-radius:8px;pointer-events:none}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{text-align:left;padding:18px 24px;white-space:nowrap}
thead th{font-size:9.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-2);border-bottom:1px solid var(--line);background:rgba(190,150,105,.10)}
tbody tr{border-bottom:1px solid var(--line-soft);transition:background .35s ease}
tbody tr:last-child{border-bottom:none}
tbody tr:hover{background:rgba(190,150,105,.06)}
td .unit-name{font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:-.01em;color:var(--white)}
td{font-size:12.5px;font-weight:500;color:rgba(243,236,225,.72)}
td.price{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--hl);letter-spacing:-.01em}
td.price small{display:block;font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.08em;color:rgba(243,236,225,.5);margin-top:3px}
td.price.req{font-size:14px;color:var(--cream)}
.tbl-foot{margin-top:14px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,236,225,.4)}

/* блок «в подготовке» */
.mini-head{display:flex;align-items:center;gap:18px;margin-bottom:clamp(24px,calc(var(--vhu,1vh)*3),34px)}
.mini-head .t{font-family:var(--serif);font-weight:700;font-size:clamp(22px,2.2vw,30px);color:var(--white);letter-spacing:-.01em}
.mini-head .ln{flex:1;height:1px;background:var(--line)}
.mini-head .c{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.mini{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.5vw,20px)}
.mtile{border:1px solid var(--line-soft);background:rgba(29,32,36,.5);padding:clamp(20px,1.9vw,26px);display:flex;flex-direction:column;min-height:162px;transition:border-color .4s}
.mtile:hover{border-color:var(--line)}
.mtile .mloc{font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.mtile h4{font-family:var(--serif);font-weight:700;font-size:clamp(18px,1.7vw,23px);color:var(--cream);letter-spacing:-.01em;margin:12px 0 8px;line-height:1.1}
.mtile .md{font-size:11.5px;line-height:1.55;color:rgba(243,236,225,.6)}
.mtile .ms{margin-top:auto;padding-top:14px;font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,236,225,.4)}
.mtile .ms::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:8px;vertical-align:1px;opacity:.7}

/* ---------- футер ---------- */
footer{position:relative;z-index:1;padding:clamp(36px,calc(var(--vhu,1vh)*6),56px) clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer img{height:30px;width:auto;opacity:.9}
footer .fx{font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:rgba(243,236,225,.45)}

/* ---------- лайтбокс ---------- */
.lb{position:fixed;inset:0;z-index:200;background:rgba(12,12,14,.96);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:calc(var(--vhu,1vh)*84);object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.lb .lbcap{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.lb .lbcount{position:absolute;top:24px;left:28px;font-family:var(--serif);font-weight:700;color:var(--hl);font-size:15px;letter-spacing:.1em}
.lb .lbx{position:absolute;top:20px;right:24px;width:44px;height:44px;border:1px solid var(--line);color:#fff;background:transparent;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s}
.lb .lbx:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.lb .lbnav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid var(--line);background:rgba(0,0,0,.32);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none;transition:.25s}
.lb .lbnav:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.lb .lbprev{left:20px}.lb .lbnext{right:20px}

/* ---------- адаптив ---------- */
@media (max-width:980px){
  .hero{grid-template-columns:1fr;grid-template-rows:auto minmax(240px,calc(var(--vhu,1vh)*42))}
  .hero-left{order:1}
  .hero-left::after{display:none}
  .hero-right{order:2;border-top:1px solid var(--line)}
  .hero.cover{grid-template-rows:auto auto}
  .hero.cover .hero-right.index{min-height:auto}
  .hero-right .shade{background:linear-gradient(0deg,rgba(21,22,25,.7) 0%,rgba(21,22,25,0) 45%)}
  .facts{grid-template-columns:repeat(2,1fr)}
  .facts .f:nth-child(2){border-right:none}
  .facts .f{border-bottom:1px solid var(--line-soft)}
  .facts .f:nth-child(3),.facts .f:nth-child(4){border-bottom:none}
  .econ{grid-template-columns:1fr}
  .watermark{font-size:clamp(90px,22vw,160px)}
  .mini{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  /* HERO */
  .hero h1{font-size:clamp(44px,14vw,64px)}
  .hero .idx-row{flex-wrap:wrap;gap:8px 18px}
  .topbar .tag{display:none}
  .hero-body{padding:clamp(16px,calc(var(--vhu,1vh)*3),32px) 0}
  .eyebrow{font-size:10px;letter-spacing:.18em;gap:10px}
  .bigidea{max-width:100%;font-size:clamp(16px,4.6vw,21px);line-height:1.3}
  .lead{max-width:100%}
  .price-row .val{font-size:clamp(30px,10vw,46px)}
  /* ФАКТЫ-досье */
  .facts .f{min-width:0}
  .facts .n{font-size:clamp(16px,4.6vw,24px)}
  .facts .t{letter-spacing:.1em}
  /* ЭКОНОМИКА */
  .stat-hero .big{font-size:clamp(44px,13vw,88px)}
  .stat-hero .big.big-word{font-size:clamp(38px,10vw,74px);white-space:nowrap}
  .stat-list .row{grid-template-columns:minmax(78px,120px) 1fr;gap:14px}
  .stat-list .num{font-size:clamp(20px,5.6vw,32px)}
  /* ТАБЛИЦЫ ЮНИТОВ: помещаем в экран */
  table{min-width:0}
  th,td{padding:9px 7px;white-space:normal;overflow-wrap:break-word}
  thead th{font-size:7.5px;letter-spacing:.06em}
  td{font-size:10px}
  td .unit-name{font-size:12px}
  td.price{font-size:12px;white-space:nowrap}
  /* ГАЛЕРЕЯ ЗАСТРОЙЩИКА: кадр внахлёст -> под большой */
  .place-photos{padding-bottom:0}
  .place-photos .frame.over{position:static;right:auto;width:100%;margin-top:12px}
  .place-photos .frame.over .ph{aspect-ratio:16/10}
  /* КАРУСЕЛЬ рендеров */
  .cduo{width:82vw;padding-right:0;padding-bottom:14px}
  .cduo .c-small{position:static;width:100%;margin-top:12px}
  .cduo .c-small .ph{aspect-ratio:3/2}
  /* подписи кадров */
  .caption{letter-spacing:.14em;font-size:9px}
  /* прочее */
  .pgal,.pgal.two{grid-template-columns:1fr 1fr}
  .mini{grid-template-columns:1fr 1fr}
  .lb .lbnav{width:42px;height:42px}
  .watermark{font-size:clamp(66px,20vw,120px)}
}

/* ===== Black Sands Oasis block support (added; existing objects untouched) ===== */
.loc-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(36px,calc(var(--vhu,1vh)*6),64px)}
@media(max-width:980px){.loc-grid{grid-template-columns:1fr}}
.loc-map{position:relative;border:1px solid var(--line);overflow:hidden;aspect-ratio:16/12}
.loc-map iframe{width:100%;height:100%;border:0;filter:grayscale(.25) contrast(1.05) brightness(.92)}
.loc-map .corner-t{position:absolute;top:14px;left:14px;width:34px;height:34px;border-top:1px solid var(--hl);border-left:1px solid var(--hl);border-top-left-radius:8px;z-index:2;pointer-events:none}
.loc-list{list-style:none}
.loc-list li{display:grid;grid-template-columns:minmax(72px,116px) 1fr;gap:18px;padding:clamp(14px,calc(var(--vhu,1vh)*2),20px) 0;border-bottom:1px solid var(--line-soft);align-items:baseline}
.loc-list li:first-child{border-top:1px solid var(--line)}
.loc-list b{font-family:var(--serif);font-weight:700;color:var(--hl);font-size:clamp(19px,1.8vw,26px);letter-spacing:-.01em;white-space:nowrap}
.loc-list span{font-size:13px;color:rgba(243,236,225,.72);line-height:1.55}
.loc-duos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,50px);margin-top:clamp(28px,calc(var(--vhu,1vh)*4.4),54px);align-items:start}
.loc-duos .cduo{flex:none;padding-bottom:clamp(52px,5vw,84px);cursor:zoom-in}
@media(max-width:820px){.loc-duos{grid-template-columns:1fr;gap:clamp(48px,11vw,74px);max-width:540px;margin-left:auto;margin-right:auto}}
.loc-duos .cduo .c-big>.caption{padding-right:calc(min(46%,150px) + 22px)}
.hero-right.hero-coll{cursor:default}
.hero-collage{position:absolute;inset:0;z-index:1}
.hero-collage .mgrid{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:334fr 170fr 210fr 170fr;gap:12px}
.hero-collage .mph{position:relative;overflow:hidden;margin:0;border-radius:3px;border:1px solid var(--line);background:var(--ink-2);box-shadow:0 22px 48px rgba(0,0,0,.42),0 3px 10px rgba(0,0,0,.3);cursor:zoom-in}
.hero-collage .mph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}
@media(hover:hover){.hero-collage .mph:hover img{transform:scale(1.045)}}
.hero-collage .mlead{grid-column:1/3;grid-row:1}
.hero-collage .tall-l{grid-column:1;grid-row:2/4}
.hero-collage .small-l{grid-column:1;grid-row:4}
.hero-collage .small-r{grid-column:2;grid-row:2}
.hero-collage .tall-r{grid-column:2;grid-row:3/5}
.hero-collage .mlead::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,22,26,0) 52%,rgba(21,22,26,.58) 100%);pointer-events:none;z-index:1}
.hero-collage .corner{position:absolute;width:26px;height:26px;pointer-events:none;z-index:2}
.hero-collage .corner.tl{top:12px;left:12px;border-top:1px solid var(--hl);border-left:1px solid var(--hl)}
.hero-collage .corner.br{bottom:12px;right:12px;border-bottom:1px solid var(--hl);border-right:1px solid var(--hl)}
.hero-collage .cap{position:absolute;left:20px;bottom:16px;z-index:3;display:flex;align-items:center;gap:11px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--hl);font-weight:500;white-space:nowrap;margin:0}
.hero-collage .cap::before{content:"";display:block;width:26px;height:1px;background:var(--gold)}
.hero-collage .fig{position:absolute;right:12px;bottom:11px;z-index:3;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,236,225,.78);background:rgba(21,22,26,.55);border:1px solid var(--line);padding:4px 9px 4px 11px;border-radius:2px}
@media(max-width:980px){
  .hero:has(.hero-coll){grid-template-rows:auto auto}
  .hero-right.hero-coll{min-height:0;height:auto;overflow:visible}
  .hero-collage{position:relative;inset:auto}
  .hero-collage .mgrid{position:relative;inset:auto;aspect-ratio:.72}
}
.econ.dev-econ{align-items:stretch}
.dev-econ .stat-hero{display:flex;flex-direction:column}
.dev-econ .stat-list{justify-content:space-between}
.dev-econ .stat-list .row{padding:clamp(6px,calc(var(--vhu,1vh)*0.9),10px) 0}
.dev-photo{margin-top:auto;position:relative;overflow:hidden;border:1px solid var(--line);cursor:zoom-in}
.dev-photo img{display:block;width:100%;height:auto;transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
@media(max-width:720px){.dev-photo{margin-top:24px}}
@media(hover:hover){.dev-photo:hover img{transform:scale(1.05)}}

/* CTA: вторая кнопка Instagram со стрелкой (как на страницах объектов) */
@font-face{font-family:'Caveat';src:url('../brand/fonts/Caveat-cyr.woff2') format('woff2');font-weight:500;font-display:swap}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}
.btn svg{width:18px;height:18px}
.btn-ig{background:transparent;color:var(--cream);border-color:var(--line)}
.btn-ig:hover{background:rgba(190,150,105,.12);border-color:var(--gold)}
.ig-cta{position:relative;display:inline-flex}
.ig-follow{position:absolute;left:calc(100% + 14px);bottom:2px;display:flex;align-items:flex-end;gap:1px;pointer-events:none;white-space:nowrap}
.ig-follow .ig-note{font-family:'Caveat',cursive;font-weight:500;font-size:24px;line-height:1;letter-spacing:.01em;color:rgba(243,236,225,.66);transform:rotate(-4deg);margin-bottom:14px}
.ig-follow .ig-arrow{width:56px;height:50px;color:rgba(243,236,225,.5)}
@media(max-width:980px){
  .ig-cta{display:flex}
  .ig-follow{left:auto;right:14px;top:calc(100% + 2px);bottom:auto;flex-direction:row;align-items:flex-start;gap:3px}
  .ig-follow .ig-arrow{width:40px;height:40px;transform:rotate(118deg)}
  .ig-follow .ig-note{margin:14px 0 0;transform:rotate(-4deg)}
}

#tao .gnav,#budda .gnav{justify-content:flex-end}#tao .carousel .cduo:last-child,#budda .carousel .cduo:last-child{padding-right:0;scroll-snap-align:end}

/* ===== Плавающая плашка CTA: контент общий, позиционирование — по брейкпоинтам ===== */
.sticky-cta{display:none}
.sticky-cta__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sticky-cta__progress{position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:rgba(190,150,105,.16);overflow:hidden;pointer-events:none}
.sticky-cta__progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--hl),var(--gold));box-shadow:0 0 8px rgba(228,194,119,.7)}
.sticky-cta__name{flex:1 1 auto;min-width:0;font-family:var(--serif);font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--hl);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s ease}
.sticky-cta__name.swap{opacity:0}
.sticky-cta__lbl{flex:none;max-width:60%;text-align:right;font-size:9.5px;font-weight:500;letter-spacing:.08em;line-height:1.5;color:rgba(243,236,225,.6)}
.sticky-cta__btn{
  align-self:stretch;position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 18px;border:1px solid var(--white);background:var(--white);color:var(--ink);
  cursor:pointer;
}
.sticky-cta__btn:active{background:var(--cream);border-color:var(--cream)}
/* плавный блик: проход 45% цикла, остальное — пауза */
.sticky-cta__btn::after{
  content:'';position:absolute;top:-20%;bottom:-20%;left:-70%;width:45%;
  background:linear-gradient(105deg,transparent,rgba(190,150,105,.65),transparent);
  transform:skewX(-18deg);
  animation:sticky-shine 3s cubic-bezier(.4,0,.2,1) infinite;
  pointer-events:none;
}
@keyframes sticky-shine{
  0%{left:-70%}
  45%,100%{left:135%}
}
/* мобайл: плашка на всю ширину с отступами 12px */
@media(max-width:980px){
  .sticky-cta{
    display:flex;flex-direction:column;gap:10px;
    position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:100;
    padding:12px 14px;
    background:rgba(21,22,25,.68);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border:1px solid var(--line);
    transform:translateY(110%);
    transition:transform .45s cubic-bezier(.19,1,.22,1);
  }
  .sticky-cta.show{transform:none}
}
/* десктоп: широкая карточка по центру снизу */
@media(min-width:981px){
  .sticky-cta{
    display:flex;flex-direction:column;gap:12px;
    position:fixed;left:50%;right:auto;bottom:24px;width:min(620px,calc(100vw - 48px));z-index:100;
    padding:18px 24px;
    background:rgba(21,22,25,.9);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border:1px solid var(--line);
    box-shadow:0 24px 60px rgba(0,0,0,.45);
    opacity:0;transform:translate(-50%,24px);pointer-events:none;
    transition:opacity .45s ease,transform .45s cubic-bezier(.19,1,.22,1);
  }
  .sticky-cta.show{opacity:1;transform:translateX(-50%);pointer-events:auto}
  .sticky-cta__name{font-size:19px}
  .sticky-cta__lbl{font-size:10.5px;max-width:56%}
  .sticky-cta__btn{font-size:12px;padding:16px 18px}
}
@media (prefers-reduced-motion:reduce){
  .sticky-cta{transition:none}
  .sticky-cta__btn::after{animation:none}
}

/* ===== Квиз-заявка (стиль досье) ===== */
.quiz{position:fixed;inset:0;z-index:300;display:none}
.quiz.open{display:block}
.quiz__backdrop{position:absolute;inset:0;background:rgba(12,12,14,.88);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.quiz__card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));max-height:calc(var(--vhu,1vh)*92);overflow-y:auto;background:linear-gradient(165deg,#20242a,var(--ink-2));border:1px solid var(--line);padding:30px 28px 28px}
.quiz__card::before,.quiz__card::after{content:'';position:absolute;width:34px;height:34px;pointer-events:none}
.quiz__card::before{top:-1px;left:-1px;border-top:1px solid var(--hl);border-left:1px solid var(--hl)}
.quiz__card::after{bottom:-1px;right:-1px;border-bottom:1px solid var(--hl);border-right:1px solid var(--hl)}
.quiz__x{position:absolute;top:10px;right:10px;width:40px;height:40px;border:1px solid var(--line);background:transparent;color:#fff;font-size:19px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s}
.quiz__x:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.quiz__step{font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2)}
.quiz__bar{height:2px;background:var(--line-soft);margin-top:10px}
.quiz__bar span{display:block;height:100%;width:33.33%;background:linear-gradient(90deg,var(--hl),var(--gold));transition:width .35s ease}
.quiz__pane{display:none}
.quiz__pane.is-active{display:block;animation:quiz-in .35s ease}
@keyframes quiz-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.quiz__h{font-family:var(--serif);font-weight:700;font-size:clamp(22px,5.4vw,28px);line-height:1.1;letter-spacing:-.02em;color:var(--white);margin:18px 0 6px;text-wrap:balance}
.quiz__sub{font-size:13px;line-height:1.6;color:rgba(243,236,225,.65)}
.quiz__opts{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.quiz__opts--two{display:grid;grid-template-columns:1fr 1fr}
.quiz__opt{display:flex;align-items:center;gap:12px;text-align:left;background:rgba(29,32,36,.5);border:1px solid var(--line-soft);color:var(--cream);padding:14px 16px;font-family:var(--sans);font-size:14px;font-weight:500;cursor:pointer;transition:border-color .25s,background .25s}
.quiz__opt:hover{border-color:var(--line)}
.quiz__opt.is-sel{border-color:var(--gold);background:rgba(190,150,105,.10)}
.quiz__radio{flex:none;width:18px;height:18px;border-radius:50%;border:1px solid var(--gold-2);position:relative}
.quiz__opt.is-sel .quiz__radio::after{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--hl)}
.quiz__err{min-height:20px;font-size:12px;line-height:20px;color:#E08A63;margin-top:10px}
.quiz__next{position:relative;overflow:hidden;width:100%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:15px 32px;border:1px solid var(--gold);background:var(--gold);color:var(--ink);cursor:pointer;transition:.28s;margin-top:6px;text-decoration:none}
.quiz__next:hover{background:var(--gold-2);border-color:var(--gold-2)}
.quiz__next::after{content:'';position:absolute;top:-20%;bottom:-20%;left:-70%;width:45%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:quiz-shine 3.2s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none}
@keyframes quiz-shine{0%{left:-70%}45%,100%{left:135%}}
.quiz__nav{display:flex;gap:10px;margin-top:6px}
.quiz__nav .quiz__next{margin-top:0}
.quiz__back{flex:none;background:transparent;border:1px solid var(--line);color:rgba(243,236,225,.7);font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:15px 20px;cursor:pointer;transition:.25s}
.quiz__back:hover{border-color:var(--gold);color:var(--cream)}
.quiz__center{display:block;margin:14px auto 0;border:none}
.quiz__field{display:block;margin-top:18px}
.quiz__flbl{display:block;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);margin-bottom:8px}
.quiz__input{width:100%;background:#101114;border:1px solid var(--line-soft);color:var(--cream);padding:14px 16px;font-family:var(--sans);font-size:15px;font-weight:500;outline:none;transition:border-color .25s;border-radius:0;-webkit-appearance:none;appearance:none}
.quiz__input:focus{border-color:var(--gold)}
.quiz__input::placeholder{color:rgba(243,236,225,.35)}
.quiz__phone{display:flex;gap:10px;margin-top:14px}
.quiz__num{flex:1 1 auto;min-width:0}
.quiz__cc{position:relative;flex:none}
.quiz__ccbtn{display:flex;align-items:center;gap:8px;background:#101114;border:1px solid var(--line-soft);color:var(--cream);padding:14px 12px;font-family:var(--sans);font-size:15px;font-weight:600;cursor:pointer;transition:border-color .25s}
.quiz__ccbtn:focus,.quiz__ccbtn[aria-expanded="true"]{border-color:var(--gold);outline:none}
.quiz__flag{font-size:18px;line-height:1}
.quiz__caret{font-size:10px;color:var(--gold-2)}
.quiz__cclist{position:absolute;left:0;bottom:calc(100% + 8px);width:264px;max-height:280px;overflow-y:auto;background:#1a1d22;border:1px solid var(--line);z-index:5}
.quiz__ccsearch{width:100%;position:sticky;top:0;background:#101114;border:none;border-bottom:1px solid var(--line-soft);color:var(--cream);padding:12px;font-family:var(--sans);font-size:13px;outline:none;border-radius:0}
.quiz__ccopt{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:var(--cream);padding:10px 12px;font-family:var(--sans);font-size:13px;cursor:pointer;text-align:left}
.quiz__ccopt:hover{background:rgba(190,150,105,.10)}
.quiz__ccopt .cf{font-size:16px}
.quiz__ccopt .cn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quiz__ccopt .cc{margin-left:auto;color:var(--hl);font-weight:600;white-space:nowrap}
.quiz__ok{width:56px;height:56px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:8px;color:var(--hl)}
.quiz__ok svg{width:26px;height:26px}
@media(max-width:600px){
  .quiz__card{left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;width:auto;max-height:calc(var(--vhu,1vh)*88);padding:24px 20px 20px}
}
@media (prefers-reduced-motion:reduce){
  .quiz__pane.is-active{animation:none}
  .quiz__next::after{animation:none}
  .quiz__bar span{transition:none}
}
.quiz__codecustom{width:56px;background:transparent;border:none;border-bottom:1px solid var(--gold);color:var(--cream);font-family:var(--sans);font-size:15px;font-weight:600;outline:none;padding:0;border-radius:0}
.quiz__codecustom::placeholder{color:rgba(243,236,225,.35)}
/* CTA внизу: одна кнопка с бликом */
.cta-sec .btn{position:relative;overflow:hidden}
.cta-sec .btn::after{content:'';position:absolute;top:-20%;bottom:-20%;left:-70%;width:45%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:quiz-shine 3.2s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none}
