/* ==========================================================================
   Kaiserlig Rengøring & Service
   Layout 1:1 efter lau-ren.dk (målt i browser: størrelser, afstande, skrifttyper).
   Kun farver, billeder og tekst er skiftet: hvid -> kulsort, grøn -> guld.
   Brudpunkter som forlægget: desktop >= 1024, tablet 768–1023, mobil <= 767.
   ========================================================================== */

:root {
  /* forlæggets farver -> Kaisers */
  --bg: #0e0d0b;            /* hvid */
  --tint: #1a1711;          /* lysegrøn sektion rgba(226,241,210,.75) */
  --tint-2: #15130f;        /* lysegrøn .25 (citatboks) */
  --head: #f3ede0;          /* #00383c overskrifter */
  --text: #cbc3b2;          /* #004e54 brødtekst */
  --head-50: rgba(243, 237, 224, .5);
  --head-75: rgba(243, 237, 224, .75);
  --text-75: rgba(232, 224, 207, .85); /* fede links rgba(0,78,84,.75) */
  --accent: #c9a85b;        /* #009a44 grøn */
  --accent-10: rgba(201, 168, 91, .16);
  --light: #dcc07a;         /* lys guld (tekst på billeder, hover) */
  --cta: #c9a85b;           /* primær guld – ALLE CTA'er */
  --cta-grad: linear-gradient(180deg, #dcbd70 0%, #c6a254 55%, #b08c41 100%);
  --cta-grad-hover: linear-gradient(180deg, #e7cc85 0%, #d3b063 55%, #bd9a4e 100%);
  --on-accent: #14110a;     /* tekst på guld */
  --footer: #070605;        /* #004e54 footer */
  --line: #24201a;          /* #f5f5f5 linjer */

  --f-head: "Sora", Arial, sans-serif;
  --f-text: "Fira Sans", Arial, sans-serif;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 130px; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font: 300 16px/1.6 var(--f-text);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a[href^="tel:"], a[href^="mailto:"] { white-space: nowrap; }
p { margin: 0; }
.prose p + p, .prose p + ul, .prose ul + p, .prose p + ol, .prose ol + p, .prose p + div, .prose div + p { margin-top: 25.6px; }
h1, h2, h3, h4 { margin: 0; }
strong, b { font-weight: 700; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
::selection { background: var(--accent); color: var(--on-accent); }
[hidden] { display: none !important; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 500; background: var(--accent); color: var(--on-accent); padding: 10px 14px; font: 600 14px var(--f-head); }
.skip:focus { top: 12px; }

/* ÉN fælles indholdsbredde for header, alle sektioner og footer (som forlægget: 1336px indhold ved 1440) */
.container { width: 100%; max-width: 1360px; margin: 0 auto; padding: 0 12px; }

/* ---------- typografi (forlæggets custom-klasser) ---------- */
h1, .h1 {
  font: 400 32px/1.4 var(--f-head); color: var(--head);
  padding-bottom: 24.6px;
  background: linear-gradient(var(--accent), var(--accent)) left bottom / 58px 4px no-repeat;
}
h2, .h2 { font: 400 28px/1.3 var(--f-head); color: var(--head); margin-bottom: 10px; }
.h20 { font: 400 20px/1.3 var(--f-head); color: var(--head); }
h1 strong, h2 strong, .h20 strong { font-weight: 700; }
.eyebrow { font: 600 12px/1.6 var(--f-head); letter-spacing: 2px; text-transform: uppercase; color: var(--accent); }
.prose a:not(.btn), .text-link { font-weight: 700; color: var(--text-75); }
.prose a:not(.btn):hover, .text-link:hover { color: var(--accent); }
.prose a.accent-link, .accent-link { font-weight: 700; color: var(--accent); }
.prose a.accent-link:hover, .accent-link:hover { color: var(--light); }
.prose ul, ul.bullets, .prose ol { margin: 0; padding-left: 31px; }
.prose ul, ul.bullets { list-style: disc; }
.prose li, ul.bullets li { margin-bottom: 5px; }
.small-note { font: 400 13px/1.6 var(--f-head); color: var(--head-50); }

/* ---------- knapper ---------- */
.btn {
  display: inline-block; border: 2px solid transparent; text-align: center; cursor: pointer;
  font-family: var(--f-head); transition: background-color .15s linear, color .15s linear, border-color .15s linear;
}
/* ÉN knap-stil til alle CTA'er – samme primære gule overalt */
.btn-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  /* 14px over / 16px under: teksten er mest små bogstaver, der sidder lavt i linjen – så ser den midtstillet ud */
  font-weight: 700; font-size: 14px; line-height: 22px; padding: 14px 26px 16px; border-radius: 6px;
  background: var(--cta-grad); border-color: #bf9a4d; color: var(--on-accent);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .28);
}
.btn-cta:hover { background: var(--cta-grad-hover); border-color: #cda75a; }
.btn-cta svg { width: 16px; height: 16px; transition: transform .15s linear; }
.btn-cta:hover svg { transform: translateX(3px); }

/* ---------- header (desktop) ---------- */
.site-header {
  position: sticky; top: 0; z-index: 200; height: 116px;
  background: var(--bg); box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
  transition: background-color .25s linear, box-shadow .25s linear;
}
/* forsiden: gennemsigtig over hero-videoen, fuld så snart man scroller (main.js sætter .is-solid; uden JS: nojs.css) */
.home .site-header:not(.is-solid) { background-color: transparent; box-shadow: none; }
.header-inner { display: flex; align-items: center; height: 100%; }
.logo { position: relative; top: -5px; }
.logo img { width: 202px; height: auto; }
.menu { margin-left: auto; display: flex; height: 100%; align-items: center; }
.menu > ul { display: flex; margin: 0; padding: 0; list-style: none; }
.menu li { position: relative; }
.menu .level1 {
  display: block; padding: 17px 14px; font: 600 14px/14px var(--f-head); color: var(--head);
  white-space: nowrap; transition: color .15s linear; background: none; border: 0; cursor: pointer;
}
.menu .level1:hover, .menu li:hover > .level1, .menu .level1.active { color: var(--head-50); }
.menu .level2 {
  position: absolute; left: 0; top: 48px; z-index: 210; min-width: 225px; margin: 0; padding: 0; list-style: none;
  background: var(--bg); box-shadow: 0 20px 40px rgba(0, 0, 0, .45);
  opacity: 0; visibility: hidden; transition: opacity .15s linear, visibility 0s .15s;
}
.menu li:hover > .level2, .menu li:focus-within > .level2 { opacity: 1; visibility: visible; transition-delay: 0s; }
.menu li.dismissed > .level2 { opacity: 0; visibility: hidden; }  /* Esc skjuler undermenuen (main.js) */
.menu > ul > li:last-child .level2 { left: auto; right: 0; }
.menu .level2 a {
  display: block; padding: 18px 25px; border-bottom: 1px solid var(--line);
  font: 500 13px/1.1 var(--f-head); color: var(--head-50); white-space: nowrap; transition: color .15s linear;
}
.menu .level2 a:hover, .menu .level2 a.active { color: var(--head); }
.badge { display: block; width: 190px; margin-left: 32px; text-align: center; }
.badge svg { display: block; width: 44px; height: 44px; margin: 0 auto 1px; }
.badge span { display: block; font: 300 10px/16px var(--f-text); color: var(--text); }
.header-cta {
  display: block; min-width: 135px; padding: 12px 22px; border-radius: 5px; font: 600 12px/19.2px var(--f-head); white-space: nowrap;
  background: var(--cta-grad); border: 2px solid #bf9a4d; color: var(--on-accent); text-align: center;
  box-shadow: 0 10px 20px rgba(0, 0, 0, .05); transition: background-color .15s linear, border-color .15s linear;
}
.header-cta:hover { background: var(--cta-grad-hover); border-color: #cda75a; }

/* sidefaner (telefon / mail) */
.side-tabs { position: fixed; right: 0; top: 250px; z-index: 190; }
.side-tab {
  display: block; width: 52px; padding: 15px 0; margin-bottom: 5px; text-align: center;
  background: var(--cta-grad); color: var(--on-accent); border-radius: 3px 0 0 3px; border-left: 1px solid rgba(255, 255, 255, .1);
  font: 600 9px/14.4px var(--f-head); transition: background-color .15s linear;
}
.side-tab:hover { background: var(--cta-grad-hover); }
.side-tab span { display: block; font-size: 8px; line-height: 11px; }
.side-tab svg { display: block; width: 15px; height: 15px; margin: 0 auto 5px; }

/* mobil-topbar og menu (skjult på desktop) */
.mobile-bar, .mobile-logo, .offcanvas, .nav-scrim { display: none; }

/* ---------- hero (forside) ---------- */
/* hero fylder skærmen (min. 680px, maks. 1068px) og går op bag den gennemsigtige header (116px);
   indholdet står lodret centreret i feltet under headeren */
.hero {
  position: relative; display: flex; flex-direction: column; justify-content: center;
  height: clamp(680px, 100vh, 1068px); height: clamp(680px, 100svh, 1068px);
  margin-top: -116px; padding-top: 116px; overflow: hidden; background: #000; color: #fff;
}
.hero-media, .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-video { display: block; object-fit: cover; object-position: 50% 50%; background: #000 center / cover no-repeat; }
.hero::after {  /* rgba(0,0,0,.2) + header-shadow (sort ovenfra) */
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .52) 0%, rgba(0, 0, 0, 0) 70%), rgba(0, 0, 0, .2);
}
.hero .container { position: relative; z-index: 1; width: 100%; }
.hero-eyebrow { font: 600 12px/19.2px var(--f-head); letter-spacing: 2px; text-transform: uppercase; color: var(--light); margin-bottom: 5px; }
.hero-title { max-width: 1000px; font: 400 56px/76px var(--f-head); color: #fff; }
.hero-title strong { display: block; font-weight: 700; }
.hero-buttons { display: flex; gap: 25px; margin-top: 50px; }
.hero-stats { display: flex; gap: 56px; margin-top: 122px; }
.hero-stat { flex: none; }
@media (min-width: 1024px) and (max-height: 820px) {  /* lave skærme (bærbare): tættere, så tallene kan ses uden scroll */
  .hero-buttons { margin-top: 36px; }
  .hero-stats { margin-top: 64px; }
}
/* pause/afspil (WCAG 2.2.2: bevægelse over 5 sek. skal kunne stoppes) */
.hero-toggle {
  position: absolute; right: 32px; bottom: 32px; z-index: 2; display: grid; place-items: center;
  width: 40px; height: 40px; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1px solid rgba(255, 255, 255, .35); background: rgba(14, 13, 11, .45); color: #fff;
  transition: border-color .15s linear, color .15s linear;
}
.hero-toggle:hover { border-color: var(--light); color: var(--light); }
.hero-toggle svg { width: 16px; height: 16px; }
.hero-toggle .i-play, .hero-toggle.is-paused .i-pause { display: none; }
.hero-toggle.is-paused .i-play { display: block; }
.hero-stat b { display: block; font: 600 35px/56px var(--f-head); }
.hero-stat span { display: block; font: 300 18px/28.8px var(--f-head); }

/* ---------- intro (billede + segl + tekst) ---------- */
.intro { padding: 148px 0; }
.intro .container { display: flex; align-items: stretch; }
.intro-media { position: relative; width: 42.66%; flex: none; display: flex; flex-direction: column; }
.intro-img { position: relative; flex: 1; min-height: 480px; border-radius: 8px; overflow: hidden; box-shadow: 0 0 20px 5px rgba(0, 0, 0, .35); background: #000; }
.intro-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.intro-seal { display: block; position: absolute; bottom: -8px; right: -55px; width: 160px; text-align: center; }
.intro-seal .seal { display: block; width: 150px; height: 150px; margin: 0 auto; }
.pill {
  display: inline-block; margin-top: 10px; padding: 5px 10px; border-radius: 25px;
  background: var(--bg); box-shadow: 0 4px 18px rgba(0, 0, 0, .45);
  font: 300 13px/18.2px var(--f-text); color: var(--text); white-space: nowrap;
}
.intro-text { width: 36.5%; margin-left: auto; padding-top: 0; }
.intro-text .eyebrow { margin-bottom: 10px; }
.intro-text h1 { margin-bottom: 25.6px; }
.intro-cta { margin-top: 32px; }

/* ---------- USP (samme som intro, spejlvendt: tekst venstre, billede højre) ---------- */
.usp { padding-bottom: 74px; }
.usp-row { display: flex; align-items: stretch; }
.usp-text { width: 36.5%; }
.usp-text .eyebrow { margin-bottom: 10px; }
.usp-text .h1 { margin-bottom: 25.6px; }
.usp-list { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 28px; }
.usp-item h3 {
  min-height: 27px; padding-left: 35px; font: 700 17px/25px var(--f-head); color: var(--head);
  background: url("../img/usp-check.svg") left center / 26px 26px no-repeat; margin-bottom: 6px;
}
.usp-item p { font-size: 15px; line-height: 1.55; }
.usp-cta { margin-top: 32px; }
.usp-media { position: relative; flex: none; width: 42.66%; min-height: 480px; margin-left: auto; border-radius: 8px; box-shadow: 0 0 20px 5px rgba(0, 0, 0, .35); overflow: hidden; background: #000; }
.usp-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 72% 50%; }

/* ---------- 3 kort ---------- */
.cards { padding: 62px 0 147px; }
.cards-wrap { display: flex; gap: 24px; align-items: flex-start; }
.card {
  position: relative; flex: 1 1 0; display: block; border-radius: 5px; overflow: hidden; color: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .5); background: #000;
}
.card:nth-child(1) { height: 566px; }
.card:nth-child(2) { height: 585px; }
.card:nth-child(3) { height: 600px; }
.card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.card:hover img { transform: scale(1.03); }
.card-inner {
  position: relative; z-index: 1; height: 100%; padding: 30.7px; border-radius: 5px;
  background: linear-gradient(180deg, rgba(0, 0, 0, .52) 0%, rgba(0, 0, 0, 0) 60%), rgba(14, 13, 11, .15);
}
.card:nth-child(2) .card-inner {
  display: flex; flex-direction: column; justify-content: flex-end;
  background: linear-gradient(0deg, rgba(0, 0, 0, .47) 0%, rgba(0, 0, 0, 0) 60%), rgba(14, 13, 11, .15);
}
.card-eyebrow { font: 600 12px/19.2px var(--f-head); letter-spacing: 2px; text-transform: uppercase; }
.card-title { margin-top: 15px; font: 400 26px/33.8px var(--f-head); }
.card-title strong { font-weight: 700; }
.card-more { margin-top: 17px; font: 600 14px/22.4px var(--f-head); color: var(--accent); }
.card:nth-child(2) .card-more { margin-top: 36px; }

/* ---------- Kaiserlig-standarden (svanemærke-sektionen) ---------- */
.standard { padding: 148px 0 146px; background: var(--tint); }
.standard .container { display: flex; justify-content: space-between; align-items: flex-start; }
.standard-seal { width: 44%; flex: none; margin-top: -50px; text-align: center; }  /* seglet står 50px højere end teksten */
.seal-wrap { position: relative; max-width: 560px; margin: 0 auto; }
.standard-seal .seal { display: block; width: 100%; height: auto; }
.standard-seal p { margin-top: 12px; }
.standard-text { width: 50%; }
.standard-text .btn-cta { margin-top: 36px; }
/* animeret segl: tekstringen drejer langsomt. Kører kun, mens seglet er synligt (main.js sætter
   .is-playing), og kan stoppes med knappen (WCAG 2.2.2). Uden JS står seglet stille. */
.seal-anim .seal-spin { transform-origin: 200px 200px; animation: seal-spin 70s linear infinite paused; }
.seal-anim.is-playing .seal-spin { animation-play-state: running; }
.seal-toggle {
  position: absolute; right: 1%; bottom: 1%; display: grid; place-items: center;
  width: 40px; height: 40px; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1px solid rgba(201, 168, 91, .45); background: rgba(14, 13, 11, .6); color: var(--accent);
  transition: border-color .15s linear, color .15s linear;
}
.seal-toggle:hover { border-color: var(--light); color: var(--light); }
.seal-toggle svg { width: 16px; height: 16px; }
.seal-toggle .i-play, .seal-toggle.is-paused .i-pause { display: none; }
.seal-toggle.is-paused .i-play { display: block; }
@keyframes seal-spin { to { transform: rotate(360deg); } }
/* flueben uden kasser */
.checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 34px; margin: 25.6px 0 0; padding: 0; list-style: none; }
.prose .checklist li { display: flex; align-items: flex-start; gap: 12px; margin: 0; color: var(--head); font-weight: 400; }
.checklist li::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; background: url("../img/usp-check.svg") center / contain no-repeat; }

/* ---------- spørgsmål + tal (ryddet op: tekst venstre, ét tal-panel højre) ---------- */
.qa { padding: 148px 0 74px; }
.qa .container { display: flex; justify-content: space-between; align-items: center; }
.qa-text { width: 44%; }
.qa-text .eyebrow { margin-bottom: 10px; }
.qa-text .btn-cta { margin-top: 32px; }
.qa-stats {
  position: relative; isolation: isolate; width: 47%; padding: 34px 40px 18px; border-radius: 14px; overflow: hidden;
  border: 1px solid rgba(201, 168, 91, .24); box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
  background: radial-gradient(110% 70% at 100% 0%, rgba(201, 168, 91, .14) 0%, rgba(201, 168, 91, 0) 60%), linear-gradient(165deg, #221d14 0%, #12100c 100%);
}
.qa-stats::before, .when-panel::before, .faq-list::before, .prof-callout-panel::before, .prof-cta-panel::before, .charter::before, .way::before, .legal-summary::before, .message-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .92 0 0 0 0 .78 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 180px 180px; }
.qa-stats .eyebrow { margin-bottom: 6px; }
.qa-stats-title { margin-bottom: 10px; font: 600 24px/1.3 var(--f-head); color: var(--head); }
.stat-row { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 18px; padding: 20px 0; }
.stat-row + .stat-row { border-top: 1px solid rgba(201, 168, 91, .16); }
.stat-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(201, 168, 91, .45); color: var(--accent); }
.stat-icon svg { width: 21px; height: 21px; }
.stat-row .l { font: 600 13px/1.4 var(--f-head); letter-spacing: 1.4px; text-transform: uppercase; color: var(--text); }
.stat-row b { font: 700 40px/1 var(--f-head); color: var(--head); }
.stat-row b span { color: var(--accent); }

/* ---------- ydelser (billede + liste) ---------- */
.services { padding: 148px 0 147px; }
.services .container { display: flex; align-items: center; }
.services-img { width: 48%; aspect-ratio: 641 / 655; flex: none; border-radius: 10px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); }
.services-img img { width: 100%; height: 100%; object-fit: cover; }
.services-text { flex: 1; padding: 0 0 0 8%; }
.services-text .h20 { margin-top: 25.6px; }
.service-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 34px; margin: 20px 0 0; padding: 0; list-style: none; }
.prose .service-list li { display: flex; align-items: center; gap: 12px; margin: 0; }
.service-list li::before { content: ""; flex: none; width: 22px; height: 22px; background: url("../img/usp-check.svg") center / contain no-repeat; }
.services-text .service-list a { display: inline-flex; align-items: center; gap: 8px; font: 600 15px/1.4 var(--f-head); color: var(--head); transition: color .15s linear; }
.services-text .service-list a svg { width: 14px; height: 14px; color: var(--accent); opacity: 0; transform: translateX(-4px); transition: opacity .15s linear, transform .15s linear; }
.services-text .service-list a:hover, .services-text .service-list a:focus-visible { color: var(--accent); }
.services-text .service-list a:hover svg, .services-text .service-list a:focus-visible svg { opacity: 1; transform: none; }
.services-text .btn-cta { margin-top: 30px; }

/* ---------- strimmel (logoer i forlægget) ---------- */
.strip { position: relative; z-index: 1; height: 182px; background: var(--bg); box-shadow: 0 0 20px rgba(0, 0, 0, .6); }
.strip .container { display: flex; align-items: center; justify-content: space-between; height: 100%; gap: 20px; }
.strip-label { font: 600 12px/19.2px var(--f-head); letter-spacing: 2px; text-transform: uppercase; color: var(--accent); max-width: 190px; }
.strip-item { font: 600 22px/1.2 var(--f-head); color: var(--head); opacity: .8; white-space: nowrap; }

/* ---------- kontakt-sektion ---------- */
.contact { padding: 123px 0 90px; background: var(--tint); }
.contact .container { display: flex; justify-content: space-between; align-items: flex-start; }
.contact-left { width: 40%; }
.contact-right { width: 47%; }
.contact-left .h20 { margin-top: 25.6px; margin-bottom: 20px; }
.form-panel {
  position: relative; isolation: isolate; padding: 36px; border-radius: 14px; overflow: hidden;
  border: 1px solid rgba(201, 168, 91, .24); box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
  background: radial-gradient(110% 70% at 100% 0%, rgba(201, 168, 91, .14) 0%, rgba(201, 168, 91, 0) 60%), linear-gradient(165deg, #221d14 0%, #12100c 100%);
}
.form-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .92 0 0 0 0 .78 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 180px 180px; }
.panel-title { margin: 6px 0 6px; font: 600 24px/1.3 var(--f-head); color: var(--head); }
.form-panel .small-note { margin-bottom: 22px; }

/* ---------- formular (som forlæggets) ---------- */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-grid .full { grid-column: 1 / -1; }
.form-field { display: block; margin: 0; }
.form-field input, .form-field textarea, .form-field select {
  display: block; width: 100%; height: 52px; padding: 14px 16px 14px 46px; margin: 0;
  background-color: rgba(0, 0, 0, .32); background-repeat: no-repeat; background-position: 15px center; background-size: 18px 18px;
  border: 1px solid rgba(243, 237, 224, .12); border-radius: 8px;
  font: 400 14px/22px var(--f-head); color: var(--head); outline: none;
  transition: border-color .15s linear, box-shadow .15s linear, background-color .15s linear;
}
.form-field textarea { height: 120px; resize: vertical; background-position: 15px 15px; }
.form-field select { appearance: none; -webkit-appearance: none; padding-right: 44px; }
.form-field[data-icon="user"] :is(input, textarea, select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E"); }
.form-field[data-icon="phone"] :is(input, textarea, select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l2 5-2.6 1.6a11 11 0 0 0 5.5 5.5L15 13.5l5 2V19a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
.form-field[data-icon="mail"] :is(input, textarea, select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6.5 8.5 6.5 8.5-6.5'/%3E%3C/svg%3E"); }
.form-field[data-icon="message"] :is(input, textarea, select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E"); }
.form-field[data-icon="building"] :is(input, textarea, select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V6l8-3 8 3v15'/%3E%3Cpath d='M9 21v-5h6v5M8 9h.01M12 9h.01M16 9h.01M8 12.5h.01M12 12.5h.01M16 12.5h.01'/%3E%3C/svg%3E"); }
.form-field[data-icon="pin"] :is(input, textarea, select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11.4a7 7 0 0 1 14 0C19 14.9 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.6' r='2.4'/%3E%3C/svg%3E"); }
.form-field[data-icon="calendar"] :is(input, textarea, select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.form-field[data-icon="ruler"] :is(input, textarea, select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17 17 3l4 4L7 21z'/%3E%3Cpath d='m7 13 2 2M10 10l2 2M13 7l2 2'/%3E%3C/svg%3E"); }
.form-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V6l8-3 8 3v15'/%3E%3Cpath d='M9 21v-5h6v5M8 9h.01M12 9h.01M16 9h.01M8 12.5h.01M12 12.5h.01M16 12.5h.01'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important; background-position: 15px center, right 16px center; background-size: 18px 18px, 14px 14px; }
.form-field[data-icon="calendar"] select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a85b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important; }
.form-field select option { background: var(--bg); color: var(--head); }
.form-field select:has(option[value=""]:checked) { color: var(--head-50); }
.form-field input::placeholder, .form-field textarea::placeholder { color: var(--head-50); opacity: 1; }
.form-field input:hover, .form-field textarea:hover, .form-field select:hover { border-color: rgba(201, 168, 91, .4); }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color: var(--accent); background-color: rgba(0, 0, 0, .45); box-shadow: 0 0 0 3px rgba(201, 168, 91, .18); }
.form-field.has-error input, .form-field.has-error textarea { border-color: #e58a72; }
.field-error { margin-top: 4px; font: 400 12px/1.5 var(--f-head); color: #e58a72; }
.field-error:empty { display: none; }
.form-submit { width: 100%; margin-top: 16px; }
.form-trust { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 16px 0 0; padding: 0; list-style: none; font: 400 12.5px/1.4 var(--f-head); color: var(--text); }
.form-trust li { display: flex; align-items: center; gap: 7px; }
.form-trust li::before { content: ""; width: 16px; height: 16px; background: url("../img/usp-check.svg") center / contain no-repeat; }
.form-after { margin-top: 18px; }
.form-after a { text-decoration: underline; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-status:empty { display: none; }
.form-status { padding: 14px 16px; border-radius: 3px; font: 400 14px/1.6 var(--f-head); color: var(--head); }
.form-status.is-ok { background: var(--accent-10); border: 2px solid var(--accent); }
.form-status.is-error { background: rgba(229, 138, 114, .12); border: 2px solid #e58a72; }
.form-status a { color: var(--accent); font-weight: 600; }
.form.is-sending button[type=submit] { opacity: .7; pointer-events: none; }
.form.is-sent .form-body { display: none; }

/* ---------- footer ---------- */
.site-footer {
  position: relative; isolation: isolate; color: #fff; padding: 98px 0 100px;
  background:
    radial-gradient(110% 75% at 12% 0%, rgba(201, 168, 91, .14) 0%, rgba(201, 168, 91, 0) 58%),
    radial-gradient(80% 65% at 100% 100%, rgba(201, 168, 91, .07) 0%, rgba(201, 168, 91, 0) 62%),
    linear-gradient(180deg, #0f0d09 0%, var(--footer) 52%, #030302 100%);
}
.site-footer::before {  /* fin kornet tekstur */
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .92 0 0 0 0 .78 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px 180px;
}
.site-footer::after {  /* guldlinje i overkanten */
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, rgba(201, 168, 91, 0) 0%, rgba(201, 168, 91, .55) 50%, rgba(201, 168, 91, 0) 100%);
}
.footer-cols { display: flex; justify-content: space-between; }
.footer-col { width: 40%; }
.footer-col.narrow { width: 17%; }
.footer-col h2 { margin: 0 0 20px; font: 600 18px/23.4px var(--f-head); color: #fff; }
.footer-col ul { margin: 0; padding: 0; list-style: none; }
.footer-col li { margin: 0; }
.footer-col li a { display: inline-block; margin-bottom: 15px; font: 300 16px/25.6px var(--f-text); color: #fff; opacity: .5; transition: opacity .125s linear, transform .125s linear; }
.footer-col li a:hover { opacity: 1; transform: translateX(4px); }
.footer-col .btn-cta { display: flex; width: 100%; max-width: 240px; margin-top: 10px; }
.footer-bottom { display: flex; align-items: flex-end; margin-top: 60px; padding-top: 35px; border-top: 1px solid rgba(255, 255, 255, .1); font: 300 13px/20.8px var(--f-text); color: rgba(255, 255, 255, .5); }
.footer-bottom > div { width: 24%; }
.footer-bottom a { font-weight: 700; color: #fff; }
.footer-bottom .right { width: auto; margin-left: auto; text-align: right; font-weight: 400; }

/* ---------- undersider ---------- */
/* sidehoved: foto med mørk overgang mod midten, sidens titel og brødkrummer centreret (lodret og vandret) */
.band { position: relative; height: 358px; overflow: hidden; background: #000; }
.band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.band::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(60% 75% at 50% 50%, rgba(14, 13, 11, .78) 0%, rgba(14, 13, 11, .55) 55%, rgba(14, 13, 11, .35) 100%);
}
.band-inner { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; text-align: center; }
.band .band-title {
  max-width: 900px; padding: 0; background: none; font: 600 52px/1.15 var(--f-head); letter-spacing: -.5px;
  color: #fff; text-shadow: 0 2px 24px rgba(0, 0, 0, .35);
}
.crumbs ol { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; row-gap: 4px; margin: 18px 0 0; padding: 0; list-style: none; font: 500 14px/1.4 var(--f-head); }
.crumbs li { display: flex; align-items: center; color: var(--accent); }
.crumbs li + li::before {
  content: ""; flex: none; width: 6px; height: 6px; margin: 0 14px 0 10px;
  border-top: 1.5px solid rgba(243, 237, 224, .45); border-right: 1.5px solid rgba(243, 237, 224, .45); transform: rotate(45deg);
}
.crumbs a { color: rgba(243, 237, 224, .82); transition: color .15s linear; }
.crumbs a:hover { color: var(--light); }
.page .h1-wrap .h1 { margin-bottom: 0; }
.page { padding: 98px 0; background: var(--tint); }
.page .h1-wrap { margin-bottom: 56px; }
.page-cols { display: flex; justify-content: space-between; align-items: flex-start; }
.page-body { flex: 1; min-width: 0; margin-right: 64px; }
.page-main * + h2 { margin-top: 25.6px; }
.page-main .btn-cta { margin: 0 0 41px; }
/* kortet starter i højde med h1 og følger med ned, mens man læser (top = header 116px + 24px luft).
   Er skærmen for lav til hele kortet, sætter main.js --card-top, så bunden med knappen altid kan ses. */
.form-card {
  position: sticky; top: var(--card-top, 140px);
  width: 429px; flex: none; padding: 36.9px; border-radius: 15px; border: 1px solid rgba(201, 168, 91, .24);
  background: radial-gradient(110% 70% at 100% 0%, rgba(201, 168, 91, .14) 0%, rgba(201, 168, 91, 0) 60%), linear-gradient(165deg, #221d14 0%, #12100c 100%);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .5); font: 300 13px/20.8px var(--f-text); color: var(--head-50);
}
.form-card .form-grid { grid-template-columns: 1fr; }
.form-card .h2 { margin-bottom: 10px; }
.form-card .card-intro { margin-bottom: 20.8px; }
.form-card .form-after { margin-top: 13px; font-size: 13px; color: var(--head-50); }
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 36px -7px 30px; }
.gallery img { width: 100%; height: 146px; object-fit: cover; }
.wide-img { margin: 0 0 24px; overflow: hidden; }
.prose .wide-img + p { margin-top: 0; }
.prose p + .gallery { margin-top: 36px; }
.wide-img img { width: 100%; height: auto; aspect-ratio: 807 / 454; object-fit: cover; }

/* ---------- Profil (historien, kvalitet & kontrol, kaiserlig-standarden): egen fortællende skabelon ---------- */
.profile-tabs { background: var(--bg); border-bottom: 1px solid rgba(201, 168, 91, .16); }
.profile-tabs ul { display: flex; justify-content: center; gap: 8px; margin: 0 auto; list-style: none; }
.profile-tabs li { flex: none; }
.profile-tabs a { position: relative; display: block; padding: 24px 22px; font: 600 15px/1.2 var(--f-head); color: var(--head-50); white-space: nowrap; transition: color .15s linear; }
.profile-tabs a:hover, .profile-tabs a[aria-current="page"] { color: var(--head); }
.profile-tabs a[aria-current="page"]::after { content: ""; position: absolute; left: 22px; right: 22px; bottom: -1px; height: 2px; background: var(--accent); }
.prof-head { max-width: 820px; margin-bottom: 48px; }
.prof-head .eyebrow, .prof-intro .eyebrow, .prof-feature .eyebrow, .prof-callout .eyebrow { margin-bottom: 10px; }
.prof-intro { padding: 110px 0; background: var(--tint); }
.prof-intro .container { display: flex; justify-content: space-between; align-items: flex-start; gap: 60px; }
.prof-intro-head { width: 40%; }
.prof-intro-text { width: 52%; }
.prof-intro-text .lead { font: 400 21px/1.6 var(--f-head); color: var(--head); }
.prof-intro-text .h1 + p, .prof-feature-text .h1 + p, .prof-callout-panel .h1 + p { margin-top: 24px; }
.prof-intro--aside .container { align-items: center; }
.prof-intro--aside .prof-intro-head { width: 38%; }
.prof-seal .seal { display: block; width: 100%; max-width: 420px; height: auto; margin: 0 auto; }

.prof-stats { padding: 90px 0; }
.prof-stats-head { margin-bottom: 40px; }
.prof-stats-title { margin-top: 6px; font: 600 24px/1.3 var(--f-head); color: var(--head); }
.prof-stats-row { display: grid; grid-template-columns: repeat(3, 1fr); }
.prof-stat { padding: 6px 40px; border-left: 1px solid rgba(201, 168, 91, .22); }
.prof-stat:first-child { padding-left: 0; border-left: 0; }
.prof-stat b { display: block; font: 700 76px/1 var(--f-head); letter-spacing: -1px; color: var(--head); }
.prof-stat b span { color: var(--accent); }
.prof-stat .l { display: block; margin-top: 14px; font: 600 13px/1.4 var(--f-head); letter-spacing: 2px; text-transform: uppercase; color: var(--text); }

.prof-feature { padding: 110px 0; background: var(--tint); }
.prof-feature .container { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.prof-feature-media { width: 50%; border-radius: 8px; overflow: hidden; background: #000; box-shadow: 0 0 20px 5px rgba(0, 0, 0, .35); }
.prof-feature-media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.prof-feature-text { width: 42%; }

.prof-values { padding: 110px 0; }
.prof-values-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.prof-value { padding-top: 28px; border-top: 2px solid var(--accent); }
.prof-value h3 { font: 700 22px/1.3 var(--f-head); color: var(--head); }
.prof-value p { margin-top: 12px; font-size: 16px; line-height: 1.65; }

.prof-loop { padding: 110px 0; }
.loop-list { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; margin: 0; padding: 0; list-style: none; }
.loop-list::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: rgba(201, 168, 91, .3); }
.loop-list li { position: relative; padding-top: 30px; }
.loop-list li::before { content: ""; position: absolute; top: -4px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--accent); }
.loop-no { display: block; font: 600 64px/1 var(--f-head); letter-spacing: 1px; color: transparent; -webkit-text-stroke: 1px var(--accent); }
@supports not (-webkit-text-stroke: 1px black) { .loop-no { color: var(--accent); } }
.loop-list h3 { margin-top: 20px; font: 700 20px/1.3 var(--f-head); color: var(--head); }
.loop-list p { margin-top: 10px; font-size: 15px; line-height: 1.65; }
.loop-again { display: flex; align-items: center; gap: 10px; margin-top: 44px; font: 600 15px/1.4 var(--f-head); color: var(--accent); }
.loop-again svg { flex: none; width: 22px; height: 22px; }

.prof-callout { padding: 110px 0; background: var(--tint); }
.prof-callout-panel { display: flex; justify-content: space-between; align-items: center; gap: 60px; padding: 52px 56px; }
.prof-callout-panel .prose { max-width: 680px; }
.prof-callout-phone { flex: none; display: flex; flex-direction: column; align-items: flex-start; padding-left: 48px; border-left: 1px solid rgba(201, 168, 91, .2); }
.prof-callout-phone .l { font: 600 12px/1.6 var(--f-head); letter-spacing: 2px; text-transform: uppercase; color: var(--accent); }
.prof-phone { margin-top: 8px; font: 700 40px/1.1 var(--f-head); color: var(--head); transition: color .15s linear; }
.prof-phone:hover { color: var(--light); }
.prof-callout-phone .h { margin-top: 10px; font-size: 14px; color: var(--head-50); }

.prof-why { padding: 110px 0; }
.usp-list-3 { grid-template-columns: repeat(3, 1fr); gap: 36px 48px; }

.prof-charter { padding: 110px 0; }
.charter { max-width: 920px; margin: 0 auto; padding: 64px 72px 52px; text-align: center; }
.charter-crown { display: block; width: 56px; height: 56px; margin: 0 auto 18px; }
.charter-title { margin-top: 8px; font: 400 34px/1.25 var(--f-head); color: var(--head); }
.charter-list { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 40px; max-width: 720px; margin: 40px auto 0; padding: 0; list-style: none; text-align: left; }
.charter-list li { display: flex; align-items: flex-start; gap: 12px; color: var(--head); font-size: 16px; line-height: 1.5; }
.charter-list li::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; background: url("../img/usp-check.svg") center / contain no-repeat; }
.charter-sign { margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(201, 168, 91, .2); font: 600 12px/1.6 var(--f-head); letter-spacing: 2px; text-transform: uppercase; color: var(--head-50); }
.charter-after { max-width: 720px; margin: 72px auto 0; text-align: center; }
.charter-after h2 + p { margin-top: 16px; }

.prof-cta { padding: 98px 0; background: var(--tint); }
.prof-cta-panel { display: flex; justify-content: space-between; align-items: center; gap: 48px; padding: 52px 56px; }
.prof-cta-text { max-width: 760px; }
.prof-cta-text .h1 + p { margin-top: 22px; }
.prof-cta-panel .btn-cta { flex: none; }

/* ---------- nummererede trin, lodret (kontakt + gratis tilbud) ---------- */
.mini-steps, .prose .mini-steps { position: relative; margin: 0; padding: 0; list-style: none; }
.mini-steps li, .prose .mini-steps li { position: relative; display: grid; grid-template-columns: 40px 1fr; column-gap: 18px; margin: 0; padding-bottom: 24px; }
.mini-steps li:not(:last-child)::after { content: ""; position: absolute; left: 20px; top: 46px; bottom: 6px; width: 1px; background: rgba(201, 168, 91, .3); }
.mini-no { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(201, 168, 91, .6); color: var(--accent); font: 600 15px/1 var(--f-head); }
.mini-steps h3 { padding-top: 9px; font: 700 16px/1.35 var(--f-head); color: var(--head); }
.mini-steps p, .prose .mini-steps p { margin: 4px 0 0; font-size: 15px; line-height: 1.55; }

/* ---------- kontakt ---------- */
.contact-ways { padding: 72px 0 110px; background: var(--tint); }  /* under formularen */
.contact-ways-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.way { padding: 36px 34px 32px; }
.way-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 22px; border-radius: 50%; border: 1px solid rgba(201, 168, 91, .45); color: var(--accent); }
.way-icon svg { width: 22px; height: 22px; }
.way .eyebrow { margin-bottom: 8px; }
.way-big { display: block; font: 700 26px/1.25 var(--f-head); color: var(--head); overflow-wrap: anywhere; transition: color .15s linear; }
a.way-big:hover { color: var(--light); }
.way-sub { margin-top: 10px; font-size: 14px; color: var(--head-50); }
.way-sub a { font-weight: 700; color: var(--accent); }
.way-sub a:hover { color: var(--light); }
.contact-main { padding: 98px 0 0; background: var(--tint); }
.contact-main .container { display: flex; justify-content: space-between; align-items: flex-start; gap: 60px; }
.contact-form-col { width: 56%; }
.contact-next { width: 36%; padding-top: 12px; }
.contact-next .eyebrow { margin-bottom: 10px; }
.contact-next .h1 { margin-bottom: 32px; }
.contact-cvr { margin-top: 20px; font-size: 14px; color: var(--head-50); }

/* ---------- gratis tilbud ---------- */
.offer { padding: 98px 0 110px; background: var(--tint); }
/* grid: tekst og trin til venstre, formularen til højre over begge rækker; på mobil kommer formularen lige efter teksten */
.offer .container { display: grid; grid-template-columns: 40% 54%; grid-template-areas: "text form" "more form"; justify-content: space-between; align-items: start; }
.offer-text { grid-area: text; }
.offer-more { grid-area: more; }
.offer-text .eyebrow { margin-bottom: 10px; }
.offer-text .h1 + p { margin-top: 24px; }
.offer-text .lead { font: 400 19px/1.65 var(--f-head); color: var(--head); }
.prose .offer-points { display: grid; gap: 18px; margin: 32px 0 0; padding: 0; list-style: none; }
.prose .offer-points li { display: grid; grid-template-columns: 32px 1fr; column-gap: 14px; margin: 0; }
.offer-check { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(201, 168, 91, .14); color: var(--accent); }
.offer-check svg { width: 16px; height: 16px; }
.offer-points h3 { padding-top: 5px; font: 700 16px/1.35 var(--f-head); color: var(--head); }
.prose .offer-points p { margin: 3px 0 0; font-size: 15px; line-height: 1.55; }
.offer-more .offer-steps-title { margin-top: 44px; font: 600 12px/1.6 var(--f-head); letter-spacing: 2px; text-transform: uppercase; color: var(--accent); }
.offer-more .mini-steps { margin-top: 18px; }
.offer-call { display: flex; flex-direction: column; align-items: flex-start; margin-top: 12px; padding-top: 26px; border-top: 1px solid rgba(201, 168, 91, .2); }
.offer-call .l { font: 600 12px/1.6 var(--f-head); letter-spacing: 2px; text-transform: uppercase; color: var(--accent); }
.offer-call .way-big { margin-top: 6px; }
.offer-call .h { margin-top: 6px; font-size: 14px; color: var(--head-50); }
.offer-form { grid-area: form; align-self: stretch; }  /* strækkes, så formularen kan følge med ned langs teksten */
.offer-form .form-panel { position: sticky; top: var(--card-top, 140px); }

/* ---------- privatlivspolitik: indholdsfortegnelse der følger med + kort resumé ---------- */
.legal-page { padding: 98px 0 110px; background: var(--tint); }
.legal-page .container { display: flex; align-items: flex-start; gap: 64px; }
.legal-toc { position: sticky; top: 140px; flex: none; width: 260px; }
.legal-toc .eyebrow { margin-bottom: 14px; }
.legal-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; border-left: 1px solid rgba(201, 168, 91, .2); }
.legal-toc li { counter-increment: toc; }
.legal-toc a { display: block; margin-left: -1px; padding: 9px 0 9px 18px; border-left: 2px solid transparent; font: 500 14px/1.4 var(--f-head); color: var(--head-50); transition: color .15s linear, border-color .15s linear; }
.legal-toc a::before { content: counter(toc) ". "; color: var(--accent); }
.legal-toc a:hover, .legal-toc a.is-active { border-left-color: var(--accent); color: var(--head); }
.legal-body { flex: 1; min-width: 0; max-width: 780px; counter-reset: part; }
.legal-summary { margin-bottom: 52px; padding: 30px 32px; }
.legal-summary .offer-points { margin-top: 14px; }
.legal-part + .legal-part { margin-top: 44px; padding-top: 44px; border-top: 1px solid rgba(201, 168, 91, .14); }
.legal-part h2 { margin-bottom: 14px; font-size: 26px; }
.legal-part h2::before { counter-increment: part; content: counter(part) ". "; color: var(--accent); }
.legal-body .legal-updated { margin-top: 44px; font-size: 13px; color: var(--head-50); }

/* ---------- beskedsider (tak, 404) ---------- */
.message { padding: 110px 0; background: var(--tint); }
.message-panel { max-width: 760px; margin: 0 auto; padding: 56px 56px 52px; text-align: center; }
.message-icon { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 24px; border-radius: 50%; border: 1px solid rgba(201, 168, 91, .5); color: var(--accent); }
.message-icon svg { width: 32px; height: 32px; }
.message-panel .h1 { background-position: 50% 100%; }
.message-panel p { margin-top: 22px; }
.message-panel .btn-cta { margin-top: 30px; }
.message-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 30px 0 0; padding: 0; list-style: none; }
.prose .message-errors { display: inline-block; margin: 18px 0 0; text-align: left; color: var(--head); }  /* send.php uden JS */
.message:only-child { display: flex; align-items: center; min-height: 100vh; }  /* send.php's side står alene (ingen header/footer) */
.message:only-child > .container { width: 100%; }
.message-links a { display: block; padding: 10px 18px; border-radius: 999px; border: 1px solid rgba(201, 168, 91, .4); font: 600 14px/1.2 var(--f-head); color: var(--head); transition: border-color .15s linear, color .15s linear; }
.message-links a:hover { border-color: var(--light); color: var(--light); }

/* ---------- ydelsessider: indhold ved siden af formularen ---------- */
.page-main .lead { font: 400 19px/1.65 var(--f-head); color: var(--head); }
.page-main .svc-h2, .page-main .focus-h2 { margin-top: 56px; }
.focus-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 36px; margin-top: 28px; }
.focus-item { display: grid; grid-template-columns: 48px 1fr; column-gap: 16px; align-items: start; }
.focus-icon { grid-row: span 2; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(201, 168, 91, .45); color: var(--accent); }
.focus-icon svg { width: 22px; height: 22px; }
.focus-item h3 { padding-top: 3px; font: 700 17px/1.4 var(--f-head); color: var(--head); }
.prose .focus-item p { margin: 4px 0 0; font-size: 15px; line-height: 1.55; }
/* paneler med guldgradient + korn (samme flade som tal-panelet og kontaktformularen) */
.when-panel, .faq-list, .prof-callout-panel, .prof-cta-panel, .charter, .way, .legal-summary, .message-panel {
  position: relative; isolation: isolate; border-radius: 14px; overflow: hidden;
  border: 1px solid rgba(201, 168, 91, .24); box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
  background: radial-gradient(110% 70% at 100% 0%, rgba(201, 168, 91, .14) 0%, rgba(201, 168, 91, 0) 60%), linear-gradient(165deg, #221d14 0%, #12100c 100%);
}
.when-panel { margin-top: 56px; padding: 32px 36px 22px; }
.charter { border-color: rgba(201, 168, 91, .55); outline: 1px solid rgba(201, 168, 91, .25); outline-offset: -12px; }
.prose .when-panel .when-title { margin: 6px 0 14px; font: 600 22px/1.3 var(--f-head); color: var(--head); }
.prose .when-panel .when-row { display: grid; grid-template-columns: 180px 1fr; gap: 20px; align-items: baseline; margin: 0; padding: 16px 0; border-top: 1px solid rgba(201, 168, 91, .16); }
.when-row b { font: 700 16px/1.4 var(--f-head); color: var(--accent); }
.when-row span { font-size: 15px; line-height: 1.55; }
.prose .when-panel .when-note { margin: 0; padding-top: 14px; border-top: 1px solid rgba(201, 168, 91, .16); font: 400 13px/1.6 var(--f-head); color: var(--head-50); }

/* ---------- ydelsessider: sektioner under (spørgsmål, andre ydelser) ---------- */
.svc-head { max-width: 820px; margin-bottom: 44px; }
.svc-head .eyebrow { margin-bottom: 10px; }
.svc-faq { padding: 98px 0; }
.svc-faq .container { display: flex; justify-content: space-between; align-items: flex-start; }
.faq-text { width: 36.5%; }
.faq-text .eyebrow { margin-bottom: 10px; }
.faq-text .btn-cta { margin-top: 32px; }
.faq-list { width: 56%; padding: 6px 36px; }
.faq-item + .faq-item { border-top: 1px solid rgba(201, 168, 91, .16); }
.faq-item summary {
  position: relative; display: block; padding: 22px 48px 22px 0; cursor: pointer; list-style: none;
  font: 600 17px/1.4 var(--f-head); color: var(--head); transition: color .15s linear;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: ""; position: absolute; right: 0; top: 50%; width: 30px; height: 30px; margin-top: -15px; border-radius: 50%;
  border: 1px solid rgba(201, 168, 91, .45); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%23c9a85b' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat; transition: transform .2s ease;
}
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item summary:hover { color: var(--light); }
.faq-item p { margin: 0; padding: 0 48px 22px 0; font-size: 15px; line-height: 1.65; }
.cards--more { padding: 98px 0 120px; background: var(--tint); }
.cards--more .card:nth-child(n) { height: 400px; }
.cards--more .card:nth-child(n) .card-inner {
  display: flex; flex-direction: column; justify-content: flex-end;
  background: linear-gradient(0deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .2) 55%, rgba(0, 0, 0, 0) 75%), rgba(14, 13, 11, .15);
}
.cards--more .card-title { margin-top: 0; }
.card-short { margin-top: 8px; font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .85); }
.cards--more .card:nth-child(n) .card-more { margin-top: 16px; }

/* ==========================================================================
   Mellembredder (forlægget skalerer header og stabler kolonner)
   ========================================================================== */
@media (max-width: 1439px) {
  .side-tabs { display: none; }  /* kun hvor der er plads uden for indholdet */
}
@media (max-width: 1300px) {
  .badge { margin-left: 16px; width: 150px; }
}
@media (max-width: 1240px) {
  .badge span { display: none; }
  .badge { width: 60px; }
}
@media (max-width: 1150px) {
  .menu .level1 { padding: 17px 10px; }
}
@media (max-width: 1023px) {
  .site-header { height: 72px; }
  .logo img { width: 150px; }
  .menu .level1 { font-size: 13px; padding: 17px 8px; }
  .badge { display: none; }
  .header-cta { width: auto; padding: 8px 14px; font-size: 12px; margin-left: 10px; }
  .side-tabs { display: none; }
  .container { padding: 0 40px; }
  .hero { height: clamp(640px, 100vh, 832px); height: clamp(640px, 100svh, 832px); margin-top: -72px; padding-top: 72px; }
  .hero-title { font-size: 36px; line-height: 48px; }
  .hero-stats { margin-top: 90px; gap: 40px; }
  .intro { padding: 98px 0; }
  .intro .container, .standard .container, .qa .container, .services .container,
  .contact .container, .page-cols, .usp-row { flex-direction: column; }
  .intro-media, .intro-text, .standard-seal, .standard-text, .qa-text, .qa-stats, .usp-text, .usp-media,
  .services-text, .contact-left, .contact-right, .page-body { width: 100%; }
  .page-body { margin-right: 0; }
  .intro-img { flex: none; height: 420px; min-height: 0; }
  .intro-seal { right: 20px; bottom: -100px; }
  .intro-text { padding-top: 120px; }
  h1, .h1 { font-size: 30px; }
  .usp-media { height: 380px; min-height: 0; margin-top: 50px; }
  .cards-wrap { flex-direction: column; }
  .card, .card:nth-child(1), .card:nth-child(2), .card:nth-child(3) { width: 100%; flex: none; height: 420px; }
  .card-title { font-size: 24px; line-height: 31.2px; }
  .standard-seal { margin-top: 0; }
  .seal-wrap { max-width: 360px; }
  .seal-toggle { width: 36px; height: 36px; }
  .standard-text { margin-top: 50px; }
  .qa { padding: 98px 0 74px; }
  .qa-stats { margin-top: 50px; }
  .services-img { width: 100%; height: 420px; aspect-ratio: auto; }
  .services-text { padding: 50px 0 0; }
  .strip { height: auto; }
  .strip .container { flex-wrap: wrap; justify-content: center; padding-top: 40px; padding-bottom: 40px; gap: 16px 30px; }
  .strip-label { max-width: none; width: 100%; text-align: center; }
  .contact-right { margin-top: 50px; }
  .form-card { position: static; width: 100%; margin-top: 50px; }
  .footer-cols { flex-wrap: wrap; gap: 40px 0; }
  .footer-col, .footer-col.narrow { width: 50%; }
  .footer-bottom { flex-wrap: wrap; gap: 14px; }
  .footer-bottom > div { width: 50%; }
  .footer-bottom .right { width: 100%; text-align: left; }
  .gallery { grid-template-columns: repeat(2, 1fr); margin: 30px 0; }
  .svc-faq .container { flex-direction: column; }
  .faq-text, .faq-list { width: 100%; }
  .faq-list { margin-top: 40px; }
  .cards--more { padding: 98px 0; }
  .cards--more .card:nth-child(n) { height: 300px; }
  .contact-ways-row { grid-template-columns: 1fr; gap: 16px; }
  .contact-main .container, .legal-page .container { flex-direction: column; gap: 48px; }
  .contact-form-col, .contact-next { width: 100%; }
  .offer .container { grid-template-columns: 1fr; grid-template-areas: "text" "form" "more"; row-gap: 48px; }
  .offer-more .offer-steps-title { margin-top: 0; }
  .offer-form .form-panel { position: relative; top: auto; }  /* ellers rykker main.js' --card-top boksen op over teksten */
  .legal-toc { position: static; width: 100%; }
  .legal-body { max-width: none; }
  .prof-intro .container, .prof-feature .container, .prof-callout-panel, .prof-cta-panel { flex-direction: column; align-items: flex-start; }
  .prof-intro .container { gap: 28px; }
  .prof-intro-head, .prof-intro-text, .prof-feature-media, .prof-feature-text, .prof-intro--aside .prof-intro-head { width: 100%; }
  .prof-seal .seal { max-width: 300px; margin: 0; }
  .prof-feature .container { gap: 44px; }
  .prof-values-row { grid-template-columns: 1fr; gap: 36px; }
  .loop-list { grid-template-columns: 1fr 1fr; row-gap: 48px; }
  .loop-list::before { display: none; }
  .loop-list li { border-top: 1px solid rgba(201, 168, 91, .3); }
  .usp-list-3 { grid-template-columns: 1fr 1fr; }
  .prof-callout-phone { width: 100%; padding: 28px 0 0; border-left: 0; border-top: 1px solid rgba(201, 168, 91, .2); }
  .prof-intro, .prof-feature, .prof-values, .prof-loop, .prof-callout, .prof-why, .prof-charter { padding: 90px 0; }
}
@media (max-width: 860px) {
  .menu { display: none; }
  .header-cta { margin-left: auto; }
}

/* ==========================================================================
   Mobil <= 767 (forlæggets mobil-layout: farvet topbar, logo-felt, off-canvas menu)
   ========================================================================== */
@media (max-width: 767px) {
  html { scroll-padding-top: 70px; }
  .site-header { display: none; }
  .mobile-bar { display: flex; position: sticky; top: 0; z-index: 220; height: 58px; }
  .mobile-bar > * { display: block; height: 58px; text-align: center; font: 600 9px/14.4px var(--f-head); }
  .menu-btn { width: 20%; border: 0; background: var(--tint); color: var(--head); cursor: pointer; padding: 0; }
  .menu-btn svg { width: 20px; height: 20px; margin: 0 auto; display: block; }
  .mobile-bar a { width: 40%; padding-top: 12px; background: var(--cta-grad); color: var(--on-accent); border-left: 1px solid rgba(255, 255, 255, .1); }
  .mobile-bar a svg { display: block; width: 15px; height: 15px; margin: 0 auto 5px; }
  .mobile-logo { display: block; padding: 22px 0; background: var(--bg); text-align: center; }
  .mobile-logo img { width: 58%; max-width: 252px; margin: 0 auto; }
  .offcanvas {
    display: block; position: fixed; top: 0; left: 0; bottom: 0; z-index: 400; width: 260px; overflow-y: auto;
    padding: 12.3px; background: var(--tint); transform: translateX(-100%); transition: transform .3s ease, visibility 0s .3s; visibility: hidden;
  }
  body.nav-open .offcanvas { transform: none; visibility: visible; transition-delay: 0s; }
  body.nav-open { overflow: hidden; }
  .offcanvas ul { margin: 0; padding: 0; list-style: none; }
  .offcanvas .l1 { display: block; padding: 20px 25px; border-bottom: 1px solid rgba(243, 237, 224, .1); font: 600 18px/1.3 var(--f-head); color: var(--head-75); }
  .offcanvas .l1.active, .offcanvas .l1:hover { color: var(--head); }
  .offcanvas .l2 { display: block; padding: 12px 25px 12px 40px; border-bottom: 1px solid rgba(243, 237, 224, .06); font: 400 14px/1.3 var(--f-head); color: var(--head-50); }
  .offcanvas .l2.active, .offcanvas .l2:hover { color: var(--head); }
  .offcanvas-close { display: block; width: 100%; padding: 14px 25px; border: 0; background: none; color: var(--head-50); font: 600 12px var(--f-head); letter-spacing: 2px; text-transform: uppercase; text-align: left; cursor: pointer; }
  .nav-scrim { display: block; position: fixed; inset: 0; z-index: 390; background: rgba(0, 0, 0, .55); opacity: 0; visibility: hidden; transition: opacity .3s, visibility 0s .3s; }
  body.nav-open .nav-scrim { opacity: 1; visibility: visible; transition-delay: 0s; }

  .container { padding: 0 12px; }
  /* forsiden: logofeltet ligger gennemsigtigt over hero-videoen (højde = 2 × 22px + logoets højde) */
  .home { --mlogo-h: calc(44px + min(58vw, 252px) * 139 / 520); }
  .home .mobile-logo { position: absolute; top: 58px; left: 0; right: 0; z-index: 2; background: transparent; }
  .hero { display: block; height: auto; min-height: calc(727px + var(--mlogo-h)); margin-top: 0; padding-top: 0; padding-bottom: 60px; }
  .hero .container { padding-top: calc(73px + var(--mlogo-h)); }
  .hero-toggle { right: 16px; bottom: 16px; width: 36px; height: 36px; }
  .hero-title { font-size: 28px; line-height: 38px; }
  .intro-seal { margin-left: 12px; }
  .hero-buttons { flex-direction: column; align-items: flex-start; gap: 25px; margin-top: 25px; }
  .hero-buttons .btn-cta { width: 100%; }
  .hero-stats { flex-direction: column; margin-top: 60px; gap: 4px; }
  .hero-stat { display: flex; align-items: baseline; gap: 10px; }
  .hero-stat b { font-size: 20px; line-height: 32px; }
  .hero-stat span { font-size: 15px; line-height: 24px; }

  .intro { padding: 73px 0 74px; }
  .intro-img { height: 240px; }
  .intro-cta { width: 100%; }
  .intro-img img { object-position: 50% 18%; }
  .intro-seal { position: relative; top: auto; right: auto; bottom: auto; width: 235px; margin-top: -55px; }
  .intro-seal .seal { width: 100px; height: 100px; }
  .intro-text { padding-top: 42px; }
  h1, .h1 { font-size: 28px; line-height: 36.4px; }
  h2, .h2 { font-size: 24px; line-height: 31.2px; }

  .usp-list { grid-template-columns: 1fr; gap: 20px; }
  .usp-item h3 { font-size: 14px; line-height: 19.6px; min-height: 22px; background-size: 22px 22px; margin-bottom: 4px; }
  .usp-media { margin-top: 40px; height: 260px; }
  .usp { padding-bottom: 50px; }

  .cards { padding: 74px 0 0; }
  .cards-wrap { gap: 12px; }
  .card, .card:nth-child(1), .card:nth-child(3) { height: 365px; }
  .card:nth-child(2) { height: 384px; }
  .card-inner, .card:nth-child(2) .card-inner {
    display: flex; flex-direction: column; justify-content: flex-end; padding: 0 24.6px 36.9px;
    background: linear-gradient(0deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, 0) 70%), rgba(14, 13, 11, .15);
  }
  .card-title { margin-top: 15px; font-size: 22px; line-height: 28.6px; }
  .card-more, .card:nth-child(2) .card-more { margin-top: 17px; }

  .standard { padding: 74px 0; margin-top: 74px; }
  .seal-wrap { max-width: 200px; }
  .seal-toggle { right: 0; bottom: 0; width: 32px; height: 32px; }
  .seal-toggle svg { width: 14px; height: 14px; }
  .standard-text { margin-top: 40px; }
  .standard-text .btn-cta { margin-top: 30px; width: 100%; }
  .checklist, .service-list { grid-template-columns: 1fr; }
  .qa-stats { padding: 26px 20px 10px; }
  .stat-row { grid-template-columns: 42px 1fr auto; gap: 14px; padding: 16px 0; }
  .stat-icon { width: 42px; height: 42px; }
  .stat-row b { font-size: 30px; }
  .stat-row .l { font-size: 11px; }
  .qa .btn-cta, .services-text .btn-cta, .usp-cta { width: 100%; }
  .form-panel { padding: 24px 18px; }
  .form-grid { grid-template-columns: 1fr; }

  .qa { padding: 74px 0 50px; }
  .qa-stats { margin-top: 40px; }
  .refs-title { font-size: 28px; line-height: 36.4px; }

  .services { padding: 74px 0; }
  .services-img { height: 185px; border-radius: 10px 10px 0 0; }
  .services-text { padding: 36.9px 0 0; }

  .strip .container { flex-direction: column; gap: 14px; padding-top: 50px; padding-bottom: 50px; }

  .contact { padding: 74px 0 60px; }
  .contact-right { margin-top: 40px; }

  .site-footer { padding: 49px 0 40px; }
  .footer-cols { flex-direction: column; gap: 30px; }
  .footer-col, .footer-col.narrow { width: 100%; }
  .footer-col .btn-cta { max-width: none; }
  .footer-bottom { flex-direction: column; align-items: center; text-align: center; gap: 12px; margin-top: 40px; }
  .footer-bottom > div, .footer-bottom .right { width: 100%; text-align: center; margin: 0; }

  .band { height: 220px; }
  .band::after { background: rgba(14, 13, 11, .62); }
  .band .band-title { font-size: 30px; letter-spacing: 0; }
  .crumbs ol { margin-top: 12px; font-size: 13px; }
  .crumbs li + li::before { margin: 0 10px 0 7px; }
  .page { padding: 60px 0; }
  .page .h1-wrap { margin-bottom: 36px; }
  .form-card { padding: 24.6px; border-radius: 12px; }
  .gallery img { height: 110px; }
  .page-main .lead { font-size: 17px; }
  .page-main .svc-h2, .page-main .focus-h2 { margin-top: 44px; }
  .focus-grid { grid-template-columns: 1fr; gap: 22px; }
  .when-panel { margin-top: 44px; padding: 24px 20px 14px; }
  .prose .when-panel .when-row { grid-template-columns: 1fr; gap: 4px; }
  .svc-faq { padding: 60px 0; }
  .svc-head { margin-bottom: 30px; }
  .faq-list { padding: 4px 20px; }
  .faq-item summary { padding: 18px 42px 18px 0; font-size: 16px; }
  .faq-item p { padding-right: 0; }
  .faq-text .btn-cta { width: 100%; }
  .cards.cards--more { padding: 60px 0 74px; }
  .cards--more .card:nth-child(n) { height: 260px; }
  .cards--more .card:nth-child(n) .card-inner { padding: 0 24.6px 30px; }
  .offcanvas-cta { display: flex; justify-content: center; margin: 24px 12px 30px; }
  .contact-main { padding: 60px 0 0; }
  .contact-ways { padding: 48px 0 60px; }
  .way { padding: 26px 22px; }
  .way-big { font-size: 22px; }
  .offer, .legal-page, .message { padding: 60px 0; }
  .offer-text .lead { font-size: 17px; }
  .legal-summary { margin-bottom: 40px; padding: 24px 20px; }
  .legal-part h2 { font-size: 22px; }
  .message-panel { padding: 36px 22px; }
  .profile-tabs ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
  .profile-tabs a { display: flex; align-items: center; justify-content: center; height: 100%; padding: 16px 6px; font-size: 13px; text-align: center; white-space: normal; }
  .profile-tabs a[aria-current="page"]::after { left: 10px; right: 10px; }
  .prof-intro, .prof-feature, .prof-values, .prof-loop, .prof-callout, .prof-why, .prof-charter, .prof-cta, .prof-stats { padding: 60px 0; }
  .prof-intro-text .lead { font-size: 18px; }
  .prof-head { margin-bottom: 32px; }
  .prof-stats-row { grid-template-columns: 1fr; }
  .prof-stat, .prof-stat:first-child { padding: 22px 0; border-left: 0; border-top: 1px solid rgba(201, 168, 91, .22); }
  .prof-stat:first-child { padding-top: 0; border-top: 0; }
  .prof-stat b { font-size: 56px; }
  .loop-list, .usp-list-3 { grid-template-columns: 1fr; }
  .loop-no { font-size: 52px; }
  .prof-callout-panel, .prof-cta-panel { gap: 28px; padding: 32px 22px; }
  .prof-phone { font-size: 32px; }
  .prof-cta-panel .btn-cta { width: 100%; }
  .charter { padding: 40px 22px 32px; outline-offset: -8px; }
  .charter-title { font-size: 26px; }
  .charter-list { grid-template-columns: 1fr; margin-top: 28px; }
  .charter-after { margin-top: 48px; text-align: left; }
}

@media (max-width: 360px) {
  .hero-title { font-size: 25px; line-height: 34px; }
  .crumbs ol { font-size: 12px; }
  .crumbs li + li::before { width: 5px; height: 5px; margin: 0 8px 0 5px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  /* seglet starter ikke af sig selv her (main.js), men vælger brugeren "Afspil", kører det i normal fart */
  .seal-anim.is-playing .seal-spin { animation-duration: 70s !important; }
}
@media print {
  .site-header, .mobile-bar, .side-tabs, .offcanvas, .site-footer, form { display: none !important; }
}
