/* sgmaraton theme.css — reset + base + utilities */
:root {
  --sgm-shadow-card: 0 16px 40px rgba(16, 32, 144, .08);
  --sgm-shadow-card-hover: 0 24px 60px rgba(16, 32, 144, .12);
  --sgm-shadow-glass: 0 24px 80px rgba(0, 0, 0, .18);
  --sgm-radius-sm: 8px;
  --sgm-radius-md: 12px;
  --sgm-radius-lg: 16px;
  --sgm-radius-xl: 18px;
  --sgm-tx-fast: 150ms cubic-bezier(.2,.8,.2,1);
  --sgm-tx-med: 250ms cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 2px; }
body { -webkit-font-smoothing: antialiased; }

/* Skip-link for tilgjengelighet */
.skip-link {
  position: absolute; left: -9999px;
}
.skip-link:focus {
  left: 16px; top: 16px; z-index: 9999;
  background: var(--wp--preset--color--white); color: var(--wp--preset--color--navy);
  padding: 12px 16px; border-radius: var(--sgm-radius-sm);
}

/* Focus-ring */
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid var(--wp--preset--color--bright);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Reduced motion — minimal duration so JS animationend hooks still fire */
@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;
  }
}

/* Eyebrow utility */
.is-style-eyebrow {
  font-size: 11px;
  letter-spacing: .25em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--wp--preset--color--warm);
}
/* Build: 2026-05-05T02:03:26+02:00 */
