:root{--bg:#06152f;--card:#0a2854;--line:#245187;--cyan:#42bfff;--blue:#087cff;--green:#31d98a;--white:#f5f8ff;--muted:#98acc9;--max:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--white);font:15px/1.5 Inter,Arial,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-1;
  background:radial-gradient(circle at 84% 10%,rgba(0,130,255,.16),transparent 30%),
             radial-gradient(circle at 6% 70%,rgba(49,217,138,.05),transparent 26%)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}

/* шапка — как на других страницах, стеклянную версию доклеит navigation.css */
.header{height:82px;padding:0 max(24px,calc((100vw - var(--max))/2 + 24px));display:flex;align-items:center;gap:22px;
  position:sticky;top:0;z-index:200;background:rgba(6,21,47,.88);border-bottom:1px solid rgba(83,151,218,.2);backdrop-filter:blur(18px)}
.brand img{width:108px;height:50px;object-fit:contain}
.context-chip{padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.phone{margin-left:auto;font-weight:900;white-space:nowrap}
.menu{display:none;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:transparent;cursor:pointer;position:relative}
.menu span{position:absolute;left:8px;right:8px;height:2px;background:#fff;transition:.25s}
.menu span:first-child{top:12px}.menu span:last-child{top:20px}

/* хиро */
.ct-hero{max-width:var(--max);margin:auto;padding:64px 24px 34px}
.eyebrow{color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.eyebrow i{display:inline-block;width:26px;height:1px;margin-right:10px;background:var(--cyan);vertical-align:middle}
.ct-hero h1{margin:18px 0 12px;font-size:clamp(42px,6vw,72px);line-height:.94;letter-spacing:-.05em}
.ct-hero p{max-width:560px;margin:0;color:var(--muted);font-size:17px}

/* быстрый ряд: телефон, почта, адрес, часы */
.ct-quick{max-width:var(--max);margin:26px auto 0;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ct-quick a,.ct-quick div{display:block;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--card);transition:.25s}
.ct-quick a:hover{border-color:var(--cyan);transform:translateY(-3px)}
.ct-quick small{display:block;color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}
.ct-quick b{display:block;font-size:19px;letter-spacing:-.01em}
.ct-quick span{display:block;margin-top:4px;color:var(--muted);font-size:12px}

/* секции */
.ct-sec{max-width:var(--max);margin:auto;padding:56px 24px 0}
.ct-sec h2{margin:0 0 22px;font-size:clamp(26px,3.4vw,38px);letter-spacing:-.03em}

/* отделы */
.ct-depts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ct-dept{padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--card);
  display:flex;flex-direction:column;gap:6px;transition:.25s}
.ct-dept:hover{border-color:#3c86ca}
.ct-dept b{font-size:17px}
.ct-dept span{color:var(--muted);font-size:12.5px}
.ct-dept a{margin-top:6px;color:var(--cyan);font-weight:800;font-size:14px;width:fit-content}
.ct-dept a:hover{text-decoration:underline}

/* представители */
.ct-reps{display:grid;grid-template-columns:1fr;gap:14px;max-width:360px}
.ct-rep{padding:22px 24px;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(120deg,#10376e,#09234a);display:flex;flex-direction:column;gap:6px}
.ct-rep small{color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ct-rep b{font-size:22px;letter-spacing:-.02em}
.ct-rep a{color:#fff;font-weight:900;font-size:18px;width:fit-content}
.ct-rep a.mail{color:var(--cyan);font-size:14px;font-weight:800}
.ct-rep span{color:var(--muted);font-size:12px}

/* адрес + карта */
.ct-place{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.ct-addr{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.ct-addr b{display:block;font-size:20px;margin-bottom:6px}
.ct-addr p{margin:0 0 16px;color:var(--muted)}
.ct-addr .button{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;
  background:linear-gradient(110deg,#087cff,#32aeff);color:#fff;font-weight:900;box-shadow:0 13px 34px rgba(8,124,255,.25);transition:.25s}
.ct-addr .button:hover{transform:translateY(-2px)}
.ct-map{min-height:280px;border:1px solid var(--line);border-radius:18px;overflow:hidden;position:relative;background:#081c3c}
/* Тёмная карта без ключа Яндекса: invert + hue-rotate(180deg) затемняет светлую
   подложку, но цветные объекты (метку офиса) возвращает почти в исходный цвет.
   Родные тёмные тайлы Яндекса требуют JS API v3 и домен-привязанный ключ — отложено. */
.ct-map iframe{width:100%;height:100%;min-height:280px;border:0;display:block;
  filter:invert(.92) hue-rotate(180deg) brightness(.95) contrast(.9) saturate(.85)}

/* низ */
.ct-tail{max-width:var(--max);margin:52px auto 20px;padding:0 24px}

@media(max-width:900px){
  .menu{display:block}
  .ct-quick{grid-template-columns:1fr 1fr}
  .ct-place{grid-template-columns:1fr}
}
@media(max-width:560px){
  .ct-quick,.ct-depts,.ct-reps{grid-template-columns:1fr}
  .phone{display:none}
}
