@font-face{font-family:"Jost";src:url(/indhold/fonts/jost-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(/indhold/fonts/lora-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(/indhold/fonts/lora-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(/indhold/fonts/lora-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/indhold/fonts/jetbrains-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
/* Biolog.dk – faghåndbog som laboratoriejournal. Mobil først. Klassepræfiks: qs
   Monokrom stålblå skala + én accent (safranin, farvestoffet der giver cellekerner rød-orange farve). */

:root {
  --qs-glas: #F5F8FA;     /* sidebaggrund – lyst præparatglas */
  --qs-ark: #FFFFFF;      /* flader, formular, tabeller */
  --qs-dug: #E4EBF0;      /* rolige paneler og tabelhoved */
  --qs-gitter: #D3DEE6;   /* hårlinjer og millimeterpapirets cm-linjer */
  --qs-mm: #E6EDF2;       /* millimeterpapirets fine linjer */
  --qs-kant: #6B7D8A;     /* kanter på felter og knapper (ikke-tekst, min. 3:1) */
  --qs-graa: #4A5B67;     /* sekundær tekst – 6,6:1 på glas */
  --qs-staal: #23506C;    /* links – 8,1:1 på glas */
  --qs-blaek: #13212B;    /* brødtekst og overskrifter – 15,4:1 på glas */
  --qs-nat: #0E1A22;      /* footer */
  --qs-saf: #B53F0C;      /* accent: safranin – 5,4:1 på glas */
  --qs-saflys: #FBE9DF;   /* lys accentflade */
  --qs-safnat: #F08A55;   /* accent på mørk baggrund – 6,6:1 på blæk */
  --qs-r: 6px;
  --qs-sans: "Jost", "Futura", "Century Gothic", "Trebuchet MS", sans-serif;
  --qs-serif: "Lora", Georgia, "Times New Roman", serif;
  --qs-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --qs-pad: clamp(1.1rem, 4.2vw, 3.75rem);
  --qs-mal: 40rem;
  color-scheme: light;
}

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

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 1rem; }

body {
  margin: 0;
  min-height: 100vh;
  background: var(--qs-glas);
  color: var(--qs-blaek);
  font: 400 1.0625rem/1.7 var(--qs-serif);
  -webkit-font-smoothing: antialiased;
}

/* Brede skærme: lidt større brødtekst, så linjerne holder sig omkring 60–75 tegn. */
@media (min-width: 64rem) { body { font-size: 1.125rem; } }

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

a { color: var(--qs-staal); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--qs-saf); }

:focus-visible { outline: 3px solid var(--qs-saf); outline-offset: 2px; }

p, li, dd, dt, blockquote, figcaption, summary, label, legend, caption { overflow-wrap: anywhere; }

/* Overskrifter: versaler i små grader med luft mellem bogstaverne – som etiketter i en samling. */
h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--qs-sans);
  font-weight: 600;
  line-height: 1.2;
  color: var(--qs-blaek);
  overflow-wrap: anywhere;
  hyphens: auto;
}
h1 {
  font-size: clamp(1.45rem, .8rem + 3vw, 3rem);
  line-height: 1.08;
  letter-spacing: .045em;
  text-transform: uppercase;
  text-wrap: balance;
}
h2 {
  font-size: clamp(1.1rem, 1rem + .35vw, 1.25rem);
  line-height: 1.3;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-wrap: balance;
}
h3 { font-size: clamp(1.1rem, 1rem + .35vw, 1.28rem); line-height: 1.3; letter-spacing: .01em; }
h4 { font: 600 1.02rem/1.35 var(--qs-sans); letter-spacing: .01em; color: var(--qs-blaek); }

.qs-sk {
  position: absolute; left: 1rem; top: -6rem; z-index: 50;
  padding: .75rem 1rem;
  border-radius: var(--qs-r);
  background: var(--qs-blaek); color: #fff;
  font: 600 .9rem/1 var(--qs-sans); letter-spacing: .04em;
  text-decoration: none;
}
.qs-sk:focus { top: 1rem; color: #fff; }

/* ---------- Topbjælke og menu (menuknap på alle skærmbredder) ---------- */

.qs-hd { background: var(--qs-ark); border-bottom: 1px solid var(--qs-gitter); }
.qs-hb {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem;
  min-height: 4.25rem;
  padding: .75rem var(--qs-pad);
}
.qs-lg { display: block; flex: 0 1 auto; width: clamp(9.75rem, 32vw, 13rem); line-height: 0; }
.qs-lg svg { display: block; width: 100%; height: auto; }

.qs-mk {
  display: none; align-items: center; gap: .75rem;
  min-height: 2.75rem;
  padding: .65rem .95rem;
  border: 1px solid var(--qs-kant);
  border-radius: var(--qs-r);
  background: var(--qs-ark);
  color: var(--qs-blaek);
  font: 600 .82rem/1 var(--qs-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
}
.qs-js .qs-mk { display: inline-flex; }
.qs-mk:hover { border-color: var(--qs-blaek); background: var(--qs-glas); }
.qs-mki { position: relative; display: block; width: 1.25rem; height: 14px; }
.qs-mki::before, .qs-mki::after, .qs-mki span {
  content: ""; position: absolute; left: 0; right: 0; height: 2px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}
.qs-mki::before { top: 0; }
.qs-mki span { top: 6px; }
.qs-mki::after { top: 12px; }
.qs-mk[aria-expanded="true"] { background: var(--qs-blaek); border-color: var(--qs-blaek); color: #fff; }
.qs-mk[aria-expanded="true"] .qs-mki::before { transform: translateY(6px) rotate(45deg); }
.qs-mk[aria-expanded="true"] .qs-mki span { opacity: 0; }
.qs-mk[aria-expanded="true"] .qs-mki::after { transform: translateY(-6px) rotate(-45deg); }

.qs-nv { border-top: 1px solid var(--qs-gitter); background: var(--qs-ark); }
.qs-js .qs-nv { display: none; }
.qs-js .qs-nv.qs-op { display: block; }
.qs-nvi {
  display: grid; gap: 1.75rem;
  grid-template-columns: minmax(0, 1fr);
  padding: 1rem var(--qs-pad) 2.25rem;
}
.qs-nl { list-style: none; margin: 0; padding: 0; }
.qs-nl li { border-bottom: 1px solid var(--qs-gitter); }
.qs-nl a {
  display: flex; align-items: baseline; gap: 1rem;
  padding: .8rem 0;
  color: var(--qs-blaek);
  font: 600 clamp(1.05rem, 1rem + .45vw, 1.3rem)/1.3 var(--qs-sans);
  letter-spacing: .01em;
  text-decoration: none;
}
.qs-nl a:hover { color: var(--qs-saf); }
.qs-nl a[aria-current="page"] { color: var(--qs-saf); box-shadow: inset 3px 0 var(--qs-saf); padding-left: .85rem; }
.qs-nn { flex: none; min-width: 1.6rem; font: 400 .8rem/1 var(--qs-mono); letter-spacing: 0; color: var(--qs-saf); }
.qs-nh {
  margin: 0 0 .5rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--qs-blaek);
  font: 400 .85rem/1.3 var(--qs-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--qs-graa);
}
.qs-nx ul { list-style: none; margin: 0; padding: 0; columns: 2 13rem; column-gap: 2rem; }
.qs-nx li { break-inside: avoid; }
.qs-nx a { display: block; padding: .45rem 0; color: var(--qs-staal); font-size: .98rem; line-height: 1.4; }
.qs-nx a[aria-current="page"] { color: var(--qs-blaek); font-weight: 700; text-decoration: none; }
.qs-nx .qs-nxa { font: 600 .85rem/1.4 var(--qs-sans); letter-spacing: .07em; text-transform: uppercase; }

@media (min-width: 52rem) {
  .qs-nvi { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); column-gap: clamp(2.5rem, 6vw, 6rem); padding-top: 1.75rem; }
}

/* ---------- Fælles byggeklodser ---------- */

.qs-bc { padding: 1.1rem var(--qs-pad) 0; font: 400 .85rem/1.5 var(--qs-mono); color: var(--qs-graa); }
.qs-bc ol { list-style: none; display: flex; flex-wrap: wrap; gap: .2rem .55rem; margin: 0; padding: 0; }
.qs-bc li + li::before { content: "/"; content: "/" / ""; margin-right: .55rem; color: var(--qs-kant); }

.qs-kk {
  margin: 0 0 .9rem;
  font: 400 .85rem/1.35 var(--qs-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--qs-saf);
}
.qs-ld { margin: 0 0 1.25rem; max-width: 40rem; font-size: clamp(1.1rem, 1rem + .45vw, 1.28rem); line-height: 1.55; color: var(--qs-graa); }

.qs-bt {
  display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .2rem;
  min-height: 2.75rem;
  padding: .8rem 1.2rem;
  border: 1px solid var(--qs-blaek);
  border-radius: var(--qs-r);
  background: var(--qs-blaek);
  color: #fff;
  font: 600 .92rem/1.25 var(--qs-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}
.qs-bt:hover { background: var(--qs-saf); border-color: var(--qs-saf); color: #fff; }
.qs-bk { font: 400 .78rem/1.2 var(--qs-mono); letter-spacing: .1em; color: var(--qs-safnat); }
.qs-bt:hover .qs-bk { color: #fff; }
.qs-bt2 { background: transparent; color: var(--qs-blaek); }
.qs-bt2 .qs-bk { color: var(--qs-saf); }
.qs-bt2:hover { background: var(--qs-blaek); border-color: var(--qs-blaek); }
.qs-bt2:hover .qs-bk { color: var(--qs-safnat); }

/* Sektionsoverskrift: hårlinje med en kort safraninstreg. */
.qs-tx h2, .qs-sh2 {
  position: relative;
  margin: 2.6rem 0 1rem;
  padding-top: 1.05rem;
  border-top: 1px solid var(--qs-gitter);
}
.qs-tx h2::before, .qs-sh2::before {
  content: ""; position: absolute; left: 0; top: -2px;
  width: 2.75rem; height: 3px;
  background: var(--qs-saf);
}

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

.qs-tx { max-width: var(--qs-mal); }
.qs-tx > :first-child { margin-top: 0; }
.qs-tx p, .qs-tx ul, .qs-tx ol, .qs-tx blockquote, .qs-tx table, .qs-tx .qs-tw { margin: 0 0 1.15rem; }
.qs-tx h3 { margin: 2rem 0 .55rem; }
.qs-tx h4 { margin: 1.6rem 0 .4rem; }
.qs-tx ul, .qs-tx ol { padding-left: 1.35rem; }
.qs-tx li { margin: .3rem 0; padding-left: .2rem; }
.qs-tx li > ul, .qs-tx li > ol { margin: .3rem 0 .2rem; }
.qs-tx ul { list-style: square; }
.qs-tx ul > li::marker { color: var(--qs-saf); }
.qs-tx ol > li::marker { font: 400 .85em var(--qs-mono); color: var(--qs-saf); }
.qs-tx a:hover { text-decoration-thickness: 2px; }
.qs-tx strong { font-weight: 700; }
.qs-tx blockquote {
  margin-left: 0; margin-right: 0;
  padding: 1rem 1.25rem;
  background: var(--qs-ark);
  border: 1px solid var(--qs-gitter);
  border-left: 3px solid var(--qs-staal);
  border-radius: 0 var(--qs-r) var(--qs-r) 0;
  font-style: italic;
}
.qs-tx blockquote > :last-child { margin-bottom: 0; }
.qs-tx hr { margin: 2.25rem 0; border: 0; border-top: 1px dashed var(--qs-kant); }
.qs-tx code { padding: .1em .3em; border-radius: 3px; background: var(--qs-dug); font: .88em var(--qs-mono); }

/* Tabeller: rulles vandret i deres egen ramme på smalle skærme. */
.qs-tw { max-width: 100%; overflow-x: auto; border: 1px solid var(--qs-gitter); border-radius: var(--qs-r); background: var(--qs-ark); }
.qs-tw table { margin: 0; }
.qs-tx table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.5; }
html:not(.qs-js) .qs-tx table { display: block; max-width: 100%; overflow-x: auto; }
.qs-tx th, .qs-tx td { min-width: 6.5rem; padding: .6rem .85rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--qs-gitter); }
.qs-tx thead th {
  background: var(--qs-dug);
  border-bottom: 2px solid var(--qs-blaek);
  font: 600 .78rem/1.35 var(--qs-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.qs-tx tbody tr:nth-child(even) { background: var(--qs-glas); }
.qs-tx tbody tr:last-child td { border-bottom: 0; }
.qs-tx caption { caption-side: top; padding: .7rem .85rem; text-align: left; font: 400 .85rem/1.45 var(--qs-mono); color: var(--qs-graa); }

/* ---------- Artikel ---------- */

.qs-aw {
  display: grid; gap: 3rem;
  grid-template-columns: minmax(0, 1fr);
  padding: 1.25rem var(--qs-pad) clamp(3rem, 7vw, 5.5rem);
}
@media (min-width: 64rem) {
  .qs-aw2 { grid-template-columns: minmax(0, 42rem) minmax(13rem, 17rem); justify-content: space-between; column-gap: clamp(2.5rem, 6vw, 7rem); align-items: start; }
  .qs-aw2 .qs-sd { position: sticky; top: 1.5rem; }
}
.qs-ar { min-width: 0; }
.qs-ah { max-width: 42rem; margin-bottom: 2rem; }
.qs-ah h1 { margin-bottom: 1rem; }

/* Etiket med kapitel, afsender og dato – som etiketten på et præparat. */
.qs-et {
  display: inline-grid;
  max-width: 100%;
  margin: .25rem 0 0;
  border: 1px solid var(--qs-blaek);
  border-radius: var(--qs-r);
  background: var(--qs-ark);
  font: 400 .85rem/1.45 var(--qs-mono);
}
.qs-et div { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); border-top: 1px solid var(--qs-gitter); }
.qs-et div:first-child { border-top: 0; }
.qs-et dt { padding: .45rem .75rem; border-right: 1px solid var(--qs-gitter); letter-spacing: .08em; text-transform: uppercase; color: var(--qs-graa); }
.qs-et dd { margin: 0; padding: .45rem .75rem; color: var(--qs-blaek); }

.qs-fi { max-width: 42rem; margin: 0 0 2.25rem; }
.qs-fi img { width: 100%; border: 1px solid var(--qs-gitter); border-radius: var(--qs-r); background: var(--qs-dug); }

/* Spørgsmål og svar som foldelister (artikler og forside). */
.qs-fq { max-width: var(--qs-mal); margin-top: 3rem; }
.qs-fd { border-bottom: 1px solid var(--qs-gitter); }
.qs-fd summary {
  position: relative;
  padding: .95rem 2.5rem .95rem 0;
  font: 600 1.05rem/1.4 var(--qs-sans);
  letter-spacing: .01em;
  list-style: none;
  cursor: pointer;
}
.qs-fd summary::-webkit-details-marker { display: none; }
.qs-fd summary::after {
  content: "+"; content: "+" / "";
  position: absolute; right: .3rem; top: .8rem;
  font: 400 1.3rem/1 var(--qs-mono);
  color: var(--qs-saf);
}
.qs-fd[open] summary::after { content: "\2212"; content: "\2212" / ""; }
.qs-fd summary:hover { color: var(--qs-staal); }
.qs-fa { padding: 0 0 1.1rem; }
.qs-fa p { margin: 0; }

/* Spørgsmål og svar-siden: nummereret liste, alt synligt. */
.qs-qa { max-width: var(--qs-mal); margin-top: 2.5rem; }
.qs-ql { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--qs-blaek); }
.qs-qi { padding: 1.4rem 0; border-bottom: 1px solid var(--qs-gitter); }
.qs-qq {
  display: flex; gap: .9rem;
  margin: 0 0 .55rem;
  font-size: clamp(1.08rem, 1rem + .35vw, 1.25rem);
  line-height: 1.35;
  letter-spacing: .005em;
  text-transform: none;
}
.qs-qn { flex: none; min-width: 1.6rem; padding-top: .2em; font: 400 .85rem/1.4 var(--qs-mono); color: var(--qs-saf); }
.qs-qi p { margin: 0; }
@media (min-width: 30rem) { .qs-qi p { padding-left: 2.5rem; } }

.qs-kd { max-width: var(--qs-mal); margin-top: 2.75rem; font-size: .95rem; }
.qs-kd ol { margin: 0; padding-left: 1.6rem; }
.qs-kd li { margin: .3rem 0; }
.qs-kd li::marker { font: .85em var(--qs-mono); color: var(--qs-graa); }

.qs-pg { display: grid; gap: .75rem; max-width: var(--qs-mal); margin-top: 3rem; }
.qs-pg a {
  display: block;
  padding: 1rem 1.1rem;
  border: 1px solid var(--qs-gitter);
  border-radius: var(--qs-r);
  background: var(--qs-ark);
  color: var(--qs-blaek);
  font: 600 1rem/1.35 var(--qs-sans);
  letter-spacing: .01em;
  text-decoration: none;
}
.qs-pg a:hover { border-color: var(--qs-blaek); color: var(--qs-blaek); }
.qs-pgl { display: block; margin-bottom: .35rem; font: 400 .85rem/1.3 var(--qs-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--qs-saf); }
@media (min-width: 40rem) {
  .qs-pg { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .qs-pgn { grid-column: 2; text-align: right; }
}

/* Kapitellisten ved siden af artiklen (under artiklen på mobil). */
.qs-sd { min-width: 0; font-size: .95rem; }
.qs-sd h2 { margin: 0 0 .5rem; padding-bottom: .6rem; border-bottom: 2px solid var(--qs-blaek); font-size: .9rem; letter-spacing: .14em; }
.qs-sd ol { list-style: none; margin: 0; padding: 0; }
.qs-sd a {
  display: flex; gap: .7rem;
  padding: .5rem .25rem .5rem 0;
  border-bottom: 1px solid var(--qs-gitter);
  line-height: 1.4;
  text-decoration: none;
}
.qs-sd a:hover span + span { text-decoration: underline; }
.qs-sdn { flex: none; min-width: 1.4rem; padding-top: .15em; font: 400 .8rem/1.5 var(--qs-mono); color: var(--qs-graa); }
.qs-sd a[aria-current="page"] { padding-left: .7rem; box-shadow: inset 3px 0 var(--qs-saf); color: var(--qs-blaek); font-weight: 700; }
.qs-sd a[aria-current="page"] .qs-sdn { color: var(--qs-saf); }

/* ---------- Fagordbogen ---------- */

.qs-ab {
  position: sticky; top: 0; z-index: 5;
  max-width: var(--qs-mal);
  margin: 0 0 1.5rem;
  padding: .45rem 0;
  background: var(--qs-glas);
  border-bottom: 1px solid var(--qs-gitter);
}
.qs-ab ol { list-style: none; display: flex; gap: .3rem; margin: 0; padding: .3rem; overflow-x: auto; }
.qs-ab li { flex: none; }
.qs-ab a {
  display: grid; place-items: center;
  min-width: 2.3rem; height: 2.3rem;
  border: 1px solid var(--qs-kant);
  border-radius: var(--qs-r);
  background: var(--qs-ark);
  color: var(--qs-blaek);
  font: 600 .95rem/1 var(--qs-sans);
  text-decoration: none;
}
.qs-ab a:hover { background: var(--qs-blaek); border-color: var(--qs-blaek); color: #fff; }
@media (min-width: 48rem) { .qs-ab ol { flex-wrap: wrap; overflow: visible; } }

.qs-ob h2 {
  display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); align-items: center; justify-items: center; column-gap: 1rem;
  min-height: 2.75rem;
  margin: 2.75rem 0 .6rem;
  padding: 0;
  border: 0;
  font-size: 1.35rem;
  letter-spacing: 0;
  color: var(--qs-saf);
  scroll-margin-top: 4.5rem;
}
.qs-ob h2::before {
  top: 0; left: 0; bottom: 0;
  width: 2.75rem; height: auto;
  background: transparent;
  border: 2px solid var(--qs-saf);
  border-radius: var(--qs-r);
}
.qs-ob h2::after { content: ""; justify-self: stretch; height: 1px; background: var(--qs-gitter); }
.qs-ob ul { list-style: none; margin: 0 0 1rem; padding: 0; }
.qs-ob ul > li { margin: 0; padding: .6rem 0 .65rem; border-bottom: 1px dotted var(--qs-kant); line-height: 1.55; break-inside: avoid; }
.qs-ob ul > li > strong:first-child { font-family: var(--qs-sans); font-weight: 600; letter-spacing: .015em; }
@media (min-width: 52rem) { .qs-ob ul { columns: 2; column-gap: 2.5rem; } }

/* ---------- Forside ---------- */

.qs-tb {
  display: grid; gap: 2.25rem;
  grid-template-columns: minmax(0, 1fr);
  padding: clamp(1.75rem, 5vw, 4.5rem) var(--qs-pad) clamp(2.25rem, 5vw, 4.5rem);
  background: var(--qs-ark);
  border-bottom: 1px solid var(--qs-gitter);
}
.qs-tt { min-width: 0; }
.qs-tb h1 { margin-bottom: 1.25rem; font-size: clamp(2.6rem, 1.2rem + 7vw, 6.2rem); line-height: 1; letter-spacing: .06em; }
.qs-tb h1.qs-h1l { font-size: clamp(1.6rem, .9rem + 2.3vw, 2.9rem); line-height: 1.08; letter-spacing: .045em; }
.qs-tb .qs-ld { max-width: 36rem; font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem); color: var(--qs-blaek); }
.qs-ta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.qs-ta .qs-bt { flex: 1 1 13rem; max-width: 21rem; font-size: 1rem; letter-spacing: .01em; text-transform: none; }

/* Synsfeltet ligger på millimeterpapir. */
.qs-sf {
  min-width: 0;
  margin: 0;
  padding: clamp(1rem, 3vw, 1.75rem);
  background-color: var(--qs-glas);
  background-image:
    linear-gradient(var(--qs-gitter) 1px, transparent 1px),
    linear-gradient(90deg, var(--qs-gitter) 1px, transparent 1px),
    linear-gradient(var(--qs-mm) 1px, transparent 1px),
    linear-gradient(90deg, var(--qs-mm) 1px, transparent 1px);
  background-size: 40px 40px, 40px 40px, 8px 8px, 8px 8px;
  background-position: -1px -1px;
  border: 1px solid var(--qs-gitter);
  border-radius: var(--qs-r);
}
.qs-sfg { display: block; width: 100%; max-width: 26rem; height: auto; margin: 0 auto; }
.qs-sf figcaption {
  display: inline-block;
  margin-top: 1rem;
  padding: .25rem .5rem;
  border-radius: 3px;
  background: var(--qs-ark);
  font: 400 .85rem/1.5 var(--qs-mono);
  color: var(--qs-graa);
}
.qs-sfi { padding: 0; background: none; border: 0; }
.qs-sfi img { width: 100%; border-radius: var(--qs-r); }

@media (min-width: 56rem) {
  .qs-tb { grid-template-columns: minmax(0, 1.3fr) minmax(17rem, 1fr); column-gap: clamp(2rem, 6vw, 7rem); align-items: center; }
}

/* Uddannelsesvejen: lodret forløb på mobil, vandret på brede skærme. */
.qs-vj { padding: clamp(2.5rem, 6vw, 5rem) var(--qs-pad); border-bottom: 1px solid var(--qs-gitter); }
.qs-vh { max-width: 44rem; margin-bottom: 2rem; }
.qs-vh h2 { margin: 0 0 .6rem; font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem); text-wrap: balance; }
.qs-vh p { margin: 0; color: var(--qs-graa); }
.qs-tr { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; padding: 0; }
.qs-ti { position: relative; min-width: 0; padding: 0 0 1.9rem 2.4rem; }
.qs-ti::before {
  content: ""; position: absolute; z-index: 1; left: 0; top: .15rem;
  width: 1.05rem; height: 1.05rem;
  border: 3px solid var(--qs-saf);
  border-radius: 50%;
  background: var(--qs-glas);
}
.qs-ti:last-child::before { background: var(--qs-saf); }
.qs-ti::after { content: ""; position: absolute; left: calc(.525rem - 1px); top: 1.2rem; bottom: .1rem; width: 2px; background: var(--qs-gitter); }
.qs-ti:last-child { padding-bottom: 0; }
.qs-ti:last-child::after { display: none; }
.qs-tn { display: block; margin-bottom: .3rem; font: 400 .85rem/1.4 var(--qs-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--qs-saf); }
.qs-ti h3 { margin: 0 0 .4rem; font-size: 1.12rem; letter-spacing: .09em; text-transform: uppercase; }
.qs-ti p { max-width: 34rem; margin: 0 0 .55rem; font-size: .98rem; line-height: 1.6; }
.qs-tl { font: 600 .95rem/1.4 var(--qs-sans); letter-spacing: .01em; }
.qs-tl::after { content: "\00A0\2192"; content: "\00A0\2192" / ""; }
@media (min-width: 62rem) {
  .qs-tr { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: clamp(1rem, 2.5vw, 2.5rem); }
  .qs-ti { padding: 2.2rem 0 0; }
  .qs-ti::before { top: 0; }
  .qs-ti::after { left: 1.3rem; right: calc(-1 * clamp(1rem, 2.5vw, 2.5rem)); top: calc(.525rem - 1px); bottom: auto; width: auto; height: 2px; }
}

/* Indholdsfortegnelse med prikkede linjer og fagordbogens bogstaver. */
.qs-ix {
  display: grid; gap: 2.75rem;
  grid-template-columns: minmax(0, 1fr);
  padding: clamp(2.5rem, 6vw, 5rem) var(--qs-pad);
}
@media (min-width: 62rem) {
  .qs-ix { grid-template-columns: minmax(0, 1.5fr) minmax(17rem, 1fr); column-gap: clamp(2.5rem, 6vw, 7rem); align-items: start; }
}
.qs-ic { min-width: 0; }
.qs-ic .qs-sh2 { margin-top: 0; }
.qs-to { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.qs-to a {
  display: flex; align-items: flex-end; gap: .6rem;
  padding: .55rem 0;
  color: var(--qs-blaek);
  line-height: 1.45;
  text-decoration: none;
}
.qs-tot { flex: 0 1 auto; min-width: 0; }
.qs-dt { flex: 1 1 1.5rem; min-width: 1.5rem; margin-bottom: .45em; border-bottom: 2px dotted var(--qs-kant); }
.qs-ton { flex: none; font: 400 .85rem/1.45 var(--qs-mono); color: var(--qs-saf); }
.qs-to a:hover .qs-tot { color: var(--qs-saf); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }

.qs-ao {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border: 1px solid var(--qs-gitter);
  border-top: 3px solid var(--qs-saf);
  border-radius: var(--qs-r);
  background: var(--qs-ark);
}
.qs-ao h2 { margin: 0 0 .5rem; }
.qs-ao p { margin: 0 0 1.1rem; font-size: .95rem; color: var(--qs-graa); }
.qs-az { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(2.5rem, 1fr)); gap: .35rem; margin: 0 0 1.25rem; padding: 0; }
.qs-az a, .qs-azx { display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--qs-r); font: 600 1.05rem/1 var(--qs-sans); }
.qs-az a { border: 1px solid var(--qs-kant); background: var(--qs-glas); color: var(--qs-blaek); text-decoration: none; }
.qs-az a:hover { background: var(--qs-blaek); border-color: var(--qs-blaek); color: #fff; }
.qs-azx { border: 1px dashed var(--qs-kant); background: transparent; color: var(--qs-graa); }
.qs-ao .qs-azn { margin: -.4rem 0 1.1rem; font-size: .88rem; }
.qs-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.qs-ao .qs-aol { margin: 0; }
.qs-aol a { font: 600 .85rem/1.4 var(--qs-sans); letter-spacing: .06em; text-transform: uppercase; }

.qs-hx { padding: clamp(2.5rem, 6vw, 4.5rem) var(--qs-pad) clamp(3rem, 7vw, 5.5rem); border-top: 1px solid var(--qs-gitter); background: var(--qs-ark); }
.qs-hs { min-width: 0; }
.qs-hs > :first-child { margin-top: 3rem; }
.qs-hx > .qs-hs:first-child > :first-child { margin-top: 0; }
/* Brede skærme: spørgsmål og kilder står i en margenspalte ved siden af teksten. */
@media (min-width: 75rem) {
  .qs-hx2 { display: grid; grid-template-columns: minmax(0, var(--qs-mal)) minmax(18rem, 26rem); column-gap: clamp(3rem, 7vw, 8rem); align-items: start; }
  .qs-hx2 .qs-hs { position: sticky; top: 1.5rem; }
  .qs-hx2 .qs-hs > :first-child, .qs-hx2 .qs-hs .qs-sh2 { margin-top: 0; }
  .qs-hx2 .qs-kd { margin-top: 2.25rem; }
}

/* ---------- Oversigt ---------- */

.qs-lw { padding: 1.25rem var(--qs-pad) clamp(3rem, 7vw, 5.5rem); }
.qs-rg { list-style: none; max-width: 60rem; margin: 2rem 0 0; padding: 0; border-top: 2px solid var(--qs-blaek); }
.qs-ri { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: 1rem; padding: 1.3rem 0; border-bottom: 1px solid var(--qs-gitter); }
.qs-rn { font: 400 clamp(1.05rem, .9rem + 1vw, 1.6rem)/1.2 var(--qs-mono); color: var(--qs-saf); }
.qs-rb { min-width: 0; }
.qs-rk { margin: 0 0 .3rem; font: 400 .85rem/1.4 var(--qs-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--qs-graa); }
.qs-rt { margin: 0 0 .35rem; font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.3; letter-spacing: .005em; text-transform: none; }
.qs-rt a { color: var(--qs-blaek); text-decoration: none; }
.qs-rt a:hover { color: var(--qs-saf); text-decoration: underline; text-decoration-thickness: 1px; }
.qs-rx { max-width: 44rem; margin: 0; color: var(--qs-graa); }
@media (min-width: 48rem) { .qs-ri { grid-template-columns: 4.5rem minmax(0, 1fr); } }

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

.qs-cw { padding: 1.25rem var(--qs-pad) clamp(3rem, 7vw, 5.5rem); }
.qs-cg { display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 60rem) {
  .qs-cg { grid-template-columns: minmax(0, 1fr) minmax(20rem, 30rem); column-gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
}
.qs-tf { margin: 0; }
.qs-tf a { display: inline-flex; align-items: center; min-height: 2.75rem; font: 600 .95rem/1.4 var(--qs-sans); letter-spacing: .01em; }
.qs-tf a::after { content: "\00A0\2193"; content: "\00A0\2193" / ""; }
@media (min-width: 60rem) { .qs-tf { display: none; } }
.qs-fw { min-width: 0; }
.qs-fm { scroll-margin-top: 1rem; }
.qs-fw > [role="status"] {
  margin: 0 0 1rem;
  padding: .9rem 1rem;
  border-left: 3px solid var(--qs-saf);
  border-radius: 0 var(--qs-r) var(--qs-r) 0;
  background: var(--qs-saflys);
}
.qs-fm {
  position: relative;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--qs-gitter);
  border-top: 3px solid var(--qs-blaek);
  border-radius: var(--qs-r);
  background: var(--qs-ark);
}
.qs-fh { margin: 0 0 1.25rem; font: 600 .85rem/1.3 var(--qs-sans); letter-spacing: .12em; text-transform: uppercase; }
.qs-ff { margin-bottom: 1.1rem; }
.qs-ff label { display: block; margin-bottom: .35rem; font: 600 .95rem/1.35 var(--qs-sans); letter-spacing: .02em; }
.qs-ff input, .qs-ff textarea {
  display: block; width: 100%;
  padding: .75rem .85rem;
  border: 1px solid var(--qs-kant);
  border-radius: var(--qs-r);
  background: #fff;
  color: var(--qs-blaek);
  font: 400 1rem/1.5 var(--qs-serif);
}
.qs-ff textarea { min-height: 9rem; resize: vertical; }
.qs-ff input:focus-visible, .qs-ff textarea:focus-visible { border-color: var(--qs-blaek); outline-offset: 1px; }
.qs-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.qs-fo { margin: 1rem 0 0; font-size: .88rem; line-height: 1.55; color: var(--qs-graa); }

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

.qs-nf {
  display: grid; gap: 2rem; align-items: center;
  grid-template-columns: minmax(0, 1fr);
  max-width: 62rem;
  padding: clamp(3rem, 8vw, 6rem) var(--qs-pad);
}
.qs-nfg { display: block; width: 9rem; height: auto; }
.qs-nft { min-width: 0; }
.qs-nft h1 { margin-bottom: 1rem; }
.qs-nfh { margin: 1.5rem 0 .6rem; font: 400 .85rem/1.4 var(--qs-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--qs-graa); }
.qs-nfl { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
.qs-nfl a {
  display: inline-block;
  padding: .55rem .85rem;
  border: 1px solid var(--qs-kant);
  border-radius: var(--qs-r);
  background: var(--qs-ark);
  color: var(--qs-blaek);
  font: 600 .95rem/1.35 var(--qs-sans);
  letter-spacing: .01em;
  text-decoration: none;
}
.qs-nfl a:hover { background: var(--qs-blaek); border-color: var(--qs-blaek); color: #fff; }
@media (min-width: 48rem) {
  .qs-nf { grid-template-columns: 13rem minmax(0, 1fr); column-gap: 3.5rem; }
  .qs-nfg { width: 13rem; }
}

/* ---------- Footer: smal og centreret ---------- */

.qs-ft { padding: 3rem var(--qs-pad) 2.25rem; background: var(--qs-nat); color: #E4EBF0; text-align: center; }
.qs-fi2 { max-width: 40rem; margin: 0 auto; }
.qs-fn { margin: 0; font: 600 1rem/1.3 var(--qs-sans); letter-spacing: .18em; text-transform: uppercase; color: #fff; }
.qs-fn::after { content: ""; display: block; width: 2.5rem; height: 3px; margin: .8rem auto 0; background: var(--qs-safnat); }
.qs-fd2 { margin: .9rem 0 0; font-style: italic; color: #C9D6DF; }
.qs-fl { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 1.25rem; margin: 1.1rem 0; padding: 0; }
.qs-fl a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 .2rem; color: #E4EBF0; font: 400 .85rem/1.4 var(--qs-mono); letter-spacing: .08em; text-transform: uppercase; }
.qs-fl a:hover { color: var(--qs-safnat); }
.qs-fl a[aria-current="page"] { color: var(--qs-safnat); text-decoration: none; }
.qs-fs { margin: 0 auto 1.25rem; font-size: .9rem; line-height: 1.6; color: #A9BBC8; }
.qs-fc { margin: 0; font: 400 .85rem/1.5 var(--qs-mono); color: #9DB0BE; }
.qs-ft :focus-visible { outline-color: var(--qs-safnat); }

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

@media print {
  .qs-hd, .qs-ft, .qs-sd, .qs-pg, .qs-ab { display: none !important; }
  body { background: #fff; }
}
