
:root{--bg:#0a0a0a;--bg2:#111;--bg3:#1a1a1a;--card:#141414;--white:#fff;--text:rgba(255,255,255,.7);--muted:rgba(255,255,255,.4);--accent:rgba(255,255,255,.86);--accent-l:#fff;--accent-d:#7a7a7a;--border:rgba(255,255,255,.08);--border-l:rgba(255,255,255,.15);--fd:'Cormorant Garamond',serif;--fb:'Golos Text','Outfit',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--mw:1400px}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
body{font-family:var(--fb);background:var(--bg);color:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}
button{border:none;background:none;cursor:pointer;font-family:inherit;color:inherit}
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--accent);color:var(--bg);padding:12px 20px;font-family:var(--fb);font-size:.8rem;font-weight:500;border-radius:0 0 6px 0}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[role="button"]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.container{max-width:var(--mw);margin:0 auto;padding:0 60px}
@media(max-width:768px){.container{padding:0 24px}}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent-d);border-radius:3px}

/* PRELOADER */
.preloader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .8s,visibility .8s}
.preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.preloader-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:140px;height:140px}
.preloader img{height:64px;width:auto;position:relative;z-index:1;filter:brightness(0) invert(1)}
.preloader-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.15);border-top-color:var(--accent);animation:preloaderSpin 1.2s linear infinite}
.preloader-ring2{position:absolute;inset:10px;border-radius:50%;border:1px solid rgba(255,255,255,.08);border-bottom-color:rgba(255,255,255,.5);animation:preloaderSpin 2s linear infinite reverse}
@keyframes preloaderSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.preloader{transition:none}.preloader-ring,.preloader-ring2{animation:none}}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .5s var(--ease);border-bottom:1px solid rgba(255,255,255,.16)}
.nav.scrolled{background:rgba(10,10,10,.45);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-bottom:1px solid rgba(255,255,255,.16)}
body.menu-open .nav{background:rgba(10,10,10,.98)}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:76px}
.nav-logo{position:relative;overflow:hidden;justify-self:start}
.nav-logo img{height:34px;width:auto;transition:opacity .3s;filter:brightness(0) invert(1)}
.nav-logo:hover img{opacity:.8}
.nav-links{display:flex;gap:32px;align-items:center;justify-self:center}
.nav-links a{font-size:.81rem;font-weight:500;letter-spacing:.065em;text-transform:uppercase;color:var(--white);text-shadow:0 1px 8px rgba(0,0,0,.4);transition:color .25s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-6px;left:0;width:0;height:1px;background:var(--white);transition:width .22s var(--ease)}
.nav-links a:hover{color:var(--white)}.nav-links a:hover::after{width:100%}
.nav-links a.active{color:var(--white)}.nav-links a.active::after{width:100%}
.nav-right{display:flex;align-items:center;gap:10px;justify-self:end}
.nav-phone{font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--white);text-shadow:0 1px 8px rgba(0,0,0,.4);white-space:nowrap;display:flex;align-items:center;height:44px}
.nav-social{display:flex;gap:8px}
.soc-btn{width:32px;height:32px;border:1px solid var(--border-l);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s}
.soc-btn:hover{border-color:var(--accent);background:rgba(255,255,255,.1)}
.soc-btn svg{width:14px;height:14px;fill:var(--muted);transition:fill .3s}
.soc-btn:hover svg{fill:var(--accent)}
.soc-big{width:44px;height:44px}.soc-big svg{width:18px;height:18px}
.nav-cta{padding:0 15px;height:44px;border:1px solid #fff;background:#fff;font-size:11px;font-weight:500;letter-spacing:.025em;text-transform:none;color:#1f2020;transition:background .3s;position:relative;overflow:hidden;white-space:nowrap;display:flex;align-items:center;justify-content:center}
.nav-cta:hover{background:rgba(255,255,255,.84)}
.burger{display:flex;align-items:center;gap:10px;z-index:1003;cursor:pointer;border:1px solid rgba(255,255,255,.68);background:transparent;padding:0 13px;height:44px;transition:border-color .3s}
.burger:hover{border-color:var(--white)}
.burger-label{font-size:12px;font-weight:500;letter-spacing:.025em;text-transform:none;color:var(--white);transition:color .3s}
.burger:hover .burger-label{color:var(--white)}
.burger-bars{display:flex;flex-direction:column;gap:4px;width:13px}
.burger-bars span{display:block;height:1px;width:13px;background:var(--white);transition:all .4s var(--ease);transform-origin:center}
.burger.active .burger-bars span:nth-child(1){transform:rotate(45deg) translateY(2.5px)}
.burger.active .burger-bars span:nth-child(2){transform:rotate(-45deg) translateY(-2.5px)}
@media(max-width:480px){.burger-label{display:none}}

/* OFF-CANVAS MENU */
.mob-overlay{position:fixed;inset:0;z-index:1001;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s .35s}
.mob-overlay.active{opacity:1;visibility:visible;transition:opacity .35s var(--ease),visibility 0s}
.mob-menu{position:fixed;top:0;left:0;bottom:0;z-index:1002;width:min(420px,92vw);background:var(--bg);border-right:1px solid var(--border);box-shadow:40px 0 80px rgba(0,0,0,.35);display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .4s var(--ease);visibility:hidden}
.mob-menu.active{transform:translateX(0);visibility:visible}
.mob-menu-head{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border);flex-shrink:0}
.mob-menu-logo img{height:34px;width:auto;display:block;filter:brightness(0) invert(1)}
.mob-close{display:flex;align-items:center;gap:8px;color:var(--text);font-size:.7rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;transition:color .3s}
.mob-close:hover{color:var(--white)}
.mob-close svg{width:13px;height:13px}
.mob-menu-body{flex:1;overflow-y:auto;padding:8px 0}
.mob-sec{border-bottom:1px solid var(--border)}
.mob-sec-link,.mob-sec-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 24px;text-align:left;color:var(--white);transition:color .3s}
.mob-sec-link:hover,.mob-sec-btn:hover{color:var(--accent)}
.mob-sec-btn-main{display:flex;align-items:center;gap:16px}
.mob-num{font-family:var(--fb);font-size:.72rem;font-weight:500;color:var(--accent-d);opacity:.85;letter-spacing:.05em;width:18px;flex-shrink:0}
.mob-sec-name{font-family:var(--fb);font-size:.92rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}
.mob-chev{width:10px;height:10px;stroke:var(--muted);fill:none;stroke-width:1.3;transition:transform .3s var(--ease);flex-shrink:0}
.mob-sec[data-open] .mob-chev{transform:rotate(180deg)}
.mob-sec[data-open]>.mob-sec-btn{color:var(--accent)}
.mob-acc{max-height:0;overflow:hidden;visibility:hidden;transition:max-height .35s var(--ease),visibility 0s .35s}
.mob-sec[data-open] .mob-acc{max-height:640px;visibility:visible;transition:max-height .35s var(--ease),visibility 0s}
.mob-acc-inner{display:flex;flex-direction:column;padding:0 24px 20px 58px;gap:2px}
.mob-acc-inner a{font-family:var(--fb);font-size:.83rem;font-weight:300;color:var(--text);padding:7px 0;transition:color .3s}
.mob-acc-inner a:hover{color:var(--accent)}
.mob-acc-inner .mob-soon{font-family:var(--fb);font-size:.83rem;font-weight:300;color:var(--muted);opacity:.5;padding:7px 0;cursor:default}
.mob-menu-foot{border-top:1px solid var(--border);padding:22px 24px;flex-shrink:0}
.mob-foot-item{display:block;font-family:var(--fb);font-size:.83rem;font-weight:300;color:var(--text);margin-bottom:8px;transition:color .3s}
.mob-foot-item:hover{color:var(--accent)}
.mob-foot-addr{font-family:var(--fb);font-size:.76rem;font-weight:300;color:var(--muted);margin-bottom:16px}
.mob-menu .mob-social{display:flex;gap:10px;margin-top:0;justify-content:flex-start}
@media(max-width:480px){.mob-menu-head,.mob-sec-link,.mob-sec-btn,.mob-menu-foot{padding-left:20px;padding-right:20px}.mob-acc-inner{padding-left:50px}}
@media(prefers-reduced-motion:reduce){.mob-menu,.mob-overlay,.mob-acc,.mob-chev{transition:none}}
body.menu-open{overflow:hidden}
@media(max-width:1100px){.nav-links,.nav-cta,.nav-social,.nav-phone{display:none}.nav-inner{grid-template-columns:auto auto;justify-content:space-between}.nav-right{gap:0}}

/* HERO SLIDESHOW */
.hero{position:relative;height:100vh;height:100dvh;min-height:620px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:clamp(56px,6vw,88px);overflow:hidden}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease;overflow:hidden}
.hero-slide.active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero-slide:nth-child(1) img{animation:kb1 25s ease-in-out infinite alternate}
.hero-slide:nth-child(2) img{animation:kb2 25s ease-in-out infinite alternate}
.hero-slide:nth-child(3) img{animation:kb3 25s ease-in-out infinite alternate}
.hero-slide:nth-child(4) img{animation:kb4 25s ease-in-out infinite alternate}
.hero-slide:nth-child(5) img{animation:kb1 25s ease-in-out infinite alternate-reverse}
@keyframes kb1{0%{transform:scale(1.02)}100%{transform:scale(1.18) translate(-2%,-1.5%)}}
@keyframes kb2{0%{transform:scale(1.15) translate(-1%,0)}100%{transform:scale(1.02) translate(-1.5%,-2%)}}
@keyframes kb3{0%{transform:scale(1.02) translate(-1%,1%)}100%{transform:scale(1.14) translate(-1.5%,.5%)}}
@keyframes kb4{0%{transform:scale(1.14) translate(0,-1%)}100%{transform:scale(1.02) translate(-2%,1%)}}
.hero-over{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.18) 0%,rgba(10,10,10,0) 26%,rgba(10,10,10,.22) 55%,rgba(10,10,10,.8) 100%);z-index:1}
.hero-content{position:relative;z-index:2;text-align:center;max-width:1100px;padding:0 24px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.hero-sm{height:55vh;min-height:400px}
.hero-sm h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:8px}
.hero.hero-left{justify-content:flex-start}
.hero-content-l{text-align:left;align-items:flex-start;margin:0;max-width:960px;padding-left:60px}
.hero-content-l .hero-sub{margin:0 0 48px;text-align:left;max-width:520px}
.hero-content-l .hero-btns{justify-content:flex-start}
@media(max-width:768px){.hero-content-l{padding-left:24px}}
.hero h1{font-family:var(--fb);font-size:clamp(3rem,5.3vw,5rem);font-weight:400;letter-spacing:-.048em;line-height:1.04;max-width:18ch;margin-bottom:24px;opacity:0;animation:fu 1s var(--ease) .7s forwards;text-shadow:0 2px 20px rgba(0,0,0,.5);color:var(--white)}
@media(max-width:640px){.hero h1{font-size:clamp(2.375rem,9.8vw,3rem);max-width:16ch}}
.hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit;color:inherit}
.hero-sub{font-size:1rem;font-weight:400;color:var(--text);line-height:1.6;max-width:600px;margin:0 auto 48px;opacity:0;animation:fu 1s var(--ease) .9s forwards;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.hero-btns{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fu 1s var(--ease) 1.1s forwards}
@keyframes fu{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.hero-dots{display:none}
.hero-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--muted);cursor:pointer;transition:all .4s}
.hero-dot.active{background:var(--accent);border-color:var(--accent);transform:scale(1.4)}
.scroll-ind{display:none}
.scroll-ind span{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.scroll-ln{width:1px;height:44px;background:var(--border-l);position:relative;overflow:hidden}
.scroll-ln::after{content:'';position:absolute;top:-100%;left:0;width:1px;height:100%;background:var(--accent);animation:sd 2s ease-in-out infinite}
@keyframes sd{0%{top:-100%}50%{top:0}100%{top:100%}}

/* SHINE */
@keyframes shineRun{from{left:-80%}to{left:130%}}
.nav-logo::after{content:'';position:absolute;top:0;left:-80%;width:45%;height:100%;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.18) 50%,transparent 75%);transform:skewX(-18deg);pointer-events:none;opacity:0}
.nav-logo:hover::after{opacity:1;animation:shineRun .55s ease forwards}

/* BUTTONS */
.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:0 20px;background:#fff;color:#1f2020;font-family:var(--fb);font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:none;border:1px solid #fff;transition:background .3s;position:relative}
.btn-p:hover{background:rgba(255,255,255,.84)}
.btn-p span{position:relative}
.btn-o{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:0 20px;background:transparent;border:1px solid rgba(255,255,255,.74);font-family:var(--fb);font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:none;color:#fff;transition:background .3s,border-color .3s;position:relative}
.btn-o:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* ZROBIM DIVIDER */
.z-div{width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,var(--border) 15%,var(--accent) 50%,var(--border) 85%,transparent 100%);opacity:.5}
/* Единый разделитель для соседних секций и верхняя граница футера. */
main>section+section{position:relative}
main>section+section::before,.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--border) 15%,var(--accent) 50%,var(--border) 85%,transparent 100%);opacity:.5;pointer-events:none}
.footer.no-top-divider::before{display:none}

/* SECTIONS */
section{padding:80px 0;position:relative}
.pg-home section{padding:120px 0}
@media(max-width:768px){section{padding:80px 0}}
.s-label{font-size:.68rem;font-weight:400;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.s-title{font-family:var(--fb);font-size:clamp(2rem,4vw,3.5rem);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin-bottom:24px}
.s-title em{font-style:normal;color:inherit}
.s-desc{font-size:1rem;font-weight:400;color:var(--text);line-height:1.65;max-width:600px}
.s-line{width:60px;height:1px;background:var(--accent);margin:20px 0}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-img{position:relative;overflow:hidden;aspect-ratio:3/4;cursor:pointer}
.about-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.about-img:hover img{transform:scale(1.08)}
.about-img::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:left .7s var(--ease);z-index:1}
.about-img:hover::before{left:100%}
.about-img-glass{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,10,.85) 0%,rgba(10,10,10,0) 50%);padding:36px;display:flex;flex-direction:column;justify-content:flex-end;z-index:2;transition:background .5s}
.about-img:hover .about-img-glass{background:linear-gradient(0deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.15) 60%)}
.about-img-glass span{font-size:.63rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.about-img-acc{position:absolute;bottom:-20px;right:-20px;width:200px;height:200px;border:1px solid var(--accent);opacity:.3;z-index:3}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:48px;padding-top:48px;border-top:1px solid var(--border)}
.stat-n{font-family:var(--fb);font-size:2.8rem;font-weight:300;color:var(--accent);line-height:1}
.stat-l{font-size:.72rem;font-weight:300;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:8px}
@media(max-width:768px){.about-grid{grid-template-columns:1fr;gap:48px}.about-img{aspect-ratio:4/3}.about-img-acc{display:none}}

/* SERVICES */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.svc-card{background:var(--card);padding:48px 36px;position:relative;overflow:hidden;transition:all .5s var(--ease);cursor:pointer;border:1px solid transparent}
.svc-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.svc-card:hover::before{transform:scaleX(1)}.svc-card:hover{background:var(--bg3);border-color:var(--border)}
.svc-num{font-family:var(--fb);font-size:3.5rem;font-weight:300;color:var(--accent);line-height:1;margin-bottom:24px}
.svc-t{font-family:var(--fb);font-size:1.5rem;font-weight:400;letter-spacing:-.01em;margin-bottom:16px}
.svc-tx{font-size:.83rem;font-weight:400;color:var(--text);line-height:1.7;margin-bottom:24px}
.svc-lnk{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);transition:gap .3s}
.svc-lnk:hover{gap:14px}
.svc-ic{width:44px;height:44px;color:var(--accent);margin-bottom:16px}
.svc-ic svg{width:100%;height:100%}
@media(max-width:1024px){.svc-grid{grid-template-columns:1fr}}

/* PROJECT CARDS */
.p-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:320px;gap:16px}
.p-card{position:relative;overflow:hidden;cursor:pointer}
.p-hidden{display:none}
.p-grid .p-card.wide{grid-column:1/3;grid-row:1/3}
.p-grid-home .p-card:nth-child(1){grid-column:1/3}
.p-grid-home .p-card:nth-child(2){grid-column:3/4;grid-row:span 2}
.p-grid-home .p-card:nth-child(3){grid-column:1/3}
.p-grid .p-card.pat1{grid-column:1/3}
.p-grid .p-card.pat2{grid-column:3/4;grid-row:span 2}
.p-grid .p-card.pat3{grid-column:1/3}
.p-grid .p-card.pat4{grid-column:1/2;grid-row:span 2}
.p-grid .p-card.pat5{grid-column:2/4}
.p-grid .p-card.pat6{grid-column:2/4}
.p-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.p-card:hover img{transform:scale(1.08)}
.p-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:left .7s var(--ease);z-index:1}
.p-card:hover::before{left:100%}
.p-over{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,10,.85) 0%,rgba(10,10,10,0) 50%);padding:36px;display:flex;flex-direction:column;justify-content:flex-end;z-index:2;transition:background .5s}
.p-card:hover .p-over{background:linear-gradient(0deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.15) 60%)}
.p-tag{font-size:.63rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.p-name{font-family:var(--fb);font-size:1.7rem;font-weight:400;letter-spacing:-.01em;margin-bottom:4px}
.p-loc{font-size:.78rem;font-weight:400;color:var(--text)}
@media(max-width:768px){.p-grid{grid-template-columns:1fr;grid-auto-rows:auto}.p-grid .p-card{grid-column:auto!important;grid-row:auto!important;aspect-ratio:16/10}.p-name{font-size:1.15rem;line-height:1.2}.p-over{padding:16px 16px 16px 14px}.s-desc{font-size:.85rem}}

/* PROJECT FILTERS */
.p-filters{display:flex;flex-wrap:wrap;gap:28px}
.p-filter-btn{position:relative;padding:4px 0;font-family:var(--fb);font-size:.75rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);background:none;border:none;cursor:pointer;transition:color .3s}
.p-filter-btn::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width .4s var(--ease)}
.p-filter-btn:hover{color:var(--text)}
.p-filter-btn.active{color:var(--accent)}
.p-filter-btn.active::after{width:100%}
.p-card.p-filtered-out{display:none!important}

/* GALLERY */
.g-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:320px;gap:16px}
.g-item{position:relative;overflow:hidden;cursor:pointer}
.g-grid .g-item:nth-child(3n+1){grid-column:1/2;grid-row:span 2}
.g-grid .g-item:nth-child(3n+2){grid-column:2/4}
.g-grid .g-item:nth-child(3n+3){grid-column:2/4}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.g-item:hover img{transform:scale(1.08)}
.g-item::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:left .7s var(--ease);z-index:1}
.g-item:hover::before{left:100%}
@media(max-width:768px){.g-grid{grid-template-columns:1fr;grid-auto-rows:auto}.g-grid .g-item:nth-child(3n+1),.g-grid .g-item:nth-child(3n+2),.g-grid .g-item:nth-child(3n+3){grid-column:auto;grid-row:auto;aspect-ratio:16/10}}

/* MARQUEE */
.marquee{padding:44px 0;background:var(--bg3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden}
.m-track{display:flex;gap:60px;animation:mq 30s linear infinite;width:max-content}
.m-item{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:.78rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.m-dot{width:4px;height:4px;border-radius:50%;background:var(--accent)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* MAP */
.geo-grid{display:grid;grid-template-columns:1fr 2fr;gap:72px;align-items:center}
.geo-text{display:flex;flex-direction:column}
.map-embed{position:relative;width:100%;background:transparent;overflow:hidden}
.world-map{width:100%;height:auto;display:block;opacity:.65;filter:brightness(1.3);transition:opacity .5s}
.map-embed:hover .world-map{opacity:.9}
/* CITY DOTS */
.city-dot{position:absolute;transform:translate(-50%,-50%);cursor:pointer;z-index:10}
.city-pin{width:7px;height:7px;background:var(--white);border-radius:50%;position:relative;z-index:2;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.city-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.45);animation:cityPulse 2.4s ease-in-out infinite;z-index:1}
@keyframes cityPulse{0%,100%{opacity:.15;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.4)}}
.city-label{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(5px);background:rgba(10,10,10,.88);border:1px solid rgba(255,255,255,.3);color:var(--accent);font-size:.55rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;padding:5px 11px;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.city-dot:hover .city-pin{transform:scale(2.4);box-shadow:0 0 14px rgba(255,255,255,.65)}
.city-dot:hover .city-pulse{animation:none;opacity:.5;transform:translate(-50%,-50%) scale(1.6)}
.city-dot:hover .city-label{opacity:1;transform:translateX(-50%) translateY(0)}
.m-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:48px}
.m-stat{padding-left:20px;border-left:1px solid var(--border)}
.m-stat-n{font-family:var(--fb);font-size:3.2rem;font-weight:300;color:var(--accent);line-height:1;margin-bottom:6px}
.m-stat-l{font-size:.78rem;font-weight:300;color:var(--text);text-transform:uppercase;letter-spacing:.12em}
@media(max-width:1024px){.geo-grid{grid-template-columns:1fr;gap:48px}.map-embed{max-width:100%}}

/* PROCESS */
.proc-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:64px}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);margin-top:0}
.process-card{display:flex;flex-direction:column;background:var(--bg2);padding:32px 28px;min-height:100%;transition:background .2s}
.process-card:hover{background:#151515}
.process-number{font-family:var(--fb);font-size:3.5rem;font-weight:300;color:var(--accent);line-height:1;margin-bottom:24px}
.process-card h3{font-family:var(--fb);font-size:1.5rem;font-weight:400;letter-spacing:-.01em;line-height:1.2;color:#fff;margin:0 0 16px}
.process-card ul{margin:0;padding-left:18px;color:var(--text);font-family:var(--fb);font-size:.83rem;font-weight:400;line-height:1.7}
.process-card li{padding-left:3px;margin-bottom:8px}
.process-card li:last-child{margin-bottom:0}
.process-result{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--border);color:var(--text);font-family:var(--fb);font-size:.83rem;font-weight:400;line-height:1.7}
.process-result strong{color:var(--accent);font-weight:400}
.stg-table{width:100%;border-collapse:collapse;margin-top:8px}
.stg-table th{font-family:var(--fb);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 20px 16px;border-bottom:1px solid var(--border)}
.stg-table td{font-family:var(--fb);font-size:.85rem;font-weight:300;color:var(--text);line-height:1.6;padding:20px;border-bottom:1px solid var(--border);vertical-align:top}
.stg-table tr:last-child td{border-bottom:none}
.stg-table td:first-child{color:var(--accent);font-family:var(--fb);font-size:1.1rem;white-space:nowrap}
@media(max-width:768px){.stg-table thead{display:none}.stg-table,.stg-table tbody,.stg-table tr,.stg-table td{display:block;width:100%}.stg-table tr{border-bottom:1px solid var(--border);padding:16px 0}.stg-table td{border-bottom:none;padding:4px 0}.stg-table td:before{content:attr(data-th);display:block;font-family:var(--fb);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}}
@media(max-width:1024px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.process-grid{grid-template-columns:1fr}.process-card{padding:28px 24px}}
.step{padding:32px 0;border-bottom:1px solid var(--border);cursor:pointer}
.step:first-child{border-top:1px solid var(--border)}
.step-h{display:flex;align-items:center;gap:20px}
.step-n{font-family:var(--fb);font-size:1.2rem;font-weight:300;color:var(--accent);min-width:32px}
.step-t{font-size:1.05rem;font-weight:300;transition:color .3s}
.step:hover .step-t{color:var(--accent)}
.step-c{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.step.active .step-c{max-height:200px}
.step-tx{font-size:.83rem;font-weight:400;color:var(--text);line-height:1.7;padding:16px 0 0 52px}
.proc-img{position:relative;overflow:hidden;border:1px solid var(--border);cursor:pointer}
.proc-img img{width:100%;height:100%;object-fit:cover;animation:sz 12s ease-in-out infinite alternate;transition:transform .8s var(--ease)}
.proc-img:hover img{transform:scale(1.08)}
.proc-img::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:left .7s var(--ease);z-index:1}
.proc-img:hover::before{left:100%}
@keyframes sz{0%{transform:scale(1)}100%{transform:scale(1.06)}}
@media(max-width:768px){.proc-grid{grid-template-columns:1fr;gap:48px}}

/* TESTIMONIALS */
.tst-slider{max-width:800px;margin:0 auto;text-align:center}
.tst-item{display:none}.tst-item.active{display:block}
.tst-q{font-family:var(--fb);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:400;font-style:normal;letter-spacing:-.01em;line-height:1.5;color:var(--white);margin-bottom:32px;position:relative}
.tst-q::before{content:'\201C';font-family:var(--fb);font-size:6rem;font-weight:400;color:var(--accent);position:absolute;top:-40px;left:50%;transform:translateX(-50%);opacity:.3;line-height:1}
.tst-a{font-size:.85rem;font-weight:400;letter-spacing:.1em}
.tst-r{font-size:.72rem;font-weight:400;color:var(--muted);margin-top:4px}
.tst-dots{display:flex;gap:12px;justify-content:center;margin-top:48px}
.t-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--muted);transition:all .3s;cursor:pointer}
.t-dot.active{background:var(--accent);border-color:var(--accent)}

/* CTA */
.cta{padding:160px 0;background-size:cover;background-position:center;background-attachment:fixed;text-align:center;position:relative}
.cta::before{content:'';position:absolute;inset:0;background:rgba(10,10,10,.85)}
.cta>*{position:relative;z-index:1}

/* CONTACTS */
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.ct-form{display:flex;flex-direction:column;gap:24px}
.ct-form input,.ct-form textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-l);padding:16px 0;font-family:var(--fb);font-size:1rem;font-weight:400;color:var(--white);outline:none;transition:border-color .3s}
.ct-form input::placeholder,.ct-form textarea::placeholder{color:var(--text)}.ct-form input:focus,.ct-form textarea:focus{border-color:var(--accent)}
.ct-form textarea{resize:vertical;min-height:100px}
.ct-info{display:flex;flex-direction:column;gap:36px}
.inf-lbl{font-size:.68rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.inf-val{font-size:1rem;font-weight:400;color:var(--text);line-height:1.8}
.inf-val a:hover{color:var(--accent)}
@media(max-width:768px){.ct-grid{grid-template-columns:1fr;gap:48px}}

/* PRICING */
.pr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}
.pr-card{background:var(--card);border:1px solid var(--border);padding:48px 36px;transition:all .4s;position:relative}
.pr-card.feat{border-color:var(--accent)}
.pr-card.feat::before{content:'Популярный';position:absolute;top:0;right:24px;background:var(--accent);color:var(--bg);padding:6px 16px;font-size:.63rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.pr-card:hover{border-color:var(--accent)}
.pr-nm{font-family:var(--fb);font-size:1.5rem;font-weight:400;letter-spacing:-.01em;margin-bottom:8px}
.pr-ds{font-size:.78rem;font-weight:400;color:var(--muted);margin-bottom:24px}
.pr-pr{font-family:var(--fb);font-size:1.6rem;font-weight:300;color:var(--accent);margin-bottom:8px}
.pr-pr small{font-size:.78rem;color:var(--muted);font-weight:400}
.pr-desc{font-size:.82rem;font-weight:300;color:var(--text);line-height:1.75;margin-bottom:4px}
.pr-ft{margin:24px 0;padding-top:24px;border-top:1px solid var(--border)}
.pr-ft li{font-size:.83rem;font-weight:400;color:var(--text);padding:10px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}
.pr-ft li::before{content:'\2713';color:var(--accent);font-weight:400}
@media(max-width:1024px){.pr-grid{grid-template-columns:1fr;max-width:500px}}

/* PAGE HERO */
.pg-hero{height:100vh;height:100dvh;min-height:620px;display:flex;align-items:flex-end;padding-bottom:clamp(56px,6vw,88px);position:relative;overflow:hidden}
.pg-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.pg-hero-over{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,0) 0%,rgba(10,10,10,0) 40%,rgba(10,10,10,.35) 65%,rgba(10,10,10,.78) 100%)}
.pg-hero-ct{position:relative;z-index:2;width:100%;text-align:left}
.pg-hero h1{font-family:var(--fb);font-size:clamp(3rem,5.3vw,5rem);font-weight:400;letter-spacing:-.048em;line-height:1.04;max-width:14ch;margin-bottom:8px;text-shadow:0 2px 16px rgba(0,0,0,.6);color:var(--white)}
@media(max-width:640px){.pg-hero h1{font-size:clamp(2.375rem,9.8vw,3rem);max-width:14ch}}
.pg-hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit;color:inherit}
.pg-hero-ct .hero-sub{margin:0 0 32px;text-align:left}
.bc{font-size:.72rem;font-weight:300;color:var(--muted);letter-spacing:.1em;text-shadow:0 1px 10px rgba(0,0,0,.6)}.bc a{color:var(--accent)}
.pg-hero-ct .bc{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* PROJECT DETAIL */
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.pd-info h2{font-family:var(--fb);font-size:2.8rem;font-weight:400;letter-spacing:-.02em;line-height:1.15;margin-bottom:24px}
.pd-meta{display:flex;gap:32px;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.pd-meta>div{min-width:80px}.pd-meta label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:6px;font-weight:400}
.pd-meta span{font-size:1rem;font-weight:300}
.pd-desc{font-size:.95rem;line-height:1.8;color:var(--text);margin-bottom:36px}
.pd-desc a,.s-desc a,.faq-a a,.faq-grid-a a,.inv-intro-text a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s}
.pd-desc a:hover,.s-desc a:hover,.faq-a a:hover,.faq-grid-a a:hover,.inv-intro-text a:hover{color:var(--accent-l)}
.pd-img{width:100%;height:480px;overflow:hidden}.pd-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pd-img:hover img{transform:scale(1.04)}
.pd-params{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:48px;padding:40px;background:var(--card);border:1px solid var(--border)}
.pd-param{text-align:center}.pd-param-v{font-family:var(--fb);font-size:2rem;font-weight:300;color:var(--accent);margin-bottom:6px}
.pd-param-l{font-size:.7rem;font-weight:300;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
@media(max-width:768px){.pd-grid{grid-template-columns:1fr;gap:40px}.pd-img{height:300px}.pd-params{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px}}
@media(max-width:480px){.pd-params{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* INVESTOR */
.inv-hero{position:relative;height:75vh;min-height:500px;display:flex;align-items:center;overflow:hidden}
.inv-hero-bg{position:absolute;inset:0}.inv-hero-bg img{width:100%;height:100%;object-fit:cover;animation:kb1 25s ease-in-out infinite alternate}
.inv-hero-over{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.75) 0%,rgba(10,10,10,.3) 55%,rgba(10,10,10,.05) 100%);z-index:1}
.inv-ct{position:relative;z-index:2;max-width:600px}
.inv-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.inv-card{background:var(--card);border:1px solid var(--border);padding:40px 28px;transition:all .4s;position:relative;overflow:hidden}
.inv-card::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.inv-card:hover::before{transform:scaleX(1)}.inv-card:hover{border-color:var(--border-l)}
.inv-icon{width:48px;height:48px;border:1px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:1.3rem}
.inv-card h3{font-family:var(--fb);font-size:1.3rem;font-weight:400;letter-spacing:-.01em;margin-bottom:12px}
.inv-card p{font-size:.83rem;font-weight:400;color:var(--text);line-height:1.7}
@media(max-width:1024px){.inv-cards{grid-template-columns:1fr}}

/* FOOTER */
.footer{position:relative;padding:100px 0 0;border-top:0;background:#050505}
.ft-main{display:grid;grid-template-columns:1fr 2fr;gap:80px;padding-bottom:80px}
.ft-brand{display:flex;flex-direction:column;gap:0}
.ft-logo img{height:64px;width:auto;opacity:.9;transition:opacity .3s;margin-bottom:32px;filter:brightness(0) invert(1)}.ft-logo:hover img{opacity:1}
.ft-desc{font-size:.85rem;font-weight:400;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:36px}
.ft-soc{display:flex;gap:10px}
.ft-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-left:40px;border-left:1px solid var(--border)}
.ft-col{display:flex;flex-direction:column;gap:14px}
.ft-col-t{font-size:.63rem;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.ft-col a{font-size:.85rem;font-weight:400;color:var(--text);transition:color .3s}.ft-col a:hover{color:var(--white)}
.ft-bot{display:flex;align-items:center;padding:28px 0;border-top:1px solid var(--border);flex-wrap:wrap;gap:14px}
.ft-copy{font-size:.72rem;font-weight:400;color:var(--muted)}
.ft-priv{font-size:.72rem;font-weight:400;color:var(--muted);transition:color .3s;cursor:pointer}.ft-priv:hover{color:var(--accent)}
.ft-legal{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ft-legal .ft-sep{font-size:.72rem;color:var(--muted);opacity:.3}
@media(max-width:1024px){.ft-main{grid-template-columns:1fr;gap:48px}.ft-cols{padding-left:0;border-left:none;border-top:1px solid var(--border);padding-top:48px}}
@media(max-width:640px){.ft-cols{grid-template-columns:1fr 1fr}.ft-bot{flex-direction:column;text-align:center}}

.btt{position:fixed;bottom:84px;right:30px;width:48px;height:48px;background:var(--accent);display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;visibility:hidden;transition:background .3s,transform .3s;cursor:pointer;overflow:hidden}
@media(max-width:768px){.btt{display:none}}
.btt.visible{opacity:1;visibility:visible}
.btt::before{content:'';position:absolute;top:-20%;left:-60%;width:40%;height:140%;background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.35) 50%,rgba(255,255,255,0) 100%);transform:skewX(-15deg) translateX(0);transition:transform .5s var(--ease);pointer-events:none}
.btt:hover{background:var(--accent-d);transform:translateY(-2px)}
.btt:hover::before{transform:skewX(-15deg) translateX(320%)}

/* REVEAL */
.rv{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.rv.vis{opacity:1;transform:translateY(0)}.rvd1{transition-delay:.1s}.rvd2{transition-delay:.2s}

/* PROJECT DETAIL LAYOUT */
.nica-layout{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:start}
.nica-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:220px;gap:10px}
.nica-gitem{overflow:hidden;cursor:pointer;position:relative}
.nica-gitem.wide{grid-column:span 2}
.nica-gitem.tall2{grid-row:span 2}
.nica-gitem img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.nica-gitem:hover img{transform:scale(1.07)}
.nica-gitem::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transition:left .7s var(--ease);z-index:2;pointer-events:none}
.nica-gitem:hover::before{left:100%}
.nica-gitem-zoom{position:absolute;top:12px;right:12px;width:30px;height:30px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;font-size:.9rem;opacity:0;transition:opacity .3s;border-radius:2px;pointer-events:none}
.nica-gitem:hover .nica-gitem-zoom{opacity:1}
.nica-sidebar{position:sticky;top:100px}
.nica-card{background:var(--card);border:1px solid var(--border);padding:28px;margin-bottom:0}
.nica-card+.nica-card{margin-top:24px}
.nica-card-title{font-size:.65rem;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.nica-specs{display:flex;flex-direction:column}
.nica-spec{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}
.nica-spec:last-child{border-bottom:none}
.nica-spec-l{font-size:.78rem;font-weight:400;color:var(--muted)}
.nica-spec-v{font-size:.88rem;font-weight:400;color:var(--white)}
.nica-plan-tabs{display:flex;gap:8px;margin-bottom:16px}
.nica-tab{padding:8px 18px;font-size:.65rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .3s;font-family:var(--fb);position:relative;overflow:hidden}
.nica-tab.active{border-color:var(--accent);color:var(--accent);background:rgba(255,255,255,.08)}
.nica-tab::before{content:'';position:absolute;top:0;left:-80%;width:45%;height:100%;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.18) 50%,transparent 75%);transform:skewX(-18deg);pointer-events:none;opacity:0}
.nica-tab:hover::before{opacity:1;animation:shineRun .55s ease forwards}
/* LIGHTBOX */
#nicaLb{display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.96);align-items:center;justify-content:center;flex-direction:column}
#nicaLb.open{display:flex}
#planLb{display:none;position:fixed;inset:0;z-index:9100;background:rgba(0,0,0,.97);align-items:center;justify-content:center;flex-direction:column}
#nicaLbImg{max-width:90vw;max-height:82vh;object-fit:contain;display:block;transition:opacity .25s}
#nicaLbImg.loading{opacity:0}
.lb-close{position:absolute;top:20px;right:24px;background:none;border:none;color:rgba(255,255,255,.7);font-size:2rem;cursor:pointer;line-height:1;padding:4px 10px;transition:color .2s}
.lb-close:hover{color:#fff}
.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);font-size:2rem;cursor:pointer;width:52px;height:52px;display:flex;align-items:center;justify-content:center;transition:all .25s}
.lb-arrow:hover{border-color:var(--accent);color:var(--accent)}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-size:.7rem;letter-spacing:.25em;color:rgba(255,255,255,.45);text-transform:uppercase}
@media(max-width:1024px){.nica-layout{grid-template-columns:1fr}.nica-sidebar{position:static}.nica-gallery-grid{grid-auto-rows:180px}}
@media(max-width:640px){.nica-gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.nica-gitem{aspect-ratio:16/10}.nica-gitem.wide{grid-column:span 1}.nica-gitem.tall2{grid-row:auto;aspect-ratio:16/10}}
/* ── БЛОК ГАРАНТИИ ── */
.gar-header{display:flex;flex-direction:column;gap:24px;margin-bottom:72px}
.gar-title{font-family:var(--fb);font-size:clamp(2.2rem,3.5vw,3.8rem);font-weight:400;line-height:1.1;letter-spacing:-.03em;white-space:nowrap}
@media(max-width:640px){.gar-title{white-space:normal;font-size:clamp(1.8rem,7vw,2.4rem)}}
.gar-title em{font-style:normal;color:inherit}
.gar-sub{max-width:560px;font-size:.88rem;font-weight:300;color:var(--text);line-height:1.8;text-align:left}
.gar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.gar-item{padding:48px 48px 48px 0;border-right:1px solid var(--border);position:relative}
.gar-item:last-child{border-right:none;padding-right:0;padding-left:48px}
.gar-item:nth-child(2){padding-left:48px}
.gar-num{font-family:var(--fb);font-size:3.5rem;font-weight:300;color:var(--accent);line-height:1;margin-bottom:24px}
.gar-icon{font-family:var(--fb);font-size:clamp(3rem,5vw,5.5rem);font-weight:300;color:#fff;line-height:1;margin-bottom:24px;letter-spacing:-.03em;display:flex;align-items:baseline;gap:.12em}
.gar-icon span{font-size:.32em;font-weight:400;letter-spacing:0;color:var(--text)}
.gar-icon span{color:var(--accent);font-size:.6em}
.gar-name{font-family:var(--fb);font-size:1.5rem;font-weight:400;letter-spacing:-.01em;margin-bottom:16px;color:#fff}
.gar-desc{font-family:var(--fb);font-size:.83rem;font-weight:400;color:var(--text);line-height:1.7}
.gar-accent{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);font-family:var(--fb);font-size:.72rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);opacity:1}
.gar-bottom{margin-top:72px;padding-top:40px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:32px}
.gar-bottom-text{font-size:.85rem;font-weight:400;color:var(--text);line-height:1.65;max-width:560px}
.gar-bottom-text strong{color:#fff;font-weight:500}
.gar-cta{display:inline-block;padding:16px 36px;background:var(--accent);color:#0a0a0a;font-family:var(--fb);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:opacity .25s;flex-shrink:0}
.gar-cta:hover{opacity:.85}
@media(max-width:768px){.gar-header{flex-direction:column;gap:24px;margin-bottom:48px}.gar-title{white-space:normal}.gar-sub{text-align:left;max-width:100%}.gar-grid{grid-template-columns:1fr;gap:0}.gar-item{padding:40px 0;border-right:none;border-bottom:1px solid var(--border)}.gar-item:last-child{padding-left:0;border-bottom:none}.gar-item:nth-child(2){padding-left:0}.gar-bottom{flex-direction:column;align-items:flex-start;gap:24px}.gar-cta{width:100%;text-align:center}}

/* ── МОБИЛЬНЫЕ TOUCH-ЗОНЫ (44px minimum) ── */
@media(max-width:768px){
  /* Кнопки соцсетей в футере — увеличиваем до 44px */
  .soc-btn{width:44px;height:44px}
  .soc-btn svg{width:18px;height:18px}
  /* Ссылка «Подробнее →» — увеличиваем зону касания */
  .svc-lnk{padding:12px 0;display:inline-flex}
  /* Ссылки в футере — больше зона касания */
  .ft-col a{padding:6px 0;display:block}
  .ft-bot a{padding:8px 0}
}

/* ── FAQ БЛОК ── */
.faq-section{padding:80px 0}
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border-top:1px solid var(--border);padding:28px 0}
.faq-item:last-child{border-bottom:1px solid var(--border)}
.faq-q{font-size:1rem;font-weight:400;color:#fff;margin-bottom:12px;line-height:1.4}
.faq-a{font-size:.9rem;font-weight:400;color:var(--text);line-height:1.65;max-width:680px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);margin-top:0}
.faq-grid-item{background:var(--bg);padding:32px 28px;transition:background .2s}
.faq-grid-item:hover{background:#111}
.faq-grid-q{font-size:.9rem;font-weight:400;color:#fff;margin-bottom:12px;line-height:1.4}
.faq-grid-a{font-size:.85rem;font-weight:400;color:var(--text);line-height:1.65}
@media(max-width:600px){.faq-grid{grid-template-columns:1fr}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
