/* buildcontrol — Design tokens, reset and page shell. */
:root{
  --brand-grad:linear-gradient(180deg,#2D6BC8 0%,#1F58AE 100%);
  --header-grad:linear-gradient(180deg,#113967 0%,#0B488D 100%);
  --brand-600:#2D6BC8; --brand-700:#1F58AE;
  --navy-900:#113967; --navy-800:#0B488D;
  --cyan-500:#2D6BC8; --cyan-300:#7FB0EA;
  --success:#399C36; --success-bg:#E8F5E8;
  --warning:#ED932B; --warning-bg:#FDF0DF;
  --info:#2D6BC8; --info-bg:#E4EEFB;
  --purple:#7E3FCF; --purple-bg:#F0E7FA;
  --screen-bg:#EEF1F7; --screen-bg-alt:#FAFCFF; --card-bg:#FFF;
  --n-50:#F6F8FB; --n-100:#EEF0F3; --n-150:#E8EBEF; --n-200:#CDD3DD;
  --n-300:#B5B9BE; --n-400:#989A9D; --n-500:#777C84; --n-600:#5A6068;
  --n-700:#3E434A; --n-900:#212121;
  --text-primary:#212121; --text-secondary:#777C84;
  --text-placeholder:rgba(33,33,33,.35); --text-on-dark:#F0F5FB;
  --r-sm:4px; --r-md:6px; --r-lg:8px; --r-xl:12px; --r-full:9999px;
  --shadow-2:1px 3px 15px rgba(0,0,0,.10);
  --shadow-3:1px 3px 25px 4px rgba(0,0,0,.15);
  --f-header:'DM Sans',system-ui,sans-serif;
  --f-body:'Noto Sans',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
/* `clip`, not `hidden`. Both stop sideways overflow, but `overflow-x:hidden`
   forces overflow-y to compute to `auto`, which turns html and body into scroll
   containers — and that silently disabled position:sticky on the header and
   froze every scroll-driven animation. `clip` creates no scroll container.
   The newer pages (features, solutions, 404) already used clip. */
html,body{overflow-x:clip;max-width:100%}
img,svg{max-width:100%}
html{scroll-behavior:smooth}
/* Lenis adds .lenis to <html> only while smooth scrolling is actually running.
   Native smooth scrolling would fight it over anchor jumps, so switch it off
   there — and leave it on when Lenis is inactive (reduced motion, no JS). */
html.lenis{scroll-behavior:auto}
body{font-family:var(--f-body);color:var(--text-primary);background:var(--screen-bg-alt);line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{max-width:1140px;margin:0 auto;padding:0 48px}
@media(max-width:640px){.wrap{padding:0 22px}}
a{color:inherit;text-decoration:none}
