/* Base — Mobile-first */
:root{
  --bg:#F8FAFC;
  --panel:#FFFFFF;
  --ink:#0B1220;
  --slate:#475569;
  --muted:#64748B;
  --line:#E5E7EB;

  --teal:#0EA5A9;
  --blue:#1D4ED8;
  --softTeal:#ECFEFF;
  --softBlue:#E0F2FE;

  --shadow:0 12px 34px rgba(2,8,23,.10);
  --shadow2:0 4px 16px rgba(2,8,23,.08);
  --r:24px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
}

a{ color:inherit; text-decoration:none; }
a:hover{ opacity:.92; }

.container{ width:min(1100px, 92vw); margin-inline:auto; }

/* Sections */
.section{ padding: 64px 0; }
.section.soft{ background: linear-gradient(180deg, var(--softTeal), rgba(224,242,254,0)); }
.section.white{ background:#fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

.hero{
  padding: 48px 0 38px;
  background:
    radial-gradient(820px 380px at 15% 10%, rgba(14,165,169,.18), transparent),
    radial-gradient(700px 360px at 85% 18%, rgba(29,78,216,.14), transparent),
    var(--bg);
}

img{ max-width:100%; height:auto; display:block; }

/* Safety: avoid text-in-image issues */
.figure figcaption,
.image-caption,
.overlay-text {
  display: none !important;
}

/* Mobile header compact fix */
@media (max-width: 768px) {
  header, .site-header {
    padding: 6px 0 !important;
  }
  .header-inner {
    min-height: auto !important;
  }
}
