:root{--bg:#0B0D10;--bg2:#101318;--card:#14181E;--ink:#E9EDF2;--mut:#8B95A3;--line:#222831;--ice:#8FD8FF;--ice2:#C9EEFF;
--fr:10px;--fline:#2A313B;--fbg:#0F1216;--fokus:#8FD8FF;--disp:"Exo 2",system-ui,sans-serif;--sans:"Inter",system-ui,sans-serif}
html,body{overflow-x:clip}
body{background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans)}
h1,h2,h3{font-family:var(--disp);font-weight:800;line-height:1.02;letter-spacing:-.01em;text-transform:uppercase}
a{color:inherit}
.eb{font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--ice);margin-bottom:16px}
.lead{font-size:18px;color:var(--mut);max-width:560px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 30px;border-radius:10px;background:var(--ice);color:#06121A;text-decoration:none;font-weight:600;transition:box-shadow .3s,transform .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 30px rgba(143,216,255,.45)}
.btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(233,237,242,.4)}
.btn.line:hover{box-shadow:inset 0 0 0 1px var(--ice),0 0 24px rgba(143,216,255,.25)}
section{padding:100px 6vw;position:relative}
.sec-h{max-width:780px;margin-bottom:46px}
.sec-h h2{font-size:clamp(32px,4.4vw,60px)}
.sec-h .lead{margin-top:14px}

/* шапка */
.hd{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:30px;padding:14px 6vw;background:var(--bg);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:12px;font:800 20px var(--disp);letter-spacing:.18em;text-decoration:none}
.logo svg{width:26px;height:26px;fill:none;stroke:var(--ice);stroke-width:1.6;filter:drop-shadow(0 0 6px rgba(143,216,255,.6))}
.hd nav{display:flex;gap:28px;margin-left:auto}
.hd nav a{text-decoration:none;color:var(--mut);font-size:14.5px;transition:color .2s}
.hd nav a:hover{color:var(--ink)}
.hd-btn{padding:11px 20px;border-radius:10px;background:var(--ice);color:#06121A;text-decoration:none;font-weight:600;font-size:14px}

/* первый экран */
.hero{min-height:calc(100vh - 110px);display:flex;align-items:flex-end;padding-top:160px;padding-bottom:90px;overflow:hidden;background:#000}
.h-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;animation:zoom 24s ease-in-out infinite alternate}
@keyframes zoom{to{transform:scale(1.08)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,13,16,.96) 8%,rgba(11,13,16,.55) 45%,rgba(11,13,16,.15) 75%),linear-gradient(90deg,rgba(11,13,16,.75),transparent 60%)}
.hexes{position:absolute;z-index:2;right:4vw;top:30px;width:min(560px,46vw);fill:none;stroke:#fff;stroke-width:.5}
.hexes path{opacity:.15;filter:drop-shadow(0 0 4px #fff);animation:glow 4s ease-in-out infinite;animation-delay:calc(var(--i)*.35s)}
@keyframes glow{40%{opacity:.85}}
.h-txt{position:relative;z-index:3;max-width:720px}
.hero h1{font-size:clamp(40px,5.6vw,84px);margin-bottom:22px}
.hero .lead{color:#B6BFCA}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.score{position:absolute;z-index:3;right:6vw;bottom:90px;display:flex;align-items:center;gap:14px;max-width:240px}
.score b{font:800 58px/1 var(--disp);color:var(--ice);text-shadow:0 0 24px rgba(143,216,255,.5)}
.score span{font-size:13px;color:var(--mut);line-height:1.35}

/* что делаем */
.feats{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:70px;padding-bottom:70px}
.f-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.f svg{width:52px;height:52px;margin-bottom:14px;fill:none;stroke:var(--ice);stroke-width:1.1}
.f svg text{fill:var(--ice);stroke:none;font:600 6.5px var(--disp)}
.f h3{font-size:20px;margin-bottom:8px}
.f p{font-size:14.5px;color:var(--mut)}

/* услуги */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chips button{padding:10px 20px;border-radius:10px;border:1px solid var(--line);background:transparent;font:500 14px var(--sans);color:var(--mut);cursor:pointer;transition:all .2s}
.chips button.on{border-color:var(--ice);color:var(--ice);box-shadow:0 0 18px rgba(143,216,255,.18)}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sv{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .3s}
.sv:hover{border-color:rgba(143,216,255,.5);box-shadow:0 0 40px -10px rgba(143,216,255,.35);transform:translateY(-4px)}
.sv-pic{aspect-ratio:16/10;background:#000}
.sv-empty{background:radial-gradient(circle at 70% 30%,#1D2733,#0B0D10)}
.sv-b{display:flex;flex-direction:column;gap:8px;padding:22px 22px 20px;flex:1}
.sv-b h3{font-size:22px}
.sv-b p{font-size:14.5px;color:var(--mut)}
.sv-f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.sv-b .pr{font:800 26px var(--disp);color:var(--ice2)}
.pr small{font:500 13px var(--sans);color:var(--mut);text-transform:none}
.go{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);transition:all .25s}
.go svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sv:hover .go{background:var(--ice);border-color:var(--ice)}.sv:hover .go svg{stroke:#06121A}
.note{margin-top:28px;color:var(--mut);max-width:780px;font-size:15px}

/* работы */
.gal{padding-right:0;background:var(--bg2)}
.g-rail{gap:14px;padding-right:6vw}
.g-it{flex:0 0 auto;border:0;padding:0;width:300px;height:400px;overflow:hidden;background:var(--card);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}
.g-it:nth-child(3n+1){width:440px}
.g-it img{width:100%;height:100%;object-fit:cover;transition:transform .8s,filter .8s;filter:saturate(.9)}
.g-it:hover img{transform:scale(1.05);filter:saturate(1.1)}
.rail-nav{background:var(--ice);color:#06121A;border-radius:10px}

/* отзывы */
.revs{padding-right:0}
.r-rail{gap:18px;padding-right:6vw}
.r-rail figure{flex:0 0 auto;width:min(440px,84vw);padding:32px 30px;border-radius:16px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.r-rail blockquote{font-size:15.5px;line-height:1.65;color:#D3D9E1}
.r-rail figcaption{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--mut)}
.r-rail figcaption b{color:var(--ice);font-weight:600}

/* запись */
.b-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;padding:60px;border-radius:20px;background:linear-gradient(140deg,#151B22,#0C0F13);border:1px solid rgba(143,216,255,.25);box-shadow:0 0 80px -40px rgba(143,216,255,.4)}
.b-txt h2{font-size:clamp(30px,3.6vw,50px);margin-bottom:14px}
.b-txt ol{margin:24px 0 0 20px;color:var(--mut)}
.b-txt li{margin-bottom:10px}
.bform .fld span{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.bform input,.bform select,.bform textarea{color:var(--ink)}
.bform .consent{color:var(--mut)}
.bsend{padding:18px;border-radius:10px;background:var(--ice);color:#06121A;font-weight:600;font-size:16px}

/* контакты */
.contacts{display:grid;grid-template-columns:1fr 1.1fr;gap:5vw;align-items:stretch}
.ct h2{font-size:clamp(26px,3vw,40px);margin-bottom:24px}
.ct ul{list-style:none}
.ct li{display:grid;grid-template-columns:130px 1fr;padding:13px 0;border-bottom:1px solid var(--line)}
.ct li span{color:var(--mut);font-size:14px}
.soc{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.soc a{padding:10px 18px;border-radius:10px;border:1px solid var(--line);text-decoration:none;font-size:14px;transition:border-color .2s,color .2s}
.soc a:hover{border-color:var(--ice);color:var(--ice)}
.map{overflow:hidden;min-height:400px;border-radius:16px;border:1px solid var(--line);filter:grayscale(.6) brightness(.9)}
.map iframe{width:100%;height:100%;min-height:400px;border:0}
.ft{padding:32px 6vw 40px;font-size:13px;color:var(--mut);border-top:1px solid var(--line)}
.mbar{background:rgba(11,13,16,.95);padding:8px;border-radius:12px;border:1px solid var(--line)}
.mbar a{border-radius:9px}.mbar .m1{color:var(--ink)}.mbar .m2{background:var(--ice);color:#06121A}

@media (max-width:1100px){.svc{grid-template-columns:1fr 1fr}.f-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  section{padding:70px 20px}.gal,.revs{padding-right:0}.g-rail,.r-rail{padding-right:20px}
  .hd{padding:12px 20px}.hd nav{display:none}.hd-btn{margin-left:auto}
  .hero{min-height:0;padding-top:240px;padding-bottom:120px}
  .hexes{width:80vw;right:-4vw;top:16px}
  .score{left:20px;right:auto;bottom:40px}.score b{font-size:42px}
  .b-card{grid-template-columns:1fr;padding:32px 20px}
  .contacts{grid-template-columns:1fr}
  .ft{padding-bottom:100px}
}
@media (max-width:640px){
  .hero h1{font-size:36px}
  .f-grid{gap:22px 16px}.f h3{font-size:17px}.f p{font-size:13.5px}
  .g-it,.g-it:nth-child(3n+1){width:250px;height:330px}
  .ct li{grid-template-columns:1fr;gap:2px}
}

.hd-btn{white-space:nowrap}
@media (max-width:640px){.hd{gap:12px}.hd-btn{font-size:13px;padding:9px 12px}}
