@font-face{font-family:"Comfortaa";src:url(/filer/fonts/comfortaa-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/filer/fonts/barlow-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/filer/fonts/barlow-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/filer/fonts/barlow-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/filer/fonts/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
/* Kaffe – helt enkelt
   Kaffebær-rød og mynte på ren hvid. Venstre sidebar, én luftig spalte på 760 px,
   store tynde overskrifter (Comfortaa 300), Barlow til tekst og IBM Plex Mono til mål. */

:root {
  --zr-hvid: #ffffff;
  --zr-blaek: #16181d;
  --zr-grafit: #4b5260;
  --zr-baer: #c8143f;
  --zr-baer-moerk: #9e0f31;
  --zr-baer-lys: #ffe5eb;
  --zr-baer-tekst: #fff1f4;
  --zr-mynte: #e3f6ec;
  --zr-jade: #0a6b54;
  --zr-streg: #d5dce0;
  --zr-kant: #7a8490;

  --zr-r: 20px;
  --zr-r-m: 14px;
  --zr-r-s: 12px;
  --zr-max: 760px;
  --zr-side: 300px;
  --zr-gap: clamp(3.5rem, 2.5rem + 4vw, 6rem);

  --zr-f-head: "Comfortaa", "Trebuchet MS", sans-serif;
  --zr-f-body: "Barlow", "Segoe UI", Arial, sans-serif;
  --zr-f-mono: "IBM Plex Mono", Consolas, monospace;
}

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

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

body {
  margin: 0;
  background: var(--zr-hvid);
  color: var(--zr-blaek);
  font: 400 1.125rem/1.75 var(--zr-f-body);
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

a { color: var(--zr-baer); }
a:hover { color: var(--zr-baer-moerk); }

:focus-visible {
  outline: 3px solid var(--zr-blaek);
  outline-offset: 3px;
  border-radius: 4px;
}

strong, b { font-weight: 600; }

.zr-skip {
  position: absolute;
  left: 1rem;
  top: -10rem;
  z-index: 30;
  padding: .75rem 1.1rem;
  border-radius: var(--zr-r-s);
  background: var(--zr-blaek);
  color: var(--zr-hvid);
  font-weight: 600;
  text-decoration: none;
}
.zr-skip:focus { top: 1rem; color: var(--zr-hvid); outline-color: var(--zr-baer); }

/* ---------- Skal: sidebar + indhold ---------- */

.zr-shell { min-height: 100vh; }

.zr-shell__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100vh;
}

.zr-main {
  flex: 1 0 auto;
  padding: clamp(2rem, 1.4rem + 3vw, 4.5rem) 1.25rem var(--zr-gap);
}

.zr-wrap {
  max-width: var(--zr-max);
  margin: 0 auto;
}

/* ---------- Sidebar (mobil: topbjælke med menuknap) ---------- */

.zr-side {
  position: relative;
  z-index: 5;
  background: var(--zr-mynte);
}

.zr-side__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1.25rem;
}

.zr-side__logo {
  display: block;
  flex: 0 1 auto;
  width: min(13rem, 54vw);
  padding: .3rem 0;
  line-height: 0;
  border-radius: 6px;
}
.zr-side__logo svg { display: block; width: 100%; height: auto; }

.zr-side__toggle { display: none; }

.zr-js .zr-side__toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .6rem;
  min-height: 44px;
  padding: .55rem 1.05rem;
  font: 600 1rem/1 var(--zr-f-body);
  color: var(--zr-blaek);
  background: var(--zr-hvid);
  border: 2px solid var(--zr-blaek);
  border-radius: var(--zr-r);
  cursor: pointer;
}
.zr-js .zr-side__toggle:hover { background: var(--zr-blaek); color: var(--zr-hvid); }

.zr-side__burger {
  display: block;
  width: 18px;
  height: 12px;
  background:
    linear-gradient(currentColor, currentColor) top / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) bottom / 100% 2px no-repeat;
}
.zr-side__toggle[aria-expanded="true"] .zr-side__burger {
  background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat;
}

.zr-side__panel { padding: .25rem 1.25rem 1.75rem; }
.zr-js .zr-side__panel { display: none; }
.zr-js.zr-menu-open .zr-side__panel { display: block; }

.zr-side__tagline {
  margin: 0 0 1.25rem;
  font-size: .95rem;
  line-height: 1.5;
  color: var(--zr-grafit);
}

.zr-side__cta {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 1.75rem;
  padding: .85rem 1.1rem;
  border-radius: var(--zr-r);
  background: var(--zr-baer);
  color: var(--zr-hvid);
  font-weight: 600;
  font-size: 1.05rem;
  line-height: 1.2;
  text-decoration: none;
}
.zr-side__cta:hover { background: var(--zr-baer-moerk); color: var(--zr-hvid); }

/* Kop set fra oven: ring og prik. */
.zr-side__cta-dot {
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: radial-gradient(circle, var(--zr-hvid) 0 28%, transparent 29% 52%, var(--zr-hvid) 53% 70%, transparent 71%);
}

.zr-nav__group { margin: 0 0 1.4rem; }

.zr-nav__label {
  margin: 0 0 .4rem;
  padding-left: .9rem;
  font: 500 .75rem/1.4 var(--zr-f-mono);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--zr-jade);
}

.zr-nav__list { list-style: none; margin: 0; padding: 0; }

.zr-nav__link {
  display: block;
  padding: .42rem .9rem;
  border-radius: var(--zr-r-s);
  color: var(--zr-blaek);
  font-size: 1rem;
  line-height: 1.35;
  text-decoration: none;
}
.zr-nav__link:hover { background: var(--zr-hvid); color: var(--zr-baer-moerk); }

.zr-nav__link--current,
.zr-nav__link--current:hover {
  background: var(--zr-baer);
  color: var(--zr-hvid);
  font-weight: 600;
}
.zr-nav__link--current:hover { background: var(--zr-baer-moerk); }

.zr-nav__group--om .zr-nav__link { font-size: .95rem; }

@media (min-width: 40rem) {
  .zr-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1.5rem;
  }
  .zr-main { padding-inline: 2rem; }
  .zr-side__bar { padding-inline: 2rem; }
  .zr-side__panel { padding-inline: 2rem; }
}

@media (min-width: 64rem) {
  .zr-shell {
    display: grid;
    grid-template-columns: var(--zr-side) minmax(0, 1fr);
  }
  .zr-side {
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    overflow-y: auto;
    padding: 2.25rem 1.4rem 2rem;
  }
  .zr-side__bar { display: block; padding: 0 .9rem 1.1rem; }
  .zr-side__logo { width: 100%; }
  .zr-js .zr-side__toggle { display: none; }
  .zr-side__panel,
  .zr-js .zr-side__panel { display: block; padding: 0; }
  .zr-side__tagline { padding: 0 .9rem; font-size: .92rem; }
  .zr-nav { display: block; }
  .zr-main { padding-inline: 3.5rem; }
}

/* ---------- Sidehoved og fælles typografi ---------- */

.zr-crumbs { margin: 0 0 1.75rem; }

.zr-crumbs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem .5rem;
  font-size: .92rem;
  line-height: 1.5;
  color: var(--zr-grafit);
}
.zr-crumbs__item + .zr-crumbs__item::before {
  content: "/";
  margin-right: .5rem;
  color: var(--zr-kant);
}
.zr-crumbs__link { color: var(--zr-grafit); text-underline-offset: .2em; }
.zr-crumbs__link:hover { color: var(--zr-baer); }
.zr-crumbs__item--here { color: var(--zr-blaek); }

.zr-head { margin: 0 0 clamp(2rem, 1.5rem + 2vw, 3rem); }

.zr-kicker {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .9rem;
  font: 500 .8rem/1.4 var(--zr-f-mono);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--zr-jade);
}

.zr-kicker::before {
  content: "";
  flex: 0 0 auto;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--zr-baer);
}

.zr-title {
  margin: 0;
  font-family: var(--zr-f-head);
  font-weight: 300;
  font-size: clamp(2.3rem, 1.45rem + 3.6vw, 4rem);
  line-height: 1.1;
  letter-spacing: -.025em;
  color: var(--zr-blaek);
  hyphens: auto;
}
.zr-head--home .zr-title { font-size: clamp(2.5rem, 1.4rem + 4.6vw, 4.4rem); }

.zr-lead {
  margin: 1.4rem 0 0;
  max-width: 40rem;
  font-size: clamp(1.15rem, 1.05rem + .4vw, 1.3rem);
  line-height: 1.6;
  color: var(--zr-grafit);
}

.zr-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .75rem;
  margin: 1.4rem 0 0;
  font: 500 .82rem/1.5 var(--zr-f-mono);
  color: var(--zr-grafit);
}
.zr-meta__sep {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--zr-baer);
}
.zr-meta--end { margin-top: 3rem; }

.zr-quick__title,
.zr-overview__title,
.zr-faq__title,
.zr-contact__title {
  margin: 0 0 1rem;
  font: 300 clamp(1.8rem, 1.4rem + 1.6vw, 2.5rem)/1.15 var(--zr-f-head);
  letter-spacing: -.02em;
  color: var(--zr-blaek);
}

/* ---------- Kaffeberegneren ---------- */

.zr-calc {
  position: relative;
  overflow: hidden;
  margin: 0 0 var(--zr-gap);
  padding: clamp(1.5rem, 1rem + 2.5vw, 2.75rem);
  border-radius: var(--zr-r);
  background-color: var(--zr-baer);
  background-image: radial-gradient(circle at calc(100% + 30px) -30px,
    transparent 0 88px, rgba(255, 255, 255, .16) 89px 91px,
    transparent 92px 138px, rgba(255, 255, 255, .16) 139px 141px,
    transparent 142px 188px, rgba(255, 255, 255, .16) 189px 191px, transparent 192px);
  color: var(--zr-hvid);
  scroll-margin-top: 1.5rem;
}
.zr-calc :focus-visible { outline-color: var(--zr-hvid); }

.zr-calc__kicker {
  margin: 0 0 .6rem;
  font: 500 .8rem/1.4 var(--zr-f-mono);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--zr-baer-tekst);
}

.zr-calc__title {
  margin: 0 0 1.75rem;
  max-width: 26rem;
  font: 300 clamp(1.7rem, 1.3rem + 1.8vw, 2.4rem)/1.15 var(--zr-f-head);
  letter-spacing: -.02em;
  color: var(--zr-hvid);
}

.zr-calc__form { display: grid; gap: 1.1rem; }

.zr-calc__row { display: grid; gap: 1rem; }

.zr-calc__label {
  display: block;
  margin: 0 0 .45rem;
  padding: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--zr-hvid);
}

.zr-calc__input,
.zr-calc__select {
  width: 100%;
  min-height: 3.4rem;
  padding: .55rem 1rem;
  font: 600 1.3rem/1.2 var(--zr-f-body);
  color: var(--zr-blaek);
  background-color: var(--zr-hvid);
  border: 2px solid var(--zr-hvid);
  border-radius: var(--zr-r-m);
}

.zr-calc__select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 2.75rem;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--zr-baer) 50%),
    linear-gradient(135deg, var(--zr-baer) 50%, transparent 50%);
  background-position: calc(100% - 1.45rem) 54%, calc(100% - 1.05rem) 54%;
  background-size: .42rem .42rem;
  background-repeat: no-repeat;
  cursor: pointer;
}

.zr-calc__help {
  margin: -.35rem 0 0;
  font-size: .92rem;
  line-height: 1.45;
  color: var(--zr-baer-tekst);
}

.zr-calc__strength { min-width: 0; margin: 0; padding: 0; border: 0; }

.zr-calc__seg {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
}

.zr-calc__radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.zr-calc__opt {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .15rem;
  min-height: 3.6rem;
  padding: .5rem .35rem;
  border: 2px solid var(--zr-hvid);
  border-radius: var(--zr-r-m);
  color: var(--zr-hvid);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color .15s, color .15s;
}
.zr-calc__opt:hover { background-color: var(--zr-baer-moerk); }

.zr-calc__ratio {
  font: 500 .8rem/1.2 var(--zr-f-mono);
  color: var(--zr-baer-tekst);
}

.zr-calc__radio:checked + .zr-calc__opt,
.zr-calc__radio:checked + .zr-calc__opt:hover {
  background-color: var(--zr-hvid);
  color: var(--zr-baer);
}
.zr-calc__radio:checked + .zr-calc__opt .zr-calc__ratio { color: var(--zr-baer); }
.zr-calc__radio:focus-visible + .zr-calc__opt {
  outline: 3px solid var(--zr-hvid);
  outline-offset: 3px;
}

.zr-calc__btn {
  min-height: 3.3rem;
  padding: .75rem 2rem;
  font: 600 1.1rem/1 var(--zr-f-body);
  color: var(--zr-hvid);
  background: var(--zr-blaek);
  border: 2px solid var(--zr-blaek);
  border-radius: var(--zr-r-m);
  cursor: pointer;
}
.zr-calc__btn:hover { background: #000000; border-color: #000000; }

.zr-calc__result {
  margin-top: 1.75rem;
  padding: 1.25rem 1.4rem 1.2rem;
  border-radius: 16px;
  background: var(--zr-hvid);
  color: var(--zr-blaek);
}

.zr-calc__cells { display: grid; gap: 1rem; }

.zr-calc__cell {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  margin: 0;
}

.zr-calc__num {
  font: 300 1.35rem/1.1 var(--zr-f-head);
  color: var(--zr-baer);
  overflow-wrap: normal;
}
.zr-calc__num b {
  font-weight: 300;
  font-size: 1.85em;
  letter-spacing: -.03em;
}

.zr-calc__what {
  font-size: .95rem;
  line-height: 1.35;
  color: var(--zr-grafit);
}

.zr-calc__sum {
  margin: 1rem 0 0;
  padding-top: .9rem;
  border-top: 1px solid var(--zr-streg);
  font-size: 1rem;
  line-height: 1.5;
}

.zr-calc__result--tom .zr-calc__num { color: var(--zr-grafit); }

.zr-calc__note {
  margin: 1.1rem 0 0;
  max-width: 38rem;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--zr-baer-tekst);
}

@media (min-width: 36rem) {
  .zr-calc__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
  .zr-calc__btn { justify-self: start; }
  .zr-calc__cells { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zr-calc__num { font-size: clamp(1.35rem, 1rem + 1.4vw, 1.75rem); }
}

/* ---------- Hurtige tal (forsiden) ---------- */

.zr-quick {
  margin: 0 0 var(--zr-gap);
  padding: clamp(1rem, .6rem + 2.6vw, 2.75rem);
  border-radius: var(--zr-r);
  background: var(--zr-mynte);
}

.zr-quick__facts {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 1.25rem;
  margin: 1.5rem 0 2rem;
  padding: 0;
}

.zr-quick__fact {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  padding-top: .8rem;
  border-top: 3px solid var(--zr-baer);
}

.zr-quick__val {
  font: 300 1.45rem/1.15 var(--zr-f-head);
  letter-spacing: -.02em;
  color: var(--zr-blaek);
  overflow-wrap: normal;
}

.zr-quick__key {
  font-size: .92rem;
  line-height: 1.4;
  color: var(--zr-grafit);
}

.zr-quick__table {
  width: 100%;
  border-collapse: collapse;
  background: var(--zr-hvid);
  font-size: 1rem;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}

.zr-quick__caption {
  caption-side: top;
  padding: 0 0 .7rem;
  text-align: left;
  font-size: .92rem;
  line-height: 1.45;
  color: var(--zr-grafit);
  background: var(--zr-mynte);
}

.zr-quick__table th,
.zr-quick__table td {
  padding: .6rem .4rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--zr-streg);
}

.zr-quick__table thead th {
  font: 500 .74rem/1.35 var(--zr-f-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--zr-jade);
  border-bottom: 2px solid var(--zr-blaek);
}

.zr-quick__table tbody th { font-weight: 600; }

.zr-quick__table tbody tr:last-child > * { border-bottom: 0; }

.zr-quick__ratio,
.zr-quick__ml {
  display: block;
  font: 500 .74rem/1.35 var(--zr-f-mono);
  letter-spacing: 0;
  text-transform: none;
  color: var(--zr-grafit);
}

.zr-quick__g { display: block; font-weight: 600; white-space: nowrap; }
.zr-quick__s { display: block; font-size: .84rem; color: var(--zr-grafit); }

.zr-quick__table .zr-quick__hl { background: var(--zr-baer-lys); }
.zr-quick__table thead .zr-quick__hl { color: var(--zr-baer); }

.zr-quick__note {
  margin: 0;
  font-size: .88rem;
  line-height: 1.55;
  color: var(--zr-grafit);
}

@media (min-width: 40rem) {
  .zr-quick__table th,
  .zr-quick__table td { padding: .75rem .9rem; }
}

@media (min-width: 48rem) {
  .zr-quick__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- Tabeller (rulbar ramme) ---------- */

.zr-table {
  max-width: 100%;
  margin: 1.75rem 0;
  overflow-x: auto;
  border-radius: var(--zr-r-s);
  -webkit-overflow-scrolling: touch;
}
.zr-table--quick { margin: 0 0 1.25rem; }

/* ---------- Guideoversigt ---------- */

.zr-overview { margin: 0 0 var(--zr-gap); }
.zr-overview--list { margin-top: var(--zr-gap); }

.zr-guides { margin-top: 1.75rem; }

.zr-guides__group {
  display: grid;
  gap: 1.1rem 2rem;
  padding: 2rem 0;
  border-top: 1px solid var(--zr-streg);
}
.zr-guides__group:last-child { padding-bottom: 0; }

.zr-guides__nr {
  margin: 0 0 .35rem;
  font: 500 .85rem/1 var(--zr-f-mono);
  color: var(--zr-baer);
}

.zr-guides__title {
  margin: 0;
  font: 300 1.75rem/1.15 var(--zr-f-head);
  letter-spacing: -.015em;
  color: var(--zr-blaek);
}

.zr-guides__text {
  margin: .6rem 0 0;
  font-size: .98rem;
  line-height: 1.55;
  color: var(--zr-grafit);
}

.zr-guides__list {
  list-style: none;
  display: grid;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
}

.zr-guides__item {
  display: grid;
  gap: 1rem;
  align-items: start;
}
.zr-guides__item--img { grid-template-columns: 7rem minmax(0, 1fr); }

.zr-guides__link {
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--zr-blaek);
  text-decoration: underline;
  text-decoration-color: var(--zr-baer);
  text-decoration-thickness: 2px;
  text-underline-offset: .25em;
}
.zr-guides__link::after {
  content: "\00a0→";
  color: var(--zr-baer);
}
.zr-guides__link:hover { color: var(--zr-baer-moerk); }

.zr-guides__desc {
  margin: .35rem 0 0;
  font-size: .98rem;
  line-height: 1.55;
  color: var(--zr-grafit);
}

@media (min-width: 40rem) {
  .zr-guides__item--img { grid-template-columns: 11rem minmax(0, 1fr); }
}

@media (min-width: 52rem) {
  .zr-guides__group { grid-template-columns: 12rem minmax(0, 1fr); }
}

/* ---------- Billeder med AI-mærkning ---------- */

.zr-figure { margin: 0 0 2.75rem; }

.zr-figure__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--zr-r);
  background: var(--zr-mynte);
}

.zr-figure__label {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-top: .55rem;
  font: 500 .75rem/1.4 var(--zr-f-mono);
  color: var(--zr-grafit);
}
.zr-figure__label::before {
  content: "";
  flex: 0 0 auto;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: var(--zr-baer);
}

.zr-figure--thumb { margin: 0; }
.zr-figure--thumb .zr-figure__img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--zr-r-s);
}
.zr-figure--thumb .zr-figure__label {
  align-items: flex-start;
  margin-top: .35rem;
  font-size: .68rem;
  line-height: 1.3;
}
.zr-figure--thumb .zr-figure__label::before { margin-top: .25em; width: .4rem; height: .4rem; }

.zr-intro { margin: 0 0 var(--zr-gap); }

/* ---------- Brødtekst ---------- */

.zr-prose { overflow-wrap: anywhere; }
.zr-prose > :first-child { margin-top: 0; }
.zr-prose > :last-child { margin-bottom: 0; }

.zr-prose p,
.zr-prose ul,
.zr-prose ol { margin: 0 0 1.35em; }

.zr-prose h2 {
  position: relative;
  margin: 2.4em 0 .75em;
  padding-left: 1.5rem;
  font: 300 clamp(1.7rem, 1.35rem + 1.5vw, 2.25rem)/1.18 var(--zr-f-head);
  letter-spacing: -.02em;
  color: var(--zr-blaek);
  overflow-wrap: break-word;
  hyphens: auto;
}
.zr-prose h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .42em;
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  background: var(--zr-baer);
}

.zr-prose h3 {
  margin: 2em 0 .55em;
  font: 600 1.3rem/1.3 var(--zr-f-body);
  color: var(--zr-blaek);
}

.zr-prose h4 {
  margin: 1.8em 0 .5em;
  font: 600 1.08rem/1.35 var(--zr-f-body);
  color: var(--zr-jade);
}

.zr-prose a {
  color: var(--zr-baer);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.zr-prose a:hover { color: var(--zr-baer-moerk); text-decoration-thickness: 2px; }

.zr-prose ul,
.zr-prose ol { padding-left: 1.4em; }
.zr-prose li { margin: .35em 0; padding-left: .2em; }
.zr-prose li > ul,
.zr-prose li > ol { margin: .35em 0 0; }
.zr-prose ul > li::marker { color: var(--zr-baer); }
.zr-prose ol > li::marker {
  font-family: var(--zr-f-mono);
  font-weight: 500;
  color: var(--zr-baer);
}

.zr-prose blockquote {
  margin: 2em 0;
  padding: 1.4rem 1.6rem;
  border-radius: var(--zr-r);
  background: var(--zr-mynte);
  font-size: 1.18rem;
  line-height: 1.6;
}
.zr-prose blockquote > :last-child { margin-bottom: 0; }

.zr-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  line-height: 1.5;
  overflow-wrap: normal;
  font-variant-numeric: tabular-nums;
}
.zr-prose .zr-table { border: 1px solid var(--zr-streg); }
html:not(.zr-js) .zr-prose table { display: block; max-width: 100%; overflow-x: auto; }

.zr-prose th,
.zr-prose td {
  padding: .75rem .9rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--zr-streg);
}
.zr-prose thead th {
  background: var(--zr-mynte);
  font-weight: 600;
  color: var(--zr-blaek);
  border-bottom: 2px solid var(--zr-jade);
}
.zr-prose tbody tr:last-child > * { border-bottom: 0; }

.zr-prose hr {
  height: 1px;
  margin: 3em 0;
  border: 0;
  background: var(--zr-streg);
}

/* ---------- Spørgsmål og svar, kilder ---------- */

.zr-faq { margin: var(--zr-gap) 0 0; }

.zr-faq__item { border-top: 1px solid var(--zr-streg); }
.zr-faq__item:last-child { border-bottom: 1px solid var(--zr-streg); }

.zr-faq__q {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 0;
  list-style: none;
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
}
.zr-faq__q::-webkit-details-marker { display: none; }
.zr-faq__q::after {
  content: "";
  flex: 0 0 1.85rem;
  height: 1.85rem;
  margin-top: -.15rem;
  border-radius: 50%;
  background:
    linear-gradient(var(--zr-baer), var(--zr-baer)) center / 12px 2px no-repeat,
    linear-gradient(var(--zr-baer), var(--zr-baer)) center / 2px 12px no-repeat,
    var(--zr-mynte);
}
.zr-faq__item[open] > .zr-faq__q::after {
  background:
    linear-gradient(var(--zr-hvid), var(--zr-hvid)) center / 12px 2px no-repeat,
    var(--zr-baer);
}
.zr-faq__q:hover { color: var(--zr-baer-moerk); }

.zr-faq__a { margin: 0 0 1.35rem; max-width: 42rem; }

.zr-sources {
  margin: 3.5rem 0 0;
  padding: 1.4rem 1.6rem;
  border: 1px solid var(--zr-streg);
  border-radius: var(--zr-r);
}
.zr-sources__title {
  margin: 0 0 .7rem;
  font: 500 .8rem/1.4 var(--zr-f-mono);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--zr-jade);
}
.zr-sources__list {
  margin: 0;
  padding-left: 1.2em;
  font-size: .98rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.zr-sources__item { margin: .25em 0; }
.zr-sources__item::marker { color: var(--zr-baer); }
.zr-sources__link { text-underline-offset: .18em; }

/* ---------- Forrige / næste ---------- */

.zr-pager {
  display: grid;
  gap: 1rem;
  margin-top: var(--zr-gap);
}

.zr-pager__link {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: 1.25rem 1.4rem;
  border-radius: var(--zr-r);
  background: var(--zr-mynte);
  color: var(--zr-blaek);
  text-decoration: none;
}
.zr-pager__link:hover { background: var(--zr-baer); color: var(--zr-hvid); }
.zr-pager__link:hover .zr-pager__dir { color: var(--zr-baer-tekst); }

.zr-pager__dir {
  font: 500 .75rem/1.4 var(--zr-f-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--zr-jade);
}
.zr-pager__link--prev .zr-pager__dir::before { content: "← "; }
.zr-pager__link--next .zr-pager__dir::after { content: " →"; }

.zr-pager__name { font: 300 1.35rem/1.25 var(--zr-f-head); }

@media (min-width: 40rem) {
  .zr-pager { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zr-pager__link--next { grid-column: 2; text-align: right; }
}

/* ---------- Knapper ---------- */

.zr-btn,
.zr-form__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.1rem;
  padding: .75rem 1.6rem;
  font: 600 1.05rem/1.1 var(--zr-f-body);
  color: var(--zr-hvid);
  background: var(--zr-baer);
  border: 2px solid var(--zr-baer);
  border-radius: var(--zr-r-m);
  text-decoration: none;
  cursor: pointer;
}
.zr-btn:hover,
.zr-form__btn:hover { color: var(--zr-hvid); background: var(--zr-baer-moerk); border-color: var(--zr-baer-moerk); }

.zr-btn--ghost { color: var(--zr-baer); background: var(--zr-hvid); }
.zr-btn--ghost:hover { color: var(--zr-baer-moerk); background: var(--zr-baer-lys); border-color: var(--zr-baer-moerk); }

/* ---------- Kontakt ---------- */

.zr-contact {
  margin-top: 3rem;
  padding: clamp(1.4rem, 1rem + 2vw, 2.5rem);
  border-radius: var(--zr-r);
  background: var(--zr-mynte);
}
.zr-contact__title { margin-bottom: 1.5rem; }

.zr-contact [role="status"] {
  margin: 0 0 1.5rem;
  padding: 1rem 1.2rem;
  border-left: 4px solid var(--zr-baer);
  border-radius: var(--zr-r-s);
  background: var(--zr-hvid);
  font-weight: 600;
}

.zr-form { position: relative; display: grid; gap: 1.25rem; }

.zr-form__label {
  display: block;
  margin-bottom: .4rem;
  font-weight: 600;
  line-height: 1.35;
}

.zr-form input:not([type="hidden"]),
.zr-form textarea {
  width: 100%;
  min-height: 3.1rem;
  padding: .7rem .9rem;
  font: 400 1.08rem/1.4 var(--zr-f-body);
  color: var(--zr-blaek);
  background: var(--zr-hvid);
  border: 2px solid var(--zr-kant);
  border-radius: var(--zr-r-s);
}
.zr-form input:focus,
.zr-form textarea:focus { border-color: var(--zr-blaek); }
.zr-form__input--area { min-height: 10rem; resize: vertical; }

.zr-form__hp {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.zr-form__btn { justify-self: start; }

.zr-form__note {
  margin: 0;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--zr-grafit);
}
.zr-form__link { color: var(--zr-baer); }

/* ---------- 404 ---------- */

.zr-notfound__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 0 0 var(--zr-gap);
}

/* ---------- Footer på én linje ---------- */

.zr-foot {
  padding: 1.5rem 1.25rem 2rem;
  border-top: 1px solid var(--zr-streg);
}

.zr-foot__line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem 1.25rem;
  max-width: var(--zr-max);
  margin: 0 auto;
  font-size: .88rem;
  line-height: 1.5;
  color: var(--zr-grafit);
}

.zr-foot__link {
  color: var(--zr-grafit);
  text-underline-offset: .2em;
}
.zr-foot__link:hover { color: var(--zr-baer); }

@media (min-width: 40rem) {
  .zr-foot { padding-inline: 2rem; }
}

@media (min-width: 64rem) {
  .zr-foot { padding-inline: 3.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}
