/* Webson Systems tokens. Re-skin by editing only this file. */
:root{
  /* color */
  --bg:#f7f7f6; --surface:#ffffff; --bg-hero:#e6e6e4; --panel:#e4e5e7;
  --ink:#0b0b0c; --ink-2:#5a5b5e; --ink-3:#8a8b8f; --ink-inv:#ffffff; --line:rgba(0,0,0,.12);
  --line-inv:rgba(255,255,255,.14);
  --accent:#1d4ed8;               /* trust blue: button hover, glare tint, active states */
  --accent-soft:rgba(29,78,216,.10);
  --glare:rgba(29,58,138,.22);    /* top-of-hero glare, tinted with the accent */

  /* type */
  --font-display:"Playfair Display",Georgia,serif;
  --font-ui:"Lato","Inter",system-ui,sans-serif;
  --h1:clamp(2.75rem,6.2vw,5.25rem);
  --h2:clamp(2rem,3.6vw,3.25rem);
  --h3:clamp(1.5rem,2vw,1.875rem);
  --body:1rem; --small:.8125rem;

  /* shape + space */
  --r-card:28px; --r-pill:999px; --r-sm:12px;
  --gutter:clamp(20px,5vw,72px); --section-y:clamp(96px,12vw,180px);
  --max:1320px;

  /* motion */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-inout:cubic-bezier(.76,0,.24,1);
  --ease-soft:cubic-bezier(.22,1,.36,1);
  --t-reveal:1.1s; --t-menu:.9s; --t-hover:.35s;
}
@media (prefers-reduced-motion:reduce){ :root{ --t-reveal:.01s; --t-menu:.01s; --t-hover:.01s } }

/* Lenis required CSS */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
