/* Shtudio — стили темы «Ваш Дом». Акцент меняется в «Настройки темы» → --accent. */

/* ---------- Шрифт Jost (variable, 400–800) ---------- */
@font-face{font-family:"Jost";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Jost";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/jost-latin-ext.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/jost-latin.woff2) format("woff2");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{
	--accent:#ffbb00;
	/* Текст на акцентном фоне и акцентный текст на светлом фоне — тема пересчитывает их под яркость акцента. */
	--accent-ink:#161616;
	--accent-text:color-mix(in srgb,var(--accent) 72%,#000);
	--accent-soft:color-mix(in srgb,var(--accent) 82%,transparent);
	--accent-line:color-mix(in srgb,var(--accent) 35%,#d9cfcd);
	--dark:#262626;
	--dark2:#161616;
	--txt:#6b6b6b;
	--head:#161616;
	--line:#d9cfcd;
	--soft:#f6f5f5;
	--wrap:1260px;
	--gut:20px;
	--sec:clamp(64px,8vw,110px);
	--font:"Jost",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

/* ---------- База ---------- */
*,*:before,*:after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font);font-weight:500;font-size:17px;line-height:1.8;color:var(--txt);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:color .2s}
a:hover{color:var(--accent-text)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
h1,h2,h3,h4,h5{font-family:var(--font);font-weight:800;color:var(--head);line-height:1.15}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;padding:10px 16px}
.skip:focus{left:10px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.wrap--text{max-width:calc(900px + var(--gut)*2)}
.center{text-align:center}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
section.blk{padding:var(--sec) 0}
.head{margin-bottom:clamp(36px,4vw,60px)}

/* Заголовки секций */
.ttl{font-size:clamp(26px,2.6vw,34px)}
.ttl:after{content:"\00a0."}
.ttl.nodot:after,.ttl:empty:after{content:none}
.cap{display:block;font-size:clamp(16px,1.4vw,20px);color:#747474;margin-bottom:4px;font-weight:500}

/* На тёмном фоне акцентный текст — чистый акцент */
.bg-dark,.topbar,.site-head,.hero,.phead,.mat__band,.pk.is-on,.site-foot,.wk,.menu{--accent-text:var(--accent)}

/* Фоны блоков */
.bg-soft{background:var(--soft)}
.bg-dark{background:var(--dark);color:#bdbdbd}
.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4,.bg-dark .ttl{color:#fff}
.bg-dark .cap{color:#a9a9a9}

/* Ссылки и кнопки */
.more{display:inline-flex;align-items:center;gap:10px;color:var(--accent-text);font-weight:800;font-size:15px}
.more svg{transition:transform .2s}
.more:hover svg{transform:translateX(4px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 30px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--accent);transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--accent-text)}
.btn--line{background:transparent;color:var(--accent-text)}
.btn--line:hover{background:var(--accent);color:var(--accent-ink)}
.btn--block{display:flex;width:100%}

/* Текст из редактора */
.prose>*+*{margin-top:16px}
.prose h2{font-size:clamp(22px,2vw,28px);margin-top:32px}
.prose h3{font-size:20px;margin-top:28px}
.prose strong{color:#2b2b2b}
.bg-dark .prose strong{color:#fff}
.prose a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.prose ul li,.dash li{position:relative;padding-left:22px}
.prose ul li+li,.dash li+li{margin-top:6px}
.prose ul li:before,.dash li:before{content:"";position:absolute;left:0;top:.85em;width:10px;height:2px;background:var(--accent)}
.prose ol{counter-reset:o}
.prose ol li{position:relative;padding-left:34px;counter-increment:o}
.prose ol li+li{margin-top:6px}
.prose ol li:before{content:counter(o,decimal-leading-zero) ".";position:absolute;left:0;color:var(--accent-text);font-weight:800;font-size:15px}

/* ---------- Верхняя полоса и шапка ---------- */
.topbar{background:var(--dark2);color:#a9a9a9;font-size:14px}
.topbar .wrap{display:flex;justify-content:flex-end;gap:34px;height:44px;align-items:center}
.topbar b{color:#fff;font-weight:700}
.site-head{position:absolute;top:44px;left:0;right:0;z-index:5;color:#fff;transition:background .3s}
.site-head__in{display:flex;align-items:center;height:130px}
.logo{position:relative;display:block;padding-bottom:16px;margin-top:16px;flex:none}
.logo__img{height:74px;width:auto}
.logo:after{content:"";position:absolute;left:-120px;right:0;bottom:0;height:1px;background:var(--accent)}
.menu{flex:1;display:flex;align-items:center;margin-left:70px}
.menu__list{display:flex;gap:34px}
.menu__list>li{position:relative}
.menu__list a{display:block;color:#fff;font-size:16px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:10px 0}
.menu__list a:hover,.menu__list .current-menu-item>a,.menu__list .current-menu-ancestor>a,.menu__list .current_page_parent>a{color:var(--accent-text)}
.menu__list .sub-menu{position:absolute;left:-24px;top:100%;min-width:320px;background:var(--dark2);padding:16px 26px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;box-shadow:0 20px 40px rgba(0,0,0,.25)}
.menu__list li:hover>.sub-menu,.menu__list li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.menu__list .sub-menu a{font-size:16px;font-weight:600;text-transform:none;letter-spacing:0;padding:8px 0;color:#d6d6d6;white-space:nowrap}
.menu__list .menu-item-has-children>a:after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 0 4px 9px}
.menu__contacts{display:none}
.soc{display:flex;gap:14px}
.soc a{width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;color:#fff}
.soc a:hover{border-color:var(--accent-text);color:var(--accent-text)}
.burger{display:none;width:44px;height:44px;position:relative;margin-left:auto}
.burger span,.burger:before,.burger:after{content:"";position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:.25s}
.burger span{top:21px}
.burger:before{top:13px}
.burger:after{top:29px}
.nav-open .burger span{opacity:0}
.nav-open .burger:before{top:21px;transform:rotate(45deg)}
.nav-open .burger:after{top:21px;transform:rotate(-45deg)}

/* Шапка, прилипающая при прокрутке */
.site-head.is-fixed{position:fixed;top:0;background:rgba(22,22,22,.96);animation:headIn .3s}
.site-head.is-fixed .site-head__in{height:76px}
.site-head.is-fixed .logo{margin:0;padding:0}
.site-head.is-fixed .logo:after{content:none}
.site-head.is-fixed .logo__img{height:46px}
@keyframes headIn{from{transform:translateY(-100%)}}
.admin-bar .site-head.is-fixed{top:32px}

/* ---------- Hero ---------- */
.hero{position:relative;height:min(880px,100svh);min-height:680px;background:var(--dark);color:#fff;overflow:hidden}
.hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s}
.hero__slide.is-on{opacity:1;visibility:visible}
.hero__slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,22,22,.72),rgba(22,22,22,.35) 45%,rgba(22,22,22,0) 75%),linear-gradient(180deg,rgba(22,22,22,.5),rgba(22,22,22,.1) 40%,rgba(22,22,22,.6))}
.hero__slide .wrap{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.hero__in{max-width:900px;padding-top:150px}
.hero .cap{color:#cfc4c2;font-size:clamp(17px,1.6vw,22px)}
.hero__t{color:#fff;font-weight:800;font-size:clamp(38px,5.3vw,76px);line-height:1.05;margin:10px 0 34px}
.hero__t i{font-style:normal;color:var(--accent-text)}
.hero__text{font-size:clamp(17px,1.4vw,20px);color:#d6d6d6;max-width:640px;line-height:1.7}
.hero__ln{display:inline-flex;align-items:center;gap:26px;margin-top:50px;color:#fff}
.hero__ln:before{content:"";width:90px;height:1px;background:var(--accent);transition:width .3s}
.hero__ln:hover:before{width:120px}
.hero__ln span{font-size:15px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.hero__dots{position:absolute;right:max(var(--gut),calc((100vw - var(--wrap))/2 - 80px));bottom:70px;z-index:3;display:flex;gap:12px;align-items:center;font-weight:800}
.hero__dots button{display:block;width:40px;height:14px;position:relative}
.hero__dots button:before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:rgba(255,255,255,.35);transition:.3s}
.hero__dots button.is-on{width:70px}
.hero__dots button.is-on:before{background:#fff}

/* ---------- Шапка внутренних страниц ---------- */
.phead{position:relative;min-height:520px;display:flex;align-items:flex-end;background:var(--dark);color:#fff;overflow:hidden}
.phead:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,22,22,.7),rgba(22,22,22,.45) 50%,rgba(22,22,22,.85))}
.phead__in{position:relative;z-index:2;padding-top:220px;padding-bottom:70px}
.phead h1{color:#fff;font-size:clamp(32px,4vw,56px);max-width:960px}
.phead__text{margin-top:18px;max-width:700px;color:#d6d6d6;font-size:clamp(16px,1.3vw,19px)}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:#bdbdbd;margin-bottom:18px}
.crumbs span{color:var(--accent-text)}

/* ---------- Услуги ---------- */
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.svc{text-align:center;display:block;color:inherit}
.svc__ph{display:block;position:relative;height:230px;overflow:hidden}
.svc__ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.svc:hover img{transform:scale(1.05)}
.svc h3{font-size:21px;font-weight:600;color:#212121;margin:28px 0 14px}
.svc:hover h3{color:var(--accent-text)}
.more--icon{justify-content:center}

/* ---------- Карточка поверх фото ---------- */
section.story{padding-top:0}
.story__bg{position:relative;max-width:var(--wrap);margin:0 auto;min-height:820px;padding:70px 120px}
.story__box{position:relative;background:rgba(255,255,255,.93);padding:70px 76px 64px;box-shadow:0 30px 60px rgba(0,0,0,.06)}
.story__ic{display:flex;gap:26px;align-items:flex-start;margin-bottom:30px;color:var(--head)}
.story__ic svg{flex:none}
.story h2{font-size:clamp(26px,2.6vw,34px);max-width:760px}
.story__lt{color:#2b2b2b;margin-top:16px}
.numlist{display:flex;gap:16px;margin:22px 0 26px;counter-reset:i}
.numlist li{flex:1;border-top:1px solid var(--line);padding-top:16px;color:#2b2b2b;font-weight:800;line-height:1.5}
.numlist li:before{content:"0" counter(i) ".";counter-increment:i;display:block;color:var(--accent-text);font-size:15px;margin-bottom:4px}

/* ---------- Текст + фото ---------- */
.tm__row{display:grid;grid-template-columns:1fr 430px;max-width:1065px;margin:0 auto;align-items:start}
.tm--left .tm__row{grid-template-columns:430px 1fr}
.tm--left .tm__img{order:-1}
.tm__txt{padding:60px 90px 0 0}
.tm--left .tm__txt{padding:60px 0 0 90px}
.tm__hd{position:relative;padding:0 0 28px;margin:0 -90px 34px 0;border-bottom:1px solid var(--line)}
.tm--left .tm__hd{margin:0 0 34px -90px;padding-left:90px}
.tm__img{position:relative;height:560px}
.tm__thumbs{position:absolute;left:0;right:0;bottom:-40px;display:flex;gap:10px;padding:0 20px}
.tm__thumbs a{flex:0 0 calc((100% - 20px)/3);height:90px;overflow:hidden;border:3px solid #fff}
.tm__thumbs img{width:100%;height:100%;object-fit:cover}
.tm__txt--wide{max-width:1065px;margin:0 auto;padding:0}
.tm__txt--wide .tm__hd{margin:0 0 34px;padding-left:0}
.tm__gal{display:grid;gap:24px;max-width:1065px;margin:46px auto 0}
.tm__gal--2{grid-template-columns:repeat(2,1fr)}
.tm__gal--3{grid-template-columns:repeat(3,1fr)}
.tm__gal--4{grid-template-columns:repeat(4,1fr);gap:18px}
.tm__gal a{display:block;aspect-ratio:4/3;overflow:hidden}
.tm__gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tm__gal a:hover img{transform:scale(1.04)}

/* ---------- Каталог проектов ---------- */
.g3c{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.pc{background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.05);display:flex;flex-direction:column}
.pc__ph{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.pc__ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pc:hover .pc__ph img{transform:scale(1.04)}
.pc__bd{padding:28px 30px 30px;display:flex;flex-direction:column;flex:1}
.pc h3{font-size:22px;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px}
.chips span{border:1px solid var(--line);padding:4px 14px;font-size:14px;color:#4a4a4a;line-height:1.7}
.pc__ft{margin-top:auto;display:flex;flex-wrap:wrap;row-gap:12px;border-top:1px solid var(--line);padding-top:22px}
.pc__ft b{width:100%;font-size:22px;color:var(--head);font-weight:700;white-space:nowrap}
.pc__ft a{display:flex;align-items:center;gap:12px;color:var(--accent-text);font-weight:600;font-size:15px;width:100%;justify-content:space-between}
.pc__ft a i{width:44px;height:44px;border-radius:50%;background:var(--head);color:#fff;display:grid;place-items:center;transition:background .2s}
.pc__ft a:hover i{background:var(--accent)}
.cat__ft{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:center;margin-top:46px}
.cat__note{color:var(--accent-text);font-weight:800;font-size:15px}
.nav-links{display:flex;gap:8px;justify-content:center;margin-top:46px}
.nav-links .page-numbers{min-width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);font-weight:700}
.nav-links .current{background:var(--accent);border-color:var(--accent-text);color:var(--accent-ink)}

/* ---------- Комплектации ---------- */
.g3p{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.pk{padding:50px 46px;border-right:1px solid var(--line);position:relative;display:flex;flex-direction:column}
.pk:last-child{border-right:0}
.pk small{font-size:15px;color:#9a9a9a}
.pk h3{font-size:28px;margin:4px 0 14px}
.pk__pr{font-weight:700;font-size:26px;color:var(--accent-text);padding-bottom:20px;border-bottom:1px solid var(--line)}
.pk p{margin:20px 0 18px;color:#3a3a3a}
.pk ul{columns:2;column-gap:20px;margin-bottom:30px}
.pk li{font-size:15px;padding:3px 0 3px 18px;position:relative;break-inside:avoid}
.pk li:before{content:"";position:absolute;left:0;top:14px;width:8px;height:1px;background:var(--accent)}
.pk .more{margin-top:auto}
.pk.is-on{background:var(--dark);color:#bdbdbd}
.pk.is-on h3,.pk.is-on p{color:#fff}
.pk.is-on .pk__pr{border-color:#3a3a3a}
.pk.is-on:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--accent)}

/* ---------- Материалы ---------- */
section.mat{padding-top:0}
.mat__band{position:relative;min-height:520px;background:#1a1a1a;color:#fff;text-align:center;padding-top:110px;overflow:hidden}
.mat__band:after{content:"";position:absolute;inset:0;background:rgba(18,18,18,.78)}
.mat__in{position:relative;z-index:2;max-width:860px}
.mat__band .ttl{color:#fff}
.mat__band .cap{color:#cfc4c2}
.mat__band p{color:#e2e2e2;margin-top:24px;font-size:19px}
.mat__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:-210px;position:relative;z-index:3}
.mc{background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.08)}
.mc__ph{aspect-ratio:3/2;overflow:hidden}
.mc__ph img{width:100%;height:100%;object-fit:cover}
.mc__bd{padding:34px 34px 38px}
.mc h3{font-size:20px;display:inline-block;padding-bottom:10px;border-bottom:1px solid var(--accent);margin-bottom:18px}
.mc p{font-size:15.5px;line-height:1.75}

/* ---------- Этапы ---------- */
.how__top{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:start;margin-bottom:70px}
.how__top p{font-size:18px;color:#cfcfcf;border-left:1px solid var(--accent);padding-left:40px}
.bg-white .how__top p,.bg-soft .how__top p{color:var(--txt)}
.steps{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #3d3d3d}
.bg-white .steps,.bg-soft .steps{border-color:var(--line)}
.steps li{padding:34px 24px 0 0;position:relative}
.steps li:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.steps b{font-size:40px;font-weight:700;color:#4a4a4a;line-height:1}
.bg-white .steps b,.bg-soft .steps b{color:#d0d0d0}
.steps h3{font-size:19px;margin:16px 0 10px}
.steps p{font-size:15px;line-height:1.7}

/* ---------- Комплекс работ ---------- */
.cplx__in{display:grid;grid-template-columns:480px 1fr;gap:90px}
.cplx__img{position:relative;height:520px;margin-top:40px}
.cplx__list>div{display:flex;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}
.cplx__list>div:first-child{padding-top:0}
.cplx__list b{font-weight:700;color:var(--accent-text);font-size:22px;width:52px;flex:none}
.cplx h3{font-size:21px;margin-bottom:8px}

/* ---------- Наши работы ---------- */
.works__sh{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px}
.works__sh:has(> div:empty):not(:has(a)){display:none}
.filters{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:15px;font-weight:800;color:#9a9a9a;margin-bottom:30px}
.filters button{padding-bottom:6px;color:inherit;font-weight:800}
.filters button.is-on{color:var(--head);box-shadow:inset 0 -2px 0 var(--accent)}
.mas{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:330px;grid-auto-flow:dense}
.wk{position:relative;overflow:hidden;display:block;color:#fff;background:var(--dark)}
.wk img{transition:transform .8s}
.wk:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55))}
.wk:after{content:"";position:absolute;inset:0;z-index:1;background:var(--accent-soft);opacity:0;transition:opacity .35s}
.wk__t{position:absolute;left:30px;right:30px;bottom:26px;z-index:2;font-weight:800;font-size:21px;line-height:1.3;transition:.35s}
.wk__t small{display:block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;opacity:.85;font-weight:500;margin:0 0 2px}
.wk:hover{color:#fff}
.wk:hover:after{opacity:1}
.wk:hover img{transform:scale(1.05)}
.wk:hover .wk__t{color:var(--accent-ink);bottom:50%;transform:translateY(50%);text-align:center}
.wk.tall{grid-row:span 2}
.wk.wide{grid-column:span 2}
.mas.is-filtered .wk{grid-row:auto;grid-column:auto}
.wk.is-hidden{display:none}

/* ---------- Преимущества ---------- */
.adv__h{display:flex;align-items:center;gap:26px;margin-bottom:60px}
.adv__h:after{content:"";width:230px;height:1px;background:var(--accent);margin-top:14px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}
.av{padding:32px 0 34px;border-top:1px solid var(--line);display:flex;gap:24px}
.av b{font-weight:800;color:var(--accent-text);font-size:34px;line-height:1}
.av p{color:#3a3a3a;font-size:18px;line-height:1.6}
.bg-dark .av p{color:#d6d6d6}
.bg-dark .av{border-color:#3d3d3d}

/* ---------- FAQ / аккордеон ---------- */
section.faq{padding-top:40px}
.faq__bg{position:relative;min-height:760px}
.faq__img{position:absolute;left:100px;right:-90px;top:0;height:640px}
.faq__box{position:relative;top:100px;width:660px;background:#fff;padding:64px 66px;box-shadow:0 25px 60px rgba(0,0,0,.08)}
.faq__box .ttl{margin-bottom:26px}
.q{border-bottom:1px solid #ececec}
.q:last-child{border-bottom:0}
.q summary{list-style:none;cursor:pointer;padding:18px 0;font-size:17px;font-weight:800;display:flex;justify-content:space-between;gap:20px;color:#2f2f2f;line-height:1.5}
.q summary::-webkit-details-marker{display:none}
.q summary:after{content:"+";color:var(--accent-text);font-size:24px;line-height:1;flex:none}
.q[open] summary{color:var(--accent-text)}
.q[open] summary:after{content:"–"}
.q summary em{font-style:normal;color:var(--accent-text);margin-left:auto;white-space:nowrap}
.q__a{padding:0 0 20px;font-size:15.5px;line-height:1.75}
.acc--wide{max-width:900px;margin:0 auto;border-top:1px solid var(--line)}
.acc--wide .q{border-bottom:1px solid var(--line)}

/* ---------- Табы ---------- */
.about__in{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.about .ttl{margin-bottom:24px}
.tabs{display:flex;flex-wrap:wrap;gap:10px 38px;border-bottom:1px solid var(--line);margin-bottom:30px}
.tabs button{font-weight:800;font-size:22px;color:#a3a3a3;padding-bottom:16px}
.tabs button[aria-selected=true]{color:var(--head);box-shadow:inset 0 -2px 0 var(--accent)}
.tabs__p{font-size:18px;color:#4a4a4a}
.about__side{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.about__side div{position:relative;height:300px}
.about__side div:last-child{margin-top:60px}

/* ---------- Видео ---------- */
.video__in{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
.video__in .ttl{margin-bottom:24px}
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .3s}
.yt:hover img{opacity:1}
.yt__play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 12px var(--accent-soft)}
.yt__play:after{content:"";position:absolute;left:34px;top:27px;border-left:22px solid #fff;border-top:15px solid transparent;border-bottom:15px solid transparent}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Форма + контакты ---------- */
.contact__in{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.contact__txt .ttl{margin-bottom:20px}
.contact__list{margin-top:30px;display:grid;gap:14px}
.contact__list li{display:flex;gap:14px;align-items:flex-start;font-size:18px;font-weight:600;color:var(--head)}
.bg-dark .contact__list li{color:#fff}
.contact__list svg{color:var(--accent-text);margin-top:7px;flex:none}
.contact__list small{font-weight:500;color:var(--txt);font-size:15px}
.contact__form{background:#fff;padding:50px;box-shadow:0 25px 60px rgba(0,0,0,.08)}

/* Формы Contact Form 7 */
.sh-form .f{margin-bottom:16px}
.sh-form input:not([type=submit]):not([type=checkbox]),.sh-form textarea{width:100%;font:inherit;font-size:16px;color:var(--head);background:#fff;border:1px solid var(--line);padding:14px 18px;border-radius:0;transition:border-color .2s}
.sh-form textarea{height:130px;resize:vertical}
.sh-form input:focus,.sh-form textarea:focus{outline:0;border-color:var(--accent-text)}
.sh-form [type=submit]{width:100%;min-height:56px;font:inherit;font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);cursor:pointer;transition:.2s}
.sh-form [type=submit]:hover{background:var(--head);border-color:var(--head)}
.sh-form .wpcf7-not-valid-tip{display:block;font-size:13px;color:#c0392b;margin-top:4px}
.sh-form .wpcf7-not-valid{border-color:#c0392b!important}
.sh-form .wpcf7-response-output{margin-top:16px;font-size:15px;padding:10px 14px;border:1px solid var(--line)}
.sh-form .wpcf7-response-output:empty{display:none}
.sh-form.sent .wpcf7-response-output{border-color:#2e7d32;color:#2e7d32}
.sh-form.invalid .wpcf7-response-output,.sh-form.failed .wpcf7-response-output{border-color:#c0392b;color:#c0392b}
.sh-form .wpcf7-spinner{display:none}
.sh-form.submitting [type=submit]{opacity:.6}
.sh-form .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sh-form .hidden-fields-container{display:none}
.wpcf7-form-control-wrap{display:block}

/* ---------- Простой текст ---------- */
.blk-text{padding:var(--sec) 0}
.blk-text .ttl{margin-bottom:24px}

/* ---------- Страница проекта / объекта ---------- */
.single__in{display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:start}
.single__main{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.single__main img{width:100%;height:100%;object-fit:cover}
.single__thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}
.single__thumbs a{aspect-ratio:4/3;overflow:hidden}
.single__thumbs img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}
.single__thumbs a:hover img{opacity:.8}
.single__card{position:sticky;top:100px;padding:44px 40px;border:1px solid var(--line);display:grid;gap:20px}
.single__card .more{justify-self:start}
.single__price{font-size:28px;font-weight:700;color:var(--accent-text);padding-bottom:20px;border-bottom:1px solid var(--line)}
.single__note{font-size:14px;line-height:1.6}
.single__lt{color:var(--head);font-weight:800}
.facts{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:15.5px;line-height:1.5}
.facts dt{color:#9a9a9a}
.facts dd{color:var(--head);font-weight:600}
.single__desc{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:start}
.facts--specs{background:#fff;padding:34px}

/* ---------- Подвал ---------- */
.site-foot{background:var(--dark2);color:#9a9a9a;padding:100px 0 40px}
.site-foot__cols{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:60px}
.site-foot__h{font-weight:800;color:#fff;font-size:20px;margin-bottom:24px}
.site-foot__h:after{content:"\00a0."}
.site-foot__big{color:#fff;font-size:22px;font-weight:800;line-height:1.6}
.site-foot__item{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;margin:0 0 24px}
.site-foot__item svg{color:var(--accent-text);margin-top:6px;flex:none}
.site-foot__item small{color:#7a7a7a}
.logo--foot{margin:0;display:inline-block}
.logo--foot:after{left:0}
.site-foot__bot{margin-top:70px;padding-top:28px;border-top:1px solid #2c2c2c;display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;font-size:14px}
.site-foot__menu ul{display:flex;flex-wrap:wrap;gap:6px 22px;text-transform:uppercase;font-weight:700;letter-spacing:.04em}

/* ---------- Попапы ---------- */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(22,22,22,.75);overflow-y:auto}
.modal[hidden]{display:none}
.modal__box{position:relative;width:100%;max-width:480px;background:#fff;padding:50px 44px 44px;animation:modalIn .3s}
.modal__x{position:absolute;right:12px;top:8px;font-size:34px;line-height:1;width:44px;height:44px;color:#9a9a9a}
.modal__x:hover{color:var(--accent-text)}
.modal__t{font-size:28px;font-weight:800;color:var(--head);line-height:1.15}
.modal__sub{margin:10px 0 24px;font-size:15.5px;line-height:1.6}
@keyframes modalIn{from{opacity:0;transform:translateY(20px)}}
body.is-locked{overflow:hidden}

/* Просмотр фото */
.lb{position:fixed;inset:0;z-index:110;background:rgba(10,10,10,.92);display:grid;place-items:center;padding:60px 70px}
.lb img{max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto;object-fit:contain}
.lb button{position:absolute;color:#fff;font-size:40px;width:56px;height:56px;line-height:1}
.lb__x{right:10px;top:10px}
.lb__p{left:6px;top:50%;margin-top:-28px}
.lb__n{right:6px;top:50%;margin-top:-28px}

/* ======================= Адаптив ======================= */
@media (max-width:1300px){
	.logo:after{left:calc(var(--gut)*-1)}
	.menu{margin-left:40px}
	.menu__list{gap:22px}
	.menu__list a{font-size:14px}
	.story__bg{padding:60px}
	.faq__img{right:0}
}

@media (max-width:1200px){
	.g4{gap:24px}
	.svc__ph{height:200px}
	.tm__row{grid-template-columns:1fr 380px}
	.tm--left .tm__row{grid-template-columns:380px 1fr}
	.tm__txt{padding-right:60px}
	.tm--left .tm__txt{padding-left:60px}
	.tm__hd{margin-right:-60px}
	.tm--left .tm__hd{margin-left:-60px;padding-left:60px}
	.pk{padding:40px 30px}
	.pk ul{columns:1}
	.mat__cards{grid-template-columns:repeat(2,1fr);margin-top:-160px}
	.how__top{grid-template-columns:1fr;gap:30px}
	.steps{grid-template-columns:repeat(3,1fr);row-gap:50px}
	.cplx__in{grid-template-columns:400px 1fr;gap:60px}
	.about__in,.video__in,.contact__in{gap:50px}
}

@media (max-width:992px){
	:root{--gut:16px}
	body{font-size:16px}
	.topbar .wrap{justify-content:center;gap:20px}
	.topbar__mail{display:none}
	.site-head__in{height:84px}
	.logo{margin:0;padding:0}
	.logo:after{content:none}
	.logo__img{height:52px}
	.soc{display:none}
	.burger{display:block}
	.menu{position:fixed;inset:0;margin:0;z-index:-1;background:var(--dark2);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:110px var(--gut) 40px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
	.nav-open .menu{opacity:1;visibility:visible}
	.nav-open{overflow:hidden}
	.nav-open .site-head{position:fixed;top:0}
	.menu__list{flex-direction:column;gap:0}
	.menu__list>li{border-bottom:1px solid #2c2c2c}
	.menu__list a{font-size:18px;padding:14px 0}
	.menu__list .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 12px 16px;min-width:0;display:none}
	.menu__list .is-open>.sub-menu{display:block}
	.menu__list .sub-menu a{font-size:16px;white-space:normal}
	.menu__list .menu-item-has-children>a:after{float:right;margin-top:8px}
	.menu__contacts{display:grid;gap:12px;margin-top:30px;font-size:20px;font-weight:700}
	.menu__contacts a:not(.btn){color:#fff}
	.hero{min-height:600px}
	.hero__in{padding-top:120px}
	.hero__ln{margin-top:34px}
	.hero__dots{bottom:30px}
	.phead{min-height:380px}
	.phead__in{padding-top:150px;padding-bottom:50px}
	.g4{grid-template-columns:repeat(2,1fr)}
	.story__bg{padding:220px 0 0;min-height:0}
	.story__bg .cover{height:420px;bottom:auto}
	.story__box{margin:0 var(--gut);padding:40px 30px}
	.numlist{flex-direction:column;gap:12px}
	.tm__row,.tm--left .tm__row{grid-template-columns:1fr;gap:30px}
	.tm--left .tm__img{order:0}
	.tm__txt,.tm--left .tm__txt{padding:0}
	.tm__hd,.tm--left .tm__hd{margin:0 0 24px;padding:0 0 20px}
	.tm__img{height:auto;aspect-ratio:4/3}
	.tm__thumbs{position:static;padding:0;margin-top:10px}
	.tm__thumbs a{border:0}
	.g3c{grid-template-columns:repeat(2,1fr);gap:20px}
	.g3p{grid-template-columns:1fr;border:0;gap:20px}
	.pk,.pk:last-child{border:1px solid var(--line)}
	.pk ul{columns:2}
	.mat__band{min-height:0;padding:70px 0 200px}
	.mat__cards{margin-top:-150px;gap:20px}
	.cplx__in{grid-template-columns:1fr;gap:30px}
	.cplx__img{height:auto;aspect-ratio:16/10;margin-top:24px}
	.mas{grid-template-columns:repeat(2,1fr);grid-auto-rows:260px}
	.wk.wide{grid-column:span 2}
	.g3{grid-template-columns:repeat(2,1fr)}
	.adv__h:after{width:80px}
	.faq__bg{min-height:0}
	.faq__img{position:relative;left:0;height:320px}
	.faq__box{top:0;width:auto;margin:-80px var(--gut) 0;padding:40px 30px}
	.about__in,.video__in,.contact__in{grid-template-columns:1fr}
	.single__in,.single__desc{grid-template-columns:1fr;gap:40px}
	.single__card{position:static}
	.site-foot{padding-top:70px}
	.site-foot__cols{grid-template-columns:1fr 1fr;gap:40px}
	.admin-bar .site-head.is-fixed{top:46px}
}

@media (max-width:768px){
	.steps{grid-template-columns:repeat(2,1fr)}
	.mat__cards{grid-template-columns:1fr}
	.contact__form{padding:30px 22px}
	.tm__gal--3,.tm__gal--4{grid-template-columns:repeat(2,1fr)}
	.about__side div{height:220px}
	.site-foot__bot{flex-direction:column}
}

@media (max-width:600px){
	.admin-bar .site-head.is-fixed{top:0}
}

@media (max-width:480px){
	.topbar{font-size:13px}
	.topbar .wrap{gap:14px}
	.hero{min-height:560px}
	.hero__t{margin-bottom:22px}
	.g4{grid-template-columns:1fr 1fr;gap:16px}
	.svc__ph{height:auto;aspect-ratio:1}
	.svc h3{font-size:16px;margin:14px 0 6px}
	.story__box{padding:30px 20px}
	.story__ic svg{width:44px;height:44px}
	.g3c{grid-template-columns:1fr}
	.pk{padding:34px 24px}
	.pk ul{columns:1}
	.steps{grid-template-columns:1fr;row-gap:34px}
	.mas{grid-template-columns:1fr;grid-auto-rows:240px}
	.wk.wide,.wk.tall{grid-column:auto;grid-row:auto}
	.g3{grid-template-columns:1fr}
	.faq__box{padding:30px 20px}
	.tabs button{font-size:18px}
	.tm__gal--2,.tm__gal--3,.tm__gal--4{grid-template-columns:1fr}
	.site-foot__cols{grid-template-columns:1fr}
	.modal__box{padding:44px 22px 26px}
	.single__card{padding:30px 22px}
}

@media (prefers-reduced-motion:reduce){
	*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
