@font-face{font-family:"Roboto Slab";src:url(/a/fonts/roboto-slab-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Roboto Slab";src:url(/a/fonts/roboto-slab-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Alegreya";src:url(/a/fonts/alegreya-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Alegreya";src:url(/a/fonts/alegreya-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Alegreya";src:url(/a/fonts/alegreya-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
/* Isenkræmmer.dk – tema "hulplade"
   Smal håndbogsspalte (760 px), skarpe hjørner, kraftige og tætte slab-overskrifter,
   jordfarver med støbejern, rust og tre delfarver. BEM med præfikset sp-. */

:root {
  --sp-papir: #F2EFE8;
  --sp-ark: #FAF8F4;
  --sp-graa: #E3DDD1;
  --sp-jern: #1E1C1A;
  --sp-grafit: #4A453F;
  --sp-rust: #8F3B1B;
  --sp-skifer: #3B505C;
  --sp-mos: #4A5A30;
  --sp-jernokker: #7A5512;
  --sp-okker: #C08A2C;
  --sp-kraft: #A97C52;
  --sp-hul: #6E4E30;
  --sp-boeg: #D8C29F;

  --sp-del: var(--sp-rust);
  --sp-max: 47.5rem;
  --sp-pad: 1.25rem;
  --sp-slab: "Roboto Slab", Rockwell, "Courier New", Georgia, serif;
  --sp-serif: "Alegreya", Georgia, "Times New Roman", serif;
  --sp-pitch: 22px;
}

/* ---------- Grundlag ---------- */

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--sp-papir);
}

body {
  margin: 0;
  background: var(--sp-papir);
  color: var(--sp-jern);
  font-family: var(--sp-serif);
  font-size: 1.1875rem;
  line-height: 1.65;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
}

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

a { color: var(--sp-rust); text-decoration-thickness: .075em; text-underline-offset: .18em; }
a:hover { color: var(--sp-jern); text-decoration-thickness: .14em; }

:focus-visible {
  outline: 3px solid var(--sp-rust);
  outline-offset: 3px;
}

h1, h2, h3, h4 {
  font-family: var(--sp-slab);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.025em;
  color: var(--sp-jern);
  overflow-wrap: break-word;
  text-wrap: balance;
}

.sp-vh {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.sp-wrap {
  width: 100%;
  max-width: calc(var(--sp-max) + 2 * var(--sp-pad));
  margin-inline: auto;
  padding-inline: var(--sp-pad);
}

.sp-skip {
  position: absolute;
  left: var(--sp-pad);
  top: -10rem;
  z-index: 10;
  padding: .7rem 1rem;
  background: var(--sp-jern);
  color: var(--sp-papir);
  font: 600 1rem/1.2 var(--sp-slab);
  text-decoration: none;
}
.sp-skip:focus { top: .75rem; color: var(--sp-papir); }

/* Overskrift med hovedtitel og kursiv undertitel (titel-makroen). */
.sp-heading__main { display: block; }
.sp-heading__sub {
  display: block;
  margin-top: .4em;
  font-family: var(--sp-serif);
  font-style: italic;
  font-weight: 400;
  font-size: max(.48em, 1.18rem);
  line-height: 1.25;
  letter-spacing: 0;
  color: var(--sp-grafit);
}

/* Manillamærke: afklippede hjørner og et hul. Bruges til del-numre og små etiketter. */
.sp-tag {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  padding: .36em .75em .34em 1.05em;
  background: var(--sp-del, var(--sp-rust));
  color: var(--sp-papir);
  font: 600 .74rem/1 var(--sp-slab);
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  clip-path: polygon(.5em 0, 100% 0, 100% 100%, .5em 100%, 0 calc(100% - .5em), 0 .5em);
}
.sp-tag::before {
  content: "";
  flex: none;
  width: .38em;
  height: .38em;
  border-radius: 50%;
  background: var(--sp-papir);
}
.sp-tag--rust { background: var(--sp-rust); }
.sp-tag--skifer { background: var(--sp-skifer); }
.sp-tag--jernokker { background: var(--sp-jernokker); }
.sp-tag--mos { background: var(--sp-mos); }

/* Delfarver som custom property, så kapitlernes detaljer følger delen. */
.sp-part--rust, .sp-article--rust, .sp-spread--rust, .sp-catalog__part--rust { --sp-del: var(--sp-rust); }
.sp-part--skifer, .sp-article--skifer, .sp-spread--skifer, .sp-catalog__part--skifer { --sp-del: var(--sp-skifer); }
.sp-part--jernokker, .sp-article--jernokker, .sp-spread--jernokker, .sp-catalog__part--jernokker { --sp-del: var(--sp-jernokker); }
.sp-part--mos, .sp-article--mos, .sp-spread--mos, .sp-catalog__part--mos { --sp-del: var(--sp-mos); }

/* ---------- Sidehoved: hulplade, logo og tekstmenu ---------- */

.sp-header::before {
  content: "";
  display: block;
  height: var(--sp-pitch);
  background-color: var(--sp-kraft);
  background-image: radial-gradient(circle at center, var(--sp-hul) 0 2.6px, transparent 3.2px);
  background-size: var(--sp-pitch) var(--sp-pitch);
  background-position: center top;
}

.sp-header__inner {
  padding-top: 1.6rem;
}

.sp-header__brandrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem 2rem;
}

.sp-brand {
  display: inline-block;
  color: var(--sp-jern);
  line-height: 0;
  padding-block: .25rem;
}
.sp-brand svg {
  display: block;
  height: 1.95rem;
  width: auto;
  max-width: 100%;
}

.sp-header__tagline {
  display: none;
  margin: 0;
  font-style: italic;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--sp-grafit);
  max-width: 21rem;
  text-align: right;
}

.sp-nav {
  margin-top: 1.1rem;
  border-top: 1px solid var(--sp-graa);
  border-bottom: 4px solid var(--sp-jern);
}
.sp-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.25rem;
  margin: 0;
  padding: .3rem 0 .2rem;
  list-style: none;
}
.sp-nav__link {
  display: inline-block;
  padding: .45rem 0 .3rem;
  border-bottom: 3px solid transparent;
  color: var(--sp-jern);
  font: 600 .93rem/1.25 var(--sp-slab);
  letter-spacing: -.005em;
  text-decoration: none;
}
.sp-nav__link:hover { color: var(--sp-rust); border-bottom-color: var(--sp-boeg); }
.sp-nav__link[aria-current] { border-bottom-color: var(--sp-rust); }
.sp-nav__link[aria-current="page"] { color: var(--sp-rust); }

@media (min-width: 40rem) {
  :root { --sp-pad: 1.75rem; }
  .sp-brand svg { height: 2.35rem; }
  .sp-header__tagline { display: block; }
  .sp-nav__list { gap: 0 1.3rem; }
  .sp-nav__link { font-size: .95rem; }
}

.sp-main { display: block; padding-bottom: 5rem; }

/* ---------- Forside: titelblad ---------- */

.sp-title { padding-block: 3.5rem 2.75rem; }

.sp-title__kicker {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin: 0 0 1.4rem;
  font: italic 400 1.1rem/1.2 var(--sp-serif);
  color: var(--sp-grafit);
}

.sp-title__heading {
  margin: 0;
  font-size: clamp(2.55rem, 1.15rem + 6vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.035em;
}
.sp-title__heading .sp-heading__sub { font-size: max(.44em, 1.3rem); margin-top: .55em; letter-spacing: 0; }

.sp-title__lede {
  margin: 1.6rem 0 0;
  max-width: 34em;
  font-size: 1.28rem;
  line-height: 1.55;
  color: var(--sp-grafit);
}

.sp-title__facts {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.6rem;
  margin: 2rem 0 0;
  padding: 1rem 0 0;
  border-top: 4px solid var(--sp-jern);
  list-style: none;
  font: 600 .8rem/1.4 var(--sp-slab);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.sp-title__fact { display: flex; align-items: center; gap: .55rem; }
.sp-title__fact::before {
  content: "";
  width: .55rem;
  height: .55rem;
  background: var(--sp-rust);
}
.sp-title__fact:nth-child(2)::before { background: var(--sp-skifer); }
.sp-title__fact:nth-child(3)::before { background: var(--sp-mos); }
.sp-title__factlink { color: var(--sp-jern); }

/* Billedet hænger på en hulplade. */
.sp-board {
  margin: 0 0 4.5rem;
  padding: var(--sp-pitch);
  background-color: var(--sp-kraft);
  background-image: radial-gradient(circle at center, var(--sp-hul) 0 2.6px, transparent 3.2px);
  background-size: var(--sp-pitch) var(--sp-pitch);
  background-position: 0 0;
}
.sp-board__img {
  width: 100%;
  box-shadow: 0 0 0 1px rgba(30, 28, 26, .25);
}

/* ---------- Forside: indholdsfortegnelse ---------- */

.sp-contents { margin-block: 0 4.5rem; }

.sp-contents__heading,
.sp-spreads__heading,
.sp-register__heading,
.sp-faq__heading {
  margin: 0 0 1.75rem;
  padding-bottom: .55rem;
  border-bottom: 4px solid var(--sp-jern);
  font-size: clamp(1.9rem, 1.3rem + 2.4vw, 2.6rem);
}

.sp-part { margin-top: 2.75rem; }
.sp-part:first-of-type { margin-top: 0; }

.sp-part__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .9rem;
}
.sp-part__name {
  margin: 0;
  font-size: 1.65rem;
}
.sp-part__intro {
  flex-basis: 100%;
  margin: .45rem 0 0;
  color: var(--sp-grafit);
  font-size: 1.06rem;
  line-height: 1.5;
}

.sp-part__list {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 3px solid var(--sp-del);
}

.sp-entry {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: .8rem;
  padding: .8rem 0 .75rem;
  border-bottom: 1px solid var(--sp-graa);
}
.sp-entry__nr {
  flex: none;
  min-width: 2.1rem;
  color: var(--sp-del);
  font: 600 .9rem/1 var(--sp-slab);
  font-variant-numeric: tabular-nums;
}
.sp-entry__link {
  color: var(--sp-jern);
  font-weight: 700;
  font-size: 1.16rem;
  line-height: 1.3;
  text-decoration: none;
}
.sp-entry__link::after { content: ""; position: absolute; inset: 0; }
.sp-entry:hover .sp-entry__link { color: var(--sp-rust); text-decoration: underline; }
.sp-entry__leader {
  flex: 1 1 1.25rem;
  min-width: 1.25rem;
  border-bottom: 2px dotted var(--sp-kraft);
  transform: translateY(-.28em);
}
.sp-entry__time {
  flex: none;
  color: var(--sp-grafit);
  font-style: italic;
  font-size: .98rem;
  white-space: nowrap;
}

/* ---------- Forside: register A–Å ---------- */

.sp-register {
  margin-block: 0 4.5rem;
  padding: 1.75rem 1.25rem 1.6rem;
  background: var(--sp-ark);
  border: 2px solid var(--sp-jern);
}
.sp-register__heading { font-size: clamp(1.6rem, 1.25rem + 1.5vw, 2.1rem); margin-bottom: 1rem; }
.sp-register__text { margin: 0 0 1.25rem; color: var(--sp-grafit); }
.sp-register__link { display: block; color: var(--sp-jern); text-decoration: none; }
.sp-register__letters {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(2.15rem, 1fr));
  gap: 4px;
}
.sp-register__letter {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  background: var(--sp-papir);
  border: 1px solid var(--sp-graa);
  font: 800 1rem/1 var(--sp-slab);
  transition: background-color .15s, color .15s;
}
.sp-register__link:hover .sp-register__letter:nth-child(3n + 1) { background: var(--sp-jern); color: var(--sp-papir); }
.sp-register__label {
  display: inline-block;
  margin-top: 1.1rem;
  color: var(--sp-rust);
  font: 700 1.02rem/1.3 var(--sp-slab);
  text-decoration: underline;
  text-decoration-thickness: .1em;
  text-underline-offset: .2em;
}
@media (min-width: 40rem) {
  .sp-register { padding: 2rem 2.25rem 1.9rem; }
}

/* ---------- Forside: opslag med billeder ---------- */

.sp-spreads { margin-block: 0 4.5rem; }

.sp-spread {
  position: relative;
  display: grid;
  gap: 1.4rem;
  padding-block: 2rem 2.4rem;
  border-bottom: 1px solid var(--sp-graa);
}
.sp-spread:first-of-type { padding-top: .5rem; }

.sp-spread__media { margin-right: 10px; }
.sp-spread__img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  box-shadow: 10px 10px 0 var(--sp-del);
}
.sp-spread__meta {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 .7rem;
  color: var(--sp-del);
  font: 600 .8rem/1 var(--sp-slab);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sp-spread__title { margin: 0; font-size: 1.7rem; }
.sp-spread__link { color: var(--sp-jern); text-decoration: none; }
.sp-spread__link::after { content: ""; position: absolute; inset: 0; }
.sp-spread:hover .sp-spread__link .sp-heading__main { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .14em; }
.sp-spread__text { margin: .85rem 0 0; color: var(--sp-grafit); font-size: 1.08rem; line-height: 1.55; }
.sp-spread__more {
  margin: 1rem 0 0;
  color: var(--sp-rust);
  font: 700 .95rem/1 var(--sp-slab);
}
.sp-spread__more::after { content: " \2192"; }

@media (min-width: 44rem) {
  .sp-spread { grid-template-columns: 1fr 1fr; align-items: center; gap: 2.25rem; padding-block: 2.5rem; }
  .sp-spread--flip .sp-spread__media { order: 2; }
}

/* ---------- Forord, FAQ og kilder ---------- */

.sp-preface { margin-block: 0 4.5rem; }
.sp-preface__kicker { margin: 0 0 1.5rem; font-size: 1rem; letter-spacing: 0; }
.sp-preface__kicker .sp-tag { font-size: .8rem; }

.sp-faq { margin-block: 3.5rem 0; }
.sp-faq__item { border-bottom: 1px solid var(--sp-graa); }
.sp-faq__item:first-of-type { border-top: 0; }
.sp-faq__question {
  position: relative;
  padding: 1.05rem 2.5rem 1.05rem 0;
  cursor: pointer;
  list-style: none;
  font: 700 1.12rem/1.3 var(--sp-slab);
  letter-spacing: -.01em;
}
.sp-faq__question::-webkit-details-marker { display: none; }
.sp-faq__question::after {
  content: "+";
  position: absolute;
  right: 0;
  top: .85rem;
  width: 1.6rem;
  height: 1.6rem;
  display: grid;
  place-items: center;
  background: var(--sp-jern);
  color: var(--sp-papir);
  font: 800 1.1rem/1 var(--sp-slab);
}
.sp-faq__item[open] .sp-faq__question::after { content: "\2212"; background: var(--sp-rust); }
.sp-faq__answer { margin: 0 0 1.3rem; max-width: 40em; }

.sp-sources {
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 2px solid var(--sp-jern);
}
.sp-sources__heading {
  margin: 0 0 .6rem;
  font: 600 .8rem/1.2 var(--sp-slab);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sp-sources__list { margin: 0; padding-left: 1.4rem; font-size: 1rem; line-height: 1.5; }
.sp-sources__item { margin: .3rem 0; overflow-wrap: anywhere; }
.sp-sources__item::marker { color: var(--sp-grafit); font-family: var(--sp-slab); font-size: .85em; }

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

.sp-article__head { padding-block: 2.25rem 2.25rem; }

.sp-crumbs { margin-bottom: 2rem; }
.sp-crumbs__list {
  display: flex;
  flex-wrap: wrap;
  gap: .15rem 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .98rem;
  color: var(--sp-grafit);
}
.sp-crumbs__item + .sp-crumbs__item::before {
  content: "/";
  margin: 0 .55rem;
  color: var(--sp-kraft);
  font-family: var(--sp-slab);
}
.sp-crumbs__link { color: var(--sp-grafit); }
.sp-crumbs__current { font-style: italic; }

.sp-article__kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .8rem;
  margin: 0 0 1.1rem;
  color: var(--sp-del);
  font: 600 .8rem/1.3 var(--sp-slab);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sp-article__kicker .sp-tag { background: var(--sp-del); }

.sp-article__title {
  margin: 0;
  font-size: clamp(2.3rem, 1.2rem + 4.6vw, 3.7rem);
  line-height: 1;
  letter-spacing: -.032em;
}

.sp-article__lede {
  margin: 1.4rem 0 0;
  font-size: 1.26rem;
  line-height: 1.55;
  color: var(--sp-grafit);
}

.sp-byline {
  display: flex;
  flex-wrap: wrap;
  gap: .2rem 0;
  margin: 1.6rem 0 0;
  padding-top: .85rem;
  border-top: 4px solid var(--sp-jern);
  font-style: italic;
  font-size: 1rem;
  color: var(--sp-grafit);
}
.sp-byline__part + .sp-byline__part::before {
  content: "";
  display: inline-block;
  width: .4rem;
  height: .4rem;
  margin: 0 .7rem;
  vertical-align: .18em;
  background: var(--sp-del);
}

.sp-figure { margin: 0 0 3rem; }
.sp-figure__img { width: 100%; border-bottom: 8px solid var(--sp-del); }

.sp-toc {
  margin: 0 0 3rem;
  padding: 1.1rem 1.25rem 1.2rem;
  background: var(--sp-ark);
  border-left: 6px solid var(--sp-del);
}
.sp-toc__label {
  margin: 0 0 .5rem;
  font: 600 .78rem/1.2 var(--sp-slab);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sp-grafit);
}
.sp-toc__list {
  margin: 0;
  padding-left: 1.5rem;
  columns: 2 15rem;
  column-gap: 2rem;
  font-size: 1.02rem;
  line-height: 1.4;
}
.sp-toc__item { break-inside: avoid; padding: .2rem 0; }
.sp-toc__item::marker { color: var(--sp-del); font: 600 .85em var(--sp-slab); }
.sp-toc__link { color: var(--sp-jern); }

.sp-article--plain .sp-prose { margin-top: .5rem; }

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

.sp-prose {
  overflow-wrap: anywhere;
  hyphens: manual;
}
.sp-prose > :first-child { margin-top: 0; }
.sp-prose p, .sp-prose ul, .sp-prose ol, .sp-prose blockquote { margin: 0 0 1.3em; }

.sp-prose h2 {
  margin: 2.6em 0 .7em;
  font-size: clamp(1.65rem, 1.25rem + 1.6vw, 2.1rem);
  overflow-wrap: break-word;
}
.sp-prose h2::before {
  content: "";
  display: block;
  width: 2.75rem;
  height: 6px;
  margin-bottom: .6em;
  background: var(--sp-del);
}
.sp-prose h3 {
  margin: 2em 0 .55em;
  font-size: 1.36rem;
  line-height: 1.15;
  letter-spacing: -.015em;
  overflow-wrap: break-word;
}
.sp-prose h4 {
  margin: 1.8em 0 .5em;
  font: 600 .88rem/1.3 var(--sp-slab);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--sp-grafit);
}
.sp-prose h2[id], .sp-prose h3[id] { scroll-margin-top: 1.5rem; }

.sp-prose strong { font-weight: 700; color: var(--sp-jern); }

.sp-prose ul, .sp-prose ol { padding-left: 1.5rem; }
.sp-prose li { margin: .35em 0; padding-left: .25rem; }
.sp-prose li > ul, .sp-prose li > ol { margin: .35em 0 .2em; }
.sp-prose ul { list-style: square; }
.sp-prose ul li::marker { color: var(--sp-del); }
.sp-prose ol li::marker { color: var(--sp-del); font: 600 .9em var(--sp-slab); }

.sp-prose blockquote {
  position: relative;
  padding: 1.15rem 1.25rem 1.15rem 1.6rem;
  background: var(--sp-ark);
  border-left: 6px solid var(--sp-del);
  font-style: italic;
  font-size: 1.22rem;
  line-height: 1.5;
  color: var(--sp-jern);
}
.sp-prose blockquote > :last-child { margin-bottom: 0; }

.sp-prose hr {
  height: 0;
  margin: 3rem auto;
  border: 0;
  border-top: 4px dotted var(--sp-kraft);
  width: 6rem;
}

/* Tabeller: vandret rulning på smalle skærme. Uden JS ruller selve tabellen. */
.sp-prose table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  margin: 0 0 1.6em;
  border-collapse: collapse;
  font-size: 1rem;
  line-height: 1.45;
}
.sp-prose__scroll {
  max-width: 100%;
  overflow-x: auto;
  margin: 0 0 1.6em;
  border-bottom: 3px solid var(--sp-jern);
}
.sp-prose__scroll table { display: table; width: 100%; margin: 0; overflow: visible; }
.sp-prose th, .sp-prose td {
  padding: .6rem .85rem .6rem 0;
  border-bottom: 1px solid var(--sp-graa);
  text-align: left;
  vertical-align: top;
  overflow-wrap: normal;
  min-width: 6.5rem;
}
.sp-prose th {
  border-bottom: 3px solid var(--sp-jern);
  font: 700 .86rem/1.3 var(--sp-slab);
  letter-spacing: .02em;
  white-space: nowrap;
}
.sp-prose tbody tr:last-child td { border-bottom: 0; }

/* ---------- Næste og forrige kapitel ---------- */

.sp-pager {
  display: grid;
  gap: .9rem;
  margin-top: 4rem;
}
.sp-pager__link {
  display: block;
  padding: 1rem 1.2rem 1.1rem;
  background: var(--sp-ark);
  border: 2px solid var(--sp-jern);
  color: var(--sp-jern);
  text-decoration: none;
  transition: box-shadow .15s, transform .15s;
}
.sp-pager__link:hover { box-shadow: 5px 5px 0 var(--sp-rust); transform: translate(-2px, -2px); color: var(--sp-jern); }
.sp-pager__dir {
  display: block;
  color: var(--sp-rust);
  font: 600 .76rem/1.2 var(--sp-slab);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sp-pager__link--prev .sp-pager__dir::before { content: "\2190  "; }
.sp-pager__link--next .sp-pager__dir::after { content: "  \2192"; }
.sp-pager__title {
  display: block;
  margin-top: .35rem;
  font: 800 1.22rem/1.15 var(--sp-slab);
  letter-spacing: -.015em;
}
.sp-pager__index {
  justify-self: center;
  margin-top: .6rem;
  color: var(--sp-grafit);
  font: 600 .92rem/1.3 var(--sp-slab);
}
@media (min-width: 40rem) {
  .sp-pager { grid-template-columns: 1fr 1fr; }
  .sp-pager__link--next { grid-column: 2; text-align: right; }
  .sp-pager__index { grid-column: 1 / -1; }
}

/* ---------- Oversigt: alle artikler ---------- */

.sp-catalog__intro { margin-bottom: 3rem; }

.sp-catalog__part { margin-top: 3.5rem; }
.sp-catalog__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .9rem;
  padding-bottom: .9rem;
  border-bottom: 4px solid var(--sp-jern);
}
.sp-catalog__name { margin: 0; font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.2rem); }
.sp-catalog__desc { flex-basis: 100%; margin: .35rem 0 0; color: var(--sp-grafit); font-size: 1.06rem; line-height: 1.5; }

.sp-catalog__list { margin: 0; padding: 0; list-style: none; }
.sp-catalog__item {
  position: relative;
  display: grid;
  grid-template-columns: 2.6rem 1fr;
  gap: .9rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--sp-graa);
}
.sp-catalog__nr {
  padding-top: .35rem;
  border-top: 3px solid var(--sp-del);
  color: var(--sp-del);
  font: 800 1rem/1 var(--sp-slab);
  font-variant-numeric: tabular-nums;
}
.sp-catalog__title { margin: 0; font-size: 1.45rem; line-height: 1.08; }
.sp-catalog__title .sp-heading__sub { font-size: max(.7em, 1.05rem); }
.sp-catalog__link { color: var(--sp-jern); text-decoration: none; }
.sp-catalog__link::after { content: ""; position: absolute; inset: 0; }
.sp-catalog__item:hover .sp-catalog__link .sp-heading__main { color: var(--sp-rust); text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .14em; }
.sp-catalog__text { margin: .6rem 0 0; color: var(--sp-grafit); font-size: 1.05rem; line-height: 1.5; }
.sp-catalog__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .2rem 1.2rem;
  margin: .55rem 0 0;
  font-style: italic;
  font-size: .95rem;
  color: var(--sp-grafit);
}

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

.sp-contact__intro { margin-bottom: 2.5rem; }

.sp-form {
  padding: 1.6rem 1.25rem 1.5rem;
  background: var(--sp-ark);
  border: 2px solid var(--sp-jern);
  border-top-width: 8px;
}
@media (min-width: 40rem) { .sp-form { padding: 2rem 2.25rem 1.8rem; } }

.sp-form__field { margin: 0 0 1.35rem; }
.sp-form__label {
  display: block;
  margin-bottom: .4rem;
  font: 700 .95rem/1.3 var(--sp-slab);
}
.sp-form__input {
  display: block;
  width: 100%;
  padding: .72rem .85rem;
  border: 2px solid var(--sp-jern);
  border-radius: 0;
  background: #fff;
  color: var(--sp-jern);
  font: 400 1.1rem/1.4 var(--sp-serif);
  -webkit-appearance: none;
  appearance: none;
}
.sp-form__input:focus-visible { outline: 3px solid var(--sp-rust); outline-offset: 2px; }
.sp-form__input--area { min-height: 10rem; resize: vertical; }

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

.sp-form__actions { margin-top: 1.75rem; }
.sp-button {
  display: inline-block;
  padding: .9rem 1.6rem;
  border: 0;
  border-radius: 0;
  background: var(--sp-jern);
  color: var(--sp-papir);
  box-shadow: 5px 5px 0 var(--sp-rust);
  font: 800 1rem/1 var(--sp-slab);
  letter-spacing: .01em;
  cursor: pointer;
  transition: transform .12s, box-shadow .12s;
}
.sp-button:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--sp-rust); }
.sp-button:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--sp-rust); }

.sp-form__note { margin: 1.5rem 0 0; font-size: .98rem; line-height: 1.5; color: var(--sp-grafit); }
.sp-form__notelink { color: var(--sp-rust); }

/* Kvittering og fejlbesked fra kernen (role="status") lige før formularen. */
.sp-contact [role="status"] {
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  background: var(--sp-ark);
  border-left: 6px solid var(--sp-mos);
  font-weight: 700;
}

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

.sp-missing { padding-block: 3.5rem 1rem; }
.sp-missing__code {
  display: flex;
  align-items: center;
  gap: .1em;
  margin-bottom: 1.5rem;
  color: var(--sp-jern);
  font: 800 clamp(5rem, 3rem + 10vw, 8rem)/.9 var(--sp-slab);
  letter-spacing: -.04em;
}
.sp-missing__nut { width: .82em; height: .82em; fill: var(--sp-rust); }
.sp-missing__text { margin: 1.5rem 0 1.75rem; color: var(--sp-grafit); }
.sp-missing__list { margin: 0; padding: 0; list-style: none; border-top: 4px solid var(--sp-jern); }
.sp-missing__item { border-bottom: 1px solid var(--sp-graa); }
.sp-missing__link {
  display: block;
  padding: .8rem 0;
  color: var(--sp-jern);
  font: 700 1.05rem/1.3 var(--sp-slab);
  text-decoration: none;
}
.sp-missing__link:hover { color: var(--sp-rust); }
.sp-missing__item--rust .sp-missing__link { box-shadow: inset 6px 0 0 var(--sp-rust); padding-left: 1rem; }
.sp-missing__item--skifer .sp-missing__link { box-shadow: inset 6px 0 0 var(--sp-skifer); padding-left: 1rem; }
.sp-missing__item--jernokker .sp-missing__link { box-shadow: inset 6px 0 0 var(--sp-jernokker); padding-left: 1rem; }
.sp-missing__item--mos .sp-missing__link { box-shadow: inset 6px 0 0 var(--sp-mos); padding-left: 1rem; }

/* ---------- Sidefod: minimal og centreret ---------- */

.sp-footer {
  border-top: 1px solid var(--sp-graa);
  background: var(--sp-papir);
}
.sp-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 3rem 3.25rem;
  text-align: center;
}
.sp-footer__mark { width: 2.1rem; height: 2.1rem; fill: var(--sp-rust); }
.sp-footer__name {
  margin: .8rem 0 0;
  font: 800 1.15rem/1.2 var(--sp-slab);
  letter-spacing: -.015em;
}
.sp-footer__tagline {
  margin: .3rem 0 0;
  max-width: 26rem;
  font-style: italic;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--sp-grafit);
}
.sp-footer__nav { margin-top: 1.4rem; }
.sp-footer__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .25rem 1.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sp-footer__link {
  display: inline-block;
  padding: .3rem 0;
  color: var(--sp-jern);
  font: 600 .9rem/1.3 var(--sp-slab);
}
.sp-footer__link[aria-current] { color: var(--sp-rust); }
.sp-footer__copy {
  margin: 1.3rem 0 0;
  font-size: .92rem;
  color: var(--sp-grafit);
}

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

@media print {
  .sp-header::before, .sp-nav, .sp-pager, .sp-footer__nav, .sp-skip, .sp-toc { display: none !important; }
  body { background: #fff; }
}
