:root{
  --bg-start-light:#ffffff;
  --bg-end-light:#eef3f8;
  --text-light:#0C1829;
  --muted-light:#475a78;
  --card-light:rgba(255,255,255,0.66);

  --bg-start-dark:#0C1829;
  --bg-end-dark:#101f36;
  --text-dark:#EAF0F6;
  --muted-dark:#C9D4E6;
  --card-dark:rgba(16,28,48,0.66);

  --bg-start: var(--bg-start-dark);
  --bg-end:   var(--bg-end-dark);
  --text:     var(--text-dark);
  --muted:    var(--muted-dark);
  --card:     var(--card-dark);

  --g1:#00C2A8; --g2:#1BB4F0; --g3:#7A2BFF;
}
body{ margin:0; color:var(--text); font: 16px/1.55 system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial; }
body.theme-light{ --bg-start:var(--bg-start-light); --bg-end:var(--bg-end-light); --text:var(--text-light); --muted:var(--muted-light); --card:var(--card-light); }
.site-bg{ position:fixed; inset:0; z-index:-1; background:
  radial-gradient(1200px 800px at 75% 30%, rgba(80,140,220,.18), transparent 60%),
  radial-gradient(700px 500px at 20% 70%, rgba(40,180,220,.14), transparent 60%),
  linear-gradient(180deg, var(--bg-start), var(--bg-end)); }
.site-bg::before{ content:''; position:absolute; inset:-20% -10% auto auto; width:1400px; height:1400px; border-radius:50%;
  background: radial-gradient(closest-side, transparent 78%, rgba(255,255,255,.06) 79% 80%, transparent 81%) 0 0/100% 100% no-repeat;
  mask: radial-gradient(closest-side, #0000 70%, #000 71%); opacity:.35; animation:bg-pulse 14s ease-in-out infinite; }
@keyframes bg-pulse{ 0%,100%{transform:scale(1) rotate(0deg);opacity:.35;} 50%{transform:scale(1.03) rotate(2deg);opacity:.42;} }
.container{ max-width:1160px; margin-inline:auto; padding-inline:clamp(16px,4vw,32px); padding-block:clamp(24px,6vw,56px); }
.section{ margin-block: clamp(32px,6vw,88px); }
a{ color:var(--muted); text-decoration:none; } a:hover{ text-decoration:underline; }
.site-header{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand{ display:flex; align-items:center; gap:14px; } .brand-mark{ width:32px; height:32px; } .brand-wordmark{ height:22px; }
.dark-only{ display:none; } body.theme-dark .dark-only{ display:inline; } body.theme-dark .light-only{ display:none; }
.primary-nav{ display:flex; align-items:center; gap:20px; }
.primary-nav .menu{ display:flex; gap:16px; list-style:none; padding:0; margin:0; }
.primary-nav .menu a{ position:relative; padding:8px 10px; border-radius:10px; }
.primary-nav .menu a:hover::after, .primary-nav .menu .current-menu-item > a::after{
  content:''; position:absolute; left:10px; right:10px; bottom:4px; height:3px;
  background: linear-gradient(90deg, var(--g1), var(--g2), var(--g3)); border-radius:3px; }
.theme-toggle{ width:36px; height:36px; border-radius:12px; border:1px solid rgba(255,255,255,0.12); background:var(--card);
  display:grid; place-items:center; cursor:pointer; }
.theme-toggle .icon-sun, .theme-toggle .icon-moon{ width:16px; height:16px; display:block; background: radial-gradient(circle at 50% 50%, var(--g1), var(--g2), var(--g3));
  mask: radial-gradient(circle at 50% 50%, black 60%, transparent 61%); }
body.theme-light .theme-toggle .icon-moon{ display:none; } body.theme-dark .theme-toggle .icon-sun{ display:none; }
.display{ font-size: clamp(36px, 6vw, 56px); line-height:1.05; margin:0 0 12px; }
.display .accent{ background:linear-gradient(90deg,var(--g1),var(--g2),var(--g3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.lead{ color:var(--muted); font-size: clamp(16px, 2.4vw, 20px); }
.g{ background:linear-gradient(90deg,var(--g1),var(--g2),var(--g3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.btn-primary{ display:inline-block; padding:10px 16px; border-radius:14px; color:#fff; background:linear-gradient(90deg,var(--g1),var(--g2),var(--g3)); }
.btn-link{ padding:10px 12px; border-radius:10px; color:var(--text); background:var(--card); }
.card{ background:var(--card); border:1px solid rgba(255,255,255,0.1); border-radius:16px; padding:18px 16px; }
.solution-grid{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.site-footer{ display:flex; align-items:center; justify-content:center; }
.site-footer .footer-meta{ opacity:.8; display:flex; gap:10px; flex-wrap:wrap; }
.page, .single, .archive, .home, .front-page { background: transparent !important; }
