/* ============================================================
   TOKENS — shared foundation. Locked across INI and every brand.
   Never put colour in this file. Colour belongs to a theme.
   ============================================================ */
:root{
  --s1:4px;  --s2:8px;  --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:140px;
  --r-sm:4px; --r-md:8px; --r-lg:14px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --fast:150ms; --med:300ms; --slow:560ms;
  --container:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:none;background:none}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4,p,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--s5);width:100%}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 var(--s5);width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
