:root{
  --brand-dark:#0a1a26;
  --bg:#0a1a26; --bg-2:#0f1f2c; --panel:#12222f;
  --line:#22384a; --line-2:#2c4356;
  --ink:#e9f2f8; --ink-2:#b3c7d5; --ink-dim:#7f97a8; --ink-faint:#54697a;
  --serif:"Fraunces", Georgia, serif;
  --sans:"Instrument Sans", system-ui, -apple-system, sans-serif;
  --mono:"Space Mono", ui-monospace, monospace;
  --skimmel:#E0B14C; --skimmel-2:#f6c46a;
  --radon:#C9E44C; --radon-2:#d6f07e;
  --asbest:#38a9ec; --asbest-2:#7fc0e8;
}

/* ---------- Fælles firma-footer (skelet — identisk på alle sider) ---------- */
.mk-legal{ background:var(--brand-dark); color:var(--ink-dim); font-family:var(--sans);
  font-size:12.5px; line-height:1.7; padding:26px clamp(20px,5vw,64px); border-top:1px solid var(--line);
  text-align:center; }
.mk-legal div{ margin:2px 0; }
.mk-legal a{ color:var(--ink-2); text-decoration:none; }
.mk-legal a:hover{ color:var(--ink); }
/* ---------- Garanti-badge (samme tillidselement, sektionens egen farve) ---------- */
.garanti-badge{ display:inline-flex; align-items:center; gap:8px; margin:16px 0 0; padding:8px 15px;
  border-radius:100px; border:1px solid; font-size:13px; font-weight:700; font-family:var(--sans); }
.garanti-badge svg{ width:15px; height:15px; flex:none; }
.garanti-badge.r{ color:var(--radon); border-color:rgba(201,228,76,.42); }
.garanti-badge.a{ color:var(--asbest); border-color:rgba(56,169,236,.42); }
/* ---------- Byline & redaktion (EEAT: synlig forfatter + opdateringsdato) ---------- */
.byline{ font-family:var(--sans); font-size:13.5px; color:var(--ink-dim); margin:10px 0 0; }
.byline a{ color:var(--ink-2); }
#redaktion .person{ display:flex; gap:14px; align-items:flex-start; border:1px solid var(--line);
  border-radius:14px; padding:14px 16px; margin:12px 0; }
#redaktion .person img{ border-radius:50%; }

/* ── idékatalog A2: univers-wipe (View Transitions, progressiv) ── */
@view-transition { navigation: auto; }
@keyframes vtInd { from { clip-path: inset(0 100% 0 0) } to { clip-path: inset(0) } }
::view-transition-old(root) { animation: none; }
::view-transition-new(root) { animation: vtInd .45s ease; background: var(--vt, #C9E44C); }

/* ── idékatalog A7: kapitel-linjen ── */
.kap-linje { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; pointer-events: none; }
.kap-linje i { display: block; height: 100%; width: 0; background: var(--vt, #C9E44C); }
.kap-linje span { position: absolute; top: 0; width: 2px; height: 8px; margin-left: -1px;
  background: var(--vt, #C9E44C); opacity: .45; }
.kap-linje.js i { width: 100%; transform: scaleX(0); transform-origin: left; }
@supports (animation-timeline: scroll()) {
  .kap-linje i { animation: kapFyld linear both; animation-timeline: scroll(); width: 100%; transform-origin: left; }
  @keyframes kapFyld { from { transform: scaleX(0) } to { transform: scaleX(1) } }
}

/* ── idékatalog A8: husmærket ånder — fuld dækning (rect+circle, alle mærke-kontekster) ── */
.brand svg rect, .brand svg circle,
svg.cmark rect, svg.cmark circle,
svg.mk-mark rect, svg.mk-mark circle,
svg.liv-mark rect, svg.liv-mark circle,
.ik rect, .ik circle {
  transform-origin: center; transform-box: fill-box;
  animation: hjerte 3.2s ease-in-out infinite;
}
@keyframes hjerte { 0%,100% { opacity: 1; transform: scale(1) } 50% { opacity: .55; transform: scale(.82) } }

@media (prefers-reduced-motion: reduce) {
  .brand svg rect, .brand svg circle,
  svg.cmark rect, svg.cmark circle,
  svg.mk-mark rect, svg.mk-mark circle,
  svg.liv-mark rect, svg.liv-mark circle,
  .ik rect, .ik circle { animation: none; }
  ::view-transition-new(root) { animation: none; }
}

/* ── idékatalog A6: magnetiske CTA'er (translate komponerer med transform-hover) ── */
[data-magnet] { translate: var(--mx, 0px) var(--my, 0px); }
