/* ЖК «Самоцветы» — стили. Шрифт Geologica (OFL), ось SHRP даёт «гранёные» заголовки. */

@font-face{font-family:"Geologica";font-style:oblique 0deg 12deg;font-weight:100 900;font-display:swap;
  src:url(../fonts/geologica-cyrillic-full-normal.woff2) format("woff2-variations");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Geologica";font-style:oblique 0deg 12deg;font-weight:100 900;font-display:swap;
  src:url(../fonts/geologica-latin-ext-full-normal.woff2) format("woff2-variations");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geologica";font-style:oblique 0deg 12deg;font-weight:100 900;font-display:swap;
  src:url(../fonts/geologica-latin-full-normal.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  /* малахит */
  --m950:#051A14; --m900:#082A20; --m800:#0B3A2C; --m700:#0E4E3B; --m600:#11654C; --m500:#16855F; --m400:#35A77F; --m300:#7CCAAB; --m200:#BFE3D2; --m100:#E2F1EA;
  --paper:#F1F5F2; --white:#fff;
  --ink:#0B3A2C; --text:#1D2E27; --mute:#5A6E65; --line:#D3DED8;
  --cit:#F0B23E; --citd:#B67C0E;
  --g-cit:#F0B23E; --g-mal:#2FB083; --g-top:#4BA3E3; --g-ame:#9B7BE8; --g-rod:#E86A92;
  --cut:14px;
  --wrap:1280px;
  --pad:clamp(18px,4vw,56px);
  --sec:clamp(64px,9vw,132px);
  --ease:cubic-bezier(.2,.7,.1,1);
  --sharp:"SHRP" 100; --soft:"SHRP" 0;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:360 17px/1.5 "Geologica",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-variation-settings:var(--soft);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--m500);outline-offset:3px}
.pick :focus-visible,.visit :focus-visible,.view :focus-visible,.calc__out :focus-visible{outline-color:var(--cit)}
.skip{position:absolute;left:-999px;top:8px;background:var(--white);padding:10px 14px;z-index:99}
.skip:focus{left:8px}

.wrap{width:min(100% - 2*var(--pad),var(--wrap));margin-inline:auto}
.h2{font-size:clamp(30px,4.3vw,58px);line-height:1.04;font-weight:640;letter-spacing:-.028em;font-variation-settings:var(--sharp);color:var(--ink);max-width:17ch;text-wrap:balance}
.sub{margin-top:18px;font-size:clamp(17px,1.35vw,20px);line-height:1.45;color:var(--mute);max-width:54ch;text-wrap:pretty}
.note{font-size:13.5px;line-height:1.45;color:var(--mute);max-width:60ch}
.link{color:var(--m600);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.link:hover{color:var(--m500)}

/* ───── кнопки: срезанный угол, как грань ───── */
.btn{--bg:var(--m600);--fg:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;background:var(--bg);color:var(--fg);font-weight:520;font-size:16.5px;letter-spacing:-.005em;text-decoration:none;white-space:nowrap;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));transition:background .25s,color .25s,transform .25s var(--ease)}
.btn--main:hover{--bg:var(--m500)}
.btn--main:active{transform:translateY(1px)}
.btn--line{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px currentColor}
.btn--line::before,.btn--line::after{content:"";position:absolute;width:17px;height:1.5px;background:currentColor;transform-origin:0 0}
.btn--line::before{left:calc(100% - 12px);top:0;transform:rotate(45deg)}
.btn--line::after{left:0;top:calc(100% - 12px);transform:rotate(45deg)}
.btn--line:hover{--bg:var(--ink);--fg:#fff}
.btn--sm{min-height:44px;padding:0 18px;font-size:15px}
.btn--wide{width:100%}
.btn[disabled]{opacity:.55;cursor:progress}
.pick .btn--line,.visit .btn--line,.view .btn--line{--fg:#fff}
.pick .btn--line:hover,.visit .btn--line:hover{--bg:#fff;--fg:var(--m900)}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips>button{min-height:40px;padding:0 15px;border:1.5px solid var(--line);background:var(--white);color:var(--text);font-size:15px;font-weight:440;transition:background .2s,border-color .2s,color .2s}
.chips>button:hover{border-color:var(--m400)}
.chips>button.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.chips--num>button{min-width:44px;padding:0 10px}
.chips--lg>button{min-height:48px;padding:0 18px;font-size:16px}
.chips--glass>button{background:rgba(5,26,20,.5);border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(8px)}
.chips--glass>button.is-on{background:#fff;border-color:#fff;color:var(--m900)}

.range{display:block}
.range>span{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:var(--mute)}
.range output{color:var(--ink);font-weight:560}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:none;margin:2px 0 0;--v:50%}
input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(90deg,var(--m500) var(--v),var(--line) var(--v))}
input[type=range]::-moz-range-track{height:3px;background:var(--line)}
input[type=range]::-moz-range-progress{height:3px;background:var(--m500)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-10px;background:var(--m600);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--m600);transform:rotate(45deg);cursor:grab}
input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--m600);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--m600);border-radius:0;transform:rotate(45deg);cursor:grab}

/* ───── шапка ───── */
.top{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:clamp(12px,2vw,28px);height:68px;padding:0 var(--pad);transition:background .3s,box-shadow .3s}
.top.is-solid{background:rgba(241,245,242,.92);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line)}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo__gem{width:30px;height:30px;fill:var(--m600)}
.logo__gem .f1{fill:var(--m300)}.logo__gem .f2{fill:var(--m500)}.logo__gem .f3{fill:var(--m800)}
.logo__name{font-size:21px;font-weight:660;letter-spacing:-.02em;font-variation-settings:var(--sharp)}
.nav{display:flex;gap:clamp(12px,1.8vw,26px);margin-left:auto}
.nav a{font-size:15px;text-decoration:none;color:var(--text);padding:8px 0;border-bottom:1.5px solid transparent;transition:border-color .2s,color .2s}
.nav a:hover,.nav a.is-here{border-color:var(--m500);color:var(--ink)}
.top__phone{font-weight:560;text-decoration:none;white-space:nowrap;color:var(--ink)}
.top__fav{position:relative;width:44px;height:44px;display:grid;place-items:center;color:var(--ink)}
.top__fav svg{width:24px;height:24px}
.top__fav b{position:absolute;top:2px;right:0;min-width:19px;height:19px;padding:0 5px;background:var(--cit);color:var(--m950);font-size:12px;font-weight:650;line-height:19px;text-align:center;border-radius:10px}
.top__burger{display:none;width:44px;height:44px;place-items:center;color:var(--ink)}
.top__burger svg{width:26px;height:26px}

/* ───── первый экран ───── */
.hero{position:relative;padding:calc(68px + clamp(20px,4vw,56px)) 0 clamp(48px,6vw,96px);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,72px);align-items:center}
.hero__title{font-size:clamp(40px,5.5vw,84px);line-height:.97;font-weight:660;letter-spacing:-.036em;font-variation-settings:var(--sharp);color:var(--ink);text-wrap:balance}
.hero__lead{margin-top:clamp(18px,2vw,28px);font-size:clamp(18px,1.55vw,22px);line-height:1.4;max-width:34ch;color:var(--text)}
.hero__lead [data-min-price],.hero__lead [data-count-sale]{font-weight:600;color:var(--ink);white-space:nowrap}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(22px,2.4vw,34px)}
.hero__facts{margin-top:clamp(22px,2.4vw,34px);display:grid;gap:9px;font-size:15.5px;color:var(--text)}
.hero__facts li{display:flex;gap:10px;align-items:flex-start}
.hero__facts svg{flex:none;width:20px;height:20px;margin-top:2px;color:var(--m500)}
.promo{margin-top:clamp(22px,2.4vw,34px);display:inline-flex;align-items:center;gap:14px;padding:10px 20px 10px 10px;background:var(--white);text-align:left;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);transition:background .2s}
.promo:hover{background:var(--m100)}
.promo__pct{display:grid;place-items:center;width:58px;height:58px;background:var(--cit);color:var(--m950);font-weight:700;font-size:20px;letter-spacing:-.03em;font-variation-settings:var(--sharp);clip-path:polygon(50% 0,100% 30%,82% 100%,18% 100%,0 30%)}
.promo__txt b{display:block;font-weight:560;color:var(--ink)}
.promo__txt i{display:block;font-style:normal;font-size:13.5px;color:var(--mute)}

.hero__media{position:relative;min-width:0}
.hero__cut{position:relative;aspect-ratio:5/6;max-height:min(80vh,820px);width:100%;overflow:hidden;background:var(--m800);
  clip-path:polygon(15% 0,100% 0,100% 82%,84% 100%,0 100%,0 17%);animation:cutIn 1.25s var(--ease) both}
.hero__img,.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 50%;animation:zoomOut 1.8s var(--ease) both}
.hero__img--dusk{opacity:0;transition:opacity 1.2s ease}
.hero.is-dusk .hero__img--dusk{opacity:1}
@keyframes cutIn{from{clip-path:polygon(50% 42%,56% 42%,56% 50%,54% 56%,48% 56%,48% 46%)}to{clip-path:polygon(15% 0,100% 0,100% 82%,84% 100%,0 100%,0 17%)}}
@keyframes zoomOut{from{transform:scale(1.22)}to{transform:scale(1)}}
.hero__bands{position:absolute;right:-6%;top:6%;width:min(62vw,900px);aspect-ratio:1;z-index:-1;opacity:.95;
  background:repeating-radial-gradient(circle at 64% 44%,var(--m700) 0 9px,var(--m500) 9px 15px,var(--m800) 15px 26px,var(--m400) 26px 30px,var(--m600) 30px 44px,var(--m300) 44px 47px,var(--m700) 47px 62px);
  filter:url(#malachite);clip-path:polygon(22% 4%,96% 0,100% 70%,74% 100%,6% 92%,0 30%);animation:fadeIn 1.6s .2s both}
@keyframes fadeIn{from{opacity:0}}
.hero__time{position:absolute;top:54px;right:14px;display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:rgba(5,26,20,.55);color:#fff;font-size:14px;backdrop-filter:blur(8px)}
.hero__time svg{width:18px;height:18px}
.hero__time .m{display:none}
.hero.is-dusk .hero__time .s{display:none}.hero.is-dusk .hero__time .m{display:block}
.hero__cap{position:absolute;right:14px;top:14px;padding:5px 10px;background:rgba(5,26,20,.5);color:#fff;font-size:12.5px;backdrop-filter:blur(6px)}
.best{position:absolute;left:-28px;bottom:9%;display:grid;gap:2px;padding:16px 22px 16px 18px;background:var(--white);color:var(--ink);text-decoration:none;box-shadow:0 18px 50px -18px rgba(8,42,32,.45);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);animation:rise .8s .9s var(--ease) both;transition:transform .3s var(--ease)}
.best:hover{transform:translateY(-3px)}
.best__k{font-size:13px;color:var(--mute)}
.best__t{font-weight:520}
.best__p{font-size:26px;font-weight:680;letter-spacing:-.03em;font-variation-settings:var(--sharp)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.hero__text>*{animation:rise .7s var(--ease) both}
.hero__text>:nth-child(2){animation-delay:.08s}.hero__text>:nth-child(3){animation-delay:.16s}.hero__text>:nth-child(4){animation-delay:.24s}.hero__text>:nth-child(5){animation-delay:.32s}.hero__text>:nth-child(6){animation-delay:.4s}

/* ───── выбор квартиры: ночной фасад ───── */
.pick{background:var(--m900);color:#DCEBE4;padding:var(--sec) 0;position:relative}
.pick .h2{color:#fff;max-width:19ch}
.pick .sub{color:#A9C5B9}
.pick__body{margin-top:clamp(28px,4vw,56px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.facade-wrap{position:sticky;top:88px}
.facade{display:grid;gap:3px;padding:14px 14px 14px 6px;background:linear-gradient(180deg,#06231A,#041811);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.frow{display:grid;grid-template-columns:30px repeat(10,minmax(0,1fr));gap:3px;align-items:stretch}
.frow__n{font-size:11.5px;color:#6E9485;text-align:right;padding-right:7px;line-height:22px}
.cell{position:relative;height:22px;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);transition:transform .18s var(--ease),opacity .35s,background .5s,box-shadow .5s}
.cell--a,.cell--b{--c:var(--g-mal);cursor:pointer}
.cell[data-g=cit]{--c:var(--g-cit)}.cell[data-g=top]{--c:var(--g-top)}.cell[data-g=ame]{--c:var(--g-ame)}.cell[data-g=rod]{--c:var(--g-rod)}
.facade.is-lit .cell--a{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 70%,#fff) 0,var(--c) 45%,color-mix(in srgb,var(--c) 72%,#000) 100%);box-shadow:0 0 14px -2px color-mix(in srgb,var(--c) 70%,transparent)}
.facade.is-lit .cell--b{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 55%,transparent) 0 4px,transparent 4px 8px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 60%,transparent)}
.cell--a:hover,.cell--a.is-hot,.cell--b:hover{transform:scale(1.16);z-index:2;outline:2px solid #fff;outline-offset:1px}
.cell.is-dim{opacity:.16}
.cell.is-fav::after{content:"";position:absolute;right:3px;top:3px;width:6px;height:6px;background:#fff;transform:rotate(45deg)}
.cell[data-hotdeal]::before{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px #fff;animation:pulse 2.4s infinite}
@keyframes pulse{50%{opacity:.2}}
.facade__legend{margin-top:12px;font-size:13px;color:#8FB0A2;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.lg{display:inline-block;width:16px;height:11px;margin-right:6px;vertical-align:-1px}
.lg--a{background:var(--g-mal)}.lg--b{background:repeating-linear-gradient(135deg,var(--g-mal) 0 3px,transparent 3px 6px);box-shadow:inset 0 0 0 1px var(--g-mal)}.lg--s{background:rgba(255,255,255,.1)}
#snapDate{margin-left:auto}

.gems{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.gem{--c:var(--g-mal);position:relative;display:grid;gap:3px;align-content:start;padding:12px 8px 12px 13px;text-align:left;background:rgba(255,255,255,.05);color:#fff;box-shadow:inset 3px 0 0 var(--c);transition:background .2s}
.gem:hover{background:rgba(255,255,255,.1)}
.gem.is-on{background:color-mix(in srgb,var(--c) 26%,var(--m900));box-shadow:inset 3px 0 0 var(--c),inset 0 0 0 1px color-mix(in srgb,var(--c) 70%,transparent)}
.gem__t{font-weight:540;font-size:14.5px;line-height:1.2;letter-spacing:-.01em;white-space:nowrap}
.gem__n{font-size:12.5px;color:#A9C5B9}
.gem__from{font-size:12.5px;color:#fff;opacity:.85}
.gem.is-none{opacity:.4}
.filt{display:grid;margin-top:20px;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;align-items:end}
.pick .range>span{color:#A9C5B9}.pick .range output{color:#fff}
.pick input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--m400) var(--v),rgba(255,255,255,.16) var(--v))}
.pick input[type=range]::-moz-range-track{background:rgba(255,255,255,.16)}
.pick input[type=range]::-webkit-slider-thumb{background:var(--m400);border-color:var(--m900);box-shadow:0 0 0 1.5px var(--m400)}
.pick .chips>button{background:transparent;border-color:rgba(255,255,255,.18);color:#DCEBE4;min-height:36px;padding:0 12px;font-size:14px}
.pick .chips>button.is-on{background:#fff;border-color:#fff;color:var(--m900)}
.pick__bar{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:24px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.pick__count{font-size:18px;color:#fff;font-weight:520}
.sort{font-size:14px;color:#A9C5B9}
.sort select{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 2px;margin-left:4px}
.sort select option{color:#111}
.flats{max-height:560px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;margin-right:-8px;padding-right:8px}
.flat{--c:var(--g-mal);display:grid;grid-template-columns:10px minmax(0,1fr) auto 40px;gap:4px 14px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .15s}
.flat:hover,.flat.is-hot{background:rgba(255,255,255,.05)}
.flat__dot{width:10px;height:10px;background:var(--c);transform:rotate(45deg);box-shadow:0 0 10px var(--c)}
.flat__t{font-weight:520;color:#fff}
.flat__t small{font-weight:360;font-size:13.5px;color:#A9C5B9;margin-left:8px}
.flat__m{grid-column:2;font-size:13.5px;color:#A9C5B9}
.flat__p{grid-row:1/3;grid-column:3;text-align:right;font-weight:600;color:#fff;font-size:17px;white-space:nowrap}
.flat__p small{display:block;font-weight:360;font-size:12.5px;color:#A9C5B9}
.flat__p s{display:block;font-weight:360;font-size:12.5px;color:#7FA091}
.flat__fav{grid-row:1/3;grid-column:4;width:40px;height:40px;display:grid;place-items:center;color:#7FA091}
.flat__fav svg{width:21px;height:21px}
.flat__fav.is-on{color:var(--g-rod)}.flat__fav.is-on svg path{fill:currentColor}
.flat__tag{display:inline-block;margin-left:8px;padding:1px 7px;background:var(--cit);color:var(--m950);font-size:11.5px;font-weight:600;vertical-align:1px}
.pick__empty{padding:28px 0;color:#A9C5B9}.pick__empty .btn{margin-top:14px}

.tip{position:fixed;z-index:60;pointer-events:none;padding:10px 14px;background:#fff;color:var(--m900);font-size:14px;line-height:1.3;box-shadow:0 14px 40px -10px rgba(0,0,0,.5);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);max-width:260px}
.tip b{display:block;font-size:17px;font-weight:650;letter-spacing:-.02em}
.tip i{font-style:normal;color:var(--mute)}

/* ───── конструктор ───── */
.furnish{padding:var(--sec) 0;background:var(--paper)}
.furnish__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:start}
.furnish__text .chips{margin-top:28px}
.steps{margin-top:28px;display:grid;gap:12px;counter-reset:s;max-width:44ch}
.steps li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;gap:12px;font-size:15.5px;color:var(--text)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:30px;height:30px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}

.pl{--f1:#EADFCF;--f2:#C9CFD1;--f3:#7FAE9E;--fs:#24362F;background:var(--white);box-shadow:0 0 0 1px var(--line);position:relative;min-width:0}
.pl[data-pal=warm]{--f1:#EBCFAF;--f2:#D49A76;--f3:#8E5B3F}
.pl[data-pal=mal]{--f1:#DCEFE6;--f2:#3FAE86;--f3:#0E4E3B}
.pl__bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.pl__bar .btn{min-height:40px;padding:0 14px;font-size:14.5px}
.pl__flat{margin-right:auto;font-size:14.5px;color:var(--mute)}
.pl__flat b{color:var(--ink);font-weight:560}
.pl__pals{display:flex;gap:6px;align-items:center;font-size:13.5px;color:var(--mute)}
.pl__pal{width:30px;height:30px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%)}
.pl__pal.is-on{box-shadow:0 0 0 2px var(--ink)}
.pl__stage{position:relative;background:#FBFCFB;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;
  background-image:linear-gradient(var(--m100) 1px,transparent 1px),linear-gradient(90deg,var(--m100) 1px,transparent 1px);background-size:var(--m,40px) var(--m,40px);background-position:var(--gx,0) var(--gy,0)}
.pl__canvas{position:relative;margin:0 auto}
.pl__plan{width:100%;height:auto;mix-blend-mode:multiply;pointer-events:none;-webkit-user-drag:none}
.pl__layer{position:absolute;inset:0}
.pl__scale{position:absolute;left:12px;bottom:10px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--mute);pointer-events:none}
.pl__scale i{display:block;height:7px;width:var(--m,40px);border:1.5px solid var(--mute);border-top:0}
.pl__msg{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--mute);font-size:15px}
.it{position:absolute;left:0;top:0;cursor:grab;touch-action:none;will-change:transform}
.it svg{display:block;width:100%;height:100%;overflow:visible}
.it.is-sel{z-index:5}
.it.is-sel::after{content:"";position:absolute;inset:-5px;border:1.5px dashed var(--m500)}
.it:active{cursor:grabbing}
.it--rug{z-index:0}
.pl__tools{position:absolute;z-index:8;display:flex;gap:4px;padding:4px;background:var(--ink);transform:translate(-50%,-100%);margin-top:-12px}
.pl__tools button{width:38px;height:38px;display:grid;place-items:center;color:#fff}
.pl__tools button:hover{background:var(--m600)}
.pl__tools svg{width:20px;height:20px}
.pl__tools span{align-self:center;padding:0 8px 0 6px;color:#CFE3DA;font-size:13px;white-space:nowrap}
.pl__tray{display:flex;gap:8px;overflow-x:auto;padding:12px 14px;border-top:1px solid var(--line);scrollbar-width:thin}
.pl__add{flex:none;display:grid;grid-template-rows:54px auto;justify-items:center;gap:4px;width:92px;padding:8px 6px;background:var(--paper);font-size:12px;line-height:1.2;color:var(--text);text-align:center;transition:background .2s;touch-action:none}
.pl__add:hover{background:var(--m100)}
.pl__add svg{max-width:64px;max-height:50px;align-self:center;overflow:visible}
.pl__foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line)}
.pl__hint{flex:1 1 220px;font-size:13.5px;color:var(--mute)}
.pl--sheet{box-shadow:none}
.pl--sheet .pl__bar{padding-inline:0}.pl--sheet .pl__tray,.pl--sheet .pl__foot{padding-inline:0}
.pl--sheet .pl__flat{display:none}.pl--sheet .pl__pals{margin-right:auto}

/* ───── отделка ───── */
.finish{padding:var(--sec) 0;background:var(--white)}
.finish__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:center}
.fcalc{margin:30px 0 26px;max-width:460px;display:grid;gap:12px}
.fcalc__sum{font-size:18px;color:var(--text)}
.fcalc__sum b{display:block;font-size:clamp(34px,3.6vw,48px);line-height:1.05;font-weight:680;letter-spacing:-.03em;font-variation-settings:var(--sharp);color:var(--ink)}
.cmp{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--m100);clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}
.cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cmp__clip{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.cmp__handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}
.cmp__handle::after{content:"";position:absolute;top:50%;left:50%;width:38px;height:38px;background:#fff;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 6px 24px rgba(0,0,0,.35)}
.cmp__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.cmp__tag{position:absolute;top:16px;padding:6px 12px;background:rgba(5,26,20,.6);color:#fff;font-size:13.5px;backdrop-filter:blur(6px);pointer-events:none}
.cmp__tag--b{left:16px}.cmp__tag--a{right:44px}
.cmp__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3}
.cmp.is-video .cmp__tag{display:none}
.finish__media .chips{margin-top:14px}
.finish__media .note{margin-top:10px}

/* ───── дом ───── */
.house{padding:var(--sec) 0;background:var(--paper)}
.house__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);align-items:start}
.shot{position:relative;margin:0}
.shot img{width:100%;aspect-ratio:4/3;object-fit:cover;clip-path:polygon(28px 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%,0 28px)}
.shot figcaption{margin-top:10px;font-size:14px;color:var(--mute)}
.thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}
.thumbs button{position:relative;aspect-ratio:1;overflow:hidden;opacity:.62;transition:opacity .2s}
.thumbs button:hover,.thumbs button.is-on{opacity:1}
.thumbs button.is-on::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2.5px var(--m500)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.spec{margin-top:30px;border-top:1.5px solid var(--ink)}
.spec>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 20px;padding:15px 0;border-bottom:1px solid var(--line)}
.spec dt{font-weight:560;color:var(--ink)}
.spec dd{color:var(--text);font-size:16px}

/* ───── вид из окна ───── */
.view{background:var(--m950);color:#fff}
.view__stage{position:relative;min-height:min(92vh,860px);display:grid;align-items:end;overflow:hidden}
.view__img,.view__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s}
.view__img.is-swap{opacity:0}
.view__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,26,20,.05) 30%,rgba(5,26,20,.78) 100%),linear-gradient(90deg,rgba(5,26,20,.5),transparent 60%)}
.view__in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;padding-block:clamp(40px,6vw,80px)}
.view .h2{color:#fff;max-width:15ch}
.view__quote{margin-top:22px;max-width:40ch;font-size:clamp(18px,1.6vw,23px);line-height:1.4;color:#EAF4EF}
.view__quote cite{display:block;margin-top:10px;font-style:normal;font-size:14px;color:#B9D2C7}
.view__ctl{display:grid;gap:10px;justify-items:end}
.view__cap{font-size:13px;color:#B9D2C7}

/* ───── район ───── */
.area{padding:var(--sec) 0;background:var(--white)}
.area__grid{display:grid;grid-template-columns:minmax(0,9fr) minmax(0,14fr);gap:clamp(24px,4vw,64px);align-items:center}
.transit{margin:30px 0 26px;display:grid;gap:14px}
.transit li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:baseline}
.transit b{font-weight:520;color:var(--ink)}
.transit span{font-size:14px;color:var(--mute)}
.transit em{font-style:normal;font-weight:600;color:var(--ink);white-space:nowrap}
.transit i{grid-column:1/-1;display:block;height:3px;background:var(--m100);position:relative}
.transit i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--m500)}
.rings{width:100%;height:auto;overflow:visible}
.rings .ring{fill:none;stroke:var(--m200);stroke-width:1.5}
.rings .band{fill:none;stroke-width:14;opacity:.5}
.rings .rl{font-size:15px;fill:var(--mute)}
.rings .pt circle{fill:var(--m600);transition:r .2s}
.rings .pt text{font-size:19px;fill:var(--text)}
.rings .pt .mn{font-weight:650;fill:var(--ink)}
.rings .pt .nt{font-size:15px;fill:var(--mute)}
.rings .pt:hover circle{r:10}
.rings .home{fill:var(--ink)}
.rings-wrap .note{margin-top:8px;text-align:center;max-width:none}
.walk{display:none}

/* ───── ипотека ───── */
.buy{padding:var(--sec) 0;background:var(--paper)}
.calc{margin-top:clamp(28px,4vw,52px);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);background:var(--white);box-shadow:0 0 0 1px var(--line)}
.calc__in{padding:clamp(20px,3vw,40px);display:grid;gap:20px;align-content:start}
.calc__kids,.calc__mc{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:15px;color:var(--mute)}
.calc__out{padding:clamp(20px,3vw,40px);background:var(--m800);color:#DCEBE4;display:grid;gap:14px;align-content:start;clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%)}
.calc__k{font-size:15px;color:#A9C5B9}
.calc__pay{font-size:clamp(40px,4.6vw,64px);line-height:1;font-weight:680;letter-spacing:-.035em;font-variation-settings:var(--sharp);color:#fff}
.calc__dl{display:grid;gap:8px;margin-top:6px}
.calc__dl>div{display:flex;justify-content:space-between;gap:16px;font-size:15px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12)}
.calc__dl dt{color:#A9C5B9}.calc__dl dd{color:#fff;font-weight:520;text-align:right}
.vs{display:grid;gap:6px;margin-top:6px}
.vs__row{display:flex;justify-content:space-between;font-size:14.5px;color:#A9C5B9}.vs__row b{color:#fff;font-weight:560}
.vs__bar{height:8px;background:rgba(255,255,255,.1)}
.vs__bar i{display:block;height:100%;width:0;background:#8FB0A2;transition:width .5s var(--ease)}
.vs__bar--own i{background:var(--cit)}
.calc__out .note{color:#A9C5B9}
.calc__out .btn--main{--bg:var(--cit);--fg:var(--m950);margin-top:6px}
.calc__out .btn--main:hover{--bg:#FFC85A}
.ways{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1.5px solid var(--ink)}
.ways li{padding:22px 24px 0 0}
.ways li+li{padding-left:24px;border-left:1px solid var(--line)}
.ways h3{font-size:19px;font-weight:600;color:var(--ink);font-variation-settings:var(--sharp);letter-spacing:-.01em}
.ways p{margin-top:6px;font-size:15.5px;color:var(--mute);max-width:36ch}

/* ───── подбор ───── */
.quiz{padding:var(--sec) 0;background:var(--white)}
.quiz__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:start}
.qz{background:var(--paper);padding:clamp(20px,3vw,40px);min-height:380px;display:grid;align-content:start;gap:22px;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
.qz__prog{display:flex;gap:6px}
.qz__prog i{flex:1;height:3px;background:var(--line)}.qz__prog i.is-on{background:var(--m500)}
.qz__q{font-size:clamp(22px,2.2vw,30px);line-height:1.15;font-weight:620;letter-spacing:-.02em;font-variation-settings:var(--sharp);color:var(--ink)}
.qz__opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.qz__opt{min-height:60px;padding:12px 16px;text-align:left;background:var(--white);box-shadow:inset 0 0 0 1.5px var(--line);font-size:16px;transition:box-shadow .2s,background .2s}
.qz__opt:hover{box-shadow:inset 0 0 0 1.5px var(--m400)}
.qz__opt.is-on{background:var(--ink);color:#fff;box-shadow:none}
.qz__nav{display:flex;justify-content:space-between;align-items:center;gap:12px}
.qz__res{display:grid;gap:10px}
.qz__res .flat{grid-template-columns:10px minmax(0,1fr) auto;border-color:var(--line);padding:12px 0}
.qz__res .flat:hover{background:var(--white)}
.qz__res .flat__t{color:var(--ink)}.qz__res .flat__t small,.qz__res .flat__m{color:var(--mute)}
.qz__res .flat__p{color:var(--ink)}.qz__res .flat__p small{color:var(--mute)}
.qz__res .flat__dot{box-shadow:none}

/* ───── отзывы ───── */
.voices{padding:var(--sec) 0;background:var(--paper)}
.voices__grid{margin:clamp(28px,4vw,52px) 0 18px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:var(--line);border-top:1.5px solid var(--ink)}
.voice{grid-column:span 3;background:var(--paper);padding:26px 26px 30px 0;font-size:16.5px;line-height:1.45;color:var(--text)}
.voice+.voice{padding-left:26px}
.voice--big{grid-column:span 12;padding:30px 0 34px;font-size:clamp(22px,2.6vw,36px);line-height:1.2;font-weight:480;letter-spacing:-.02em;font-variation-settings:var(--sharp);color:var(--ink);max-width:none}
.voice--big p{max-width:32ch}
.voice--big+.voice{padding-left:0}

/* ───── просмотр ───── */
.visit{position:relative;padding:var(--sec) 0;background:var(--m900);color:#DCEBE4;overflow:hidden}
.visit::before{content:"";position:absolute;left:-12%;bottom:-40%;width:min(70vw,900px);aspect-ratio:1;opacity:.32;
  background:repeating-radial-gradient(circle at 40% 50%,var(--m700) 0 9px,var(--m600) 9px 15px,var(--m800) 15px 26px,var(--m500) 26px 29px,var(--m700) 29px 44px);filter:url(#malachite);clip-path:polygon(20% 0,100% 10%,90% 80%,40% 100%,0 60%)}
.visit__grid{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);align-items:start}
.visit .h2{color:#fff;max-width:16ch}.visit .sub{color:#A9C5B9}
.contacts{margin-top:32px;display:grid;gap:0;max-width:520px;border-top:1px solid rgba(255,255,255,.2)}
.contacts>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.contacts dt{color:#A9C5B9;font-size:15px}.contacts dd{color:#fff;font-weight:480}.contacts a{text-decoration:none}
.contacts a:hover{text-decoration:underline}
.msgr{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

.form{display:grid;gap:16px}
.form h3{font-size:26px;line-height:1.1;font-weight:640;letter-spacing:-.02em;font-variation-settings:var(--sharp);color:var(--ink)}
.form__sub{color:var(--mute);font-size:15.5px;margin-top:-6px}
.form--card{background:var(--white);color:var(--text);padding:clamp(22px,3vw,40px);clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}
.field{display:grid;gap:6px}
.field>span{font-size:14px;color:var(--mute)}
.field input{height:54px;padding:0 16px;background:var(--paper);border:1.5px solid transparent;font-size:17px;outline:0;transition:border-color .2s,background .2s}
.field input:focus{border-color:var(--m500);background:#fff}
.field input.is-bad{border-color:#C8452F;background:#FDF3F1}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.agree{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:13.5px;line-height:1.4;color:var(--mute);cursor:pointer}
.agree input{width:22px;height:22px;margin:0;accent-color:var(--m600)}
.agree.is-bad span{color:#C8452F}
.form__msg{font-size:14.5px;color:#C8452F;min-height:0}
.form__msg:empty{display:none}
.form__fav{font-size:14.5px;padding:10px 14px;background:var(--m100);color:var(--ink)}
.done{display:grid;justify-items:start;gap:14px;padding:8px 0}
.done__gem{width:64px;height:64px;fill:var(--m500)}
img.done__gem{width:96px;height:96px;object-fit:contain}
.done h3{font-size:30px;font-weight:650;letter-spacing:-.02em;font-variation-settings:var(--sharp);color:var(--ink)}

/* ───── подвал ───── */
.foot{background:var(--m950);color:#9DB8AC;padding:48px 0 calc(48px + env(safe-area-inset-bottom));font-size:14px;line-height:1.5}
.foot__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:32px}
.logo--foot{color:#fff;margin-bottom:12px}.logo--foot .logo__gem{fill:var(--m400)}
.foot__legal{display:grid;gap:10px;max-width:74ch}
.foot a{color:#DCEBE4}

/* ───── окна-диалоги ───── */
dialog{border:0;padding:0;color:var(--text);max-width:none;max-height:none}
dialog::backdrop{background:rgba(5,26,20,.72);backdrop-filter:blur(4px)}
.sheet{width:min(1200px,calc(100vw - 32px));max-height:calc(100dvh - 32px);background:var(--white);overflow:auto;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%)}
.sheet[open]{animation:sheetIn .35s var(--ease)}
@keyframes sheetIn{from{opacity:0;transform:translateY(18px) scale(.985)}}
.sheet__in{position:relative;padding:clamp(18px,2.6vw,36px)}
.sheet__x{position:absolute;top:10px;right:34px;z-index:3;width:44px;height:44px;display:grid;place-items:center;color:var(--ink);background:var(--white)}
.sheet__x svg{width:24px;height:24px}
.sheet--form{width:min(480px,calc(100vw - 24px))}
.sheet--form .sheet__in{padding:clamp(22px,4vw,40px)}
.sheet--form h3{padding-right:28px}
.fl{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(18px,3vw,44px);align-items:start}
.fl__plan{min-width:0}
.fl__pane{margin-top:14px}
.planbox{position:relative;display:grid;place-items:center;min-height:320px;background:#FBFCFB;box-shadow:inset 0 0 0 1px var(--line);padding:18px}
.planbox img{max-height:62vh;width:auto;mix-blend-mode:multiply}
.planbox__err{color:var(--mute);text-align:center}
.fl__gem{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--mute)}
.fl__gem i{width:10px;height:10px;background:var(--c);transform:rotate(45deg)}
.fl__title{margin-top:8px;font-size:clamp(28px,3vw,42px);line-height:1.02;font-weight:660;letter-spacing:-.03em;font-variation-settings:var(--sharp);color:var(--ink)}
.fl__meta{margin-top:8px;color:var(--mute)}
.fl__note{margin-top:10px;font-size:15.5px;color:var(--text)}
.fl__price{margin-top:18px;padding-top:16px;border-top:1.5px solid var(--ink)}
.fl__p{font-size:clamp(30px,3.2vw,44px);line-height:1;font-weight:690;letter-spacing:-.035em;font-variation-settings:var(--sharp);color:var(--ink)}
.fl__p s{display:block;font-size:16px;font-weight:400;color:var(--mute);letter-spacing:0;margin-bottom:6px}
.fl__p em{font-style:normal;font-size:.5em;font-weight:500;letter-spacing:0;color:var(--mute)}
.fl__pm{margin-top:6px;font-size:14.5px;color:var(--mute)}
.opt{display:flex;gap:10px;align-items:center;margin-top:14px;padding:12px 14px;background:var(--paper);cursor:pointer;font-size:15px}
.opt input{width:20px;height:20px;margin:0;accent-color:var(--m600)}
.opt b{font-weight:560;color:var(--ink);white-space:nowrap}
.rooms{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px}
.rooms li{padding:5px 10px;background:var(--m100);font-size:13.5px;color:var(--ink)}
.rooms li b{font-weight:600}
.fl__pay{margin-top:16px;padding:14px 16px;box-shadow:inset 0 0 0 1px var(--line)}
.fl__payrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:14.5px;color:var(--mute)}
.fl__pay .chips>button{min-height:34px;min-width:36px;padding:0 8px;font-size:14px}
.fl__paysum{margin-top:10px;font-size:15px;color:var(--text)}
.fl__paysum b{font-size:22px;font-weight:660;letter-spacing:-.02em;color:var(--ink)}
.fl__cta{margin-top:18px;display:grid;gap:10px}
.fl__tools{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px 16px}
.tool{display:inline-flex;align-items:center;gap:7px;min-height:40px;font-size:14.5px;color:var(--m600)}
.tool:hover{color:var(--m500)}
.tool svg{width:20px;height:20px}
.tool.is-on{color:#D1436F}.tool.is-on svg path{fill:currentColor}
.fl__nav{margin-top:14px;display:flex;justify-content:space-between;font-size:14.5px}
.onfloor{padding:22px;background:var(--m900);color:#DCEBE4}
.onfloor__row{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:14px 0}
.onfloor .cell{height:54px;display:grid;place-items:center;font-size:12px;color:rgba(255,255,255,.55)}
.onfloor .cell--a{background:var(--c);color:var(--m950);font-weight:600}
.onfloor .cell--b{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 55%,transparent) 0 4px,transparent 4px 8px);color:#fff}
.onfloor .cell.is-me{outline:3px solid #fff;outline-offset:2px;z-index:1}
.onfloor p{font-size:14.5px;color:#A9C5B9}
.onfloor h4{margin:0;font-size:18px;font-weight:560;color:#fff}

.drawer{margin:0 0 0 auto;width:min(460px,100vw);height:100dvh;max-height:100dvh;background:var(--m900);color:#DCEBE4}
.drawer[open]{animation:drawerIn .35s var(--ease)}
@keyframes drawerIn{from{transform:translateX(40px);opacity:0}}
.drawer__in{position:relative;padding:28px 24px;display:grid;gap:16px;align-content:start;min-height:100%}
.drawer h3{font-size:26px;font-weight:640;color:#fff;font-variation-settings:var(--sharp);letter-spacing:-.02em}
.drawer .sheet__x{right:12px;background:transparent;color:#fff}
.drawer__empty{color:#A9C5B9}
.flats--fav{max-height:none}

.toast{position:fixed;left:50%;bottom:88px;z-index:80;transform:translateX(-50%);padding:12px 18px;background:var(--ink);color:#fff;font-size:15px;box-shadow:0 14px 40px -10px rgba(0,0,0,.5);animation:rise .3s var(--ease)}

.dock{display:none}

/* ───── появление секций: только заголовок, один раз ───── */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.is-in{opacity:1;transform:none}

/* ───── адаптив ───── */
@media (max-width:1100px){
  .nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);padding:8px var(--pad) 18px;box-shadow:0 20px 40px -20px rgba(8,42,32,.4)}
  .nav.is-open{display:flex}
  .nav a{padding:13px 0;font-size:17px;border-bottom:1px solid var(--line)}
  .top__burger{display:grid}
  .top__phone{margin-left:auto}
  .gems{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  body{font-size:16px;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .hero__grid,.pick__body,.furnish__grid,.finish__grid,.house__grid,.area__grid,.calc,.quiz__grid,.visit__grid,.fl,.foot__grid{grid-template-columns:minmax(0,1fr)}
  .top{background:rgba(241,245,242,.94);backdrop-filter:saturate(1.4) blur(14px);height:60px}
  html{scroll-padding-top:66px}
  .hero{padding-top:72px}
  .hero__media{order:-1}
  .hero__cut{aspect-ratio:4/3;max-height:40vh}
  .hero__title{font-size:clamp(34px,9.6vw,56px)}
  .fl__plan>.chips{padding-right:44px}
  .fl__plan>.chips>button{padding:0 11px;font-size:14px}
  .sheet--form h3{padding-right:36px}
  .hero__bands{width:110vw;right:-30%;top:0}
  .best{left:12px;bottom:-22px;padding:12px 18px 12px 14px}
  .best__p{font-size:22px}
  .hero__text{margin-top:30px}
  .hero__lead{max-width:none}
  .top__cta{display:none}
  .top__phone{font-size:15px}
  .facade-wrap{position:static}
  .facade{padding:10px 8px 10px 2px;gap:2px}
  .frow{grid-template-columns:22px repeat(10,minmax(0,1fr));gap:2px}
  .cell{height:19px}.frow__n{line-height:19px;font-size:10.5px;padding-right:4px}
  .cell--a:hover{transform:none;outline:0}
  .flats{max-height:none}
  .filt{grid-template-columns:minmax(0,1fr)}
  .view__in{grid-template-columns:minmax(0,1fr)}
  .view__ctl{justify-items:start}
  .spec>div,.contacts>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .ways{grid-template-columns:minmax(0,1fr)}
  .ways li,.ways li+li{padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}
  .voice,.voice+.voice{grid-column:span 12;padding:20px 0}
  .qz__opts{grid-template-columns:minmax(0,1fr)}
  .thumbs{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
  .sheet{width:100vw;max-height:100dvh;height:100dvh;clip-path:none}
  .sheet--form{height:auto;width:calc(100vw - 20px);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
  .sheet__x{right:8px;top:6px}
  .planbox{min-height:220px;padding:10px}
  .planbox img{max-height:46vh}
  .dock{position:fixed;inset:auto 0 0;z-index:45;display:grid;grid-template-columns:1fr 1fr 1.3fr;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--white);box-shadow:0 -1px 0 var(--line),0 -12px 30px -18px rgba(8,42,32,.4)}
  .dock a,.dock button{display:grid;place-items:center;align-content:center;gap:2px;font-size:12.5px;text-decoration:none;color:var(--ink)}
  .dock svg{width:22px;height:22px}
  .dock__main{background:var(--m600);color:#fff!important;font-size:15.5px!important;font-weight:560}
  .toast{bottom:calc(78px + env(safe-area-inset-bottom))}
  .pl__add{width:80px}
  .rings{display:none}
  .walk{display:grid;gap:0;border-top:1.5px solid var(--ink)}
  .walk li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px}
  .walk b{font-weight:620;color:var(--ink)}
  .rings-wrap .note{text-align:left}
}
@media (max-width:520px){
  .gems{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__cta .btn{flex:1 1 100%}
  .flat{grid-template-columns:10px minmax(0,1fr) auto 34px;gap:2px 10px}
  .flat__p{font-size:15.5px}
  .pl__bar .btn{flex:1}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}
