/* Elite Group: shared foundation for the group-page mockups
   Fonts self-hosted (estate rule: never async Google Fonts). */

@font-face{font-family:Archivo;src:url(fonts/archivo-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(fonts/archivo-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(fonts/archivo-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(fonts/archivo-700.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo Black';src:url(fonts/archivoblack-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{
  /* Surfaces: true neutral off-white, deliberately no warm tint */
  --paper:oklch(0.985 0 0);
  --surface:oklch(0.965 0.002 250);
  --ink:oklch(0.20 0.008 250);
  --ink-2:oklch(0.43 0.008 250);
  --line:oklch(0.895 0.004 250);
  --charcoal:oklch(0.19 0.010 250);

  /* Division hues, taken off the supplied logo artwork */
  --red:oklch(0.545 0.205 27);
  --blue:oklch(0.530 0.190 258);
  --green:oklch(0.515 0.150 148);

  --ease:cubic-bezier(.22,1,.36,1);

  --z-sticky:100;
  --z-modal:400;
  --z-toast:600;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:Archivo,system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:clamp(1rem,0.96rem + 0.2vw,1.0625rem);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

h1,h2,h3{
  font-family:'Archivo Black',Archivo,sans-serif;
  font-weight:400;
  line-height:1.02;
  letter-spacing:-0.025em;
  text-wrap:balance;
  margin:0;
}
p{margin:0;text-wrap:pretty}

.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
@media(max-width:640px){.wrap{width:min(1180px,100% - 2rem)}}

/* Skip link */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.7rem 1.1rem;z-index:var(--z-toast)}
.skip:focus{left:.5rem;top:.5rem}

:where(a,button,[tabindex]):focus-visible{
  outline:3px solid var(--blue);
  outline-offset:3px;
  border-radius:2px;
}

/* No scroll-triggered reveals anywhere in these pages.
   Content is never gated behind a JS class: a hidden tab, a headless render or
   a print-to-PDF suspends timers and observers, and the section ships blank.
   Motion lives in the hover/focus states instead, where it can only ever add. */

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
