
:root{
  --ap-bg:#0a0c0e;
  --ap-panel:#0d1012;
  --ap-panel-2:#07090b;
  --ap-ink:#eef3f5;
  --ap-muted:#93a0aa;
  --ap-line:rgba(255,255,255,.08);
  --ap-cyan:#4ecdc4;
  --ap-cyan-bright:#8ff5ea;
  --ap-cyan-deep:#2a9d8f;
  --ap-live:#46e0a0;
  --ap-amber:#ffb454;
  --ap-ease:cubic-bezier(.22,.61,.36,1);
  --ap-pad:140px;
  --ap-chamfer:12px;
}
@media (max-width:1500px){ :root{ --ap-pad:84px; } }
@media (max-width:1100px){ :root{ --ap-pad:48px; } }
@media (max-width:760px) { :root{ --ap-pad:24px; } }
@media (max-width:480px) { :root{ --ap-pad:16px; } }

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:
    radial-gradient(340px circle at var(--mx,50%) var(--my,30%),rgba(78,205,196,.15),transparent 72%),
    radial-gradient(ellipse 85% 45% at 50% -5%,rgba(78,205,196,.07),transparent 62%),
    linear-gradient(rgba(78,205,196,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(78,205,196,.03) 1px,transparent 1px),
    var(--bg,var(--ap-bg));
  background-size:auto,auto,56px 56px,56px 56px,auto;
  background-attachment:fixed,scroll,scroll,scroll,scroll;
  font-family:"Manrope", system-ui, sans-serif;
}
/* Яркая сетка в радиусе курсора (общий фон-декор) */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(rgba(78,205,196,.15) 1px,transparent 1px),
    linear-gradient(90deg,rgba(78,205,196,.15) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(360px circle at var(--mx,50%) var(--my,30%),#000 0%,rgba(0,0,0,.65) 55%,transparent 78%);
  mask-image:radial-gradient(360px circle at var(--mx,50%) var(--my,30%),#000 0%,rgba(0,0,0,.65) 55%,transparent 78%)}
body > section{position:relative;z-index:1}
/* Светлая тема: мягкие линии и свечение */
[data-theme="light"] body{
  background:
    radial-gradient(340px circle at var(--mx,50%) var(--my,30%),rgba(78,205,196,.15),transparent 72%),
    radial-gradient(ellipse 85% 45% at 50% -5%,rgba(78,205,196,.06),transparent 62%),
    linear-gradient(rgba(42,157,143,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(42,157,143,.04) 1px,transparent 1px),
    var(--bg,var(--ap-bg));
  background-size:auto,auto,56px 56px,56px 56px,auto;
  background-attachment:fixed,scroll,scroll,scroll,scroll;
}

/* ---------- контейнер шапки ---------- */
.ap-header{
  position:fixed; top:0; left:0; right:0;
  z-index:2147483647 !important;
  font-family:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---------- верхний ярус (бегущая строка) — НЕ ТРОГАЕМ ---------- */
.ap-topbar{
  position:relative; overflow:hidden;
  background:var(--ap-panel-2);
  border-bottom:1px solid var(--ap-line);
  max-height:42px;
  transition:max-height .5s var(--ap-ease), opacity .4s var(--ap-ease), border-color .4s;
}
.ap-topbar::before{
  content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(-45deg, rgba(255,255,255,.018) 0 1px, transparent 1px 8px);
  pointer-events:none;
}
.ap-header.scrolled .ap-topbar{ max-height:0; opacity:0; border-color:transparent; }

.ap-topbar-inner{
  position:relative;
  max-width:1440px; margin:0 auto;
  height:42px; padding:0 var(--ap-pad);
  display:flex; align-items:center; gap:22px;
}
.ap-top-left{ display:flex; align-items:center; gap:10px; font-size:12px; font-weight:600; color:#c2ccd2; letter-spacing:.02em; white-space:nowrap; flex-shrink:0; }
.ap-top-left svg{ width:14px; height:14px; color:var(--ap-cyan); flex-shrink:0; }
.ap-top-left .ap-sep{ width:4px; height:4px; border-radius:50%; background:var(--ap-amber); opacity:.8; }

.ap-marquee{ flex:1; overflow:hidden; min-width:0; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.ap-marquee-track{ display:flex; width:max-content; animation:ap-marq 30s linear infinite; }
.ap-marquee:hover .ap-marquee-track{ animation-play-state:paused; }
@keyframes ap-marq{ to{ transform:translateX(-50%); } }
.ap-marquee-group{ display:flex; align-items:center; }
.ap-marquee-item{ font-family:"Bebas Neue", sans-serif; font-size:14px; letter-spacing:.14em; color:#9aa6ae; padding:0 18px; white-space:nowrap; }
.ap-marquee-item .dia{ color:var(--ap-cyan); margin-right:18px; font-size:9px; vertical-align:middle; }

.ap-top-right{ display:flex; align-items:center; gap:6px; flex-shrink:0; }
.ap-soc{ width:26px; height:26px; display:grid; place-items:center; font-family:"Bebas Neue", sans-serif; font-size:11px; letter-spacing:.04em; color:#aeb8bf; text-decoration:none; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02); clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px); transition:color .3s, border-color .3s, background .3s, transform .3s; }
.ap-soc:hover{ color:#04191c; background:var(--ap-cyan); border-color:var(--ap-cyan); transform:translateY(-2px); }

/* ---------- нижний ярус (навигация) ---------- */
/* ИЗМЕНЕНО: в начале — полупрозрачная подложка с blur,
   при скролле — темнеет до почти непрозрачной */
.ap-mainbar{
  position:relative;
  background:rgba(10,12,14,.45);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .5s var(--ap-ease),
             box-shadow .5s var(--ap-ease),
             border-color .5s var(--ap-ease);
}
.ap-header.scrolled .ap-mainbar{
  background:rgba(7,9,11,.96);
  -webkit-backdrop-filter:blur(8px) saturate(120%);
  backdrop-filter:blur(8px) saturate(120%);
  border-bottom:1px solid rgba(255,255,255,.09);
  box-shadow:0 16px 44px -20px rgba(0,0,0,.9);
}
.ap-mainbar::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(78,205,196,.5) 30%, rgba(143,245,234,.8) 50%, rgba(78,205,196,.5) 70%, transparent);
  opacity:.5;
}

.ap-inner{
  max-width:1440px; margin:0 auto;
  padding:8px var(--ap-pad);
  display:flex; align-items:center; gap:26px;
  transition:padding .45s var(--ap-ease);
}
.ap-header.scrolled .ap-inner{ padding-top:6px; padding-bottom:6px; }

/* лого */
.ap-logo{ display:flex; align-items:center; text-decoration:none; flex:0 0 auto; transition:transform .3s var(--ap-ease); }
.ap-logo:hover{ transform:translateY(-1px); }
.ap-logo-img{ height:65px; max-height:65px; width:auto; display:block; object-fit:contain; transition:height .45s var(--ap-ease); filter:drop-shadow(0 3px 12px rgba(78,205,196,.12)); }
.ap-header.scrolled .ap-logo-img{ height:50px; max-height:50px; }
.ap-logo-fallback{ display:none; align-items:baseline; gap:2px; font-family:"Unbounded", sans-serif; font-weight:800; font-size:21px; letter-spacing:.01em; color:var(--ap-ink); line-height:1; }
.ap-logo-fallback span{ color:var(--ap-cyan); }
.ap-logo-fallback small{ display:block; font-family:"Bebas Neue", sans-serif; font-size:11px; letter-spacing:.34em; color:var(--ap-muted); margin-left:1px; }

/* навигация */
.ap-nav{ display:flex; align-items:center; gap:2px; margin-left:auto; }
.ap-nav a{
  position:relative; display:block; padding:10px 15px;
  font-family:"Bebas Neue", sans-serif; font-size:18px; letter-spacing:.1em;
  color:#c3ccd3; text-decoration:none; white-space:nowrap;
  transition:color .3s var(--ap-ease);
}
.ap-nav a::after{
  content:""; position:absolute; left:15px; right:15px; bottom:5px; height:2px;
  background:linear-gradient(90deg, var(--ap-cyan), rgba(78,205,196,0));
  transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ap-ease);
}
.ap-nav a:hover{ color:#fff; }
.ap-nav a:hover::after{ transform:scaleX(1); }
.ap-nav a.active{ color:var(--ap-cyan); }
.ap-nav a.active::after{ transform:scaleX(1); background:var(--ap-cyan); box-shadow:0 0 12px rgba(78,205,196,.7); }

/* правый блок */
.ap-right{ display:flex; align-items:center; gap:14px; margin-left:14px; flex-shrink:0; }

.ap-phone{ display:flex; align-items:center; gap:11px; text-decoration:none; padding:6px 16px 6px 6px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02); clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px); transition:border-color .35s, background .35s, transform .35s; }
.ap-phone:hover{ border-color:rgba(78,205,196,.45); background:rgba(78,205,196,.07); transform:translateY(-1px); }
.ap-phone-ico{ width:34px; height:34px; display:grid; place-items:center; color:var(--ap-cyan); background:rgba(78,205,196,.1); clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px); flex-shrink:0; }
.ap-phone-ico svg{ width:16px; height:16px; animation:ap-ring 4s ease-in-out infinite; }
@keyframes ap-ring{ 0%,82%,100%{ transform:rotate(0); } 86%{ transform:rotate(-15deg); } 90%{ transform:rotate(12deg); } 94%{ transform:rotate(-8deg); } 97%{ transform:rotate(5deg); } }
.ap-phone-txt b{ display:block; font-size:14.5px; font-weight:800; color:#eef3f5; letter-spacing:.02em; line-height:1.1; }
.ap-phone-txt small{ display:flex; align-items:center; gap:6px; font-size:10px; color:var(--ap-muted); letter-spacing:.08em; text-transform:uppercase; margin-top:2px; }
.ap-pulse{ width:6px; height:6px; border-radius:50%; background:var(--ap-live); position:relative; flex-shrink:0; }
.ap-pulse::after{ content:""; position:absolute; inset:-4px; border-radius:50%; border:1px solid var(--ap-live); animation:ap-pulse 2s ease-out infinite; }
@keyframes ap-pulse{ 0%{ transform:scale(.6); opacity:.9; } 100%{ transform:scale(2.2); opacity:0; } }

.ap-cta{
  position:relative; display:inline-flex; align-items:center; gap:10px;
  padding:13px 24px;
  font-family:"Bebas Neue", sans-serif; font-size:16px; letter-spacing:.14em;
  color:#04191c; text-decoration:none;
  background:linear-gradient(120deg, var(--ap-cyan-bright), var(--ap-cyan) 45%, var(--ap-cyan-deep));
  clip-path:polygon(var(--ap-chamfer) 0,100% 0,100% calc(100% - var(--ap-chamfer)),calc(100% - var(--ap-chamfer)) 100%,0 100%,0 var(--ap-chamfer));
  overflow:hidden; transition:transform .3s var(--ap-ease), filter .3s;
}
.ap-cta::before{ content:""; position:absolute; top:0; bottom:0; left:-70%; width:45%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.6), transparent); transform:skewX(-20deg); transition:left .65s var(--ap-ease); }
.ap-cta:hover{ transform:translateY(-2px); filter:brightness(1.08) drop-shadow(0 12px 26px rgba(78,205,196,.5)); }
.ap-cta:hover::before{ left:130%; }
.ap-cta svg{ width:14px; height:14px; transition:transform .3s; }
.ap-cta:hover svg{ transform:translateX(3px); }

/* бургер */
.ap-burger{ display:none; width:48px; height:48px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.03); cursor:pointer; position:relative; clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); transition:background .3s, border-color .3s; flex-shrink:0; }
.ap-burger:hover{ background:rgba(78,205,196,.1); border-color:rgba(78,205,196,.4); }
.ap-burger span{ position:absolute; left:50%; top:50%; width:22px; height:2px; background:var(--ap-ink); border-radius:2px; transform:translate(-50%,-50%); transition:transform .4s var(--ap-ease), opacity .25s, top .4s var(--ap-ease), background .3s; }
.ap-burger span:nth-child(1){ top:calc(50% - 7px); }
.ap-burger span:nth-child(3){ top:calc(50% + 7px); }
.ap-burger.open span:nth-child(1){ top:50%; transform:translate(-50%,-50%) rotate(45deg); background:var(--ap-cyan); }
.ap-burger.open span:nth-child(2){ opacity:0; }
.ap-burger.open span:nth-child(3){ top:50%; transform:translate(-50%,-50%) rotate(-45deg); background:var(--ap-cyan); }

/* speed-line */
.ap-progress{ position:absolute; left:0; bottom:-1px; height:2px; width:100%; }
.ap-progress i{ display:block; height:100%; width:0%; background:linear-gradient(90deg, var(--ap-cyan-deep), var(--ap-cyan), var(--ap-cyan-bright)); box-shadow:0 0 12px rgba(78,205,196,.85); transition:width .1s linear; }

/* ---------- мобильное меню ---------- */
.ap-mobile{
  position:fixed; inset:0; z-index:2147483646;
  background:rgba(7,9,11,.985);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  backdrop-filter:blur(22px) saturate(160%);
  transform:translateX(102%); transition:transform .55s var(--ap-ease);
  display:flex; flex-direction:column;
  padding:118px 30px 34px; overflow-y:auto;
}
.ap-mobile.open{ transform:none; }
.ap-mobile::before{
  content:""; position:absolute; right:-40px; bottom:-40px; width:340px; height:340px;
  background:repeating-linear-gradient(-45deg, rgba(78,205,196,.06) 0 2px, transparent 2px 14px);
  pointer-events:none;
}
.ap-mobile-ghost{ position:absolute; right:18px; top:50%; transform:translateY(-50%) rotate(90deg); transform-origin:right center; font-family:"Bebas Neue", sans-serif; font-size:120px; letter-spacing:.04em; color:transparent; -webkit-text-stroke:1px rgba(78,205,196,.07); pointer-events:none; white-space:nowrap; }

.ap-m-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.ap-m-link{
  display:flex; align-items:center; gap:18px; text-decoration:none;
  padding:14px 4px; border-bottom:1px solid rgba(255,255,255,.07);
  font-family:"Bebas Neue", sans-serif; font-size:42px; letter-spacing:.04em; color:var(--ap-ink);
  opacity:0; transform:translateX(34px);
  transition:opacity .5s var(--ap-ease), transform .5s var(--ap-ease), color .3s;
}
.ap-mobile.open .ap-m-link{ opacity:1; transform:none; transition-delay:calc(var(--i,0) * 60ms + 120ms); }
.ap-m-link:hover{ color:var(--ap-cyan); }
.ap-m-link .n{ font-family:"Unbounded", sans-serif; font-size:13px; font-weight:700; color:var(--ap-cyan); opacity:.7; min-width:30px; }
.ap-m-link.active{ color:var(--ap-cyan); }

.ap-m-foot{ margin-top:auto; padding-top:30px; display:flex; flex-direction:column; gap:18px; opacity:0; transform:translateY(16px); transition:opacity .5s var(--ap-ease) .4s, transform .5s var(--ap-ease) .4s; }
.ap-mobile.open .ap-m-foot{ opacity:1; transform:none; }
.ap-m-phone{ display:inline-flex; align-items:center; gap:12px; font-size:22px; font-weight:800; color:var(--ap-ink); text-decoration:none; letter-spacing:.01em; }
.ap-m-phone svg{ width:20px; height:20px; color:var(--ap-cyan); }
.ap-m-cta{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:17px 24px; font-family:"Bebas Neue", sans-serif; font-size:18px; letter-spacing:.14em; color:#04191c; text-decoration:none; background:linear-gradient(120deg, var(--ap-cyan-bright), var(--ap-cyan) 45%, var(--ap-cyan-deep)); clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px); }
.ap-m-soc{ display:flex; gap:8px; }
.ap-m-soc a{ width:42px; height:42px; display:grid; place-items:center; font-family:"Bebas Neue", sans-serif; font-size:14px; color:#aeb8bf; text-decoration:none; border:1px solid rgba(255,255,255,.12); clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px); transition:color .3s, background .3s, border-color .3s; }
.ap-m-soc a:hover{ color:#04191c; background:var(--ap-cyan); border-color:var(--ap-cyan); }

/* ---------- адаптив ---------- */
@media (max-width:1180px){
  .ap-nav{ display:none; }
  .ap-burger{ display:block; }
  .ap-right{ margin-left:auto; }
}
@media (max-width:900px){
  .ap-phone{ display:none; }
  .ap-top-right{ display:none; }
}
@media (max-width:760px){
  .ap-top-left{ display:none; }
  .ap-logo-img{ height:46px; max-height:46px; }
  .ap-header.scrolled .ap-logo-img{ height:40px; max-height:40px; }
  .ap-inner{ padding-top:8px; padding-bottom:8px; }
  .ap-cta span{ display:none; }
  .ap-cta{ padding:13px 15px; }
  .ap-mobile-ghost{ font-size:80px; }
  .ap-m-link{ font-size:34px; }
}
@media (max-width:480px){
  .ap-mobile{ padding:104px 20px 26px; }
}

@media (prefers-reduced-motion:reduce){
  .ap-header *, .ap-mobile *{ animation:none !important; transition:none !important; }
}

/* ---------- FIX ДЛЯ TILDA ---------- */
#apHeader .ap-logo{ flex:0 0 auto !important; }
#apHeader .ap-logo-img{
  height:65px !important;
  width:auto !important;
  max-width:none !important;
  max-height:65px !important;
  object-fit:contain !important;
}
#apHeader.scrolled .ap-logo-img{
  height:50px !important;
  max-height:50px !important;
}
#apHeader .ap-inner{ padding-top:8px !important; padding-bottom:8px !important; }
#apHeader.scrolled .ap-inner{ padding-top:6px !important; padding-bottom:6px !important; }
@media (max-width:760px){
  #apHeader .ap-logo-img{ height:46px !important; max-height:46px !important; }
  #apHeader.scrolled .ap-logo-img{ height:40px !important; max-height:40px !important; }
  #apHeader .ap-inner{ padding-top:8px !important; padding-bottom:8px !important; }
}
#apHeader .ap-nav{ flex-shrink:0 !important; }
#apHeader .ap-nav a{ white-space:nowrap !important; }
#apHeader .ap-inner{ flex-wrap:nowrap !important; }


/* === Общие стили AllPro (из главной, 17.08.2026) === */

::-webkit-scrollbar{width:8px;height:8px;background-color:#121212;}::-webkit-scrollbar-track{background-color:#121212;}::-webkit-scrollbar-thumb{background-color:#16b6c9;border-radius:15px;border:0px solid #121212;background-clip:padding-box;}::-webkit-scrollbar-thumb:hover{background-color:#ffffff;}@supports (-moz-appearance:none){:root,body,.allrecords *{scrollbar-width:thin;scrollbar-color:#16b6c9 #121212;}}:root,body,.allrecords *{-ms-scrollbar-track-color:#121212;-ms-scrollbar-highlight-color:#121212;-ms-scrollbar-shadow-color:#121212;-ms-scrollbar-3dlight-color:#121212;-ms-scrollbar-darkshadow-color:#121212;-ms-scrollbar-face-color:#16b6c9;}

/* === Общие стили AllPro (из главной, 17.08.2026) === */


.vh{position:relative;min-height:100vh;min-height:100svh;background:transparent;color:#f3f6f8;
  font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  display:flex;flex-direction:column;justify-content:center;overflow:hidden;
  padding:clamp(96px,12vh,140px) clamp(16px,6vw,140px) 104px;line-height:1.5;}

.vh-media{position:absolute;inset:0;z-index:0;background:transparent;pointer-events:none;}
.vh-media canvas{position:absolute;inset:0;width:100%;height:100%;display:block;
  transition:filter 1.4s ease;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 97%);
  mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 97%);}
.vh-ended .vh-media canvas{filter:brightness(.72) saturate(.85);}

.vh > video{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;
  pointer-events:none;-webkit-user-drag:none;user-select:none;overflow:hidden;}

.vh-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  radial-gradient(90rem 42rem at 88% -6%, rgba(78,205,196,.16), transparent 58%),
  linear-gradient(180deg,
    rgba(10,10,10,.74) 0%,
    rgba(10,10,10,.42) 28%,
    rgba(10,10,10,.30) 48%,
    rgba(10,10,10,.42) 68%,
    rgba(10,10,10,.12) 86%,
    transparent 100%);}

.vh-inner{position:relative;z-index:2;max-width:1200px;width:100%;margin:0 auto;}

.vh-badge{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;
  letter-spacing:.32em;text-transform:uppercase;color:#9aa6b0;margin-bottom:24px;}
.vh-badge::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,#4ecdc4);}
.vh-dot{width:8px;height:8px;border-radius:50%;background:#4ecdc4;flex-shrink:0;
  box-shadow:0 0 12px rgba(78,205,196,.8);animation:vhPulse 2.4s ease-in-out infinite;}
@keyframes vhPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.45);opacity:.55}}

.vh-title{font-family:"Unbounded",sans-serif;font-weight:800;text-transform:uppercase;
  line-height:1.05;letter-spacing:-1px;font-size:clamp(2.5rem,5.2vw,4.4rem);margin:0 0 28px;}
.vh-line{display:block;overflow:hidden;padding-bottom:.06em;}
.vh-line-in{display:block;transform:translateY(115%);transition:transform .9s cubic-bezier(.22,.61,.36,1);}
.vh-title.in .vh-line-in{transform:none;}
.vh-title.in .vh-line:nth-child(2) .vh-line-in{transition-delay:.12s}
.vh-title.in .vh-line:nth-child(3) .vh-line-in{transition-delay:.24s}
.vh-accent{font-style:normal;background:linear-gradient(100deg,#8af0ff 0%,#4ecdc4 45%,#2a9d8f 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}

.vh-sub{max-width:54ch;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55;color:#c7ced4;
  font-weight:500;margin:0 0 40px;}
.vh-sub b{color:#8af0ff;font-weight:600;}

.vh-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:54px;}
.vh-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 40px;
  border-radius:999px;font-weight:700;font-size:15px;letter-spacing:.03em;text-decoration:none;cursor:pointer;
  position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s,background .3s,border-color .3s,color .3s;}
.vh-btn svg{width:18px;height:18px;flex-shrink:0;transition:transform .3s;}
.vh-btn--solid{background:linear-gradient(135deg,#4ecdc4,#2a9d8f);color:#062024;
  box-shadow:0 16px 38px -12px rgba(78,205,196,.55);}
.vh-btn--solid::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:left .6s ease;}
.vh-btn--solid:hover::before{left:100%;}
.vh-btn--solid:hover{transform:translateY(-2px);
  box-shadow:0 22px 46px -10px rgba(78,205,196,.7),0 0 60px rgba(78,205,196,.18);}
.vh-btn--ghost{background:rgba(10,10,10,.72);border:1px solid rgba(78,205,196,.5);color:#f3f6f8;}
.vh-btn--ghost:hover{border-color:#4ecdc4;background:rgba(78,205,196,.14);transform:translateY(-2px);
  box-shadow:0 14px 34px -14px rgba(78,205,196,.5);}
.vh-btn--ghost:hover svg{animation:vhRing .5s ease;}
@keyframes vhRing{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}60%{transform:rotate(12deg)}}
.vh-btn:focus-visible{outline:2px solid #8af0ff;outline-offset:3px;}

.vh-trust{display:flex;gap:clamp(20px,3.4vw,44px);flex-wrap:wrap;list-style:none;padding:0;margin:0;}
.vh-trust li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#9aa6b0;
  letter-spacing:.02em;transition:color .3s;}
.vh-trust li:hover{color:#e6ebee;}
.vh-trust svg{width:16px;height:16px;flex-shrink:0;}

.vh-scroll{position:absolute;left:clamp(16px,6vw,140px);bottom:26px;z-index:2;display:flex;align-items:center;gap:14px;}
.vh-scroll .vh-bar{position:relative;width:1px;height:44px;background:linear-gradient(#4ecdc4,transparent);overflow:hidden;}
.vh-scroll .vh-bar::after{content:"";position:absolute;left:0;top:0;width:1px;height:14px;background:#8af0ff;
  animation:vhScrollDot 2s ease-in-out infinite;}
@keyframes vhScrollDot{0%{transform:translateY(-16px);opacity:0}30%{opacity:1}100%{transform:translateY(46px);opacity:0}}
.vh-scroll span{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#9aa6b0;}

.vh-fade{opacity:0;transform:translateY(24px);
  transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);}
.vh-fade.in{opacity:1;transform:none;}

@media (max-width:760px){
  .vh{padding:110px 20px 96px;}
  .vh-title{font-size:clamp(1.3rem,5.8vw,2.4rem);letter-spacing:-.5px;}
  .vh-actions .vh-btn{width:100%;}
  .vh-scroll{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .vh *{animation:none!important;transition:none!important;}
  .vh-line-in{transform:none;}
  .vh-fade{opacity:1;transform:none;}
}


/* === Общие стили AllPro (из главной, 17.08.2026) === */


:root{
  --bg:#0a0a0a;
  --ink:#f3f6f8;
  --muted:#9aa6b0;
  --cyan:#4ecdc4;
  --cyan-2:#5ba4b5;
  --cyan-deep:#2a9d8f;
  --cyan-ice:#8af0ff;
  --line:rgba(255,255,255,.09);
  --r:22px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --pad:140px;
}
@media (max-width:1500px){ :root{ --pad:84px; } }
@media (max-width:1100px){ :root{ --pad:48px; } }
@media (max-width:760px) { :root{ --pad:24px; } }
@media (max-width:480px) { :root{ --pad:16px; } }

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color:var(--ink);
  background:var(--bg);
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
::selection{ background:rgba(78,205,196,.32); color:#fff; }
body::-webkit-scrollbar{ width:11px; }
body::-webkit-scrollbar-track{ background:#0a0a0a; }
body::-webkit-scrollbar-thumb{ background:#1d2a30; border-radius:10px; border:3px solid #0a0a0a; }
body::-webkit-scrollbar-thumb:hover{ background:var(--cyan-deep); }

@supports (content-visibility:auto){
  .services, .hero, .works, .faq{ content-visibility:auto; contain-intrinsic-size:auto 900px; }
  .ap-estimate, .ap-footer{ content-visibility:auto; contain-intrinsic-size:auto 700px; }
}

.glow{ position:fixed; border-radius:50%; filter:blur(100px); pointer-events:none; z-index:0; }
.glow--a{ width:560px; height:560px; background:var(--cyan); top:-150px; right:7%; opacity:.11; }
.glow--b{ width:470px; height:470px; background:var(--cyan-deep); bottom:-130px; left:3%; opacity:.10; }

.noise{
  position:fixed; inset:0; z-index:50; pointer-events:none; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:200px 200px;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi){
  .noise{ display:none; }
}

.cursor-ring{
  position:fixed; left:0; top:0; width:22px; height:22px;
  border:1.5px solid rgba(78,205,196,.55); border-radius:50%;
  pointer-events:none; z-index:999; opacity:0;
  margin:-11px 0 0 -11px;
  transition:width .3s var(--ease), height .3s var(--ease), margin .3s var(--ease),
             border-color .3s, background .3s, opacity .4s;
}
.cursor-ring.on{ opacity:1; }
.cursor-ring.is-active{ width:48px; height:48px; margin:-24px 0 0 -24px;
  border-color:rgba(78,205,196,.9); background:rgba(78,205,196,.08); }
@media (hover:none){ .cursor-ring{ display:none; } }

.section-pad{ padding-inline:var(--pad); }
section, header, footer{ position:relative; z-index:2; }

.badge{
  display:inline-flex; align-items:center; gap:12px;
  font-size:12px; font-weight:700; letter-spacing:.32em; text-transform:uppercase;
  color:var(--muted); margin-bottom:18px;
}
.badge::before{ content:""; width:34px; height:1px; background:linear-gradient(90deg, transparent, var(--cyan)); }

.h2{
  font-family:"Unbounded", sans-serif; font-weight:800; text-transform:uppercase;
  line-height:1.04; letter-spacing:-.01em; font-size:clamp(28px,3.6vw,54px);
}
.h2 .accent{
  background:linear-gradient(100deg, var(--cyan-ice) 0%, var(--cyan) 45%, var(--cyan-deep) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.rv{ opacity:0; }
.rv.in{ opacity:1; animation:rvIn .85s var(--ease) var(--d,0s) backwards; }
@keyframes rvIn{ from{ opacity:0; transform:translateY(26px); } }
.rv-card{ opacity:0; }
.rv-card.in{ opacity:1; animation:cardIn .85s var(--ease) var(--d,0s) backwards; }
@keyframes cardIn{ from{ opacity:0; transform:translateY(34px); } }
.rv-c{ opacity:0; }
.rv-c.in{ opacity:1; animation:cIn .7s var(--ease) var(--d,0s) backwards; }
@keyframes cIn{ from{ opacity:0; transform:translateY(26px) scale(.88); } }

.hero{ min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding-block:176px 72px; }
.hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(36px,4vw,72px); align-items:center; width:100%; }

.hero__title{
  font-family:"Unbounded", sans-serif; font-weight:800; text-transform:uppercase;
  line-height:1.04; letter-spacing:-1px; font-size:clamp(2.4rem,4.6vw,4.3rem); margin:0 0 36px;
}
.hero__title .line{ display:block; overflow:hidden; }
.hero__title .line-inner{ display:block; transform:translateY(112%); transition:transform .9s var(--ease); }
.hero__title.in .line-inner{ transform:none; }
.hero__title.in .line:nth-child(2) .line-inner{ transition-delay:.1s; }
.hero__title.in .line:nth-child(3) .line-inner{ transition-delay:.2s; }
.hero__title .hl{ color:var(--cyan-2); position:relative; }
.hero__title .hl::after{
  content:""; position:absolute; bottom:6px; left:0; height:4px; width:0;
  background:linear-gradient(90deg, var(--cyan), var(--cyan-2)); border-radius:2px;
  transition:width 1s var(--ease) .7s;
}
.hero__title.in .hl::after{ width:100%; }

.hero__sub{ font-size:clamp(1.15rem,1.9vw,1.6rem); font-weight:500; color:#c7ced4; line-height:1.4; margin-bottom:34px; max-width:34ch; }
.hero__list{ list-style:none; margin-bottom:42px; max-width:42ch; }
.hero__list li{ font-size:15.5px; color:#99a3ab; line-height:1.6; margin-bottom:15px; padding-left:28px; position:relative; transition:color .3s; }
.hero__list li:hover{ color:#dde3e6; }
.hero__list li::before{
  content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:50%;
  background:var(--cyan); box-shadow:0 0 10px rgba(78,205,196,.5); transition:transform .3s, box-shadow .3s;
}
.hero__list li:hover::before{ transform:scale(1.35); box-shadow:0 0 20px rgba(78,205,196,.85); }

.btn-cta{
  display:inline-flex; align-items:center; gap:12px; padding:18px 46px;
  background:linear-gradient(135deg, var(--cyan), var(--cyan-2)); color:#062024;
  font-weight:700; font-size:15px; letter-spacing:.04em; text-decoration:none;
  border-radius:999px; position:relative; overflow:hidden; cursor:pointer;
  box-shadow:0 16px 38px -12px rgba(78,205,196,.55);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.btn-cta::before{ content:""; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); transition:left .6s ease; }
.btn-cta:hover::before{ left:100%; }
.btn-cta:hover{ box-shadow:0 22px 46px -10px rgba(78,205,196,.7), 0 0 60px rgba(78,205,196,.18); }
.btn-cta:focus-visible{ outline:2px solid var(--cyan-ice); outline-offset:3px; }
.btn-cta svg{ width:18px; height:18px; transition:transform .3s var(--ease); }
.btn-cta:hover svg{ transform:translateX(4px); }

.hero__collage{ position:relative; width:100%; max-width:600px; aspect-ratio:580 / 610; justify-self:end; }
.c-item{ position:absolute; transition:transform .8s cubic-bezier(.16,1,.3,1); }
.c-rot{ position:absolute; inset:0; transition:transform .5s var(--ease); }
.c-frame{ position:absolute; inset:0; border-radius:14px; overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.07);
  animation:floatY var(--dur,6s) ease-in-out var(--del,0s) infinite; }
.c-frame::after{ content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(78,205,196,.22), transparent 60%); opacity:0; transition:opacity .4s; }
.c-item:hover .c-frame::after{ opacity:1; }
.c-item:hover{ z-index:20; }
.c-item:hover .c-rot{ transform:rotate(0deg) scale(1.06); }
.c-item:hover .c-frame{ animation-play-state:paused; box-shadow:0 22px 50px rgba(78,205,196,.3), 0 0 0 1px rgba(78,205,196,.55); }
.c-frame img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.c-item:hover .c-frame img{ transform:scale(1.1); }
@keyframes floatY{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(var(--amp,-9px)); } }

.hero__scroll{ position:absolute; left:0; right:0; bottom:26px; padding-inline:var(--pad); display:flex; align-items:center; gap:14px; }
.hero__scroll .bar{ position:relative; width:1px; height:44px; background:linear-gradient(var(--cyan), transparent); overflow:hidden; }
.hero__scroll .bar::after{ content:""; position:absolute; left:0; top:0; width:1px; height:14px; background:var(--cyan-ice); animation:scrollDot 2s ease-in-out infinite; }
@keyframes scrollDot{ 0%{ transform:translateY(-16px); opacity:0; } 30%{ opacity:1; } 100%{ transform:translateY(46px); opacity:0; } }
.hero__scroll span{ font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); }

.services{ padding-block:clamp(70px,9vw,130px); }
.head{ display:grid; grid-template-columns:1.3fr .9fr; gap:30px; align-items:end; margin-bottom:clamp(28px,3.4vw,52px); }
.head__desc{ color:var(--muted); font-size:clamp(14px,1.05vw,16.5px); line-height:1.6; max-width:42ch;
  justify-self:end; text-align:right; padding:0 18px 6px 0; border-right:2px solid rgba(78,205,196,.35); }

.bento{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.2vw,20px); }
.card{
  position:relative; display:block; text-decoration:none; color:inherit; border-radius:var(--r);
  overflow:hidden; border:1px solid var(--line); isolation:isolate;
  transition:transform .45s var(--ease), box-shadow .45s, border-color .45s;
}
.card--big{ grid-column:span 2; min-height:clamp(300px,31vw,440px); }
.card--small{ grid-column:span 1; min-height:clamp(290px,27vw,400px); }
.card:hover{ transform:translateY(-6px); border-color:rgba(78,205,196,.45);
  box-shadow:0 30px 60px rgba(0,0,0,.55), 0 0 30px rgba(78,205,196,.1); }
.card:focus-visible{ outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(78,205,196,.35), 0 30px 60px rgba(0,0,0,.5); }
.card__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0;
  border-radius:inherit; -webkit-border-radius:inherit;
  filter:saturate(1.04) contrast(1.03); transition:transform 1s var(--ease), filter .5s; }
.card:hover .card__img{ transform:scale(1.07); }
.card__overlay{ position:absolute; inset:0; z-index:1; pointer-events:none; border-radius:inherit;
  background:linear-gradient(to top, rgba(6,8,10,.94) 0%, rgba(6,8,10,.62) 34%, rgba(6,8,10,.10) 60%, rgba(6,8,10,.34) 100%); transition:opacity .5s; }
.card:hover .card__overlay{ opacity:.92; }
.card__glow{ position:absolute; inset:0; z-index:2; pointer-events:none; border-radius:inherit;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(143,230,242,.34), rgba(78,205,196,.14) 38%, rgba(78,205,196,0) 70%);
  opacity:0; transition:opacity .45s; }
.card:hover .card__glow{ opacity:1; }
.card__shine{ position:absolute; inset:0; z-index:3; pointer-events:none; overflow:hidden; border-radius:inherit; }
.card__shine::after{ content:""; position:absolute; top:0; left:0; width:55%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.16), transparent);
  transform:translateX(-180%) skewX(-18deg); }
.card:hover .card__shine::after{ animation:shine 1s ease; }
@keyframes shine{ to{ transform:translateX(320%) skewX(-18deg); } }

.card__border{ position:absolute; inset:0; z-index:4; border-radius:inherit; pointer-events:none;
  overflow:hidden; opacity:0; transition:opacity .45s; }
.card__border::before{ content:""; position:absolute;
  top:50%; left:50%; width:200%; height:200%;
  margin-top:-100%; margin-left:-100%;
  background:conic-gradient(from 0deg, transparent 0 64%, rgba(78,205,196,0) 66%, var(--cyan) 80%, #fff 90%, transparent 96% 100%);
  transform:rotate(0deg);
  transform-origin:center center;
}
.card__border::after{ content:""; position:absolute; inset:1.4px; border-radius:inherit;
  background:var(--bg); }
.card__border{ -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; padding:1.4px; }
.card:hover .card__border{ opacity:1; }
.card:hover .card__border::before{ animation:borderSpin 3.2s linear infinite; }
@keyframes borderSpin{ to{ transform:rotate(360deg); } }

.card__border-glow{ position:absolute; inset:0; z-index:4; border-radius:inherit; pointer-events:none; padding:1.4px;
  background:radial-gradient(150px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.9), var(--cyan) 35%, transparent 65%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .45s; }
.card:hover .card__border-glow{ opacity:1; }

.card__num{ position:absolute; top:16px; right:18px; z-index:5; font-family:"Unbounded", sans-serif; font-weight:700;
  line-height:1; display:flex; align-items:baseline; gap:5px; text-shadow:0 2px 12px rgba(0,0,0,.7); }
.card__num b{ font-size:clamp(18px,1.5vw,24px); color:#fff; letter-spacing:.02em; }
.card__num i{ font-style:normal; font-size:12px; color:var(--cyan); font-weight:700; opacity:.9; }
.card__body{ position:absolute; left:0; right:0; bottom:0; z-index:5; padding:clamp(18px,1.7vw,28px); padding-right:78px; }
.card__kicker{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--cyan); margin-bottom:10px; opacity:.92; }
.card__title{ font-family:"Unbounded", sans-serif; font-weight:700; color:#fff; line-height:1.12; letter-spacing:-.005em;
  font-size:clamp(18px,1.9vw,30px); text-shadow:0 2px 16px rgba(0,0,0,.55); }
.card--small .card__title{ font-size:clamp(16px,1.5vw,22px); }
.card__desc{ margin-top:10px; color:#cfd6da; font-size:clamp(12.5px,.95vw,15px); line-height:1.5; max-width:34ch; opacity:.82;
  transition:opacity .4s, transform .4s; text-shadow:0 1px 10px rgba(0,0,0,.6); }
.card:hover .card__desc{ opacity:1; transform:translateY(-2px); }
.card__btn{ position:absolute; right:18px; bottom:18px; z-index:6; width:46px; height:46px; border-radius:50%; display:grid; place-items:center;
  background:rgba(10,10,10,.75); border:1px solid rgba(255,255,255,.24); color:#fff;
  transition:background .35s, color .35s, border-color .35s, transform .35s; }
.card__btn svg{ width:18px; height:18px; transition:transform .35s; }
.card:hover .card__btn{ background:linear-gradient(135deg, var(--cyan), var(--cyan-deep)); border-color:transparent; color:#06222a; box-shadow:0 8px 22px rgba(78,205,196,.4); }
.card:hover .card__btn svg{ transform:translate(2px,-2px); }

.works{ padding-block:clamp(70px,9vw,120px) clamp(80px,9vw,120px); }
.works__head{ display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:clamp(30px,4vw,54px); flex-wrap:wrap; }
.works__hint{ display:flex; align-items:center; gap:10px; color:var(--muted); font-size:13.5px; padding-bottom:8px; }
.works__hint::before{ content:""; width:10px; height:13px; border-left:3px solid var(--cyan); border-right:3px solid var(--cyan); }

.marquee{ overflow:hidden; padding-block:12px; -webkit-mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.marquee__rows{ display:flex; flex-direction:column; gap:0; }
.marquee__track{ display:flex; gap:24px; width:max-content; animation:mqLeft 44s linear infinite; }
.marquee--right .marquee__track{ animation-name:mqRight; }
.marquee:hover .marquee__track{ animation-play-state:paused !important; }
.marquee--offscreen .marquee__track{ animation-play-state:paused; }
@keyframes mqLeft{ to{ transform:translateX(calc(-50% - 12px)); } }
@keyframes mqRight{ from{ transform:translateX(calc(-50% - 12px)); } to{ transform:translateX(0); } }
.marquee__set{ display:flex; gap:24px; flex-shrink:0; }

.w-item{ flex:0 0 auto; width:450px; height:260px; border-radius:15px; overflow:hidden; position:relative;
  border:1px solid rgba(255,255,255,.06); isolation:isolate;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease); }
.w-item:hover{ transform:translateY(-6px); border-color:rgba(78,205,196,.45);
  box-shadow:0 30px 60px rgba(0,0,0,.55), 0 0 30px rgba(78,205,196,.1); }
.w-item img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.w-item:hover img{ transform:scale(1.06); }
.w-ov{ position:absolute; inset:0; z-index:5; background:linear-gradient(180deg, rgba(10,10,10,0) 0%, rgba(10,10,10,.45) 40%, rgba(10,10,10,.9) 100%);
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:26px; opacity:0; transition:opacity .35s; }
.w-item:hover .w-ov{ opacity:1; }
.w-ov h3{ color:#f7f7ee; font-family:"Manrope", sans-serif; font-size:21px; font-weight:700; margin:0 0 6px; letter-spacing:-.5px;
  transform:translateY(14px); opacity:0; transition:transform .4s var(--ease) .05s, opacity .4s var(--ease) .05s; }
.w-item:hover .w-ov h3{ transform:none; opacity:1; }
.w-ov p{ color:rgba(247,247,238,.72); font-size:14px; margin:0 0 18px; line-height:1.4;
  transform:translateY(14px); opacity:0; transition:transform .4s var(--ease) .1s, opacity .4s var(--ease) .1s; }
.w-item:hover .w-ov p{ transform:none; opacity:1; }
.w-link{ display:inline-flex; align-items:center; gap:8px; color:#06262b; background:var(--cyan); text-decoration:none;
  padding:10px 22px; border-radius:10px; font-weight:700; font-size:14px; border:none; cursor:pointer;
  transform:translateY(14px); opacity:0; transition:transform .4s var(--ease) .15s, opacity .4s var(--ease) .15s, background .3s; }
.w-item:hover .w-link{ transform:none; opacity:1; }
.w-link:hover{ background:#eafffb; }
.w-link span{ transition:transform .3s; }
.w-link:hover span{ transform:translateX(3px); }

.w-glow{ position:absolute; inset:0; z-index:2; pointer-events:none; border-radius:inherit;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(143,230,242,.34), rgba(78,205,196,.14) 38%, rgba(78,205,196,0) 70%);
  opacity:0; transition:opacity .45s; }
.w-item:hover .w-glow{ opacity:1; }
.w-shine{ position:absolute; inset:0; z-index:3; pointer-events:none; overflow:hidden; border-radius:inherit; }
.w-shine::after{ content:""; position:absolute; top:0; left:0; width:55%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.16), transparent);
  transform:translateX(-180%) skewX(-18deg); }
.w-item:hover .w-shine::after{ animation:shine 1s ease; }

.w-border{ position:absolute; inset:0; z-index:4; border-radius:inherit; pointer-events:none;
  overflow:hidden; opacity:0; transition:opacity .45s;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; padding:1.4px; }
.w-border::before{ content:""; position:absolute;
  top:50%; left:50%; width:200%; height:200%;
  margin-top:-100%; margin-left:-100%;
  background:conic-gradient(from 0deg, transparent 0 64%, rgba(78,205,196,0) 66%, var(--cyan) 80%, #fff 90%, transparent 96% 100%);
  transform:rotate(0deg); transform-origin:center center; }
.w-border::after{ content:""; position:absolute; inset:1.4px; border-radius:inherit; background:var(--bg); }
.w-item:hover .w-border{ opacity:1; }
.w-item:hover .w-border::before{ animation:borderSpin 3.2s linear infinite; }

.w-border-glow{ position:absolute; inset:0; z-index:4; border-radius:inherit; pointer-events:none; padding:1.4px;
  background:radial-gradient(150px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.9), var(--cyan) 35%, transparent 65%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .45s; }
.w-item:hover .w-border-glow{ opacity:1; }

.faq{ max-width:960px; margin:0 auto; padding:clamp(70px,9vw,120px) var(--pad) clamp(80px,9vw,120px); }
.faq__head{ text-align:center; max-width:680px; margin:0 auto 56px; }
.faq__label{ display:inline-flex; align-items:center; gap:12px; font-family:"Unbounded", sans-serif; font-weight:700;
  font-size:13px; letter-spacing:.34em; text-transform:uppercase; color:var(--cyan); }
.faq__label::before, .faq__label::after{ content:""; width:30px; height:1px; background:linear-gradient(90deg, transparent, var(--cyan)); }
.faq__label::after{ transform:scaleX(-1); }
.faq__title{ font-family:"Unbounded", sans-serif; font-weight:800; font-size:clamp(28px,4.4vw,48px); line-height:1.1; letter-spacing:-.01em; margin:22px 0 18px; }
.faq__title b{ background:linear-gradient(92deg, var(--cyan), var(--cyan-ice)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.faq__lead{ color:var(--muted); font-size:16.5px; max-width:52ch; margin:0 auto 32px; }
.faq__cta{ display:inline-flex; align-items:center; gap:12px; padding:15px 28px; border-radius:999px;
  background:linear-gradient(92deg, var(--cyan), var(--cyan-deep)); color:#04222a; font-weight:700; font-size:15px; text-decoration:none;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease); box-shadow:0 10px 30px -10px rgba(78,205,196,.6); }
.faq__cta:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -12px rgba(78,205,196,.75); }
.faq__cta svg{ width:18px; height:18px; transition:transform .25s var(--ease); }
.faq__cta:hover svg{ transform:translateX(4px); }
.faq__list{ display:flex; flex-direction:column; gap:14px; max-width:880px; margin:0 auto; }
.faq__item{ border:1px solid var(--line); border-radius:20px; background:var(--panel); overflow:hidden;
  transition:border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease); }
.faq__item:hover{ border-color:rgba(255,255,255,.18); transform:translateY(-1px); }
.faq__item.is-open{ border-color:rgba(78,205,196,.55); background:linear-gradient(160deg,rgba(78,205,196,.1),rgba(78,205,196,.03)),var(--panel); box-shadow:0 24px 60px -28px rgba(78,205,196,.45); }
.faq__q{ width:100%; display:flex; align-items:center; gap:22px; padding:26px 28px; background:none; border:none; cursor:pointer; text-align:left; color:var(--ink); font:inherit; }
.faq__q:focus-visible{ outline:2px solid var(--cyan); outline-offset:-2px; border-radius:20px; }
.faq__num{ flex:0 0 34px; width:34px; font-family:"Unbounded", sans-serif; font-weight:700; font-size:20px; font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg, var(--cyan-ice), var(--cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; opacity:.85; transition:opacity .3s; }
.faq__item.is-open .faq__num{ opacity:1; }
.faq__qtext{ flex:1 1 auto; font-size:clamp(16px,1.5vw,19px); font-weight:600; line-height:1.35; }
.faq__icon{ flex:0 0 34px; position:relative; width:34px; height:34px; border-radius:50%; border:1px solid var(--line);
  transition:border-color .3s var(--ease), background .3s var(--ease), transform .3s var(--ease); }
.faq__item.is-open .faq__icon{ border-color:var(--cyan); background:rgba(78,205,196,.12); transform:rotate(180deg); }
.faq__icon::before, .faq__icon::after{ content:""; position:absolute; background:var(--ink); border-radius:2px; top:50%; left:50%;
  transition:transform .35s var(--ease), opacity .25s var(--ease), background .3s; }
.faq__icon::before{ width:14px; height:2px; transform:translate(-50%,-50%); }
.faq__icon::after{ width:2px; height:14px; transform:translate(-50%,-50%); }
.faq__item.is-open .faq__icon::after{ transform:translate(-50%,-50%) scaleY(0); opacity:0; }
.faq__item.is-open .faq__icon::before{ background:var(--cyan); }
.faq__a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s var(--ease); }
.faq__item.is-open .faq__a{ grid-template-rows:1fr; }
.faq__a-inner{ overflow:hidden; min-height:0; }
.faq__a-body{ padding:0 calc(28px + 34px + 22px) 26px calc(28px + 34px + 22px); color:var(--muted); font-size:15.5px; line-height:1.7; }
.faq__a-body strong{ color:var(--cyan); font-weight:600; }

@media (max-width:1080px){
  .hero{ min-height:auto; padding-block:170px 60px; }
  .hero__grid{ grid-template-columns:1fr; gap:48px; }
  .hero__collage{ justify-self:center; max-width:560px; margin-top:8px; }
  .hero__sub, .hero__list{ max-width:none; }
}
@media (max-width:980px){
  .head{ grid-template-columns:1fr; gap:18px; }
  .head__desc{ justify-self:start; text-align:left; border-right:none; border-left:2px solid rgba(78,205,196,.35); padding:0 0 0 16px; }
  .bento{ grid-template-columns:repeat(2,1fr); }
  .card--big{ grid-column:span 2; min-height:clamp(240px,46vw,340px); }
  .card--small{ grid-column:span 1; min-height:clamp(260px,52vw,360px); }
  .w-item{ width:400px; height:240px; }
}
@media (max-width:760px){
  .hero__scroll{ display:none; }
  .works__head{ flex-direction:column; align-items:flex-start; gap:14px; }
  .w-item{ width:320px; height:210px; }
  .w-ov{ padding:20px; }
  .w-ov h3{ font-size:18px; }
  .w-ov p{ font-size:13px; margin-bottom:14px; }
  .w-link{ padding:8px 18px; font-size:13px; }
}
@media (max-width:640px){
  .faq{ padding-block:64px 80px; }
  .faq__head{ margin-bottom:40px; }
  .faq__q{ padding:20px; gap:14px; }
  .faq__num{ flex-basis:28px; width:28px; font-size:17px; }
  .faq__icon{ flex-basis:30px; width:30px; height:30px; }
  .faq__a-body{ padding:0 calc(20px + 30px + 14px) 20px calc(20px + 28px + 14px); }
}
@media (max-width:560px){
  .bento{ grid-template-columns:1fr; }
  .card--big, .card--small{ grid-column:span 1; min-height:240px; }
  .card__body{ padding-right:70px; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .rv, .rv-card, .rv-c{ opacity:1 !important; }
  .hero__title .line-inner{ transform:none; }
  .hero__title .hl::after{ width:100%; }
  .marquee{ overflow-x:auto; -webkit-mask:none; mask:none; }
}

@media (hover:none){
  .card:hover .card__img{ transform:none; }
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi){
  .card__border, .card__border-glow,
  .w-border, .w-border-glow{ display:none; }
  .glow{ filter:blur(80px); }
}


/* === Общие стили AllPro (из главной, 17.08.2026) === */


.ap-root{font-family:"Manrope",-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;color:#fff;line-height:1.6;background:transparent}
.ap-root *,.ap-root *::before,.ap-root *::after{box-sizing:border-box}
.ap-root a{text-decoration:none}
.ap-container{max-width:1200px;margin:0 auto;padding:0 20px}
.ap-estimate{padding:0;background:transparent}
.ap-estimate .ap-container{max-width:none;padding-left:0;padding-right:0}
.ap-estimate-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:rgba(255,255,255,.02);border:1px solid rgba(22,182,201,.1);border-radius:20px;padding:60px;margin:120px 140px 20px}
.ap-badge{display:inline-block;color:#16B6C9;font-size:12px;font-weight:700;letter-spacing:2px;margin-bottom:20px}
.ap-title{font-size:42px;font-weight:700;line-height:1.2;margin:0 0 20px;color:#fff}
.ap-desc{color:#888;font-size:16px;margin:0 0 30px;line-height:1.6}
.ap-features{list-style:none;margin:0;padding:0}
.ap-features li{display:flex;align-items:center;gap:12px;margin-bottom:15px;color:#fff;font-size:14px}
.ap-features svg{flex-shrink:0}
.ap-form{display:flex;flex-direction:column;gap:20px}
.ap-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ap-group{display:flex;flex-direction:column;gap:8px}
.ap-label{font-size:14px;color:#aaa;cursor:pointer}
.ap-input,.ap-select{width:100%;padding:14px 18px;background:rgba(255,255,255,.05);border:1px solid rgba(22,182,201,.2);border-radius:10px;color:#fff;font-size:14px;font-family:inherit;transition:all .3s}
.ap-input:focus,.ap-select:focus{outline:none;border-color:#16B6C9;background:rgba(255,255,255,.08)}
.ap-input::placeholder{color:#666}
.ap-select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2316B6C9' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:40px}
.ap-select option{background:#0a0a0a;color:#fff}
.ap-upload{position:relative;padding:40px;border:2px dashed rgba(22,182,201,.3);border-radius:10px;text-align:center;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.ap-upload:hover{border-color:#16B6C9;background:rgba(22,182,201,.05)}
.ap-upload-text{color:#888;font-size:14px}
.ap-file{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ap-submit{width:100%;padding:18px;background:linear-gradient(135deg,#16B6C9 0%,#0E97A8 100%);color:#0a0a0a;border:none;border-radius:30px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;font-family:inherit}
.ap-submit:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(22,182,201,.4)}
.ap-link{color:#16B6C9;text-decoration:underline}
.ap-consent{display:flex;align-items:flex-start;justify-content:center;gap:10px;font-size:12px;color:#666;margin:0;text-align:left;line-height:1.5}
.ap-consent-box{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;margin:1px 0 0;padding:0;border:1px solid rgba(22,182,201,.4);border-radius:4px;background:rgba(255,255,255,.05);cursor:pointer;position:relative;transition:all .2s;flex-shrink:0}
.ap-consent-box:checked{background:#16B6C9;border-color:#16B6C9}
.ap-consent-box:checked::after{content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #0a0a0a;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ap-consent-box:focus-visible{outline:2px solid #16B6C9;outline-offset:2px}
.ap-consent-text{flex-shrink:1;cursor:pointer}
.ap-consent.error .ap-consent-box{border-color:#ff6b6b;box-shadow:0 0 0 2px rgba(255,107,107,.25);animation:ap-shake .3s}
.ap-consent.error .ap-consent-text{color:#ff8a8a}
@keyframes ap-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.ap-submit--locked{opacity:.45;cursor:not-allowed}
.ap-submit--locked:hover{transform:none;box-shadow:none}
.ap-footer{background:transparent;border-top:1px solid rgba(22,182,201,.1);padding:20px 0 0}
.ap-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:60px;padding-bottom:60px}
.ap-footer .ap-logo{display:flex;align-items:center;gap:12px}
.ap-footer .ap-logo-icon{background:none;width:auto;height:40px;border-radius:0;padding:0}
.ap-logo-img{display:block;height:100%;width:auto;max-width:170px;object-fit:contain}
.ap-logo-text{display:flex;flex-direction:column}
.ap-logo-title{font-size:18px;font-weight:700;color:#fff;line-height:1.2}
.ap-logo-sub{font-size:10px;color:#888;letter-spacing:1px}
.ap-footer-desc{color:#888;font-size:14px;line-height:1.6;margin:20px 0}
.ap-socials{display:flex;gap:12px}
.ap-social{width:40px;height:40px;background:rgba(22,182,201,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#16B6C9;transition:all .3s}
.ap-social:hover{background:rgba(22,182,201,.2);transform:translateY(-2px)}
.ap-footer-title{font-size:14px;font-weight:700;letter-spacing:1px;margin:0 0 20px;color:#fff}
.ap-footer-links{list-style:none;margin:0;padding:0}
.ap-footer-links li{margin-bottom:12px}
.ap-footer-links a{color:#888;font-size:14px;transition:color .3s}
.ap-footer-links a:hover{color:#16B6C9}
.ap-contacts{list-style:none;margin:0;padding:0}
.ap-contacts li{display:flex;align-items:center;gap:12px;margin-bottom:15px;color:#888;font-size:14px}
.ap-contacts a{color:#888;transition:color .3s}
.ap-contacts a:hover{color:#16B6C9}
.ap-contacts svg{flex-shrink:0}
.ap-footer-bottom{border-top:1px solid rgba(22,182,201,.1);padding:20px 0;text-align:center;color:#666;font-size:14px}
@media (max-width:1100px){ .ap-estimate-wrap{margin:80px 60px 20px} }
@media (max-width:968px){
  .ap-estimate-wrap{grid-template-columns:1fr;padding:40px;margin:60px 32px 20px}
  .ap-footer-grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:640px){
  .ap-row{grid-template-columns:1fr}
  .ap-footer-grid{grid-template-columns:1fr}
  .ap-title{font-size:28px}
  .ap-estimate-wrap{padding:25px;margin:32px 16px 20px}
}


/* === Общие стили AllPro (из главной, 17.08.2026) === */


.hero{
  padding-block:176px clamp(130px, 15vh, 170px);
}

.hero__scroll{
  left:clamp(16px, 6vw, 140px);
  right:auto;
  padding-inline:0;
  bottom:26px;
}

@media (max-width:1080px){
  .hero{ padding-block:170px clamp(100px, 12vh, 130px); }
}
@media (max-width:760px){
  .hero__scroll{ display:none; }
}


/* === Общие стили AllPro (из главной, 17.08.2026) === */


/* ====== ALLPRO CUSTOM BLOCK (форма оценки + футер) ======
   Типографика приведена к сайту: текст — Manrope (как body),
   заголовки (.ap-title, .ap-logo-title) — Unbounded (как h2/hero/faq). */
.ap-root{font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#fff;line-height:1.6;background:transparent;-webkit-font-smoothing:antialiased}
.ap-root *,.ap-root *::before,.ap-root *::after{box-sizing:border-box}
.ap-root a{text-decoration:none}
.ap-container{max-width:1200px;margin:0 auto;padding:0 20px}
.ap-estimate{padding:0;background:transparent}
.ap-estimate .ap-container{max-width:none;padding-left:0;padding-right:0}
.ap-estimate-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:rgba(255,255,255,.02);border:1px solid rgba(22,182,201,.1);border-radius:20px;padding:60px;margin:120px 140px 20px}
.ap-badge{display:inline-block;color:#16B6C9;font-size:12px;font-weight:700;letter-spacing:2px;margin-bottom:20px;text-transform:uppercase}
/* заголовок формы — Unbounded, как заголовки секций сайта */
.ap-title{font-family:"Unbounded","Manrope",sans-serif;font-size:clamp(28px,3.4vw,42px);font-weight:800;letter-spacing:-.01em;line-height:1.15;margin:0 0 20px;color:#fff}
.ap-desc{color:#888;font-size:16px;margin:0 0 30px;line-height:1.6}
.ap-features{list-style:none;margin:0;padding:0}
.ap-features li{display:flex;align-items:center;gap:12px;margin-bottom:15px;color:#fff;font-size:14px}
.ap-features svg{flex-shrink:0}
.ap-form{display:flex;flex-direction:column;gap:20px}
.ap-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ap-group{display:flex;flex-direction:column;gap:8px}
.ap-label{font-size:14px;color:#aaa;cursor:pointer}
.ap-input,.ap-select{width:100%;padding:14px 18px;background:rgba(255,255,255,.05);border:1px solid rgba(22,182,201,.2);border-radius:10px;color:#fff;font-size:14px;font-family:inherit;transition:all .3s}
.ap-input:focus,.ap-select:focus{outline:none;border-color:#16B6C9;background:rgba(255,255,255,.08)}
.ap-input::placeholder{color:#666}
.ap-select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2316B6C9' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:40px}
.ap-select option{background:#0a0a0a;color:#fff}
.ap-upload{position:relative;padding:40px;border:2px dashed rgba(22,182,201,.3);border-radius:10px;text-align:center;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.ap-upload:hover{border-color:#16B6C9;background:rgba(22,182,201,.05)}
.ap-upload-text{color:#888;font-size:14px}
.ap-file{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ap-submit{width:100%;padding:18px;background:linear-gradient(135deg,#16B6C9 0%,#0E97A8 100%);color:#0a0a0a;border:none;border-radius:30px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;font-family:inherit}
.ap-submit:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(22,182,201,.4)}
.ap-link{color:#16B6C9;text-decoration:underline}
.ap-consent{display:flex;align-items:flex-start;justify-content:center;gap:10px;font-size:12px;color:#666;margin:0;text-align:left;line-height:1.5}
.ap-consent-box{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;margin:1px 0 0;padding:0;border:1px solid rgba(22,182,201,.4);border-radius:4px;background:rgba(255,255,255,.05);cursor:pointer;position:relative;transition:all .2s;flex-shrink:0}
.ap-consent-box:checked{background:#16B6C9;border-color:#16B6C9}
.ap-consent-box:checked::after{content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #0a0a0a;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ap-consent-box:focus-visible{outline:2px solid #16B6C9;outline-offset:2px}
.ap-consent-text{flex-shrink:1;cursor:pointer}
.ap-consent.error .ap-consent-box{border-color:#ff6b6b;box-shadow:0 0 0 2px rgba(255,107,107,.25);animation:ap-shake .3s}
.ap-consent.error .ap-consent-text{color:#ff8a8a}
@keyframes ap-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.ap-submit--locked{opacity:.45;cursor:not-allowed}
.ap-submit--locked:hover{transform:none;box-shadow:none}
.ap-footer{background:transparent;border-top:1px solid rgba(22,182,201,.1);padding:20px 0 0}
.ap-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:60px;padding-bottom:60px}
.ap-footer .ap-logo{display:flex;align-items:center;gap:12px}
.ap-footer .ap-logo-icon{background:none;width:auto;height:40px;border-radius:0;padding:0}
.ap-logo-img{display:block;height:100%;width:auto;max-width:170px;object-fit:contain}
.ap-logo-text{display:flex;flex-direction:column}
/* название логотипа — Unbounded, в стиле заголовков сайта */
.ap-logo-title{font-family:"Unbounded","Manrope",sans-serif;font-size:18px;font-weight:800;color:#fff;line-height:1.2;letter-spacing:-.01em}
.ap-logo-sub{font-size:10px;color:#888;letter-spacing:1px}
.ap-footer-desc{color:#888;font-size:14px;line-height:1.6;margin:20px 0}
.ap-socials{display:flex;gap:12px}
.ap-social{width:40px;height:40px;background:rgba(22,182,201,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#16B6C9;transition:all .3s}
.ap-social:hover{background:rgba(22,182,201,.2);transform:translateY(-2px)}
/* метки колонок — Manrope uppercase, как «бейджи» на сайте */
.ap-footer-title{font-family:inherit;font-size:14px;font-weight:700;letter-spacing:1px;margin:0 0 20px;color:#fff;text-transform:uppercase}
.ap-footer-links{list-style:none;margin:0;padding:0}
.ap-footer-links li{margin-bottom:12px}
.ap-footer-links a{color:#888;font-size:14px;transition:color .3s}
.ap-footer-links a:hover{color:#16B6C9}
.ap-contacts{list-style:none;margin:0;padding:0}
.ap-contacts li{display:flex;align-items:center;gap:12px;margin-bottom:15px;color:#888;font-size:14px}
.ap-contacts a{color:#888;transition:color .3s}
.ap-contacts a:hover{color:#16B6C9}
.ap-contacts svg{flex-shrink:0}
.ap-footer-bottom{border-top:1px solid rgba(22,182,201,.1);padding:20px 0;text-align:center;color:#666;font-size:14px}
@media (max-width:1100px){ .ap-estimate-wrap{margin:80px 60px 20px} }
@media (max-width:968px){
  .ap-estimate-wrap{grid-template-columns:1fr;padding:40px;margin:60px 32px 20px}
  .ap-footer-grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:640px){
  .ap-row{grid-template-columns:1fr}
  .ap-footer-grid{grid-template-columns:1fr}
  .ap-estimate-wrap{padding:25px;margin:32px 16px 20px}
}

/* ===== Единые хэдер/футер всегда тёмные (17.08.2026) ===== */
[data-theme="light"] .ap-footer{background:#07090b;border-top:1px solid rgba(22,182,201,.15)}
[data-theme="light"] .ap-footer-bottom{border-top-color:rgba(22,182,201,.15)}
[data-theme="light"] .ap-header{background:rgba(10,10,10,.85)}
