/* ============ HERO BLOCK ============ */
.hero{position:relative;isolation:isolate;color:#fff;display:flex;align-items:center;padding:130px 0 72px;min-height:100svh}
.hero__bg{position:absolute;inset:0;z-index:-2}
.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(11,15,22,.9) 0%,rgba(11,15,22,.72) 46%,rgba(11,15,22,.45) 100%),linear-gradient(0deg,rgba(11,15,22,.55),transparent 34%)}
.hero-grid{display:grid;gap:52px;align-items:center}
.hero__eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 12px var(--fm);letter-spacing:.2em;text-transform:uppercase;color:#FFB27A;margin-bottom:20px}
.hero__eyebrow::before{content:"";width:34px;height:2px;background:var(--accent)}
.hero h1{color:#fff;font-weight:800;font-size:clamp(30px,4.6vw,48px);letter-spacing:-.5px;max-width:640px}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-sub{color:rgba(255,255,255,.86);font-size:clamp(16px,1.7vw,19px);max-width:560px;margin:20px 0 30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-perks{margin-top:38px;display:flex;flex-wrap:wrap;gap:16px 34px}
.hperk{display:flex;align-items:center;gap:13px}
.hperk__ic{width:46px;height:46px;border-radius:50%;background:rgba(255,107,0,.16);border:1px solid rgba(255,107,0,.45);display:grid;place-items:center;color:var(--accent);flex:none}
.hperk__ic .ic{width:21px;height:21px}
.hperk b{display:block;font:600 15px var(--fd);color:#fff}
.hperk small{font-size:12.5px;color:rgba(255,255,255,.6)}
/* hero slider */
.hs{position:relative;width:min(440px,100%);justify-self:end}
.hs__tag{position:absolute;top:-16px;left:-14px;z-index:3;background:var(--accent);color:#fff;font:600 11px var(--fm);letter-spacing:.1em;padding:9px 13px;border-radius:6px;transform:rotate(-5deg);box-shadow:0 12px 26px -10px rgba(230,92,0,.8)}
.hs__frame{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 42px 90px -26px rgba(0,0,0,.6)}
.hs__slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.hs__slide.is-on{opacity:1;z-index:1}
.hs__slide img{width:100%;height:100%;object-fit:cover}
.hs__slide.is-on img{animation:kenburns 13s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.09) translate(-1.5%,1.5%)}}
.hs__cap{position:absolute;left:14px;bottom:14px;z-index:2;font:500 12px var(--fm);letter-spacing:.06em;background:rgba(10,14,20,.58);backdrop-filter:blur(6px);padding:7px 11px;border-radius:6px;color:#fff}
.hs__bar{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:14px}
.hs__count{font:600 13px var(--fm);color:rgba(255,255,255,.75);letter-spacing:.1em}
.hs__count b{color:var(--accent)}
.hs__dots{display:flex;gap:8px}
.hs__dot{width:22px;height:4px;border-radius:2px;border:0;background:rgba(255,255,255,.28);transition:.3s;padding:0}
.hs__dot.on{background:var(--accent);width:34px}
.hs__arr{display:flex;gap:10px}
.hs__arr button{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:transparent;color:#fff;display:grid;place-items:center;transition:.25s}
.hs__arr button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
.hs__arr .ic{width:18px;height:18px}

/* ============ ПРЕИМУЩЕСТВА ============ */
.adv{background:var(--bg-alt)}
.adv-grid{display:grid;gap:20px;grid-template-columns:1fr}
.acard{background:#fff;border:1px solid #ECEEF0;border-radius:var(--rad);padding:28px 24px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.acard::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--accent);transition:width .4s}
.acard:hover{transform:translateY(-6px);box-shadow:0 26px 48px -22px rgba(26,26,26,.22);border-color:#FFD9BE}
.acard:hover::after{width:100%}
.acard__num{position:absolute;top:20px;right:20px;font:600 13px var(--fm);color:#D9DDE2}
.acard__ic{width:54px;height:54px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);margin-bottom:18px;transition:.35s}
.acard__ic .ic{width:27px;height:27px}
.acard:hover .acard__ic{background:var(--accent);color:#fff;transform:rotate(-5deg) scale(1.06)}
.acard h3{font-size:18px;font-weight:600;margin-bottom:8px;max-width:230px}
.acard p{font-size:14.5px;color:var(--muted)}

/* ============ БАННЕР: ИНДИВИДУАЛЬНЫЙ ПРОЕКТ ============ */
.custom{position:relative;overflow:hidden;background:var(--navy) ;color:#fff;text-align:center;padding:84px 0}
.custom::before{content:"";position:absolute;inset:0;background-image:
 linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
 linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
 background-size:110px 110px,110px 110px,22px 22px,22px 22px}
.custom::after{content:"";position:absolute;inset:0;background:var(--noise);opacity:.5;mix-blend-mode:overlay;pointer-events:none}
.custom__wm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:800 clamp(90px,18vw,230px)/1 var(--fd);letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06);white-space:nowrap;user-select:none;pointer-events:none}
.custom .container{position:relative;z-index:2;max-width:860px}
.custom__lead{font:600 clamp(19px,2.6vw,26px) var(--fd);color:rgba(255,255,255,.92)}
.custom h2{color:#fff;font-size:clamp(27px,4vw,42px);margin:16px 0 18px;font-weight:800}
.custom h2 em{font-style:normal;color:var(--accent);position:relative}
.custom p.sub{color:#AEB9C6;max-width:560px;margin:0 auto 32px;font-size:16.5px}
.custom-stats{display:flex;justify-content:center;gap:14px 52px;flex-wrap:wrap;margin:0 0 38px}
.cstat b{display:block;font:800 clamp(28px,3.4vw,38px)/1 var(--fd);color:var(--accent)}
.cstat span{font-size:18px;/*font-size:13px;*/color:#93A1B3;letter-spacing:.02em}
.custom .micro{margin-top:16px;font-size:13px;color:#8794A6}
.custom .dimline{position:absolute;z-index:1;color:rgba(255,255,255,.16)}
.dimline--l{left:3%;top:16%}
.dimline--r{right:3%;bottom:12%;transform:rotate(180deg)}
@media(max-width:1100px){.custom .dimline{display:none}}

/* ============ КАТАЛОГ ============ */
.cat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cat-link{font:600 15px var(--fd);color:var(--accent);text-decoration:none;display:inline-flex;gap:8px;align-items:center;padding-bottom:3px;border-bottom:2px solid transparent;transition:.2s}
.cat-link:hover{border-color:var(--accent)}
.cat-grid{display:grid;gap:22px;grid-template-columns:1fr}
.card{background:#fff;border:1px solid #ECEEF0;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 54px -24px rgba(26,26,26,.24);border-color:#FFD9BE}
.card__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:#EEF0F2}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.card:hover .card__media img{transform:scale(1.07)}
.badge{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;font:600 10.5px var(--fd);letter-spacing:.07em;text-transform:uppercase;padding:6px 10px;border-radius:6px}
.card__body{padding:18px;display:flex;flex-direction:column;gap:13px;flex:1}
.card h3{font-size:clamp(16px,1.4vw,22px);font-weight:600;line-height:1.25}
.card__specs{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.spec{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text)}
.spec .ic{width:16px;height:16px;color:var(--accent)}
.card__price{margin-top:auto;display:flex;align-items:baseline;gap:8px}
.card__price b{font:700 19px var(--fd);color:var(--ink)}
.card__price small{font-size:12px;color:var(--muted)}
.card__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.card__btns .btn{padding:11px 8px;font-size:13px}
@media(min-width:600px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.cat-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1200px){.cat-grid{grid-template-columns:repeat(5,1fr)}.card__specs{grid-template-columns:1fr}}

/* ============ ПРОГРЕСС ============ */
.process{background:var(--bg-alt)}
.steps{display:grid;gap:26px;grid-template-columns:1fr;position:relative}
.steps::before{content:"";position:absolute;left:29px;top:70px;bottom:30px;width:2px;background:repeating-linear-gradient(180deg,#FFB27A 0 7px,transparent 7px 15px);transform:scaleY(0);transform-origin:top;transition:transform 1.1s .2s ease}
.steps.in::before{transform:scaleY(1)}
.step{display:flex;gap:20px;align-items:flex-start}
.step__n{width:60px;height:60px;flex:none;border-radius:50%;background:#fff;border:2px solid var(--accent);color:var(--accent);font:700 22px var(--fd);display:grid;place-items:center;position:relative;z-index:1;box-shadow:0 0 0 7px var(--bg-alt);transition:.3s}
.step:hover .step__n{background:var(--accent);color:#fff;transform:scale(1.07)}
.step h3{font-size:18px;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.step h3 .ic{width:19px;height:19px;color:var(--accent)}
.step p{font-size:14.5px;color:var(--muted);max-width:300px}
@media(min-width:700px){
  .steps{grid-template-columns:repeat(2,1fr);gap:38px 26px}
  .steps::before{display:none}
  .step{flex-direction:column;gap:0;text-align:left}
  .step h3{margin-top:16px}
}
@media(min-width:1200px){
  .steps{grid-template-columns:repeat(5,1fr);gap:22px}
  .steps::before{display:block;/*left:9%;*/left:-48px;right:9%;top:30px;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(90deg,#FFB27A 0 7px,transparent 7px 15px);transform:scaleX(0);transform-origin:left}
  .steps.in::before{transform:scaleX(1)}
}

/* ============ МАТЕРИАЛЫ ============ */
.mat-grid{display:grid;gap:40px}
.mat-side .mat-note{background:var(--bg-alt);border:1px solid #ECEEF0;border-radius:12px;padding:22px;display:grid;gap:14px;margin-top:26px}
.mnote{display:flex;gap:13px;align-items:center;font-size:14.5px}
.mnote__ic{width:42px;height:42px;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.mnote b{color:var(--ink);display:block;font:600 14.5px var(--fd)}
.mnote small{color:var(--muted);font-size:12.5px}
.mat-side .quote{margin-top:22px;font-size:13.5px;color:var(--muted);border-left:3px solid var(--accent);padding-left:14px}
.tabs{display:flex;/*gap:10px;*/gap:5px;flex-wrap:wrap;margin-bottom:26px}
.tab{font:600 15px var(--fd);padding:11px 24px;border-radius:8px;border:2px solid #E3E6E9;background:#fff;color:var(--text);transition:.25s}
.tab:hover{border-color:var(--accent);color:var(--accent)}
.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
.mat-panel{display:none}
.mat-panel.active{display:grid;gap:24px;animation:fadeUp .45s ease both}
.mat-panel figure{border-radius:12px;overflow:hidden;position:relative;aspect-ratio:4/3;background:#EEF0F2}
.mat-panel figure img{width:100%;height:100%;object-fit:cover}
.mat-panel figcaption{position:absolute;left:12px;bottom:12px;font:600 11px var(--fm);letter-spacing:.12em;text-transform:uppercase;background:rgba(15,18,24,.66);color:#fff;padding:7px 11px;border-radius:6px}
.layers{list-style:none;display:grid;gap:11px;align-content:start}
.layers li{display:flex;gap:13px;align-items:flex-start;background:var(--bg-alt);border:1px solid #ECEEF0;border-radius:9px;padding:14px 16px;font-size:14.5px;transition:.25s}
.layers li:hover{border-color:#FFD9BE;transform:translateX(4px)}
.layers .idx{width:27px;height:27px;flex:none;border-radius:6px;background:var(--accent-soft);color:var(--accent);font:600 12px var(--fm);display:grid;place-items:center;margin-top:1px}
.layers b{color:var(--ink)}
.layers small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
@media(min-width:1000px){
  .mat-grid{grid-template-columns:370px 1fr;gap:56px}
  .mat-side{position:sticky;top:104px;align-self:start}
  .mat-panel.active{grid-template-columns:5fr 6fr;align-items:start}
}

/* ============ ОТЗЫВЫ ============ */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);margin-bottom:52px}
.marquee-track{display:flex;gap:18px;width:max-content;animation:marquee 38s linear infinite;padding:6px 0}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.lgo{display:flex;align-items:center;gap:11px;height:56px;padding:0 26px;border:1px solid #E8EAED;border-radius:10px;background:#fff;color:#8A929B;font:600 15px var(--fd);letter-spacing:.05em;white-space:nowrap;transition:.25s;flex:none}
.lgo svg{width:11px;height:11px;opacity:.55}
.lgo:hover{color:var(--ink);border-color:#C9CFD6;transform:translateY(-2px)}
.rv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.rvarrs{display:flex;gap:10px}
.rvarr{width:46px;height:46px;border-radius:50%;border:1.5px solid #E3E6E9;background:#fff;color:var(--ink);display:grid;place-items:center;transition:.25s}
.rvarr:hover:not([disabled]){background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}
.rvarr[disabled]{opacity:.35;cursor:default}
.rv-viewport{overflow:hidden;margin:0 -11px}
.rv-track{display:flex;transition:transform .55s cubic-bezier(.3,.8,.3,1)}
.rv-card{flex:0 0 100%;padding:6px 11px 14px}
body[data-rv="2"] .rv-card{flex-basis:50%}
body[data-rv="3"] .rv-card{flex-basis:33.3333%}
.rv-card__in{background:var(--bg-alt);border:1px solid #ECEEF0;border-radius:12px;padding:26px;height:100%;display:flex;flex-direction:column;gap:14px;transition:.3s}
.rv-card__in:hover{border-color:#FFD9BE;transform:translateY(-4px)}
.rv-top{display:flex;align-items:center;gap:13px}
.rv-top img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.rv-top b{display:block;font:600 15px var(--fd);color:var(--ink)}
.rv-top small{font-size:12px;color:var(--muted)}
.rv-y{margin-left:auto;font:600 11px var(--fm);color:#FC3F1D;background:#FFF0EC;border-radius:6px;padding:5px 8px;flex:none}
.rv-stars{display:flex;gap:3px}
.rv-stars .ic{width:16px;height:16px;color:#FFB300}
.rv-stars .ic.dim{color:#E2E5E9}
.rv-text{font-size:14.5px;color:var(--text)}
.rv-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:30px}
.rv-dots{display:flex;gap:8px}
.rv-dots button{width:9px;height:9px;border-radius:50%;border:0;background:#D9DDE2;padding:0;transition:.25s}
.rv-dots button.on{background:var(--accent);transform:scale(1.25)}

/* ============ КОНТАКТЫ ============ */
.contacts{background:var(--bg-alt)}
.c-grid{display:grid;gap:44px}
.cphone{display:inline-flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);margin:6px 0 14px;transition:color .2s}
.cphone:hover{color:var(--accent)}
.cphone__ic{width:56px;height:56px;flex:none;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -12px rgba(230,92,0,.7);animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 14px 30px -12px rgba(230,92,0,.7),0 0 0 0 rgba(255,107,0,.35)}50%{box-shadow:0 14px 30px -12px rgba(230,92,0,.7),0 0 0 12px rgba(255,107,0,0)}}
.cphone b{font:700 clamp(25px,3.2vw,36px)/1.1 var(--fd);letter-spacing:-.5px}
.cphone small{display:block;font-size:13px;color:var(--muted);font-weight:400}
.cmail{display:inline-flex;gap:10px;align-items:center;font:500 18px var(--fb);color:var(--ink);text-decoration:none;margin-bottom:26px}
.cmail .ic{width:20px;height:20px;color:var(--accent)}
.cmail:hover{color:var(--accent)}
.msg{display:flex;gap:12px;flex-wrap:wrap}
.m-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:10px;font:600 15px var(--fd);text-decoration:none;color:#fff;transition:.25s}
.m-btn .ic{width:20px;height:20px}
.m-btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px -12px rgba(0,0,0,.35)}
.m-btn--tg{background:#229ED9}
.m-btn--max{background:var(--navy)}
.ccard{background:#fff;border-radius:14px;padding:30px;box-shadow:0 34px 70px -34px rgba(26,26,26,.22)}
.crow{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px dashed #E7EAED}
.crow:last-of-type{border-bottom:0}
.crow__ic{width:42px;height:42px;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.crow small{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.crow b{font:600 15.5px var(--fd);color:var(--ink)}
.ccard .btn{margin-top:14px}
.ccard figure{margin-top:18px;border-radius:10px;overflow:hidden;position:relative}
.ccard figure img{width:100%;aspect-ratio:16/8;object-fit:cover}
.ccard figcaption{position:absolute;left:10px;bottom:10px;font:500 11px var(--fm);letter-spacing:.08em;background:rgba(15,18,24,.62);color:#fff;padding:6px 10px;border-radius:6px}
@media(min-width:1000px){.c-grid{grid-template-columns:1.05fr .95fr;align-items:start}}

/* ============ КАРТА И ПОДВАЛ ============ */
.map{position:relative;height:430px;background:#E9ECEF}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.92)}
.map-card{position:absolute;left:20px;top:22px;z-index:2;background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 22px 50px -20px rgba(15,20,30,.4);max-width:290px}
.map-card small{font:600 10.5px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.map-card b{display:block;font:700 16px var(--fd);color:var(--ink);margin:5px 0 8px}
.map-card a{font:600 13.5px var(--fd);color:var(--accent);text-decoration:none}
.map-card a:hover{text-decoration:underline}
.footer{background:#171A1E;color:#98A1AB;padding:58px 0 0}
.f-grid{display:grid;gap:36px}
.f-logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;margin-bottom:16px}
.f-grid p{font-size:14px;max-width:280px}
.f-head{font:600 13px var(--fd);color:#fff;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.f-list{list-style:none;display:grid;gap:11px;font-size:14.5px}
.f-list a{text-decoration:none;transition:color .2s,padding-left .2s}
.f-list a:hover{color:var(--accent);padding-left:5px}
.f-list b{color:#fff;font:600 15px var(--fd)}
.f-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:46px;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px}
.f-bottom button{background:none;border:0;color:#98A1AB;font:inherit;text-decoration:underline;padding:0}
.f-bottom button:hover{color:var(--accent)}
@media(min-width:860px){.f-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}}