
:root{--ink:#17352A;--acc:#2F6B4A;--acc-h:#285B3F;--acc2:#B5D08A;--tint:#DCE7D0;--wash:#EAF0E4;--line:#CBD8C0;
--txt:#17352A;--mut:#2C6550;--white:#fff;
--hh:72px;--r:16px;--r2:24px;--sh:0 10px 30px -12px #17352A33;--head:"Prata",sans-serif;--body:"Commissioner",sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:400 16px/1.55 var(--body);color:var(--txt);background:var(--wash);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--head);font-weight:400;line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(28px,min(4.2vw,6.4vh),58px)} h1 em{font-style:normal;color:var(--acc)}
h2{font-size:clamp(28px,3.2vw,42px);margin-bottom:10px} h3{font-size:19px;line-height:1.25}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}
.ico{width:22px;height:22px;flex:none} .arr{width:18px;height:18px;flex:none}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--acc);text-transform:uppercase;letter-spacing:.06em;margin-bottom:clamp(8px,1.6vh,16px)}
.eyebrow .ico{width:18px;height:18px}
.lead{font-size:clamp(15px,min(1.3vw,2.1vh),19px);color:var(--mut);max-width:52ch;margin:clamp(10px,1.8vh,18px) 0 clamp(14px,2.6vh,28px)}
/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;font:600 16px var(--body);border-radius:999px;padding:0 24px;height:52px;transition:background .2s,transform .15s,box-shadow .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)} .btn:focus-visible{outline:3px solid var(--acc2);outline-offset:2px}
.btn-acc{background:var(--acc);color:#fff} .btn-acc:hover{background:var(--acc-h)}
.btn-ink{background:var(--ink);color:#fff} .btn-soft{background:var(--tint);color:var(--ink)} .btn-soft:hover{background:var(--line)}
.btn-sm{height:42px;padding:0 18px;font-size:15px} .btn-lg{height:58px;padding:0 30px;font-size:17px}
/* шапка */
.hdr{position:sticky;top:0;z-index:100;background:#EAF0E4EE;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:var(--hh)}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--head);font-weight:700;font-size:22px;line-height:1;color:var(--ink)}
.logo svg{width:40px;height:33px} .logo b{color:var(--acc)} .logo small{display:block;font:500 10px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-top:5px}
.nav{display:flex;gap:6px;margin-left:12px} .nav a{padding:10px 14px;border-radius:999px;font-weight:500;color:var(--txt)}
.nav a:hover,.nav a.cur{background:var(--tint);color:var(--ink)}
.hdr-r{margin-left:auto;display:flex;align-items:center;gap:16px}
.tel{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)} .tel .ico{width:18px;height:18px;color:var(--acc)}
.hdr-row{display:none} .drawer{display:none} .tabbar{display:none}
.burger{display:none;background:none;border:0;color:var(--ink);cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center}
/* hero — общее */
.hero{position:relative;display:flex;flex-direction:column;height:calc(100svh - var(--hh));min-height:560px;max-height:860px;padding:clamp(16px,3vh,40px) 0 clamp(16px,3vh,32px)}
.hero>.wrap:first-child{flex:1;min-height:0;width:100%} .hero>.wrap:last-child{flex:none;width:100%}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:stretch;height:100%}
.hero-txt{align-self:center;min-height:0} .hero-pic{min-height:0;display:flex}
.hero-pic img{width:100%;height:100%;object-fit:cover;border-radius:var(--r2)}
.dirs{display:grid;gap:clamp(8px,1.2vh,12px);max-width:520px}
.dir{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(9px,1.4vh,14px) 18px;transition:border-color .2s,box-shadow .2s,transform .15s}
.dir:hover{border-color:var(--acc);box-shadow:var(--sh);transform:translateY(-1px)}
.dir .ico{color:var(--acc);width:26px;height:26px} .dir span{flex:1} .dir b{display:block;font-size:17px} .dir small{color:var(--mut);font-size:14px} .dir .arr{color:var(--mut)}
/* модуль бронирования */
.book{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:10px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:10px;margin:clamp(14px,2.4vh,28px) 0 0;box-shadow:var(--sh);position:relative;z-index:2}
.book label{display:flex;flex-direction:column;gap:4px;padding:8px 14px;border-radius:var(--r);background:var(--tint)}
.book label>span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--mut)} .book .ico{width:16px;height:16px;color:var(--acc)}
.book input,.book select{border:0;background:none;font:600 17px var(--body);color:var(--ink);width:100%;outline:none;min-height:24px}
.book .btn{height:auto;align-self:stretch;border-radius:var(--r)}
/* раскладки hero по вариантам */
.v-split .hero{background:var(--tint)}
.v-card .hero{padding-top:0} .v-card .hero-grid{display:block;position:relative}
.v-card .hero-pic{height:100%} .v-card .hero-pic img{border-radius:0 0 var(--r2) var(--r2)}
.v-card .hero-txt{position:absolute;left:calc(clamp(16px,3vw,40px) + clamp(20px,3vw,40px));bottom:clamp(20px,3.5vh,36px);background:#EAF0E4F2;backdrop-filter:blur(8px);padding:28px 32px;border-radius:var(--r2);max-width:600px;box-shadow:var(--sh)}
.v-card .hero-txt .lead{font-size:clamp(14px,1.9vh,16px)} .v-card h1{font-size:clamp(26px,min(3vw,5vh),42px)}
.v-card .dir{padding:11px 16px} .v-card .dir b{font-size:16px}
.v-card .book{margin-top:clamp(12px,2vh,20px)}
.v-frame .hero{background:linear-gradient(180deg,var(--tint) 0 62%,var(--wash) 62%)}
.v-frame .hero-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:clamp(14px,2.4vh,28px);text-align:center;justify-items:center}
.v-frame .hero-txt{max-width:820px} .v-frame .lead{margin-inline:auto} .v-frame .dirs{grid-template-columns:1fr 1fr;max-width:760px;text-align:left}
.v-frame .hero-pic{width:100%;min-height:160px} .v-frame .hero-txt h1{font-size:clamp(28px,min(3.6vw,5.6vh),52px)}
.v-frame .book{max-width:1100px;margin-inline:auto}
/* overlay: фото на весь экран, текст без подложки */
.v-overlay .hero,.v-card.p-home .hero{padding-top:0}
.v-overlay .hero>.wrap:first-child{max-width:none;padding:0} .v-card .hero>.wrap:first-child{max-width:none;padding:0}
.v-overlay .hero-grid{display:block;position:relative} .v-overlay .hero-pic{height:100%} .v-overlay .hero-pic img{border-radius:0 0 var(--r2) var(--r2)}
.v-overlay .hero-txt{position:absolute;left:0;right:0;bottom:clamp(24px,4vh,44px);padding:0 clamp(16px,3vw,40px);max-width:1240px;margin:0 auto;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35),0 4px 28px rgba(0,0,0,.35)}
.v-overlay .hero-txt h1{color:#fff;max-width:14ch} .v-overlay h1 em{color:var(--acc2)} .v-overlay .eyebrow{color:#fff} .v-overlay .lead{color:#fff;opacity:.94}
.v-overlay .dirs{grid-template-columns:1fr 1fr;max-width:720px}
.v-overlay .dir{background:rgba(255,255,255,.68);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:rgba(255,255,255,.55);text-shadow:none;color:var(--ink)}
.v-overlay .dir:hover{background:rgba(255,255,255,.86)}
.v-card.p-home .hero-txt{background:var(--wash)}
/* виджет HomeReserve */
.book-hr{display:block;padding:8px}
#hr-widget .search,#hr-widget .search__container,#hr-widget .hr-search-container{max-width:none!important;width:100%!important;margin:0!important}
#hr-widget .search__container{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;gap:0!important}
#hr-widget .search__input,#hr-widget .select__input{background:transparent!important;border:0!important;border-right:1px solid var(--line)!important}
#hr-widget .search__input-mobile,#hr-widget .search__input:last-child,#hr-widget .select__input_last{border-right:0!important}
#hr-widget .button-primary,#hr-widget .search__input-button{background:var(--acc)!important;border-color:var(--acc)!important;border-radius:12px!important;min-width:180px!important;padding-inline:32px!important;margin-left:10px!important}
#hr-widget .search__input,#hr-widget .select__input{padding-inline:20px!important}
#hr-widget .button-primary:hover{background:var(--acc-h)!important}
#hr-widget *{font-family:var(--body)!important}
/* hero собственникам */
.hero-own .dirs{display:flex;flex-wrap:wrap;max-width:none} .hero-own .btn-soft{background:#fff;border:1px solid var(--line)} .hero-own .btn-soft:hover{background:var(--tint)}
.v-split .hero-own .hero-pic img{border-radius:var(--r2)}

/* инфо */
.info{padding:clamp(56px,8vh,96px) 0 clamp(40px,6vh,72px)}
.sec-head{max-width:700px;margin-bottom:32px} .sec-head p{color:var(--mut);font-size:18px}
.sec-head.row{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:20px}
.link{display:inline-flex;align-items:center;gap:6px;color:var(--acc);font-weight:600;padding-bottom:12px}
.pills{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pill{display:flex;gap:14px;align-items:flex-start;background:var(--tint);border-radius:var(--r);padding:20px}
.pill .ico{width:40px;height:40px;padding:9px;border-radius:12px;background:var(--acc);color:#fff}
.pill b{display:block;font-size:16px;margin-bottom:4px} .pill span{color:var(--mut);font-size:14px;line-height:1.4}
.feats{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:14px}
.feats li{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:18px 10px;border:1px solid var(--line);border-radius:var(--r);background:#fff;font-size:14px;font-weight:500;line-height:1.3}
.feats .ico{width:30px;height:30px;color:var(--acc);stroke-width:1.6}
/* квартиры */
.flats{padding:20px 0 clamp(56px,8vh,96px)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;transition:box-shadow .2s,transform .15s}
.card:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%} .card-b{padding:18px 20px 20px} .card-b p{color:var(--mut);font-size:14px;margin:4px 0 14px}
.card-f{display:flex;align-items:center;justify-content:space-between} .card-f b{font-size:22px;font-family:var(--head);font-variant-numeric:tabular-nums} .card-f small{font:500 14px var(--body);color:var(--mut);margin-left:4px}
/* cta собственникам */
.own-cta{padding:clamp(16px,3vh,32px) 0 clamp(64px,9vh,112px)}
.own-box{background:var(--tint);border-radius:var(--r2);display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden}
.own-txt{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.own-txt .eyebrow{color:var(--acc)} .own-txt h2{max-width:16ch} .own-txt p:not(.eyebrow){color:var(--mut);max-width:48ch;margin-bottom:28px}
.own-pic{min-height:300px} .own-pic img{width:100%;height:100%;object-fit:cover}
/* страница собственников */
.why{padding:clamp(48px,7vh,88px) 0} .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.why-c{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:26px 24px;min-height:260px;display:flex;flex-direction:column}
.why-c.hi{background:var(--tint)} .why-c h3{margin:18px 0 auto} .why-c p{color:var(--mut);font-size:15px;margin-top:22px}
.ico-box{width:46px;height:46px;padding:11px;border-radius:12px;background:var(--acc);color:#fff}
.steps{padding:0 0 clamp(48px,7vh,88px)} .step-row{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.step-row li{border-top:3px solid var(--acc);padding-top:16px} .step-row b{font-family:var(--head);color:var(--acc);font-size:15px} .step-row h3{margin:8px 0 8px} .step-row p{color:var(--mut);font-size:15px}
.lead-sec{padding:0 0 clamp(56px,8vh,96px)}
.lead-box{border-radius:var(--r2);overflow:hidden;background-size:cover;background-position:center;position:relative}
.lead-box::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#EAF0E4F7 0 42%,#EAF0E466 100%)}
.lead-in{position:relative;padding:clamp(32px,5vw,64px);max-width:860px} .lead-in p{color:var(--mut);margin:8px 0 24px;font-size:17px}
.lead-f{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:12px}
.lead-f label{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:11px 20px;display:flex;flex-direction:column;gap:2px}
.lead-f label span{font-size:12px;font-weight:600;color:var(--mut)} .lead-f input{border:0;outline:0;font:500 16px var(--body);color:var(--ink);background:none}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--mut);margin-top:12px;max-width:72ch;cursor:pointer} .agree+.agree{margin-top:8px} .agree a{text-decoration:underline;color:var(--ink)} .agree a:hover{color:var(--acc)}
.agree input{position:absolute;opacity:0;width:0;height:0} .agree .chk{flex:none;width:20px;height:20px;margin-top:1px;border:1.5px solid var(--acc);border-radius:6px;background:#fff;display:grid;place-items:center;color:#fff;transition:background .15s,border-color .15s}
.agree .chk svg{width:13px;height:13px;stroke-width:3;opacity:0;transform:scale(.6);transition:opacity .15s,transform .15s} .agree input:checked+.chk{background:var(--acc);border-color:var(--acc)} .agree input:checked+.chk svg{opacity:1;transform:scale(1)}
.agree input:focus-visible+.chk{box-shadow:0 0 0 3px var(--tint)}
/* появление при скролле */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)} .rv.in{opacity:1;transform:none}
.doc .rv{transform:none;transition:opacity .5s}
/* документы */
.doc{padding:clamp(40px,6vh,72px) 0 clamp(56px,8vh,96px)} .doc-wrap{max-width:820px} .doc h1{font-size:clamp(30px,3.6vw,44px);margin-bottom:6px} .doc .meta{color:var(--mut);font-size:15px;margin-bottom:28px}
.doc-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px} .doc-nav a{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:600} .doc-nav a.cur{background:var(--acc);border-color:var(--acc);color:#fff}
.doc-body{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:clamp(24px,4vw,48px)} .doc-body h2{font-size:22px;margin:32px 0 10px} .doc-body h2:first-child{margin-top:0}
.doc-body p,.doc-body li{font-size:16px;line-height:1.6;color:#2B3A33} .doc-body p{margin:0 0 12px} .doc-body ol,.doc-body ul{margin:0 0 12px 22px} .doc-body li{margin-bottom:6px}
.doc-body .ph{background:#FFF4CC;border-radius:4px;padding:0 4px} .doc-body .req{margin-top:24px;padding:16px 18px;background:var(--wash);border-radius:var(--r-m);font-size:15px;line-height:1.6} .doc-body table{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:15px} .doc-body td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top} .doc-body td:first-child{color:var(--mut);width:38%}
/* футер */
.foot{background:var(--ink);color:#fff;padding:48px 0 0} .foot .wrap:first-child{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr 1fr;gap:28px;padding-bottom:36px}
.foot .logo{color:#fff} .foot .logo svg path{stroke:#fff} .foot .logo b{color:var(--acc2)} .foot .logo small{color:#ffffff99}
.f-brand p{color:#ffffffaa;margin-top:14px;max-width:34ch;font-size:15px}
.f-col{display:flex;flex-direction:column;gap:9px;font-size:15px;color:#ffffffcc} .f-col b{color:#fff;margin-bottom:4px} .f-col a:hover{color:var(--acc2)}
.f-low{border-top:1px solid #ffffff22;padding-top:18px;padding-bottom:22px;display:flex;justify-content:space-between;font-size:13px;color:#ffffff88;flex-wrap:wrap;gap:8px}
/* адаптив */
@media (max-width:1024px){
 .pills{grid-template-columns:1fr 1fr} .feats{grid-template-columns:repeat(3,1fr)} .why-grid{grid-template-columns:1fr 1fr}
 .step-row{grid-template-columns:1fr 1fr} .book{grid-template-columns:1fr 1fr} .book .btn{grid-column:1/-1;height:56px}
 .nav{display:none} .hdr .wrap{gap:14px;height:62px}
 .hdr-row{display:flex;gap:8px;overflow-x:auto;padding:0 16px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch} .hdr-row::-webkit-scrollbar{display:none}
 .hdr-row a{flex:none;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap}
 .hdr-row a.cur{background:var(--ink);color:#fff;border-color:var(--ink)} .hdr-row .ico{width:16px;height:16px;color:var(--acc)} .hdr-row a.cur .ico{color:var(--acc2)}
 .hero{height:auto;min-height:0;max-height:none;padding-top:20px;padding-bottom:28px} .hero-grid{grid-template-columns:1fr;height:auto;display:grid;gap:20px} .hero-pic{order:-1} .hero-pic img{height:auto;aspect-ratio:16/10}
 .v-split .hero-pic img,.v-frame .hero-pic img{border-radius:var(--r2)} .hero-txt{align-self:start}
 h1{font-size:clamp(30px,8vw,40px)} .lead{margin:12px 0 18px} .dirs{max-width:none}
 .v-card .hero{padding-top:0} .v-card .hero-grid{display:flex;flex-direction:column;gap:0}
 .v-overlay .hero{padding-top:0} .v-overlay .hero-pic img{aspect-ratio:4/5;border-radius:0 0 var(--r2) var(--r2)} .v-overlay .hero-txt{bottom:20px;padding:0 16px} .v-overlay .dirs{grid-template-columns:1fr} .v-overlay h1{max-width:none} .v-card .hero-pic{height:auto} .v-card .hero-pic img{border-radius:0 0 var(--r2) var(--r2)}
 .v-frame .hero-grid{grid-template-rows:auto auto}
 .v-card .hero-txt{position:static;max-width:none;margin-top:-48px;margin-inline:12px;padding:22px 20px} .v-card h1{font-size:clamp(28px,7.4vw,38px)} .v-frame .dirs{grid-template-columns:1fr}
 .v-frame .hero{background:var(--tint)}
 .cards{grid-template-columns:1fr 1fr} .foot .wrap:first-child{grid-template-columns:1fr 1fr}
 .own-box{grid-template-columns:1fr} .own-pic{order:-1;min-height:0} .own-pic img{aspect-ratio:16/10;height:auto} .lead-f{grid-template-columns:1fr}
}
@media (max-width:640px){
 .cards{grid-template-columns:1fr} .feats{grid-template-columns:1fr 1fr} .pills,.why-grid,.step-row{grid-template-columns:1fr}
 .book{grid-template-columns:1fr 1fr;padding:8px;gap:8px} .book label{padding:8px 12px} .book input,.book select{font-size:16px} .hdr-r .btn{display:none} .v-card .hero-pic img{aspect-ratio:4/3}
 .why-c{min-height:0;padding:20px} .why-c h3{margin:14px 0 8px} .why-c p{margin-top:0}
 .info{padding-top:48px} .sec-head{margin-bottom:22px} .sec-head p{font-size:16px} h2{font-size:clamp(26px,7vw,32px)}
 .own-cta{padding-bottom:56px} .own-txt{padding:24px 20px 28px} .own-txt h2{max-width:none} .own-txt .btn{width:100%}
 .lead-in{padding:24px 18px} .lead-f .btn{width:100%} .agree{font-size:12px} .doc-body{padding:20px 16px}
 .tel{height:40px;white-space:nowrap} .tel span{display:inline;font-size:14px} .hdr-r{gap:8px} .logo{font-size:19px;gap:8px} .logo svg{width:32px;height:27px} .logo small{font-size:9px;margin-top:3px}
 .foot{padding-top:36px} .foot .wrap:first-child{gap:24px;padding-bottom:24px}
 .foot .wrap:first-child{grid-template-columns:1fr} .lead-box::before{background:#EAF0E4F0}
 .hero-own .dirs .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important} html{scroll-behavior:auto}}

/* ===== фисташка ===== */

.intro{position:fixed;inset:0;z-index:2147483000;background:var(--tint);display:grid;place-items:center;transition:transform .7s cubic-bezier(.7,0,.3,1),opacity .5s ease .2s}
.intro.out{transform:translateY(-100%);opacity:0}
.intro svg{width:min(72vw,640px);height:auto;overflow:visible}
.intro .ink{fill:#0C3E7C} .intro .acc{fill:#0FBF1D} .intro .st{fill:none;stroke-width:18} .intro .ink.st{stroke:#0C3E7C} .intro .acc.st{stroke:#0FBF1D}
.intro path{opacity:0;animation:intro-up .6s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--d)}
.intro .roof{transform-origin:520px 475px;transform:scaleY(0);animation:intro-roof .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--d)}
.intro .win{transform-origin:508px 464px;transform:scale(0);animation:intro-pop .4s cubic-bezier(.3,1.4,.5,1) forwards;animation-delay:var(--d)}
.intro .tag{animation:intro-fade .6s ease forwards;animation-delay:var(--d)}
@keyframes intro-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes intro-roof{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:none}}
@keyframes intro-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
@keyframes intro-fade{from{opacity:0}to{opacity:1}}
html.intro-on{overflow:hidden}
@media (prefers-reduced-motion:reduce){.intro{display:none}}

:root{--wrap:1200px;--gut:clamp(20px,4vw,48px);--r-s:10px;--r-m:14px;--r-l:20px;--r-xl:24px}
.wrap{max-width:calc(var(--wrap) + 2*var(--gut));padding:0 var(--gut)}
h1,h2,h3{font-weight:400;letter-spacing:0}
h1{line-height:1.02} h1 em{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:1.12em;letter-spacing:-.01em}
h2{font-size:clamp(28px,3vw,40px)} h3{font-family:var(--body);font-weight:600}
.eyebrow{font-family:var(--body);font-size:12px;letter-spacing:.16em;font-weight:600}
.lead{font-weight:400}
.btn{border-radius:var(--r-m);font-weight:600} .btn-lg{height:56px;padding:0 26px;font-size:16px} .btn-sm{border-radius:var(--r-s)} .btn .ico{width:18px;height:18px}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)} .btn-ghost:hover{background:var(--ink);color:#fff}
.dirs-pills{display:flex;flex-wrap:wrap;gap:12px;max-width:none}
.hdr{background:#EAF0E4F2} .hdr .wrap{height:80px} .nav a{border-radius:var(--r-s)}
.logo-svg .lg{height:52px;width:auto;display:block} .hdr .lg .ink{fill:#0C3E7C} .hdr .lg .acc{fill:#0FBF1D} .lg .st{fill:none;stroke-width:18} .hdr .lg .ink.st{stroke:#0C3E7C} .hdr .lg .acc.st{stroke:#0FBF1D}
.foot .lg .ink{fill:#fff} .foot .lg .ink.st{stroke:#fff} .foot .lg .acc{fill:var(--acc2)} .foot .lg .acc.st{stroke:var(--acc2)} .foot .logo-svg .lg{height:56px}
/* страховка от горизонтального скролла (жалоба 30.08, не воспроизвелась; clip не ломает sticky) */
html,body{overflow-x:clip}
[id]{scroll-margin-top:96px}
/* шапка: меню из 6 разделов + телефон, мессенджеры, язык */
.hdr .wrap{gap:14px}
.nav{gap:0;margin-left:2px} .nav a{padding:8px 9px;font-size:14px;white-space:nowrap}
.hdr-r{gap:8px;flex:none}
.tel-pill{display:inline-flex;align-items:center;height:38px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}
.tel-pill:hover{border-color:var(--acc)}
.msgr{width:34px;height:34px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:transform .15s,filter .15s}
.msgr:hover{transform:translateY(-1px);filter:brightness(1.07)}
.msgr svg{width:19px;height:19px;display:block}
.m-max{background:linear-gradient(135deg,#3B7BFF,#8B5CF6)} .m-vb{background:#7360F2} .m-tg{background:#29A9EB} .m-wa{background:#25D366}
.m-tel{background:var(--acc);display:none} .m-tel .ico{width:16px;height:16px}
.lang{position:relative}
.lang-b{display:inline-flex;align-items:center;gap:3px;height:38px;padding:0 7px;border:0;background:none;border-radius:999px;cursor:pointer;color:var(--ink)}
.lang-b:hover{background:var(--tint)}
.flag{width:27px;height:27px;display:block;border-radius:50%}
.lang-b .chv{width:14px;height:14px;transition:transform .2s}
.lang.open .lang-b .chv{transform:rotate(180deg)}
.lang-d{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border-radius:var(--r-m);box-shadow:0 16px 40px -16px rgba(23,53,42,.35);padding:6px;display:none;min-width:150px;z-index:120}
.lang.open .lang-d{display:block}
.lang-d a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-s);font-weight:600;font-size:14px;white-space:nowrap}
.lang-d a:hover,.lang-d a.cur{background:var(--tint)}
.lang-d .flag{width:20px;height:20px}
.dr-msgr{display:flex;gap:10px;padding:10px 12px}
.dr-msgr .msgr{width:40px;height:40px} .dr-msgr .msgr svg{width:22px;height:22px}
.f-msgr{display:flex;gap:8px;margin:2px 0} .f-msgr .msgr{width:32px;height:32px} .f-msgr .msgr svg{width:18px;height:18px}
/* новые секции главной */
.checkin,.pay,.abouts{padding:clamp(48px,7vh,88px) 0 0}
.checkin .step-row{margin-bottom:22px}
/* 18.09: клиент вместо 4 шагов вписал одну длинную инструкцию — единственный пункт без номера и заголовка занимает всю ширину;
   при возврате нескольких шагов сетка 4 колонки работает как раньше. Только блок «Порядок заселения», у собственников не трогаем */
.checkin .step-row>li:only-child{grid-column:1/-1;max-width:960px} .checkin .step-row>li:only-child .txt{font-size:17px;line-height:1.6}
.checkin .step-row>li:only-child b:empty,.checkin .step-row>li:only-child h3:empty{display:none}
.chk-note{display:flex;flex-wrap:wrap;gap:10px}
.chk-note span{display:inline-flex;align-items:center;gap:8px;background:var(--tint);border-radius:var(--r-s);padding:10px 14px;font-size:14px;font-weight:500}
.chk-note .ico{width:18px;height:18px;color:var(--acc)}
.srv-grid.pay-grid{grid-template-columns:repeat(4,1fr)}
.about-box{background:#fff;border-radius:var(--r-xl);padding:clamp(28px,4vw,56px);display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,56px)}
.about-txt p:not(.eyebrow){color:var(--mut);margin-bottom:14px;max-width:56ch}
.about-txt .btn{margin-top:8px}
.about-num{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center}
.about-num li{background:var(--wash);border-radius:var(--r-m);padding:18px}
.about-num b{display:block;font-family:var(--head);font-weight:400;font-size:clamp(28px,2.6vw,40px);line-height:1;color:var(--acc);margin-bottom:6px}
.about-num span{color:var(--mut);font-size:14px}
.p-home .own-cta{padding:clamp(48px,7vh,88px) 0 0}
.contacts{padding:clamp(48px,7vh,88px) 0 clamp(64px,9vh,112px)}
.cont-box{background:var(--ink);color:#fff;border-radius:var(--r-xl);display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);padding:clamp(28px,4vw,56px)}
.cont-l .eyebrow{color:var(--acc2)} .cont-l h2{color:#fff}
.cont-tel{display:block;font-family:var(--head);font-size:clamp(30px,3vw,44px);margin:10px 0 2px;font-variant-numeric:tabular-nums}
.cont-tel:hover{color:var(--acc2)}
.cont-mail{display:inline-block;color:#ffffffcc;font-size:17px;margin-bottom:14px} .cont-mail:hover{color:var(--acc2)}
.cont-note{color:#ffffffb8;max-width:44ch;margin-bottom:18px}
.cont-msgr{display:flex;gap:10px} .cont-msgr .msgr{width:44px;height:44px} .cont-msgr .msgr svg{width:24px;height:24px}
.cont-r{display:grid;gap:12px;align-content:center}
.cont-i{display:flex;gap:14px;align-items:flex-start;background:#ffffff10;border:1px solid #ffffff1c;border-radius:var(--r-m);padding:16px 18px}
.cont-i .ico{width:22px;height:22px;color:var(--acc2);flex:none;margin-top:2px}
.cont-i b{display:block;margin-bottom:2px} .cont-i span{color:#ffffffb0;font-size:14px}
/* нижняя панель — по решению клиента (31.08) видна и на ПК: компактная, по центру */
.tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));z-index:200;display:grid;grid-template-columns:auto auto;gap:8px;background:#EAF0E4F2;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r-l);padding:8px;box-shadow:0 10px 30px -12px rgba(23,53,42,.35)}
.tabbar a{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:var(--r-m);font-size:15px;font-weight:600;white-space:nowrap;padding:0 22px}
.tabbar .ico{width:18px;height:18px;flex:none}
.tabbar .tb-book{background:var(--acc);color:#fff} .tabbar .tb-book:hover{background:var(--acc-h)}
.tabbar .tb-own{background:var(--tint);color:var(--ink)} .tabbar .tb-own:hover{background:var(--line)}
.tabbar{transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .3s}
.tabbar.tb-hide{transform:translate(-50%,100px);opacity:0;pointer-events:none}
@media (min-width:1025px) and (min-height:1000px){ .v-overlay .hero{height:calc(100svh - var(--hh) - 150px)} }  /* высокий экран: полоса под нижнюю панель, чтобы не накрывала виджет */
@media (min-width:1025px) and (max-height:780px){ .v-overlay .hero-txt{bottom:clamp(36px,6vh,60px)} .v-overlay .hero-txt h1{font-size:clamp(36px,6.4vh,60px)} .v-overlay .lead{font-size:15px} }  /* низкий экран: текст hero не должен уезжать под шапку */
.lh-dim{position:fixed;inset:0;background:rgba(23,53,42,.55);z-index:9000;opacity:0;pointer-events:none;transition:opacity .25s}
.lh-dim.on{opacity:1;pointer-events:auto} .lh-dim-on .book-hr{position:relative;z-index:9001}  /* календарь виджета — z 9002 в body */
/* 08.09: виджет ставит календарь absolute под полем (на экранах ниже ~900px он уезжает за низ экрана и дату не выбрать) —
   на ПК при открытом затемнении закрепляем его fixed по центру экрана; !important перебивает inline top/left виджета */
@media (min-width:1025px){ body.lh-dim-on .vanilla-calendar{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%);margin:0;max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);overflow:auto;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);border-radius:var(--r-l)} }
/* квартиры из HomeReserve: карточки, скелет загрузки, кнопка «все», модалка со списком */
.card-pic{display:block} .card-pic img{display:block} .card h3{font-size:18px}
.card-f .from{margin:0 4px 0 0}
.card-sk{pointer-events:none} .sk-img{display:block;aspect-ratio:4/3;background:var(--tint)}
.sk{height:14px;border-radius:6px;background:var(--tint);margin:6px 0} .sk-t{width:70%;height:18px} .sk-m{width:50%} .sk-p{width:40%;height:22px;margin-top:14px}
.card-sk .sk-img,.card-sk .sk{animation:lhsk 1.2s ease-in-out infinite} @keyframes lhsk{50%{opacity:.5}}
.flats-more{display:flex;justify-content:center;margin-top:28px}
.flats-err{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:var(--wash);border-radius:var(--r-l);padding:20px 24px;color:var(--mut)}
.lh-modal{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vh,40px) clamp(0px,2vw,24px)}
.lh-modal.lh-behind{visibility:hidden}   /* пока открыто окно бронирования самого виджета (#hr-modal в body) */
.lh-modal[hidden]{display:none}
.lh-modal-bg{position:absolute;inset:0;background:rgba(23,53,42,.55);backdrop-filter:blur(3px)}
.lh-modal-box{position:relative;width:min(1080px,100%);max-height:100%;background:#fff;border-radius:var(--r-xl);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.45)}
.lh-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--line)}
.lh-modal-head h2{font-size:clamp(22px,2.4vw,30px)} .lh-modal-head p{color:var(--mut);font-size:15px;margin-top:4px}
.lh-modal-x{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--wash);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .15s}
.lh-modal-x:hover{background:var(--tint)} .lh-modal-x .ico{width:22px;height:22px}
.lh-modal-body{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 24px 24px;flex:1;min-height:120px}
.lh-modal-fb{text-align:center;padding:24px}
body.lh-modal-on{overflow:hidden}
@media (max-width:640px){ .lh-modal{padding:0} .lh-modal-box{border-radius:0;height:100%;max-height:none} .lh-modal-head{padding:14px 16px 12px} .lh-modal-head p{display:none} .lh-modal-body{padding:10px 12px 20px} }
.lh-modal .book-hr.hr-list{background:transparent;box-shadow:none;padding:0;margin:0;position:static}   /* перебивает .v-overlay .book-hr{margin-top:-46px} */
.hr-list #hr-widget{min-height:80px}
/* виджет */
.book-hr{background:#fff;border:0;border-radius:var(--r-l);padding:12px;box-shadow:0 24px 60px -24px rgba(23,53,42,.45),0 2px 6px rgba(23,53,42,.08)}
#hr-widget .button-primary,#hr-widget .search__input-button{border-radius:var(--r-m)!important}
.hero>.wrap:last-child{position:relative;z-index:3}
/* 1. overlay */
.v-overlay .hero{padding:0 0 clamp(20px,3vh,32px);background:var(--wash)}
.v-overlay .hero>.wrap:first-child{max-width:none;padding:0}
.v-overlay .hero-pic{position:relative;overflow:hidden} .v-overlay .hero-pic img{border-radius:0}
@media (max-width:1024px){ .v-overlay .hero-pic img{object-position:38% 50%} }   /* мобила: кровать правее, под текстом больше штор */
.v-overlay .hero-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,53,42,.1) 0%,rgba(23,53,42,.3) 45%,rgba(23,53,42,.72) 100%),linear-gradient(90deg,rgba(23,53,42,.35) 0%,rgba(23,53,42,0) 55%);pointer-events:none}
.v-overlay .hero-txt{z-index:2;position:absolute;left:50%;transform:translateX(-50%);width:100%;max-width:calc(var(--wrap) + 2*var(--gut));padding:0 var(--gut);margin:0;bottom:clamp(64px,10vh,96px);text-shadow:0 1px 1px rgba(0,0,0,.25),0 8px 32px rgba(0,0,0,.25)}
.v-overlay .hero-txt h1{font-size:clamp(40px,min(5vw,8vh),76px);max-width:14ch} .v-overlay h1 em{color:#DCEBBF}
.v-overlay .lead{max-width:46ch;font-size:clamp(16px,1.25vw,19px)}
.v-overlay .dirs-pills .btn{text-shadow:none;color:#fff;background:rgba(255,255,255,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.v-overlay .dirs-pills .btn:hover{background:rgba(255,255,255,.34)}
.v-overlay .book-hr{margin-top:-46px}
.v-overlay .hero-own .hero-txt{bottom:clamp(40px,7vh,72px)} .v-overlay .hero-own .dirs .btn-acc{background:var(--acc);box-shadow:none} .v-overlay .hero-own .dirs .btn-acc:hover{background:var(--acc-h)}
.v-overlay .hero-own .hero-pic img{border-radius:0 0 var(--r-xl) var(--r-xl)}
/* 2. card */
.v-card .hero{padding:0 0 clamp(20px,3vh,32px);background:var(--wash)}
.v-card .hero>.wrap:first-child{max-width:none;padding:0} .v-card .hero-pic img{border-radius:0}
.v-card .hero-pic{position:relative} .v-card .hero-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,53,42,.18) 0%,rgba(23,53,42,.3) 50%,rgba(23,53,42,.55) 100%);pointer-events:none}
.v-card.p-home .hero-txt{z-index:2;background:var(--wash);left:max(var(--gut),calc((100% - var(--wrap)) / 2));bottom:clamp(76px,11vh,110px);max-width:700px;padding:clamp(28px,3.4vh,40px) clamp(28px,3vw,44px);border-radius:var(--r-xl);box-shadow:0 30px 70px -30px rgba(23,53,42,.5);backdrop-filter:none}
.v-card h1 em,.v-split h1 em,.v-overlay h1 em{display:block} .hero-own h1 em{display:inline}
.v-card h1{font-size:clamp(32px,min(3.4vw,5.6vh),50px)} .v-card .dirs-pills{flex-wrap:nowrap} .v-card .dirs-pills .btn{padding-inline:22px;white-space:nowrap} .v-card .lead{font-size:clamp(15px,1.9vh,17px);margin:12px 0 22px}
.v-card .book-hr{margin-top:-46px}
/* 3. split */
.v-split .hero{background:var(--wash);padding-top:clamp(16px,3vh,36px)}
.v-split .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px)}
.v-split .hero-pic img{border-radius:var(--r-xl);min-height:0}
.v-split h1{font-size:clamp(36px,min(4.4vw,7.2vh),64px);max-width:12ch}
.v-split .lead{font-size:clamp(16px,1.3vw,19px)}
.v-split .book-hr{margin-top:clamp(18px,3vh,32px)}
/* --- собственникам --- */
.services{padding:clamp(48px,7vh,88px) 0 0} .srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.srv{background:#fff;border-radius:var(--r-l);padding:26px 24px} .srv .ico{width:46px;height:46px;padding:11px;border-radius:var(--r-m);background:var(--tint);color:var(--acc);margin-bottom:16px}
.srv h3{margin-bottom:8px} .srv p{color:var(--mut);font-size:15px}
.calc{padding:clamp(48px,7vh,88px) 0} .calc-box{display:grid;grid-template-columns:1.1fr 1fr;background:var(--ink);color:#fff;border-radius:var(--r-xl);overflow:hidden}
.calc-l{padding:clamp(28px,4vw,56px)} .calc-l h2{color:#fff} .calc-l>p:not(.eyebrow){color:#ffffffb8;max-width:44ch;margin-bottom:24px} .calc-l .eyebrow{color:var(--acc2)}
.calc-f{display:grid;gap:10px} .calc-f label{display:flex;flex-direction:column;gap:4px;background:#ffffff14;border:1px solid #ffffff22;border-radius:var(--r-m);padding:10px 14px}
.calc-f span{font-size:12px;font-weight:600;color:#ffffff99;letter-spacing:.04em;text-transform:uppercase}
.calc-f select{background:none;border:0;color:#fff;font:600 17px var(--body);outline:0;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B5D08A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;background-size:18px}
.calc-f select option{color:var(--ink)}
.calc-r{background:var(--acc);padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:10px}
.calc-cap{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffffcc}
.calc-sum{font-family:var(--head);font-weight:400;font-size:clamp(44px,5vw,68px);line-height:1;font-variant-numeric:tabular-nums}
.calc-sub{color:#ffffffcc;font-size:15px;max-width:34ch} .calc-r .btn{align-self:flex-start;margin-top:14px;background:#fff;color:var(--ink)} .calc-r .btn:hover{background:var(--tint)}
.calc-r small{color:#ffffff99;font-size:12px;margin-top:10px}
.faq{padding:0 0 clamp(48px,7vh,88px)} .faq-list{display:grid;gap:10px}
.faq details{background:#fff;border-radius:var(--r-m);padding:0 22px} .faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-weight:600;font-size:17px}
.faq summary::-webkit-details-marker{display:none} .faq summary .ico{width:20px;height:20px;color:var(--acc);transition:transform .25s} .faq details[open] summary .ico{transform:rotate(180deg)}
.faq details p{color:var(--mut);padding:0 0 18px;max-width:80ch;margin:0}
.faq details .acc-b{overflow:hidden;height:0;transition:height .32s cubic-bezier(.4,0,.2,1)} .faq details[open] .acc-b{height:auto}
.faq details .acc-b>p{opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s} .faq details.is-open .acc-b>p{opacity:1;transform:none}
/* нижние секции */
.pills{gap:28px 24px} .pill{background:none;padding:0;flex-direction:column;gap:14px}
.pill .ico{width:48px;height:48px;padding:12px;border-radius:var(--r-m);background:var(--tint);color:var(--acc)}
.pill b{font-size:17px} .pill span{font-size:15px}
.feats{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px} .feats li{flex-direction:row;padding:10px 16px 10px 12px;border-radius:var(--r-s);gap:8px;text-align:left;background:#fff;border-color:var(--line)} .feats .ico{width:20px;height:20px}
.info{background:linear-gradient(180deg,var(--wash),#fff)} .flats{padding-top:clamp(48px,7vh,80px)}
.card{border:0;border-radius:var(--r-l);box-shadow:0 1px 2px rgba(23,53,42,.06),0 12px 32px -20px rgba(23,53,42,.35)} .card-f b{font-family:var(--body);font-weight:700}
.own-box{border-radius:var(--r-xl)} .own-txt .btn-ink{background:var(--acc)} .own-txt .btn-ink:hover{background:var(--acc-h)}
.why-c,.lead-box{border-radius:var(--r-l)} .ico-box{border-radius:var(--r-m)}
@media (max-width:1024px){
 :root{--gut:20px}
 .hdr .wrap{height:64px} .logo-svg .lg{height:44px}
 [id]{scroll-margin-top:118px}
 .srv-grid.pay-grid{grid-template-columns:1fr 1fr}
 .about-box,.cont-box{grid-template-columns:1fr}
 .hdr-row{padding:0 var(--gut) 12px;gap:8px;mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
 .hdr-row a{height:36px;padding:0 12px;border-radius:var(--r-s);border:0;background:var(--tint);font-size:13px;font-weight:600;gap:5px} .hdr-row .ico{width:14px;height:14px}
 .hdr-row a.cur{background:var(--ink);color:#fff}
 .burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:var(--tint);border-radius:var(--r-s);color:var(--ink);cursor:pointer;margin-left:2px}
 .burger .ico{width:22px;height:22px} .burger .i-close,.menu-open .burger .i-open{display:none} .menu-open .burger .i-close{display:block}
 .drawer{display:none;flex-direction:column;gap:4px;padding:8px var(--gut) 20px;border-top:1px solid var(--line);background:var(--wash);position:absolute;left:0;right:0;top:100%;z-index:99;max-height:calc(100svh - 100% - 8px);overflow:auto;box-shadow:0 24px 40px -20px rgba(23,53,42,.45);border-radius:0 0 var(--r-l) var(--r-l)}
 .menu-open .drawer{display:flex} .drawer{display:none} .tabbar{display:none}
 .drawer>a:not(.btn){display:flex;align-items:center;gap:10px;padding:13px 12px;border-radius:var(--r-s);font-weight:600;font-size:17px;color:var(--ink)}
 .drawer>a:not(.btn):active{background:var(--tint)} .drawer .ico{width:20px;height:20px;color:var(--acc)} .drawer .btn{margin-top:8px;justify-content:center}
 .tabbar{position:fixed;left:12px;right:12px;transform:none;bottom:calc(10px + env(safe-area-inset-bottom));z-index:200;display:grid;grid-template-columns:1fr 1.15fr;gap:8px;background:#EAF0E4F2;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r-l);padding:8px;box-shadow:0 10px 30px -12px rgba(23,53,42,.35)}
 .tabbar a{display:flex;align-items:center;justify-content:center;gap:6px;height:48px;border-radius:var(--r-m);font-size:14px;font-weight:600;white-space:nowrap;padding:0 8px}
 .tabbar .ico{width:18px;height:18px;flex:none}
 .tabbar .tb-book{background:var(--acc);color:#fff} .tabbar .tb-own{background:var(--tint);color:var(--ink)}
 .tabbar.tb-hide{transform:translateY(120px);opacity:0;pointer-events:none}
 .v-overlay .hero,.v-card .hero{padding-bottom:24px}
 .v-overlay .hero>.wrap:first-child{flex:none}
 .v-overlay .hero-grid{display:block;position:relative;height:calc(100svh - var(--hh) - 90px);min-height:520px} .v-overlay .hero-pic{height:100%} .v-overlay .hero-pic img{height:100%;aspect-ratio:auto;border-radius:0}
 .v-overlay .hero-txt{bottom:72px} .v-overlay .hero-txt h1{font-size:clamp(34px,9vw,44px)} .v-overlay .lead{font-size:15px;margin:10px 0 16px}
 .v-overlay .book-hr,.v-card .book-hr{margin:-40px 0 0;position:relative}
 .v-overlay .hero-pic::after{background:linear-gradient(180deg,rgba(23,53,42,.25) 0%,rgba(23,53,42,.5) 40%,rgba(23,53,42,.82) 100%)}
 .v-card .hero-pic img{aspect-ratio:4/3;border-radius:0} .v-card.p-home .hero-txt{position:static;margin:-72px var(--gut) 0;padding:18px 18px 18px;border-radius:var(--r-l);max-width:none}
 .v-card h1{font-size:clamp(26px,7vw,32px)} .v-card .lead{font-size:14px;line-height:1.45;margin:8px 0 14px} .v-card .eyebrow{margin-bottom:6px;font-size:11px}
 .v-card .dirs-pills{gap:8px} .v-card .dirs-pills .btn{height:48px;font-size:15px}
 .v-card .book-hr{margin-top:14px} .v-card .hero{padding-bottom:16px}
 .v-split .hero-grid{grid-template-columns:1fr} .v-split .hero-pic img{border-radius:var(--r-l);aspect-ratio:4/3} .v-split h1{max-width:none}
 .dirs-pills{flex-direction:column} .dirs-pills .btn{width:100%}
 .pills{grid-template-columns:1fr 1fr;gap:22px 16px}
 .srv-grid{grid-template-columns:1fr 1fr} .calc-box{grid-template-columns:1fr} .calc-r .btn{align-self:stretch}
}
@media (max-width:640px){ .pills{grid-template-columns:1fr} .srv-grid,.pay-grid{grid-template-columns:1fr}
 .tel-pill{display:none} .m-tel{display:inline-flex} .m-tel .ico{width:15px;height:15px}
 .msgr{width:28px;height:28px} .msgr svg{width:16px;height:16px} .flag{width:22px;height:22px}
 .lang-b{padding:0 4px;gap:2px} .hdr-r{gap:5px}
 .chk-note{flex-direction:column;align-items:flex-start} .about-num{gap:10px} }
@media (max-width:400px){ .logo-svg .lg{height:36px} .hdr .wrap{gap:8px} .burger{width:40px;height:40px}
 .msgr{width:26px;height:26px} .msgr svg{width:15px;height:15px} .flag{width:21px;height:21px}
 .lang-b .chv{display:none} .lang-b{padding:0 3px} .hdr-r{gap:4px} }

/* ===== новости ===== */
.news-home{padding:clamp(48px,7vh,88px) 0 0}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.news-c{background:#fff;border-radius:var(--r-l);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(23,53,42,.06),0 12px 32px -20px rgba(23,53,42,.35);transition:box-shadow .2s,transform .15s}
.news-c:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.news-pic{display:block;overflow:hidden;background:var(--tint)} .news-pic img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s}
.news-c:hover .news-pic img{transform:scale(1.03)}
.news-b{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.news-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.news-date{color:var(--mut);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.news-cat{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--tint);color:var(--acc);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.news-cat:hover{background:var(--acc);color:#fff}
.news-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(18px,3vh,28px)}
.news-filter a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:14px;color:var(--ink);transition:background .15s,border-color .15s}
.news-filter a b{font-weight:600;font-size:12px;color:var(--mut)} .news-filter a:hover{border-color:var(--acc)}
.news-filter a.cur{background:var(--acc);border-color:var(--acc);color:#fff} .news-filter a.cur b{color:#ffffffb8}
.art-meta .news-cat{margin-right:2px}
.news-t{font-family:var(--head);font-weight:400;font-size:20px;line-height:1.25;margin:0} .news-t a:hover{color:var(--acc)}
.news-lead{color:var(--mut);font-size:15px;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-feat{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}
.news-feat .news-pic img{aspect-ratio:4/3;height:100%} .news-feat .news-b{padding:clamp(24px,3vw,44px);justify-content:center;gap:10px}
.news-feat .news-t{font-size:clamp(24px,2.4vw,34px)} .news-feat .news-lead{font-size:17px;-webkit-line-clamp:4}
.news-f{margin-top:auto;padding-top:10px} .news-f .btn{height:44px;padding:0 18px;font-size:15px} .news-f .btn .arr{width:16px;height:16px}
.news-feat .news-f{padding-top:14px} .news-feat .news-f .btn{height:52px;padding:0 24px;font-size:16px}
.news-feat .eyebrow{margin-bottom:0}
/* раздел новостей: 4 в ряд, карточки компактнее (главная и «другие новости» — по 3) */
.news-list .news-grid{grid-template-columns:repeat(4,1fr);gap:16px}
.news-list .news-b,.news-home .news-b{padding:14px 16px 18px;gap:6px} .news-list .news-t,.news-home .news-t{font-size:17px} .news-list .news-lead,.news-home .news-lead{font-size:14px;-webkit-line-clamp:3}
.news-list .news-date,.news-home .news-date{font-size:12px} .news-list .news-cat,.news-home .news-cat{height:24px;font-size:11px;padding:0 9px}
.news-list .news-f .btn,.news-home .news-f .btn{height:40px;padding:0 16px;font-size:14px}
/* слайдер на главной: 4 в ряд, горизонтальная прокрутка со snap, стрелки в шапке секции */
.news-home .news-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*16px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px;margin-bottom:-6px}
.news-home .news-track::-webkit-scrollbar{display:none} .news-home .news-track>.news-c{scroll-snap-align:start}
.news-ctl{display:flex;align-items:center;gap:8px} .news-ctl .link{padding-bottom:0;margin-right:8px}
.news-arr{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,opacity .15s}
.news-arr:hover{background:var(--tint)} .news-arr:disabled{opacity:.35;cursor:default} .news-arr .ico{width:18px;height:18px} .news-noslide .news-arr{display:none}
.news-head{padding:clamp(28px,5vh,56px) 0 clamp(16px,3vh,28px)} .news-head h1{font-size:clamp(34px,4vw,56px)} .v-overlay .news-head .lead{color:var(--mut);opacity:1;margin-bottom:0}
.news-list{padding:0 0 clamp(56px,8vh,96px)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--mut);margin-bottom:clamp(14px,2.4vh,22px)}
.crumbs a:hover{color:var(--acc)} .crumbs i{font-style:normal;opacity:.6} .crumbs span{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}
.pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:36px;flex-wrap:wrap}
.pg-n{display:flex;gap:6px} .pg-n a,.pg-n span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 8px;border-radius:var(--r-m);background:#fff;font-weight:600;font-size:15px}
.pg-n a:hover{background:var(--tint)} .pg-n .cur{background:var(--acc);color:#fff}
.pg-prev,.pg-next{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px;border-radius:var(--r-m);background:#fff;font-weight:600;font-size:15px} .pg-prev:hover,.pg-next:hover{background:var(--tint)}
.pager .ico{width:18px;height:18px}
/* статья */
.art{padding:clamp(28px,5vh,56px) 0 clamp(40px,6vh,64px)} .art-wrap{max-width:calc(860px + 2*var(--gut))}
.art-head h1{font-size:clamp(30px,3.6vw,48px);line-height:1.1;margin-bottom:14px}
.art-meta{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:15px;margin-bottom:clamp(20px,3vh,32px)} .art-dot{opacity:.5}
.art-pic{margin:0 0 clamp(24px,4vh,40px);border-radius:var(--r-l);overflow:hidden;background:var(--tint)} .art-pic img{width:100%;aspect-ratio:3/2;object-fit:cover}
.art-body{font-size:18px;line-height:1.65;max-width:72ch;color:#2B3A33}
.art-body .art-lead{font-size:20px;color:var(--ink);font-weight:500;margin-bottom:22px}
.art-body p{margin:0 0 18px} .art-body h2{font-size:clamp(24px,2.4vw,30px);margin:36px 0 14px} .art-body h3{font-size:20px;margin:28px 0 10px}
.art-body ul,.art-body ol{margin:0 0 18px 24px} .art-body li{margin-bottom:8px}
.art-body a{color:var(--acc);text-decoration:underline;text-underline-offset:3px} .art-body a:hover{color:var(--acc-h)}
.art-body img{border-radius:var(--r-m);margin:8px 0 18px} .art-body blockquote{border-left:3px solid var(--acc2);padding:4px 0 4px 20px;margin:0 0 18px;color:var(--mut);font-style:italic}
.art-body table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:16px} .art-body td,.art-body th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.art-foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,4vh,40px);padding-top:24px;border-top:1px solid var(--line)}
.art-foot .btn{height:48px} .art-foot .btn .ico{width:18px;height:18px}
.news-more{padding:0 0 clamp(64px,9vh,112px)}
@media (max-width:1024px){ .news-grid,.news-list .news-grid{grid-template-columns:1fr 1fr} .news-home .news-track{grid-template-columns:none;grid-auto-columns:calc((100% - 16px)/2)} .news-feat{grid-template-columns:1fr} .news-feat .news-pic img{aspect-ratio:16/10;height:auto} }
@media (max-width:640px){ .news-grid,.news-list .news-grid{grid-template-columns:1fr} .news-home .news-track{grid-template-columns:none;grid-auto-columns:84%} .news-home .sec-head.row{flex-wrap:wrap;gap:10px} .news-ctl{width:100%;justify-content:space-between} .news-ctl .link{margin-right:auto;white-space:nowrap} .news-b,.news-list .news-b{padding:16px 16px 18px} .art-body{font-size:17px} .art-body .art-lead{font-size:18px}
 .news-f .btn{width:100%}
 .news-filter{margin-left:calc(-1*var(--gut));margin-right:calc(-1*var(--gut));padding:0 var(--gut) 4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none} .news-filter::-webkit-scrollbar{display:none} .news-filter a{flex:none;height:36px;font-size:13px}
 .art-foot .btn{width:100%} .crumbs span{max-width:70vw} .pg-prev span,.pg-next span{display:none} .pg-prev,.pg-next{padding:0 13px} }

/* NetCat: секции главной собираются из отдельных инфоблоков (netcat_components.py) */
.info.info-perks{padding-bottom:0;background:linear-gradient(180deg,var(--wash),#F4F7F1)}   /* один градиент wash→белый на две секции: */
.info.info-feats{padding-top:14px;background:linear-gradient(180deg,#F4F7F1,#fff)}     /* середина #F4F7F1, иначе на стыке ступенька */
/* абзацы, которые редактируются на сайте (nc_edit_inline даёт <div>, внутри <p> он ломает разметку) — сделаны div-ами */
.srv .txt{color:var(--mut);font-size:15px} .step-row .txt{color:var(--mut);font-size:15px}
.own-txt .txt{color:var(--mut);max-width:48ch;margin-bottom:28px}
.why-c .txt{color:var(--mut);font-size:15px;margin-top:22px} .calc-l .txt{color:#ffffffb8;max-width:44ch;margin-bottom:24px}
.lead-in .txt{color:var(--mut);margin:8px 0 24px;font-size:17px}
.faq details .acc-b>.txt{color:var(--mut);padding:0 0 18px;max-width:80ch;margin:0;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s}
.faq details.is-open .acc-b>.txt{opacity:1;transform:none}
@media (max-width:640px){ .why-c .txt{margin-top:0} }
/* режим правки NetCat: у hero два корня (текст + фото), NetCat оборачивает их в div.nc-infoblock-object */
.v-overlay .hero-grid>.nc-infoblock-object{position:static;height:100%}  /* hero-txt позиционируется от .hero-grid, фото — 100% высоты */
.nc-infoblock{position:relative}
.nc-infoblock-object>.nc-object-toolbar{font-size:15px}
.hero .nc-object-toolbar{top:16px!important;right:16px!important}
.nc-ckeditor-inline{min-width:1.5em;font:inherit;color:inherit;line-height:inherit}
.hero-txt .cke_editable_inline:hover,.hero-txt .nc-ckeditor-inline.cke_focus,.cont-box .cke_editable_inline:hover,.cont-box .nc-ckeditor-inline.cke_focus{background:rgba(255,255,255,.12)!important;outline-color:rgba(255,255,255,.5)!important}
