@font-face{font-family:"Space Grotesk";src:url(/media/fonts/space-grotesk-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(/media/fonts/space-grotesk-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/media/fonts/barlow-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/media/fonts/barlow-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/media/fonts/barlow-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/media/fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
/* Fyringsolie forklaret – rutekort gennem olievarmen.
   Flamme og glød mod petrol og blæk på ren hvid. Radius 0, luftig tæthed, stor og tynd rubrik. */

:root {
  --hv: #ffffff;
  --bk: #0d1e25;   /* blæk – brødtekst */
  --pt: #08505e;   /* petrol */
  --pl: #1a7487;   /* lys petrol */
  --fl: #f0561d;   /* flamme – signal */
  --gl: #bf3a0c;   /* glød – links og mærkater */
  --gn: #ffc629;   /* gnist – accent på mørkt */
  --ib: #6cc4d4;   /* isblå – kold olie */
  --tg: #edf4f6;   /* tåge – paneler */
  --gr: #4c6067;   /* grafit – sekundær tekst */
  --sr: #c9dbe0;   /* streg */
  --lt: #cfe3e8;   /* lys tekst på petrol */
  --fs: #b9cbd0;   /* dæmpet tekst på blæk */
  --fh: "Space Grotesk", "Segoe UI", Arial, sans-serif;
  --fb: "Barlow", "Segoe UI", Arial, sans-serif;
  --fm: "JetBrains Mono", Consolas, "Courier New", monospace;
  --sec: clamp(4rem, 8vw, 8rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  background: var(--hv);
  color: var(--bk);
  font: 400 1.125rem/1.65 var(--fb);
  overflow-wrap: anywhere;
}
img, svg { max-width: 100%; }
img { display: block; height: auto; }
::selection { background: var(--gn); color: var(--bk); }
:focus-visible { outline: 3px solid var(--gl); outline-offset: 3px; }
.ar-rt :focus-visible, .ar-ft :focus-visible, .ar-pn :focus-visible { outline-color: var(--gn); }
.ar-pt :focus-visible { outline-color: var(--bk); }

.ar-vh {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.ar-skip {
  position: absolute; left: 1rem; top: -10rem; z-index: 20;
  background: var(--bk); color: var(--hv); padding: .75rem 1.1rem; font-weight: 600; text-decoration: none;
}
.ar-skip:focus { top: 1rem; }

.ar-w {
  width: 100%;
  max-width: 120rem;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4.5vw, 5rem);
}

/* ---------- Sidehoved ---------- */
.ar-hd { border-top: 6px solid var(--fl); border-bottom: 1px solid var(--sr); background: var(--hv); }
.ar-hd-i {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: .9rem 2.5rem; padding-block: 1.25rem;
}
.ar-lg { display: inline-flex; padding: .3rem 0; max-width: 100%; }
.ar-lg svg { display: block; height: 1.35rem; width: auto; }
.ar-nv-l { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .2rem 1.25rem; }
.ar-nv-a {
  display: inline-block; padding: .4rem 0 .3rem; color: var(--bk); text-decoration: none;
  font-weight: 600; font-size: 1rem; line-height: 1.4; border-bottom: 3px solid transparent;
}
.ar-nv-a:hover { color: var(--gl); border-bottom-color: currentColor; }
.ar-nv-a[aria-current="page"] { border-bottom-color: var(--fl); }
@media (min-width: 48em) {
  .ar-lg svg { height: 1.65rem; }
  .ar-nv-l { gap: .3rem 1.75rem; }
  .ar-nv-a { font-size: 1.05rem; }
}

/* ---------- Typografi ---------- */
.ar-kk {
  margin: 0 0 1.1rem; font: 500 .8rem/1.45 var(--fm); letter-spacing: .12em; text-transform: uppercase; color: var(--gl);
}
.ar-kk-ly { color: var(--gn); }
.ar-kk-mk { color: var(--bk); }
.ar-h1 {
  margin: 0 0 1.5rem; font: 300 clamp(2.6rem, 1.2rem + 5.2vw, 6.25rem)/1.02 var(--fh); letter-spacing: -.035em;
  overflow-wrap: break-word;
}
.ar-h1-a { font-size: clamp(2.3rem, 1.2rem + 4vw, 4.75rem); max-width: 22ch; }
.ar-h2 { margin: 0 0 1.25rem; font: 300 clamp(2rem, 1.2rem + 3vw, 3.75rem)/1.06 var(--fh); letter-spacing: -.03em; }
.ar-h2s { margin: 0 0 1.25rem; font: 300 clamp(1.75rem, 1.3rem + 1.6vw, 2.6rem)/1.1 var(--fh); letter-spacing: -.025em; }
.ar-ld { margin: 0 0 2rem; font-size: clamp(1.2rem, 1rem + .8vw, 1.5rem); line-height: 1.5; max-width: 36rem; }
.ar-mt { margin: 0; font: 500 .85rem/1.4 var(--fm); color: var(--gr); letter-spacing: .02em; }

.ar-bt {
  display: inline-flex; align-items: center; gap: .7rem; min-height: 3.25rem; padding: .85rem 1.5rem;
  background: var(--bk); color: var(--hv); border: 0; border-radius: 0; cursor: pointer;
  font: 600 1.05rem/1.2 var(--fb); text-decoration: none;
}
.ar-bt::after { content: "→" / ""; font-family: var(--fh); }
.ar-bt:hover { background: var(--gl); }
.ar-bt-mk:hover { background: var(--hv); color: var(--bk); }

/* ---------- Billeder ---------- */
.ar-fg { margin: 0; }
.ar-fg-i { width: 100%; background: var(--tg); }
.ar-fg-c { margin-top: .6rem; font: 500 .75rem/1.4 var(--fm); color: var(--gr); letter-spacing: .03em; }
.ar-fg-hr .ar-fg-i { box-shadow: clamp(.6rem, 1.5vw, 1.25rem) clamp(.6rem, 1.5vw, 1.25rem) 0 var(--fl); }
.ar-fg-hr .ar-fg-c { margin-top: clamp(1.1rem, 2.4vw, 2rem); }
.ar-fg-a { margin: 0 0 2.75rem; max-width: 62rem; }
.ar-fg-st .ar-fg-c { color: var(--lt); }

/* ---------- Forside: hero ---------- */
.ar-hr { padding-block: clamp(2.75rem, 6vw, 6rem) clamp(3.5rem, 7vw, 7rem); }
.ar-hr-g { display: grid; gap: clamp(2.5rem, 4vw, 4.5rem); align-items: center; }
.ar-hr-t .ar-h1::after { content: ""; display: block; width: 5.5rem; height: .5rem; margin-top: 1.6rem; background: var(--fl); }
.ar-hr-go::after { content: "↓" / ""; }
@media (min-width: 60em) {
  .ar-hr-g { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
}

/* ---------- Forside: rutekortet ---------- */
.ar-rt { background: var(--pt); color: var(--hv); padding-block: var(--sec); }
.ar-rt-hd { max-width: 48rem; margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.ar-rt-in { margin: 0; color: var(--lt); font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); }
.ar-rt-l { list-style: none; margin: 0; padding: 0; --nd: 3.25rem; }
.ar-st {
  position: relative; display: grid; grid-template-columns: var(--nd) minmax(0, 1fr);
  column-gap: clamp(1rem, 3vw, 2.5rem); row-gap: 1.1rem; padding-bottom: clamp(3rem, 6vw, 5rem);
  --a: var(--ib); --b: var(--ib);
}
.ar-st:last-child { padding-bottom: 0; }
.ar-st::before {
  content: ""; position: absolute; left: calc(var(--nd) / 2 - 3px); top: var(--nd); bottom: 0; width: 6px;
  background: linear-gradient(var(--a), var(--b));
}
.ar-st:last-child::before { display: none; }
.ar-st-2 { --b: var(--gn); }
.ar-st-3 { --a: var(--gn); --b: var(--gn); }
.ar-st-4 { --a: var(--gn); --b: var(--fl); }
.ar-st-5 { --a: var(--fl); --b: var(--sr); }
.ar-st-6 { --a: var(--sr); --b: var(--hv); }
.ar-st-7 { --a: var(--hv); --b: var(--hv); }
.ar-st-n {
  grid-column: 1; grid-row: 1 / span 3; position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: center; width: var(--nd); height: var(--nd);
  background: var(--a); color: var(--bk); font: 500 1.35rem/1 var(--fm);
}
.ar-st-t, .ar-st-a, .ar-st-f { grid-column: 2; min-width: 0; }
.ar-st-h { margin: .1rem 0 .6rem; font: 300 clamp(2.1rem, 1.3rem + 2.6vw, 3.5rem)/1 var(--fh); letter-spacing: -.03em; color: var(--hv); }
.ar-st-k { margin: 0; color: var(--lt); font-size: 1.15rem; max-width: 34rem; }
.ar-st-k::first-letter { text-transform: uppercase; }
.ar-st-a { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; align-content: start; }
.ar-st-a a {
  display: inline-block; padding: .2rem 0; color: var(--gn); font-weight: 600; font-size: 1.1rem;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em;
}
.ar-st-a a::before { content: "→ " / ""; }
.ar-st-a a:hover { color: var(--hv); }
.ar-st-f { max-width: 22rem; }
@media (min-width: 64em) {
  .ar-rt-l { --nd: 4.5rem; }
  .ar-st { grid-template-columns: var(--nd) minmax(0, 1.15fr) minmax(0, 1fr) 15rem; align-items: start; }
  .ar-st-n { grid-row: auto; font-size: 1.6rem; }
  .ar-st-t { grid-column: 2; }
  .ar-st-a { grid-column: 3; padding-top: .7rem; }
  .ar-st-f { grid-column: 4; }
}

/* ---------- Forside: prisens lag ---------- */
.ar-pp { padding-block: var(--sec); }
.ar-pp-g { display: grid; gap: clamp(2.5rem, 5vw, 5rem); }
.ar-pp-t p { max-width: 38rem; }
.ar-pp-nb { font: 500 .85rem/1.5 var(--fm); color: var(--gr); }
.ar-pp-lk { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; gap: .6rem; }
.ar-pp-lk a { color: var(--gl); font-weight: 600; text-underline-offset: .2em; }
.ar-pp-lk a::before { content: "→ " / ""; }
.ar-pp-s { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column-reverse; }
.ar-pp-l { display: grid; grid-template-columns: clamp(4.25rem, 12vw, 7.5rem) minmax(0, 1fr); min-height: 5.5rem; }
.ar-pp-c {
  display: flex; align-items: flex-end; padding: .65rem .8rem;
  background: var(--c); color: var(--t); font: 500 1.15rem/1 var(--fm);
}
.ar-pp-x { padding: 1rem 0 1rem 1.35rem; border-bottom: 1px solid var(--sr); }
.ar-pp-l:last-child .ar-pp-x { border-top: 1px solid var(--sr); }
.ar-pp-n { margin: 0 0 .25rem; font: 500 1.3rem/1.2 var(--fh); }
.ar-pp-k { margin: 0; color: var(--gr); font-size: 1.05rem; }
.ar-pp-k::first-letter { text-transform: uppercase; }
.ar-pp-l1 { --c: var(--bk); --t: var(--hv); }
.ar-pp-l2 { --c: var(--pt); --t: var(--hv); }
.ar-pp-l3 { --c: var(--pl); --t: var(--hv); }
.ar-pp-l4 { --c: var(--gl); --t: var(--hv); }
.ar-pp-l5 { --c: var(--fl); --t: var(--bk); }
.ar-pp-l6 { --c: var(--gn); --t: var(--bk); }
@media (min-width: 60em) {
  .ar-pp-g { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; }
}

/* ---------- Forside: indgang til pejlingsberegneren ---------- */
.ar-pt { background: var(--fl); color: var(--bk); padding-block: clamp(3.5rem, 7vw, 7rem); }
.ar-pt-g { display: grid; gap: 2rem; align-items: center; }
.ar-pt-sv { display: block; width: 100%; max-width: 15rem; height: auto; }
.ar-pt-t p { max-width: 42rem; font-size: 1.15rem; margin: 0 0 1.75rem; }
@media (min-width: 48em) {
  .ar-pt-g { grid-template-columns: minmax(10rem, 17rem) minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 6rem); }
}

/* ---------- Forside: brødtekst ---------- */
.ar-hm { padding-top: var(--sec); }
.ar-hm-x { padding-top: 0; }
.ar-hm:last-child { padding-bottom: var(--sec); }
@media (min-width: 64em) {
  .ar-hm > * { margin-left: 7rem; }
}

/* ---------- Brødtekst ---------- */
.ar-tx { max-width: 46rem; overflow-wrap: anywhere; }
.ar-tx > :first-child { margin-top: 0; }
.ar-tx p, .ar-tx ul, .ar-tx ol { margin: 0 0 1.35rem; }
.ar-tx h2 { margin: 3.5rem 0 1.1rem; font: 300 clamp(1.85rem, 1.3rem + 1.9vw, 2.75rem)/1.1 var(--fh); letter-spacing: -.025em; }
.ar-tx h3 { margin: 2.4rem 0 .75rem; font: 500 clamp(1.3rem, 1.15rem + .5vw, 1.55rem)/1.25 var(--fh); letter-spacing: -.01em; }
.ar-tx h4 { margin: 1.9rem 0 .5rem; font: 600 .95rem/1.35 var(--fb); text-transform: uppercase; letter-spacing: .07em; }
.ar-tx a { color: var(--gl); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.ar-tx a:hover { color: var(--bk); text-decoration-thickness: 2px; }
.ar-tx ul, .ar-tx ol { padding-left: 1.4rem; }
.ar-tx li { margin-bottom: .45rem; }
.ar-tx li > ul, .ar-tx li > ol { margin: .45rem 0 0; }
.ar-tx ul > li::marker { color: var(--fl); }
.ar-tx ol > li::marker { color: var(--gl); font-family: var(--fm); font-weight: 500; }
.ar-tx strong { font-weight: 600; }
.ar-tx blockquote {
  margin: 2.25rem 0; padding: .3rem 0 .3rem 1.5rem; border-left: 4px solid var(--pt);
  font-size: 1.2rem; line-height: 1.55;
}
.ar-tx blockquote p:last-child { margin-bottom: 0; }
/* "Kort fortalt": skribenterne starter artiklen med > **Kort fortalt:** … */
.ar-tx > blockquote:first-child {
  margin: 0 0 2.75rem; padding: 1.5rem 1.75rem 1.6rem; background: var(--tg); border-left: 8px solid var(--fl);
  font-size: 1.15rem;
}
.ar-tx > blockquote:first-child p:first-child > strong:first-child {
  display: block; margin-bottom: .55rem; font: 500 .8rem/1.4 var(--fm); letter-spacing: .12em; text-transform: uppercase; color: var(--gl);
}
.ar-tx table { width: 100%; margin: 2.25rem 0; border-collapse: collapse; font-size: .98rem; line-height: 1.45; }
.ar-tx th, .ar-tx td { padding: .7rem .75rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--sr); overflow-wrap: anywhere; }
/* Første kolonne er rækkens navn: ombryd kun mellem ord (eller ved orddeling), så kolonnen aldrig presses ned under det længste ord. */
.ar-tx th:first-child, .ar-tx td:first-child { overflow-wrap: break-word; hyphens: auto; }
.ar-tx thead th { background: var(--bk); color: var(--hv); font-weight: 600; border-bottom: 0; }
.ar-tx tbody tr:nth-child(even) { background: var(--tg); }
.ar-tx code { font-family: var(--fm); font-size: .9em; background: var(--tg); padding: .1em .3em; }
.ar-tx hr { border: 0; border-top: 1px solid var(--sr); margin: 3rem 0; }
@media (max-width: 40em) {
  .ar-tx table { font-size: .86rem; }
  .ar-tx th, .ar-tx td { padding: .5rem .35rem; }
}

/* ---------- Artikel ---------- */
.ar-ah { padding-block: clamp(2.5rem, 6vw, 5.5rem) clamp(2rem, 4vw, 3.5rem); }
.ar-sm { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-bottom: 1.75rem; }
.ar-sm-a {
  display: inline-flex; align-items: center; gap: .6rem; color: var(--bk); text-decoration: none;
  font: 500 .95rem/1 var(--fm); letter-spacing: .08em; text-transform: uppercase;
}
.ar-sm-n {
  display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem;
  background: var(--fl); color: var(--bk); font-size: 1.1rem;
}
.ar-sm-a:hover .ar-sm-t { color: var(--gl); text-decoration: underline; }
.ar-sm-b { display: inline-flex; gap: 3px; }
.ar-sm-p { display: block; width: 1.4rem; height: .45rem; background: var(--sr); }
.ar-sm-f { background: var(--pt); }
.ar-sm-x { background: var(--fl); }

.ar-ag { display: grid; gap: clamp(3rem, 5vw, 5rem); padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.ar-ak { min-width: 0; }
@media (min-width: 64em) {
  .ar-ag { grid-template-columns: minmax(0, 1fr) minmax(15rem, 19rem); }
  .ar-as { position: sticky; top: 1.5rem; align-self: start; }
}
.ar-ss { border-top: 6px solid var(--pt); padding-top: 1.25rem; }
.ar-ss-h { display: flex; align-items: center; gap: .75rem; margin: 0 0 .6rem; font: 300 2rem/1.1 var(--fh); letter-spacing: -.02em; }
.ar-ss-n {
  display: inline-flex; align-items: center; justify-content: center; width: 2.3rem; height: 2.3rem;
  background: var(--pt); color: var(--hv); font: 500 1.05rem/1 var(--fm);
}
.ar-ss-k { margin: 0 0 1.1rem; color: var(--gr); font-size: 1rem; line-height: 1.5; }
.ar-ss-k::first-letter { text-transform: uppercase; }
.ar-ss-l { list-style: none; margin: 0 0 1.25rem; padding: 0; border-top: 1px solid var(--sr); }
.ar-ss-l li { border-bottom: 1px solid var(--sr); }
.ar-ss-l a { display: block; padding: .75rem 0; color: var(--bk); font-weight: 600; text-decoration: none; }
.ar-ss-l a:hover { color: var(--gl); }
.ar-ss-l a[aria-current="page"] { color: var(--gl); padding-left: .9rem; box-shadow: inset 4px 0 0 var(--fl); }
.ar-ss-r { color: var(--gl); font-weight: 600; text-underline-offset: .2em; }
.ar-ss-r::after { content: " →" / ""; }

.ar-pn { background: var(--pt); color: var(--hv); padding-block: clamp(2.25rem, 4.5vw, 3.75rem); }
.ar-pn-g { display: grid; gap: 1rem; }
.ar-pn-a {
  display: flex; flex-direction: column; gap: .55rem; padding: 1.3rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, .38); color: var(--hv); text-decoration: none;
}
.ar-pn-a:hover { border-color: var(--gn); background: rgba(255, 255, 255, .06); }
.ar-pn-r { font: 500 .8rem/1.4 var(--fm); letter-spacing: .1em; text-transform: uppercase; color: var(--gn); }
.ar-pn-t { font: 300 clamp(1.35rem, 1.1rem + 1vw, 1.9rem)/1.15 var(--fh); letter-spacing: -.015em; }
.ar-pn-fo .ar-pn-r::before { content: "← " / ""; }
.ar-pn-nx .ar-pn-r::after { content: " →" / ""; }
@media (min-width: 48em) {
  .ar-pn-g { grid-template-columns: 1fr 1fr; }
  .ar-pn-nx { text-align: right; align-items: flex-end; }
}

.ar-fq { margin-top: clamp(3rem, 6vw, 4.5rem); max-width: 46rem; }
.ar-fq-l { margin: 0; border-top: 3px solid var(--bk); }
.ar-fq-i { padding: 1.3rem 0; border-bottom: 1px solid var(--sr); }
.ar-fq-q { margin: 0 0 .5rem; font: 500 1.22rem/1.35 var(--fh); }
.ar-fq-a { margin: 0; }
.ar-kl { margin-top: clamp(2.5rem, 5vw, 3.5rem); max-width: 46rem; }
.ar-kl-l { margin: 0; padding-left: 1.2rem; }
.ar-kl-l li { margin-bottom: .4rem; }
.ar-kl-l li::marker { color: var(--fl); }
.ar-kl-l a { color: var(--gl); text-underline-offset: .2em; }

/* ---------- Pejlingsberegneren ---------- */
.ar-pj { margin: 0 0 clamp(2.75rem, 5vw, 4rem); padding: clamp(1.25rem, 4vw, 2.75rem); background: var(--tg); border-top: 8px solid var(--fl); }
.ar-pj-hd { max-width: 46rem; }
.ar-pj-ti { margin: 0 0 .75rem; font: 300 clamp(1.9rem, 1.3rem + 2.2vw, 3rem)/1.08 var(--fh); letter-spacing: -.025em; }
.ar-pj-in { margin: 0 0 1.9rem; }
.ar-pj-g { display: grid; gap: clamp(1.5rem, 4vw, 3rem); }
.ar-pj-fm { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.25rem, 1fr)); gap: 1.1rem 1.25rem; align-items: end; align-content: start; }
.ar-pj-r-w { grid-column: 1 / -1; }
.ar-pj-r[hidden] { display: none; }
.ar-pj-lb { display: block; margin-bottom: .35rem; font-weight: 600; font-size: 1rem; line-height: 1.35; }
.ar-pj-in2 {
  display: block; width: 100%; min-height: 3.1rem; padding: .65rem .8rem;
  font: 500 1.15rem/1.3 var(--fm); color: var(--bk); background: var(--hv);
  border: 2px solid var(--bk); border-radius: 0;
}
select.ar-pj-in2 {
  -webkit-appearance: none; appearance: none; padding-right: 2.75rem; cursor: pointer;
  font: 600 1.1rem/1.3 var(--fb);
  background-image: linear-gradient(45deg, transparent 50%, var(--bk) 50%), linear-gradient(135deg, var(--bk) 50%, transparent 50%);
  background-position: calc(100% - 1.35rem) 55%, calc(100% - .95rem) 55%;
  background-size: .42rem .42rem; background-repeat: no-repeat;
}
.ar-pj-bt { width: 100%; justify-content: center; }
@media (min-width: 30em) { .ar-pj-bt { width: auto; } }
.ar-pj-ud {
  display: grid; gap: 1.25rem; align-items: center; padding: clamp(1.25rem, 3vw, 2rem);
  background: var(--hv); border: 2px solid var(--bk);
}
.ar-pj-sv { display: block; width: 100%; max-width: 11rem; height: auto; }
.ar-pj-ks { fill: none; stroke: var(--bk); stroke-width: 4; }
.ar-pj-ol { fill: var(--fl); }
.ar-pj-tx p { margin: 0; }
.ar-pj-msg { color: var(--gr); }
.ar-pj-tx p:empty { display: none; }
.ar-pj-tx .ar-pj-lt { margin-bottom: .8rem; font: 300 clamp(2.4rem, 1.6rem + 3vw, 3.6rem)/1 var(--fh); letter-spacing: -.03em; color: var(--gl); }
.ar-pj-to, .ar-pj-pc { font-weight: 600; }
.ar-pj-pc { white-space: nowrap; }
.ar-pj-nb { margin: 1.6rem 0 0; max-width: 52rem; font-size: .98rem; color: var(--gr); }
@media (min-width: 30em) { .ar-pj-ud { grid-template-columns: 8.5rem minmax(0, 1fr); } }
@media (min-width: 56em) { .ar-pj-g { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; } }

/* ---------- Oversigt, kontakt, privatliv, 404 ---------- */
.ar-ls { padding-bottom: var(--sec); }
.ar-ls-l { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; gap: 2.5rem; max-width: 60rem; }
.ar-ls-s { border-top: 3px solid var(--bk); padding-top: 1.25rem; }
.ar-ls-h { display: flex; align-items: center; gap: .9rem; margin: 0 0 .4rem; font: 300 clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem)/1.1 var(--fh); }
.ar-ls-n {
  display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; flex: none;
  background: var(--fl); color: var(--bk); font: 500 1.05rem/1 var(--fm);
}
.ar-ls-k { margin: 0 0 1rem; color: var(--gr); }
.ar-ls-k::first-letter { text-transform: uppercase; }
.ar-ls-a { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.ar-ls-a a { color: var(--gl); font-weight: 600; font-size: 1.15rem; text-underline-offset: .2em; }
.ar-ls-d { display: block; color: var(--gr); font-size: 1rem; }

.ar-kt { display: grid; gap: clamp(2rem, 5vw, 5rem); padding-bottom: var(--sec); }
.ar-kt-f > p[role="status"] { margin: 0 0 1rem; padding: 1rem 1.25rem; background: var(--bk); color: var(--hv); font-weight: 600; }
.ar-kf { position: relative; padding: clamp(1.25rem, 4vw, 2.5rem); background: var(--tg); border-top: 6px solid var(--fl); }
.ar-kf-r { margin-bottom: 1.25rem; }
.ar-kf-r label, .ar-kf-lb { display: block; margin-bottom: .4rem; font-weight: 600; }
.ar-kf-r input, .ar-kf-in {
  display: block; width: 100%; padding: .75rem .85rem; font: 400 1.05rem/1.4 var(--fb); color: var(--bk);
  background: var(--hv); border: 2px solid var(--bk); border-radius: 0;
}
.ar-kf-ta { min-height: 10rem; resize: vertical; }
.ar-kf-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.ar-kf-nb { margin: 1.25rem 0 0; font-size: .95rem; color: var(--gr); }
.ar-kf-nb a { color: var(--gl); }
@media (min-width: 60em) {
  .ar-kt { grid-template-columns: minmax(0, 1fr) minmax(0, 34rem); align-items: start; }
}

.ar-pv { padding-bottom: var(--sec); }

.ar-nf .ar-bt { margin-top: .5rem; }
.ar-nf-r { padding-bottom: var(--sec); }
.ar-nf-l { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; max-width: 52rem; }
.ar-nf-l li { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--sr); }
.ar-nf-n {
  display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem;
  background: var(--fl); color: var(--bk); font: 500 1rem/1 var(--fm);
}
.ar-nf-t { font: 500 1.2rem/1.2 var(--fh); min-width: 7rem; }
.ar-nf-l a { color: var(--gl); font-weight: 600; text-underline-offset: .2em; }

/* ---------- Sidefod ---------- */
.ar-ft { background: var(--bk); color: var(--hv); padding-top: clamp(3.5rem, 7vw, 6rem); border-top: 6px solid var(--fl); }
.ar-ft-g { display: grid; gap: 2.75rem; }
.ar-ft-n { margin: 0 0 .8rem; font: 500 1.55rem/1.2 var(--fh); letter-spacing: -.01em; }
.ar-ft-p { margin: 0 0 1rem; color: #dfe9ec; max-width: 30rem; }
.ar-ft-s { margin: 0; color: var(--fs); font-size: .95rem; max-width: 30rem; }
.ar-ft-h { margin: 0 0 1.1rem; font: 500 .8rem/1.4 var(--fm); letter-spacing: .12em; text-transform: uppercase; color: var(--gn); }
.ar-ft-l { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.ar-ft-l a { display: inline-flex; align-items: center; gap: .65rem; padding: .2rem 0; color: var(--hv); text-decoration: none; }
.ar-ft-l a:hover { color: var(--gn); text-decoration: underline; text-underline-offset: .2em; }
.ar-ft-nr {
  display: inline-flex; align-items: center; justify-content: center; width: 1.7rem; height: 1.7rem; flex: none;
  border: 1px solid var(--gn); color: var(--gn); font: 500 .8rem/1 var(--fm);
}
.ar-ft-b { margin-top: clamp(3rem, 6vw, 4.5rem); padding-block: 1.5rem; border-top: 1px solid #2b4049; color: var(--fs); font-size: .9rem; }
.ar-ft-b p { margin: 0; }
@media (min-width: 48em) {
  .ar-ft-g { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); }
}
