/* Self-hosted fonts — font-display:swap, 2 primary weights preloaded (Inter 400, Poppins 700). */
@font-face{
  font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../fonts/inter-400.woff2') format('woff2');
}
@font-face{
  font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../fonts/inter-500.woff2') format('woff2');
}
@font-face{
  font-family:'Inter'; font-style:normal; font-weight:600; font-display:swap;
  src:url('../fonts/inter-600.woff2') format('woff2');
}
@font-face{
  font-family:'Poppins'; font-style:normal; font-weight:600; font-display:swap;
  src:url('../fonts/poppins-600.woff2') format('woff2');
}
@font-face{
  font-family:'Poppins'; font-style:normal; font-weight:700; font-display:swap;
  src:url('../fonts/poppins-700.woff2') format('woff2');
}

*, *::before, *::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--c-ink);
  background:var(--c-bg);
}
img, svg, video{ display:block; max-width:100%; height:auto; }

h1, h2, h3, h4, h5, h6{
  margin:0 0 var(--space-4);
  font-family:var(--font-heading);
  font-weight:600;
  line-height:var(--lh-tight);
  letter-spacing:var(--tracking-tight);
  color:var(--c-ink);
}
h1{ font-size:var(--fs-h1); font-weight:700; }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); }

p{ margin:0 0 var(--space-4); }

.container{
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

/* Sticky header is position:fixed and transparent over hero sections; pages without a
   hero (body:not(.has-hero)) need this offset so content doesn't start under it. */
.site-main{ padding-block-start:76px; }
body.has-hero .site-main{ padding-block-start:0; }

a{ color:inherit; }

/* Visually hidden but available to screen readers/crawlers — used to give
   repeated "Learn more" style links a unique, descriptive accessible name. */
.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 var(--c-gold-600);
  outline-offset:2px;
}

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