/* HRDR brand layer over the Kajabi clone (apple-design review step 3, 2026-10-12).
   Loaded by every static page after the theme CSS. Bump ?v= in the <link> on any edit:
   /_assets/ is served with an immutable cache. */

/* Brand display face: Avenir where installed, self-hosted Nunito Sans otherwise (SIL OFL, fonts/NunitoSans-OFL.txt). */
@font-face { font-family: "Nunito Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/_assets/fonts/nunito-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Nunito Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/_assets/fonts/nunito-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Nunito Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url("/_assets/fonts/nunito-sans-latin-800-normal.woff2") format("woff2"); }

/* Headings only; body copy keeps PT Serif. Tracking tightens as size grows. */
h1, .h1, h2, .h2, h3, .h3, h4, .h4 { font-family: "Avenir Next", "Avenir", "Nunito Sans", "Helvetica Neue", Arial, sans-serif; }
h1, .h1 { letter-spacing: -0.025em; }
h2, .h2 { letter-spacing: -0.02em; }
h3, .h3, h4, .h4 { letter-spacing: -0.01em; }

/* Header stays in reach: the wrapper around <header> sticks.
   overflow-x: clip (not hidden) so sticky works while sideways scroll stays blocked.
   Solid, not translucent: the logo PNG has an opaque white background that shows as a box over blur. */
html, body { overflow-x: clip; }
body > div:has(> header.header) { position: sticky; top: 0; z-index: 1000; }
header.header.background-light { box-shadow: 0 1px 0 rgba(20, 16, 25, 0.06), 0 6px 20px -14px rgba(20, 16, 25, 0.3); }

/* Reduced motion: stop entrance and looping motion, keep state changes. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  [data-aos] { opacity: 1 !important; transform: none !important; }
}
