:root{
  --bg:#0e131b; --bg-2:#0b111a;
  --panel:#121a27; --text:#e7eef9; --muted:#9fb0c9;
  --accent:#3b82f6; --accent-2:#22d3ee;
  --card:#101722; --ring:#2a3548;
  --shadow: 0 8px 30px rgba(0,0,0,.35);
}

@media (prefers-color-scheme: light){
  :root{
    --bg:#f7f9fc; --bg-2:#ffffff;
    --panel:#ffffff; --text:#0d1420; --muted:#4b5b73;
    --card:#ffffff; --ring:#dbe3f2;
  }
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,var(--bg) 0%, var(--bg-2) 100%);
}

/* =========== Header =========== */
.site-header{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px;
  background:rgba(10,14,20,.55);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 2px 10px rgba(0,0,0,.06);
}
@media (prefers-color-scheme: light){
  .site-header{background:rgba(255,255,255,.7); border-bottom:1px solid #eef2f7}
}

.brand{display:flex; align-items:center; gap:10px; color:var(--text); text-decoration:none; font-weight:800}
.brand-mark{width:28px;height:28px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.brand-name{letter-spacing:.3px}

.nav{display:flex; gap:18px; align-items:center}
.nav a{color:var(--muted); text-decoration:none; font-weight:700}
.nav a:hover{color:var(--text)}
.theme-btn{
  margin-left:10px; background:none; border:1px solid rgba(255,255,255,.2);
  color:var(--text); padding:6px 10px; border-radius:10px; cursor:pointer
}

/* mobile menu button */
.nav-toggle{display:none; background:none; border:0; cursor:pointer}
.nav-toggle span{display:block; width:24px; height:2px; background:var(--text); margin:5px 0}

/* =========== Hero (Variant A: gradient + noise) =========== */
.hero{
  position:relative;
  min-height:82vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(1000px 600px at -10% -10%, rgba(34,211,238,.16), transparent 60%),
    radial-gradient(900px 500px at 110% 10%, rgba(59,130,246,.16), transparent 60%),
    linear-gradient(180deg, #f5f8ff 0%, #eef3fb 60%, #e9f1ff 100%);
}
@media (prefers-color-scheme: dark){
  .hero{
    background:
      radial-gradient(1000px 600px at -10% -10%, rgba(34,211,238,.20), transparent 60%),
      radial-gradient(900px 500px at 110% 10%, rgba(59,130,246,.20), transparent 60%),
      linear-gradient(180deg, #0e131b 0%, #0b111a 100%);
  }
}
.hero::after{
  content:"";
  position:absolute; inset:0; pointer-events:none;
  z-index:0;
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'>\
    <filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/>\
    <feColorMatrix type='saturate' values='0'/>\
    <feComponentTransfer><feFuncA type='table' tableValues='0 0 0 0 0 0.04'/></feComponentTransfer></filter>\
    <rect width='120' height='120' filter='url(%23n)'/>\
  </svg>");
}

/* hero layout & text */
.hero-inner{
  position:relative; z-index:1;     /* контент над шумом */
  width:100%; max-width:1200px; margin:0 auto;
  padding:72px 24px 68px;
  display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:center;
}
.hero-text h1{font-size:48px; line-height:1.05; margin:0 0 10px}
.tagline{color:var(--muted); font-weight:600; margin:0 0 26px; max-width:52ch}
.cta-row{display:flex; gap:12px; flex-wrap:wrap}
.hero-cta{
  display:inline-block; text-decoration:none; padding:12px 22px; border-radius:12px; font-weight:800;
  transition:.18s ease;
}
.hero-cta.primary{color:#fff; background:linear-gradient(90deg,var(--accent),var(--accent-2)); box-shadow:var(--shadow)}
.hero-cta.ghost{color:var(--text); border:1px solid rgba(255,255,255,.25)}
.hero-cta.primary:hover, .btn:hover{transform:translateY(-1px); filter:saturate(110%)}
.hero-cta.ghost:hover{border-color:rgba(59,130,246,.5)}

/* portrait */
.hero-portrait{display:flex; justify-content:center}
.portrait-frame{
  width:340px; height:420px; border-radius:24px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 18px 50px rgba(0,0,0,.25);
  overflow:hidden; position:relative;
}
.portrait-frame img{
  position:relative; z-index:1;
  width:100%; height:100%;
  object-fit:cover;
  filter:none;
}
.portrait-fallback{
  display:none;
  position:absolute; inset:0; place-items:center;
  background:linear-gradient(180deg,#0a0f18 0,#0c121c 100%);
  opacity:.25;
}
.portrait-frame.noimg .portrait-fallback{display:grid}

/* полностью убираем коллаж */
.collage{ display:none !important; }

/* =========== Sections =========== */
.section{padding:64px 20px}
.container{max-width:1100px; margin:0 auto}
h2{font-size:32px; margin:0 0 14px}
p{line-height:1.7; color:#dfe7f6}
@media (prefers-color-scheme: light){ p{color:#233047} }
.lead{max-width:70ch}

/* chips */
.chips{display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0 0 16px}
.chips li{
  padding:8px 12px; border-radius:999px;
  background:rgba(59,130,246,.15); color:#1f3a6d;
  border:1px solid rgba(59,130,246,.35); font-weight:700; font-size:12px
}

/* cards */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px}
.card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:18px; box-shadow:var(--shadow)
}
.card .small{color:var(--muted); margin-top:-2px}
.facts{margin:10px 0 0 18px} .facts li{margin:4px 0}

@media (prefers-color-scheme: light){
  .card{ box-shadow:0 10px 28px rgba(18,26,39,.08) }
  .nav a{ color:#2a3650 } .nav a:hover{ color:#0d1420 }
}

/* recognition */
.badges{display:flex; flex-wrap:wrap; gap:10px}
.badge{padding:8px 12px; border:1px dashed rgba(255,255,255,.25); border-radius:10px}
.note{color:var(--muted)}

/* recognition logos (bigger) */
.logo-badges{
  list-style:none; padding:0; margin:10px 0 0;
  display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center;
}
.logo-badges li{ display:flex; align-items:center; }
.logo-badges .logo{
  height:56px;                 /* было 44px */
  max-width:260px;
  width:auto; display:block;
  filter:grayscale(100%) contrast(.92) brightness(.9);
  opacity:.9; transition:.2s ease;
}
.logo-badges a:hover .logo{
  filter:none; opacity:1; transform:translateY(-1px);
}

/* чуть уменьшить на узких экранах */
@media (max-width:680px){
  .logo-badges{ gap:14px 18px }
  .logo-badges .logo{ height:44px; max-width:200px; }
}



/* contact – улучшенные контуры и фокус */
.form .grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.form input, .form textarea{
  width:100%; padding:12px 14px; border-radius:12px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.04);
  color:var(--text); font-size:16px;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.form input::placeholder, .form textarea::placeholder{ color:rgba(231,238,249,.65) }
.form input:hover, .form textarea:hover{ border-color:rgba(255,255,255,.4) }
.form input:focus, .form textarea:focus{
  outline:none; border-color:#66a8ff; box-shadow:0 0 0 3px rgba(59,130,246,.35);
  background:rgba(255,255,255,.06);
}
.form textarea{resize:vertical; min-height:120px}
.links{list-style:none; padding:0; margin:16px 0 0; display:flex; gap:10px; flex-wrap:wrap}
.btn{
  display:inline-block; text-decoration:none; color:#fff;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
  padding:10px 18px; border-radius:12px; font-weight:800; box-shadow:var(--shadow);
  transition:.18s ease;
}
.btn.ghost{color:var(--text); background:none; border:1px solid rgba(255,255,255,.25)}

@media (prefers-color-scheme: light){
  .form input, .form textarea{ border:1px solid #c8d6f2; background:#fff; color:#0d1420 }
  .form input::placeholder, .form textarea::placeholder{ color:#6b7a95 }
  .form input:hover, .form textarea:hover{ border-color:#a9bfe8 }
  .form input:focus, .form textarea:focus{
    border-color:#5a9fff; box-shadow:0 0 0 3px rgba(59,130,246,.25); background:#fff;
  }
}

/* footer */
.site-footer{border-top:1px solid rgba(255,255,255,.08); padding:22px 0; color:var(--muted)}
.site-footer .container{display:flex; gap:10px; align-items:center; justify-content:center}
.sep{opacity:.5}

/* =========== Responsive =========== */
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr; gap:26px; padding-bottom:60px}
  .hero-text h1{font-size:40px}
  .cards{grid-template-columns:1fr}
  .nav{display:none; position:absolute; right:20px; top:60px; background:#0b111a;
       border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:10px 14px; box-shadow:var(--shadow)}
  .nav a{display:block; padding:8px 4px}
  .nav.open{display:block}
  .nav-toggle{display:block}
}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important; transition:none!important}
}

/* скрыть honeypot */
.hp{ display:none !important; }

/* статус отправки */
.form-status{ margin-top:12px; font-weight:700; color:var(--muted) }
.form-status.success{ color:#22d3ee }         /* бирюзовый — ОК */
.form-status.error{ color:#ff6b6b }           /* красный — ошибка */

/* кнопка при отправке */
.btn[disabled]{ opacity:.7; cursor:wait; filter:saturate(90%) }
