
:root {
  --primary:hsl(205 84% 44%); --secondary:hsl(257 80% 52%); --line:#d5def5; --text:#0f172a; --muted:#4b5563; --radius:17px; --shadow:0 14px 32px rgba(15,23,42,.09);
}
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,Arial,sans-serif; color:var(--text); background:linear-gradient(180deg,#f8fbff,#edf3ff); line-height:1.6; }
.container { width:min(1180px,92%); margin:0 auto; }
.main-header { position:sticky; top:0; z-index:60; background:rgba(255,255,255,.95); border-bottom:1px solid var(--line); }
.nav-wrapper { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.site-logo img { width:220px; height:60px; object-fit:contain; }
.menu-items { list-style:none; margin:0; padding:0; display:flex; gap:.4rem; flex-wrap:wrap; }
.menu-items a { text-decoration:none; color:#0f172a; font-weight:600; padding:.48rem .7rem; border-radius:10px; }
.menu-items a.is-current,.menu-items a:hover { background:#e9f0ff; color:#1d4ed8; }
.section { padding:68px 0; }
.section.alt { background:rgba(255,255,255,.75); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hero { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; padding:1.2rem; }
#particles-wrap { position:absolute; inset:0; opacity:.45; pointer-events:none; }
.hero-content { position:relative; z-index:2; }
.grid { display:grid; gap:1rem; }
.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)); }
.grid.cols-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.grid.cols-6 { grid-template-columns:repeat(6,minmax(0,1fr)); }
.card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:1rem; }
.media { width:100%; min-height:240px; object-fit:cover; border-radius:12px; }
.form-wrap .field { margin-bottom:.9rem; }
.form-wrap label { display:block; font-weight:700; margin-bottom:.35rem; }
.form-wrap input,.form-wrap select,.form-wrap textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:.68rem .74rem; background:#fff; color:#0f172a; font:inherit; }
.form-wrap input:focus,.form-wrap select:focus,.form-wrap textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(99,102,241,.12); }
.btn { border:0; border-radius:12px; padding:.66rem 1rem; font-weight:700; cursor:pointer; }
.btn.primary { background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; }
.btn.secondary { background:#fff; border:1px solid var(--line); color:#0f172a; }
.consent-row { display:flex; align-items:flex-start; gap:.55rem; margin:.55rem 0; }
.consent-row input[type='checkbox'] { width:auto; margin-top:.18rem; }
.consent-row span { line-height:1.5; }
.chip { border:1px solid var(--line); border-radius:999px; padding:.2rem .55rem; font-size:.86rem; background:#fff; }
.footer { margin-top:50px; padding:54px 0 28px; background:#eef4ff; color:#0f172a; }
.footer .card { background:rgba(255,255,255,.58); color:#0f172a; border-color:rgba(255,255,255,.14); box-shadow:none; }
.footer a { color:#1d4ed8; }
.to-top { position:fixed; right:16px; bottom:88px; width:48px; height:48px; border-radius:999px; border:1px solid var(--line); display:none; z-index:90; color:#fff; background:linear-gradient(135deg,var(--primary),var(--secondary)); }
.to-top.show { display:grid; place-items:center; }
.is-hidden { display:none !important; }
.cookie-banner { position:fixed; right:16px; bottom:16px; width:min(380px,92%); background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem; box-shadow:var(--shadow); z-index:95; }
.subscribe-modal { position:fixed; inset:0; z-index:96; display:grid; place-items:center; background:rgba(2,6,23,.58); }
.subscribe-box { width:min(520px,92%); background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem; }
@media (max-width: 980px) {
  .grid.cols-2,.grid.cols-3,.grid.cols-4 { grid-template-columns:1fr; }
}
