:root {
  --bg: #f4f7ff;
  --surface: #ffffff;
  --surface-alt: #ecf2ff;
  --line: #d3e0ff;
  --text: #0f172a;
  --muted: #475569;
  --primary: hsl(233 84% 44%);
  --secondary: hsl(281 78% 52%);
  --radius: 18px;
  --shadow: 0 14px 36px rgba(15,23,42,.11);
}
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, Arial, sans-serif; color:var(--text); background:linear-gradient(180deg,#f8faff 0%, #eef3ff 40%, #f8faff 100%); line-height:1.6; }
a { color: var(--primary); text-decoration:none; }
a:hover { text-decoration:underline; }
.container { width:min(1180px,92%); margin:0 auto; }
.main-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); backdrop-filter: blur(8px); }
.nav-wrapper { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.site-logo { display:flex; align-items:center; gap:.7rem; color:var(--text); font-weight:800; font-size:1.1rem; }
.site-logo img { width:220px; height:60px; object-fit:contain; }
.menu-items { margin:0; padding:0; list-style:none; display:flex; gap:.35rem; flex-wrap:wrap; }
.menu-items a { color:var(--text); padding:.48rem .72rem; border-radius:11px; font-weight:600; }
.menu-items a.is-current,.menu-items a:hover { background:var(--surface-alt); color:var(--primary); text-decoration:none; }
.nav-toggle { display:none; border:1px solid var(--line); border-radius:10px; background:#fff; padding:.45rem .8rem; }
.section { padding:75px 0; }
.section.alt { background:rgba(255,255,255,.72); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hero-grid,.grid { display:grid; gap:1rem; }
.hero-grid { grid-template-columns:1.1fr .9fr; }
.grid.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid.cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:1rem; }
.card h3,.card h2 { margin-top:0; }
.responsive-img { width:100%; height:100%; min-height:240px; border-radius:calc(var(--radius) - 4px); object-fit:cover; }
.btn { border:0; padding:.68rem 1rem; border-radius:12px; cursor:pointer; font-weight:700; }
.btn.primary { background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; }
.btn.secondary { background:#fff; border:1px solid var(--line); color:var(--text); }
.stack { display:flex; flex-wrap:wrap; gap:.65rem; }
.counter { font-size:1.95rem; font-weight:800; }
.kpi-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.progress { height:10px; border-radius:999px; background:#e5ecff; overflow:hidden; }
.progress span { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--primary),var(--secondary)); transition:width .95s ease; }
.mission-item { display:flex; align-items:center; justify-content:space-between; gap:.8rem; border:1px dashed var(--line); border-radius:10px; padding:.55rem .6rem; margin:.4rem 0; }
.swiper { width:100%; }
.slide-card { min-height:160px; }
input,select,textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:.65rem; }
.footer { margin-top:48px; padding:58px 0 34px; background:linear-gradient(160deg,#0b1f48,#122b5e); color:#e7eefc; }
.footer .card { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.16); color:#e7eefc; box-shadow:none; }
.footer a { color:#b8d6ff; }
.cookie-banner { position:fixed; right:16px; bottom:16px; max-width:370px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:1rem; z-index:80; }
.subscribe-modal { position:fixed; inset:0; display:grid; place-items:center; background:rgba(2,6,23,.58); z-index:90; }
.subscribe-box { width:min(540px,92%); background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem; }
.is-hidden { display:none !important; }
.reveal { opacity:0; transform:translateY(18px); transition:all .58s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (max-width: 980px) {
  .hero-grid,.grid.cols-2,.grid.cols-3,.grid.cols-4,.kpi-grid { grid-template-columns:1fr; }
  .nav-toggle { display:block; }
  nav { display:none; }
  nav.open { display:block; }
}
