/* Minimal reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--cb-color-bg);
  color: var(--cb-color-text);
  font-family: var(--cb-font-sans);
  font-weight: var(--cb-weight-regular);
  font-size: var(--cb-text-body-size);
  line-height: var(--cb-text-body-leading);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

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

a {
  color: inherit;
}

h1,
h2,
h3,
p {
  margin: 0;
}

/* Self-hosted fonts — latin-ext subset (covers Danish æ/ø/å). No third-party CDN. */
@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/inter/Inter-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/inter/Inter-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/inter/Inter-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/inter/Inter-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("../assets/fonts/playfair-display/PlayfairDisplay-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../assets/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Single consistent focus-visible treatment (CLAUDE.md: "accessible keyboard and focus states").
   input/select/textarea added alongside a/button once the contact form (the site's first
   form controls) introduced them — same treatment, not a second one-off rule. (An earlier
   version of the process section's graphic briefly added a tabindex + a rule here for its
   own decorative circles; both were reverted along with that design — nothing in the
   current dotted-ring graphic is focusable, only "Discover our approach" is.) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.legal-page__table-wrap:focus-visible,
.adm-table-wrap:focus-visible {
  outline: 2px solid var(--cb-color-ink);
  outline-offset: 3px;
  border-radius: var(--cb-radius);
}

/* Skip link — visually hidden until focused */
.skip-link {
  position: absolute;
  top: -100%;
  left: var(--cb-space-3);
  z-index: 10;
  padding: var(--cb-space-2) var(--cb-space-3);
  background: var(--cb-color-ink);
  color: var(--cb-color-paper);
  text-decoration: none;
  border-radius: var(--cb-radius);
  transition: top var(--cb-duration-fast) var(--cb-ease-standard);
}

.skip-link:focus {
  top: var(--cb-space-3);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
