@charset "UTF-8";

/* Layout: фиксированная колонка 1120 px, автоскейл; светлые секции чередуются с двумя тёмными (квиз, финал) */
:root{
  --bg:#ffffff; --bg-soft:#f3f3f2; --ph:#e2e2e0; --line:#d6d6d3;
  --ink:#1b1b1b; --ink-2:#5c5c59; --ink-3:#8a8a86;
  --dark:#1e1e1e; --dark-2:#2c2c2b; --on-dark:#f5f5f3; --on-dark-2:#b9b9b5;
  --btn:#1b1b1b; --pill:#ffffff;
  --f:"Golos Text", "Segoe UI", Arial, sans-serif;
  color-scheme:light;
}
[hidden]{display:none!important}
*{box-sizing:border-box;border-radius:12px}
section,nav,footer,.wrap,header,.strip{border-radius:0}
html,body{background:var(--bg);color:var(--ink)}
html{overflow-x:hidden}
body{font-family:var(--f);font-size:17px;line-height:1.5;margin:0}
a{text-decoration:none;color:inherit}
h1,h2,h3{text-wrap:balance;margin:0;font-weight:700;letter-spacing:-.01em}
p{text-wrap:pretty;margin:0}
h1{font-size:46px;line-height:1.12}
h2{font-size:34px;line-height:1.18}
h3{font-size:19px;line-height:1.3;font-weight:600}
.lead{font-size:19px;color:var(--ink-2);margin-top:16px;max-width:620px}
.sub{font-size:17px;color:var(--ink-2);margin-top:12px;max-width:640px}
.wrap{width:1120px;margin:0 auto;padding-inline:48px}
section{padding-block:88px}
section.soft{background:var(--bg-soft)}
section.dark{background:var(--dark);color:var(--on-dark)}
section.dark .sub{color:var(--on-dark-2)}
.center{text-align:center}
.center .sub{margin-inline:auto}
.head{margin-bottom:40px}

/* strip */
.strip{background:var(--ink);color:#fff;font-size:13px;text-align:center;padding:7px 16px}

/* nav */
nav{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line);border-radius:0}
nav .wrap{display:flex;align-items:center;gap:24px;height:72px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;white-space:nowrap}
.logo i{width:38px;height:38px;background:var(--ph);display:grid;place-items:center;font-style:normal;font-size:12px;color:var(--ink-2)}
.menu{display:flex;gap:18px;font-size:15px;color:var(--ink-2);flex:1;white-space:nowrap}
.menu a:hover{color:var(--ink)}
.nav-phone{font-weight:600;white-space:nowrap;text-align:right;line-height:1.2}
.nav-phone small{display:block;font-weight:400;font-size:12px;color:var(--ink-3)}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--btn);color:#fff;border:0;font:600 17px var(--f);padding:17px 30px;cursor:pointer}
.btn:hover{background:#000}
.btn:focus-visible,input:focus-visible,.opt:focus-within{outline:3px solid #8a8a86;outline-offset:2px}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.light{background:#fff;color:var(--ink)}
.btn-badge{position:absolute;top:-12px;right:-10px;background:var(--pill);color:var(--ink);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.18);white-space:nowrap}
.btn-sm{font-size:15px;padding:12px 20px}

/* photo placeholder */
.ph{background:var(--ph);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-2);font-size:13px;text-align:center;padding:14px}
.ph svg{width:30px;height:30px;stroke:var(--ink-3);fill:none;stroke-width:1.6}
section.dark .ph{background:var(--dark-2);color:var(--on-dark-2)}

/* hero */
.hero{padding-block:56px 72px}
.hero-grid{display:grid;grid-template-columns:1fr 400px;grid-template-areas:"text form" "anchors form";gap:24px 56px;align-items:start}
.hero-text{grid-area:text}
.hero-form{grid-area:form}
.anchors{grid-area:anchors;display:flex;flex-wrap:wrap;gap:10px 28px;font-size:15px;color:var(--ink-2)}
.anchors b{display:block;color:var(--ink);font-size:17px}
.rates{display:flex;gap:12px;margin-top:22px;flex-wrap:nowrap}
.rate{background:var(--bg-soft);padding:8px 14px;font-size:14px;white-space:nowrap}
.rate b{font-size:16px;display:inline!important}
.form-box{background:var(--bg-soft);padding:28px;display:flex;flex-direction:column;gap:14px;align-items:stretch}
.form-box h3{font-size:20px}
.call{border-top:1px solid var(--line);border-radius:0;padding-top:14px;font-size:14px;color:var(--ink-2)}
.call b{display:block;font-size:22px;color:var(--ink)}
input[type=tel]{width:100%;font:500 17px var(--f);padding:16px 18px;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
.consent{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.4;color:var(--ink-2)}
.consent input{margin-top:2px;accent-color:#1b1b1b;flex:none}
.consent a{font-weight:600;color:var(--ink)}
.dark .consent{color:var(--on-dark-2)} .dark .consent a{color:var(--on-dark)} .dark .consent input{accent-color:#f5f5f3}
.hero-photo{height:300px;margin-top:28px}

/* slider */
.slider{position:relative}
.track{display:flex;gap:20px;overflow:hidden;scroll-behavior:smooth}
.slide{flex:0 0 calc(50% - 10px);height:340px}
.arrows{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.arr{width:48px;height:48px;border:1.5px solid var(--ink);background:transparent;cursor:pointer;font-size:20px;border-radius:999px;color:var(--ink)}

/* packages */
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pk-grid.two{grid-template-columns:1fr 1fr;margin-top:20px}
.pk{background:#fff;border:1.5px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:12px;position:relative}
.pk.pop{border-color:var(--ink)}
.pk .tag{position:absolute;top:-12px;left:22px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px}
.price{font-size:28px;font-weight:700}
.price small{font-size:15px;font-weight:500;color:var(--ink-2)}
.pk ul{margin:0;padding-left:18px;color:var(--ink-2);font-size:15px;display:grid;gap:4px;flex:1}
.pk .btn{margin-top:6px}
.pk-ph{height:130px}
.two .pk{flex-direction:row;gap:22px;align-items:stretch}
.two .pk .pk-ph{width:170px;height:auto;flex:none}
.two .pk .col{display:flex;flex-direction:column;gap:10px;flex:1}

/* quiz */
.quiz{max-width:760px;margin:0 auto;background:var(--dark-2);padding:36px;text-align:left}
.q-top{display:flex;justify-content:space-between;font-size:14px;color:var(--on-dark-2);margin-bottom:14px}
.bar{height:4px;background:#444;margin-bottom:24px;border-radius:0}
.bar i{display:block;height:100%;background:var(--on-dark);width:33%;border-radius:0;transition:width .3s}
.q-title{font-size:23px;font-weight:600;margin-bottom:18px}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.opt{display:flex;gap:12px;align-items:center;padding:16px 18px;background:var(--dark);cursor:pointer;font-size:16px;border:1.5px solid transparent}
.opt:hover{border-color:#666}
.opt input{accent-color:#f5f5f3}
.q-hint{font-size:14px;color:var(--on-dark-2);margin-top:14px}
.q-nav{display:flex;justify-content:space-between;align-items:center;margin-top:26px}
.q-back{background:none;border:0;color:var(--on-dark-2);font:500 15px var(--f);cursor:pointer}
.tabs{display:flex;gap:8px;margin-bottom:14px}
.tab{padding:10px 16px;background:var(--dark);cursor:pointer;font-size:15px;border:1.5px solid transparent}
.tab.on{border-color:var(--on-dark)}
.cities{display:flex;gap:8px;margin-bottom:14px}
.q-final{display:grid;gap:14px}
.done{text-align:center;padding:30px 0}
.done h3{font-size:24px;margin-bottom:8px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr) 1.45fr;gap:0;align-items:stretch}
.step{padding:0 22px 0 0;position:relative}
.step .n{width:40px;height:40px;border-radius:999px;border:1.5px solid var(--ink);display:grid;place-items:center;font-weight:700;background:var(--bg);position:relative;z-index:1}
.step::before{content:"";position:absolute;top:20px;left:40px;right:0;border-top:1.5px solid var(--line);border-radius:0}
.step h3{margin:18px 0 6px;font-size:18px}
.step p{font-size:15px;color:var(--ink-2)}
.step.last{background:var(--bg-soft);padding:24px;margin-top:-24px}
.step.last::before{display:none}
.step.last .n{background:var(--ink);color:#fff}
.step.last h3{font-size:22px}

/* objection */
.obj{display:grid;grid-template-columns:420px 1fr;gap:64px;align-items:start}
.obj-left{position:sticky;top:110px}
.obj-left .btn{margin-top:28px}
.obj-list{display:grid;gap:0}
.obj-item{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);border-radius:0}
.obj-item:first-child{border-top:1px solid var(--line)}
.obj-item p{color:var(--ink-2);font-size:16px}
.obj-ph{height:250px;margin-top:28px}

/* benefits list */
.ben{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.ben-item{display:grid;gap:12px}
.ben-ico{width:52px;height:52px;background:var(--ph);display:grid;place-items:center}
.ben-ico svg{width:26px;height:26px;stroke:var(--ink-2);fill:none;stroke-width:1.6}
.ben-item p{color:var(--ink-2);font-size:16px}

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.member .ph{height:250px}
.member h3{margin-top:14px;font-size:18px}
.member .role{font-size:14px;color:var(--ink-3)}
.member p{font-size:15px;color:var(--ink-2);margin-top:6px}
.team-cta{margin-top:36px;display:flex;align-items:center;gap:24px}
.team-cta span{color:var(--ink-2);font-size:15px}

/* reviews */
.quote{font-size:36px;line-height:1.25;font-weight:600;max-width:820px;margin:0 auto;text-wrap:balance}
.quote-by{color:var(--ink-2);margin-top:16px;font-size:15px}
.rv-track .slide{flex:0 0 calc(33.333% - 14px);height:300px}
.rv-rates{display:flex;justify-content:center;gap:12px;margin-top:22px}

/* monuments */
.mon{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
.mon .ph{height:100%;min-height:420px}
.mon-list{display:grid;margin-top:26px}
.mon-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);border-radius:0}
.mon-row b{font-weight:600}
.mon-row span{color:var(--ink-2);white-space:nowrap}
.mon .btn{margin-top:28px}

/* faq */
.faq{max-width:820px;margin:0 auto;text-align:left}
details{border-bottom:1px solid var(--line);border-radius:0;padding:20px 0}
details:first-child{border-top:1px solid var(--line)}
summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:24px;line-height:1;color:var(--ink-3)}
details[open] summary::after{content:"−"}
details p{color:var(--ink-2);margin-top:10px;font-size:16px}

/* final */
.final-grid{display:grid;grid-template-columns:1fr 420px;gap:56px;align-items:center}
.phones{display:grid;gap:14px;margin-top:30px}
.phones div{font-size:14px;color:var(--on-dark-2)}
.phones b{display:block;font-size:24px;color:var(--on-dark)}
.final-form{background:var(--dark-2);padding:30px;display:flex;flex-direction:column;gap:14px}
.final-form input[type=tel]{border-color:#444}

/* footer */
footer{background:var(--bg-soft);padding-block:56px 40px}
.foot{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:32px}
.foot h4{margin:0 0 12px;font-size:15px}
.foot p,.foot a{font-size:14px;color:var(--ink-2);display:block;line-height:1.8}
.map{height:220px}
.legal{display:flex;gap:28px;margin-top:36px;padding-top:20px;border-top:1px solid var(--line);border-radius:0;font-size:13px;color:var(--ink-3)}

/* FAB */
.fab{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.fab-tip{background:#fff;padding:10px 14px;font-size:13px;box-shadow:0 4px 18px rgba(0,0,0,.14)}
.fab-list{display:none;flex-direction:column;gap:8px}
.fab.open .fab-list{display:flex}
.fab.open .fab-tip{display:none}
.fab-list a{background:#fff;padding:11px 18px;box-shadow:0 4px 18px rgba(0,0,0,.14);font-weight:600;font-size:15px}
.fab-btn{width:60px;height:60px;border-radius:999px;background:var(--btn);border:0;cursor:pointer;display:grid;place-items:center}
.fab-btn svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.8}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== многостраничность ===== */
.menu a.on{color:var(--ink);font-weight:600}
.crumbs{font-size:14px;color:var(--ink-3);margin-bottom:18px}
.crumbs a:hover{color:var(--ink)}
.page-hero{padding-block:48px 64px}
.ph-grid{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:start}
.facts{display:flex;gap:40px;margin-top:28px}
.facts div{font-size:15px;color:var(--ink-2)}
.facts b{display:block;font-size:30px;color:var(--ink)}
/* услуги */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.svc a{display:flex;flex-direction:column;gap:10px;border:1.5px solid var(--line);padding:22px;background:#fff}
.svc a:hover{border-color:var(--ink)}
.svc .ph{height:140px}
.svc .from{font-weight:700;font-size:20px}
.svc p{font-size:15px;color:var(--ink-2);flex:1}
.svc .more{font-weight:600;font-size:15px}
/* фильтры */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.chip{border:1.5px solid var(--line);background:#fff;padding:10px 18px;font:500 15px var(--f);cursor:pointer;border-radius:999px;color:var(--ink)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.goods{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.good{border:1.5px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:8px;background:#fff}
.good .ph{height:180px}
.good h3{font-size:16px}
.good .from{font-weight:700;font-size:19px}
.good .note{font-size:13px;color:var(--ink-3)}
.good .btn{margin-top:auto}
.shop-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--bg-soft);padding:22px 28px;margin-top:36px}
/* работы */
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.work .ph{height:240px}
.work h3{font-size:16px;margin-top:12px}
.work p{font-size:14px;color:var(--ink-2)}
.cases{display:grid;gap:0}
.case{display:grid;grid-template-columns:360px 1fr;gap:40px;padding:32px 0;border-bottom:1px solid var(--line);border-radius:0}
.case:first-child{border-top:1px solid var(--line)}
.case .ph{height:220px}
.case dl{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;margin:16px 0 0;font-size:15px}
.case dt{color:var(--ink-3)} .case dd{margin:0;color:var(--ink-2)}
/* о компании */
.docs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.docs .ph{height:260px}
.prod{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
.prod .ph{height:100%;min-height:380px}
.prod ul{margin:24px 0 0;padding:0;list-style:none;display:grid}
.prod li{padding:14px 0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink-2)}
.prod li b{color:var(--ink);display:block}
/* блог */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.post .ph{height:200px}
.post .tag2{font-size:13px;color:var(--ink-3);margin-top:12px}
.post h3{margin-top:6px}
.post p{font-size:15px;color:var(--ink-2);margin-top:6px}
.post.big{grid-column:span 2}
.post.big .ph{height:300px}
/* контакты */
.branches{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.branch{border:1.5px solid var(--line);padding:28px;display:grid;gap:14px;background:#fff}
.branch .ph{height:240px}
.branch .row{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:15px}
.branch .row span{color:var(--ink-3)}
.branch .row b{font-weight:600}
/* легал */
.legal-page{max-width:760px}
.legal-page p{color:var(--ink-2);margin-top:14px}
/* SEO-блок */
.seo-grid{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:start}
.seo-body{max-height:230px;overflow:hidden;position:relative;margin-top:20px;border-radius:0}
.seo-body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(243,243,242,0),var(--bg-soft));border-radius:0}
.seo-body.open{max-height:none}
.seo-body.open::after{display:none}
.seo-body p{color:var(--ink-2);font-size:16px;margin-top:12px;max-width:720px}
.seo-body h3{margin-top:26px;font-size:20px}
.seo-toggle{margin-top:16px;background:none;border:0;padding:0;font:600 16px var(--f);color:var(--ink);cursor:pointer}
.seo-note{border:1.5px dashed var(--ink-3);padding:20px;font-size:14px;color:var(--ink-2);display:grid;gap:10px}
.seo-note b{color:var(--ink)}
.kw{display:flex;flex-wrap:wrap;gap:6px}
.kw span{background:#fff;border:1px solid var(--line);padding:4px 10px;font-size:13px;border-radius:999px}
.branches:has(.one:only-child){grid-template-columns:1fr}
.branch.one{grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.branch.one .ph{height:auto;min-height:300px}
/* прайс-аккордеон */
.pl-wrap{margin-top:36px}
.pl-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.pl-head a{font-weight:600;font-size:15px}
.pl-list{display:grid;gap:10px}
details.pl{border:1.5px solid var(--line);padding:0;background:#fff}
details.pl[open]{border-color:var(--ink)}
details.pl summary{padding:18px 22px;font-size:17px;align-items:center}
details.pl summary .pl-name{flex:1}
details.pl summary .pl-from{font-weight:500;font-size:14px;color:var(--ink-3)}
.pl-table{padding:0 22px 18px;border-radius:0}
.pl-table table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.pl-table th{text-align:left;font-weight:500;font-size:13px;color:var(--ink-3);padding:8px 0;border-bottom:1px solid var(--line);border-radius:0}
.pl-table td{padding:11px 0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink-2)}
.pl-table td:first-child{color:var(--ink);width:60%}
.pl-table td:last-child,.pl-table th:last-child{text-align:right;font-weight:600;color:var(--ink);white-space:nowrap}
.pl-table tr:last-child td{border-bottom:0}
/* товар */
.product{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.main-photo{height:460px}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.thumb{height:96px;font-size:11px;padding:6px}
.thumb svg{width:20px;height:20px}
.p-info{display:grid;gap:18px}
.p-meta{display:flex;gap:20px;font-size:14px;color:var(--ink-3)}
.p-meta .stock{color:var(--ink);font-weight:600}
.p-opt{display:grid;gap:8px}
.p-opt>span{font-size:14px;color:var(--ink-3)}
.p-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.p-facts{list-style:none;margin:6px 0 0;padding:0;display:grid}
.p-facts li{padding:12px 0;border-top:1px solid var(--line);border-radius:0;font-size:15px;color:var(--ink-2)}
.p-facts b{display:block;color:var(--ink)}
.good h3 a:hover{text-decoration:none;opacity:.75}
/* статья */
.article{max-width:820px}
.a-meta{display:flex;gap:20px;font-size:14px;color:var(--ink-3);margin-top:16px}
.a-cover{height:380px;margin-top:28px}
.a-lead{font-size:20px;line-height:1.5;margin-top:28px}
.toc{position:static;background:var(--bg-soft);border:0;padding:20px 24px;margin-top:28px;border-radius:12px}
.toc ol{margin:10px 0 0;padding-left:20px;display:grid;gap:6px;font-size:16px}
.a-body h2{font-size:26px;margin-top:40px}
.a-body p{color:var(--ink-2);margin-top:12px;font-size:17px;line-height:1.65}
.a-callout{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--dark);color:var(--on-dark);padding:24px 28px;margin-top:32px}
.a-callout p{color:var(--on-dark-2);margin-top:4px;font-size:15px}
.a-phone{font-size:22px;font-weight:700;white-space:nowrap;text-align:right}
.a-phone small{display:block;font-size:13px;font-weight:400;color:var(--on-dark-2)}
.check{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.check li{padding-left:30px;position:relative;color:var(--ink-2)}
.check li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border:1.5px solid var(--ink);border-radius:6px;display:grid;place-items:center;font-size:12px;color:var(--ink)}
.a-note{font-size:14px!important;color:var(--ink-3)!important}
.author{display:flex;gap:16px;align-items:center;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);border-radius:0}
.author .av{width:64px;height:64px;border-radius:999px;padding:0;font-size:10px}
.author .av svg{width:20px;height:20px}
.author b{display:block}
.author span{font-size:14px;color:var(--ink-3)}
