/* =========================================================
   Base
   ========================================================= */
html { -webkit-text-size-adjust: 100%; }
body.wp-site-blocks, body {
  background: var(--paper);
  color: var(--ink-1);
  font-family: var(--ff-ui);
  font-size: var(--t-base);
  line-height: var(--lh-base);
  font-feature-settings: 'ss01', 'cv11';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
*, *::before, *::after { box-sizing: border-box; }

a { color: var(--ink-1); text-decoration: none; border-bottom: 1px solid transparent; transition: border-color var(--d-1) var(--ease), color var(--d-1) var(--ease); }
a:hover { border-bottom-color: var(--ink-1); }

::selection { background: var(--brand); color: #fff; }

:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
  border-radius: var(--r-1);
}

img, svg { display: block; max-width: 100%; }

/* =========================================================
   GeneratePress wrapper neutralization.
   GP wraps WooCommerce + standard pages in `.content-area > main >
   .inside-article > .entry-content` and paints those with its own
   `--base-3` (defaults to white). Our full-bleed <section> bands need
   the body `--paper` underneath, so strip GP's surface + spacing here.
   Page templates that *want* GP's bounded "card" look can opt back in
   per-template.
   ========================================================= */
.site-content,
.content-area,
.site-main,
.inside-article,
.entry-content {
  background: transparent !important;
  padding: 0;
  margin: 0;
  max-width: none;
  border: 0;
  box-shadow: none;
}


/* =========================================================
   Reduced motion â€” respect user preference.
   The system already keeps motion under 200ms with deceleration only,
   but disable hover transitions and scroll-triggered animations entirely
   for users who opt out.
   ========================================================= */
@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;
  }
}
