/* ==========================================================================
   DIREKTE DETAILING — fælles stylesheet for alle -direkte-detailing-sider
   Trukket ud af forsiden 19. sep 2026. Ret her, ikke i de enkelte sider.
   ========================================================================== */
:root{
  --onyx:#050505;
  --kul:#0E0E0D;
  --grafit:#171613;
  --linje:#232019;
  --linje-lys:rgba(var(--kridt-rgb),.14);
  --roeg:#8C867A;
  --kridt:#F2F1ED;
  --champagne:#E7CE93;
  --guld:#C9A227;
  --antik:#8A6B22;

  /* Tripler + tonede bunde, så hele paletten kan skiftes ét sted.
     Se dd-palette-blaa.css og dd-palette-roed.css.                 */
  --guld-rgb:201,162,39;
  --kridt-rgb:242,241,237;
  --varm-bund:#15120B;
  --varm-bund-2:#14110A;
  --champagne-lys:#F3E5C2;
  --tekst:#ADA79B;
  --tekst-2:#B8B2A6;

  --disp:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --etikette:"Jost",system-ui,sans-serif;

  --r:2px;
  --maxw:1120px;
  --header-h:92px;

  /* Guld-hairline: den bærende grafiske gestus i hele systemet */
  --hairline:linear-gradient(90deg,transparent,rgba(var(--guld-rgb),.55),transparent);
}

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

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 12px);
  -webkit-text-size-adjust:100%;
}

@media(prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
}

body {
  margin: 0;
  font-family: var(--disp);
  font-weight: 400;
  background: var(--onyx);
  color: var(--kridt);
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

h1,h2,h3,h4{
  font-weight:600;
  letter-spacing:-.034em;
  line-height:1.1;
  color:var(--kridt);
  text-wrap:balance;
}

img,video{ max-width:100%; }

/* ── Etiketten — Jost er kun til dette ────────────────────────────────── */
.eyebrow{
  display:block;
  font-family:var(--etikette);
  font-weight:500;
  font-size:.7rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--champagne);
  margin:0 0 16px;
}

/* ── Guld-hairline under overskrifter ─────────────────────────────────── */
.rule-under::after{
  content:"";
  display:block;
  width:64px;
  height:1px;
  background:linear-gradient(90deg,var(--guld),rgba(var(--guld-rgb),0));
  margin:18px 0 0;
}
.services-header .rule-under::after,
.explainer .rule-under::after,
.reviews .rule-under::after,
.before-after .rule-under::after{
  width:88px;
  background:var(--hairline);
  margin-left:auto;
  margin-right:auto;
}

/* ── Sektionskanter: guld-hairline i stedet for grå streg ─────────────── */
.services-section,
.explainer,
.reviews,
.before-after,
.vores-mission,
.seo-faq-container,
.contact-section,
footer{
  position:relative;
}
.services-section::before,
.explainer::before,
.reviews::before,
.before-after::before,
.vores-mission::before,
.seo-faq-container::before,
.contact-section::before,
footer::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:1px;
  background:var(--hairline);
  opacity:.75;
}

/* ── Indgangsbevægelse ────────────────────────────────────────────────── */
@keyframes dd-rise{
  from{ opacity:0; transform:translateY(18px); }
  to  { opacity:1; transform:none; }
}

/* JS tilføjer .reveal, så indhold altid er synligt uden JS */
.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .75s cubic-bezier(.22,.7,.2,1), transform .75s cubic-bezier(.22,.7,.2,1);
  transition-delay:var(--d,0s);
}
.reveal.in{ opacity:1; transform:none; }

@media(prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ── HEADER ───────────────────────────────────────────────────────────── */
header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 60;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 50px;
  gap: 20px;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background .35s ease, padding .35s ease, border-color .35s ease;
}

header.scrolled{
  background: rgba(5,5,5,.94);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  padding-block: 14px;
  border-bottom-color: rgba(var(--guld-rgb),.24);
}

/* Ordmærket — mærke + hairline + navn. Erstatter det gamle logobillede. */
.brand-lockup{
  display:flex;
  align-items:center;
  gap:15px;
  text-decoration:none;
  min-width:0;
}

.bl-mark{
  display:block;
  height:30px;
  width:auto;
  color:var(--guld);
  flex-shrink:0;
  transition:height .35s ease;
}
header.scrolled .bl-mark{ height:25px; }

.bl-divider{
  width:1px;
  height:30px;
  background:linear-gradient(180deg,transparent,rgba(var(--guld-rgb),.5),transparent);
  flex-shrink:0;
}

.bl-text{ display:flex; flex-direction:column; gap:7px; min-width:0; }

.bl-name{
  font-family:var(--disp);
  font-weight:600;
  font-size:1.02rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--kridt);
  line-height:1;
  white-space:nowrap;
}
.bl-name b{ font-weight:600; color:var(--champagne); }

.bl-sub{
  font-family:var(--etikette);
  font-weight:500;
  font-size:.55rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--roeg);
  line-height:1;
  white-space:nowrap;
}

nav.main-nav { display: flex; align-items: center; gap: 26px; flex-shrink: 0; }

nav.main-nav a {
  color: var(--tekst-2);
  text-decoration: none;
  position: relative;
  white-space: nowrap;
  font-size: .93rem;
  transition: color .2s;
}
nav.main-nav a:hover { color: var(--kridt); }

nav.main-nav a::after{
  content:"";
  position:absolute;
  bottom:-6px;
  left:0;
  width:0%;
  height:1px;
  background:var(--guld);
  transition:width .3s;
}
nav.main-nav a:hover::after{ width:100%; }

/* Telefonnummeret i headeren — det hurtigste konverteringspunkt der findes */
nav.main-nav a.nav-tel{
  color:var(--champagne);
  font-variant-numeric:tabular-nums;
  padding-left:26px;
  border-left:1px solid var(--linje-lys);
}
nav.main-nav a.nav-tel::after{ background:var(--champagne); }

a:focus-visible,
button:focus-visible{
  outline:2px solid var(--guld);
  outline-offset:3px;
}

/* Hamburgermenu */
.hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:34px;
  height:34px;
  background:none;
  border:none;
  cursor:pointer;
  padding:0;
  z-index:200;
  flex-shrink:0;
}
.hamburger span{
  display:block;
  height:1.5px;
  width:100%;
  background:var(--kridt);
  transition:0.3s;
}
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(5,5,5,0.72);
  z-index:90;
}
.nav-overlay.open{ display:block; }

/* ── HERO ─────────────────────────────────────────────────────────────── */
.hero {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
  opacity: 0;
  /* Varm gradering — samme retning som annoncernes: lidt mæthed, lidt
     kontrast, en anelse mørkere. Det er her guldet kommer fra. */
  filter: saturate(1.045) contrast(1.035) brightness(.96);
  transition: opacity 2s ease-in-out;
}
.hero-video.top-video { opacity: 1; z-index: -1; }

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(130% 78% at 50% 108%, rgba(var(--guld-rgb),.115), transparent 62%),
    linear-gradient(180deg,
      rgba(5,5,5,0.82) 0%,
      rgba(5,5,5,0.46) 42%,
      rgba(5,5,5,0.94) 100%);
  box-shadow: inset 0 0 240px 70px rgba(5,5,5,.72);
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 880px;
  padding: var(--header-h) 22px 0;
  color: var(--kridt);
}

.hero-content > *{
  animation: dd-rise .95s cubic-bezier(.22,.7,.2,1) both;
}
.hero-content > *:nth-child(1){ animation-delay:.10s }
.hero-content > *:nth-child(2){ animation-delay:.20s }
.hero-content > *:nth-child(3){ animation-delay:.30s }
.hero-content > *:nth-child(4){ animation-delay:.40s }
.hero-content > *:nth-child(5){ animation-delay:.52s }

@media(prefers-reduced-motion: reduce){
  .hero-content > *{ animation:none; }
}

.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:16px;
  font-family:var(--etikette);
  font-weight:500;
  font-size: 1.2rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--champagne);
  margin:0 0 26px;
}
.hero-eyebrow::before,
.hero-eyebrow::after{
  content:"";
  width:38px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--guld));
}
.hero-eyebrow::after{ background:linear-gradient(90deg,var(--guld),transparent); }

.hero-content h1 {
  font-size: clamp(2.15rem, 6vw, 4rem);
  letter-spacing: -.042em;
  line-height: 1.04;
  margin: 0 0 20px;
}

.hero-content .hero-sub {
  font-size: clamp(1rem, 1.9vw, 1.2rem);
  font-weight: 400;
  letter-spacing: -.01em;
  color: var(--tekst-2);
  margin: 0;
  line-height: 1.6;
}

.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 36px;
  border: 1px solid rgba(var(--kridt-rgb),0.28);
  border-radius: var(--r);
  color: var(--kridt);
  text-decoration: none;
  font-weight: 500;
  font-size: .97rem;
  line-height: 1.2;
  transition: background .25s ease, border-color .25s ease, color .25s ease;
}

.cta:hover {
  background: rgba(var(--kridt-rgb),0.09);
  border-color: var(--kridt);
}

/* Primær knap — HVID, ikke guld. Guldbudgettet går til hairlines,
   etiketter og priser; hvidt på sort er lige så tydeligt og dyrere at se på. */
.cta-primary {
  background: var(--kridt);
  border-color: var(--kridt);
  color: var(--onyx);
  font-weight: 600;
}
.cta-primary:hover {
  background: #fff;
  border-color: #fff;
  color: var(--onyx);
}

.cta-row {
  margin: 36px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}

@media(max-width:480px){
  .cta-row .cta { flex: 1 1 100%; padding: 15px 24px; }
}

/* Faktastriben — tre tal der gør løftet konkret, delt af hairlines */
.hero-facts{
  list-style:none;
  margin:46px 0 0;
  padding:26px 0 0;
  border-top:1px solid rgba(var(--guld-rgb),.26);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
}
.hero-facts li{
  padding:0 clamp(18px,4vw,42px);
  border-right:1px solid var(--linje-lys);
  text-align:center;
}
.hero-facts li:last-child{ border-right:0; }
.hero-facts .n{
  display:block;
  font-size:1.5rem;
  font-weight:600;
  letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
  color:var(--champagne);
  line-height:1.1;
}
.hero-facts .l{
  display:block;
  margin-top:6px;
  font-family:var(--etikette);
  font-weight:500;
  font-size:.6rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--roeg);
}

@media(max-width:560px){
  .hero-facts{ margin-top:34px; padding-top:20px; }
  .hero-facts li{ padding:0 14px; }
  .hero-facts .n{ font-size:1.15rem; }
  .hero-facts .l{ font-size:.54rem; letter-spacing:.16em; }
}

/* ── SERVICES ─────────────────────────────────────────────────────────── */
.services-section {
  padding: clamp(60px,6.5vw,88px) 20px clamp(74px,9vw,124px);
  background: var(--onyx);
  color: var(--kridt);
  scroll-margin-top: var(--header-h);
}

.services-header {
  text-align: center;
  max-width: 660px;
  margin: 0 auto clamp(34px,3.5vw,44px);
}

.services-header h2 {
  font-size: clamp(1.85rem, 4vw, 2.7rem);
  margin: 0;
}

.services-header p {
  font-size: 1.04rem;
  color: var(--tekst);
  margin: 18px 0 0;
}

/* Pakkeindeks — én linje der viser at der er fem pakker og hvad de
   koster, så premium ikke først opdages efter to skærmruller.        */
.pakke-index{
  list-style: none;
  max-width: var(--maxw);
  margin: 0 auto clamp(34px,4vw,48px);
  padding: 15px 0;
  border-top: 1px solid rgba(var(--guld-rgb),.2);
  border-bottom: 1px solid rgba(var(--guld-rgb),.2);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 8px;
}
.pakke-index li{
  display: flex;
  align-items: baseline;
  font-family: var(--etikette);
  font-weight: 500;
  font-size: .62rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--roeg);
  white-space: nowrap;
}
.pakke-index li::after{
  content: "·";
  margin: 0 clamp(10px,1.7vw,19px);
  color: rgba(var(--kridt-rgb),.22);
}
.pakke-index li:last-child::after{ content: none; }
.pakke-index b{
  font-family: var(--disp);
  font-weight: 600;
  font-size: .86rem;
  letter-spacing: -.015em;
  font-variant-numeric: tabular-nums;
  color: var(--tekst-2);
  margin-left: 9px;
}
.pakke-index li.p{ color: var(--champagne); }
.pakke-index li.p b{ color: var(--champagne); }

.pakke-index a{
  display: flex;
  align-items: baseline;
  color: inherit;
  text-decoration: none;
  padding-bottom: 3px;
  border-bottom: 1px solid transparent;
  transition: color .2s, border-color .2s;
}
.pakke-index a:hover{ color: var(--kridt); border-bottom-color: var(--guld); }
.pakke-index a:hover b{ color: var(--kridt); }
.pakke-index li.p a:hover,
.pakke-index li.p a:hover b{ color: var(--champagne); }

#standard{ scroll-margin-top: calc(var(--header-h) + 14px); }
#premium{ scroll-margin-top: calc(var(--header-h) + 14px); }

@media(max-width:560px){
  .pakke-index li{ font-size: .56rem; letter-spacing: .14em; }
  .pakke-index li::after{ margin: 0 9px; }
  .pakke-index b{ font-size: .78rem; margin-left: 7px; }
}

.services-wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.service-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ── Premium-niveauet ─────────────────────────────────────────────────
   Ingen ramme om det hele — det bliver til en reklame. Niveauet
   markeres med én hairline med navnet i, og resten af fremhævelsen
   ligger i kortene selv: varmere bund, større foto, +-listen og prisen. */
.premium-block{ margin-top: clamp(22px,2.6vw,32px); }

.tier-rule{
  display: flex;
  align-items: center;
  gap: 22px;
  max-width: 760px;
  margin: 0 auto 18px;
}
.tier-rule::before,
.tier-rule::after{
  content:"";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(var(--guld-rgb),.55));
}
.tier-rule::after{ background: linear-gradient(90deg,rgba(var(--guld-rgb),.55),transparent); }
.tier-rule span{
  font-family: var(--etikette);
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--champagne);
  white-space: nowrap;
}

.premium-intro{
  max-width: 560px;
  margin: 0 auto clamp(22px,2.4vw,28px);
  text-align: center;
  font-size: .98rem;
  color: var(--tekst);
}

.premium-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 760px;
  margin: 0 auto;
}

@media(max-width:860px){
  .service-row, .premium-row { grid-template-columns: 1fr; }
}

/* Hvad Premium lægger oveni — det er her opgraderingen bliver konkret */
.svc-lead{
  font-family: var(--etikette);
  font-weight: 500;
  font-size: .64rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--roeg);
  margin: 0 0 15px;
}

.svc-plus{
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.svc-plus li{
  display: grid;
  grid-template-columns: 13px minmax(0,1fr);
  gap: 11px;
  font-size: .93rem;
  line-height: 1.5;
  color: var(--tekst);
}
.svc-plus li::before{
  content: "+";
  color: var(--guld);
  font-weight: 600;
}

/* Prisforskellen sagt højt — den gør opgraderingen lille */
.svc-delta{
  display: block;
  margin-top: 10px;
  font-family: var(--etikette);
  font-weight: 500;
  font-size: .6rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--roeg);
}

.svc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--kul);
  border: 1px solid var(--linje);
  border-radius: var(--r);
  overflow: hidden;
  transition: transform .4s cubic-bezier(.22,.7,.2,1), border-color .4s ease;
}

/* Guld-hairline der løber ud over kortets overkant ved hover */
.svc-card::after{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:1px;
  background:var(--hairline);
  transform:scaleX(0);
  transition:transform .55s cubic-bezier(.22,.7,.2,1);
  z-index:6;
}
.svc-card:hover{
  transform: translateY(-5px);
  border-color: rgba(var(--guld-rgb),.42);
}
.svc-card:hover::after{ transform:scaleX(1); }

/* Premium: varmere bund, større foto og en guldstreg der altid er tændt */
.svc-card.premium {
  background: linear-gradient(180deg,var(--varm-bund) 0%, var(--kul) 58%);
  border-color: rgba(var(--guld-rgb),.32);
}
.svc-card.premium:hover { border-color: rgba(231,206,147,.6); }

.svc-card.premium::after{
  transform: scaleX(1);
  opacity: .5;
  transition: opacity .45s ease;
}
.svc-card.premium:hover::after{ opacity: 1; }

.svc-card.premium .svc-img{ height: 200px; }

.svc-img {
  width: 100%;
  height: 178px;
  object-fit: cover;
  display: block;
  background: var(--grafit);
  filter: saturate(1.03) contrast(1.02) brightness(.99);
}

/* "Mest populær" — pladen: guldramme, ikke gyldent fyld */
.svc-ribbon {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 7;
  background: rgba(5,5,5,.68);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(var(--guld-rgb),.62);
  color: var(--champagne);
  font-family: var(--etikette);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 7px 13px;
  border-radius: var(--r);
}

.svc-body {
  padding: 24px 24px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.svc-eyebrow {
  font-family: var(--etikette);
  font-size: 0.64rem;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--roeg);
  margin-bottom: 12px;
}
.svc-card.premium .svc-eyebrow { color: var(--champagne); }

.svc-body h3 {
  font-size: 1.24rem;
  margin: 0 0 10px;
}

.svc-body .desc {
  color: var(--tekst);
  font-size: 0.93rem;
  margin: 0 0 22px;
  flex: 1;
}

/* Prisen får sin egen linje med en hairline over — som på en regning */
.svc-price {
  font-size: 1.38rem;
  font-weight: 600;
  letter-spacing: -.028em;
  font-variant-numeric: tabular-nums;
  color: var(--champagne);
  margin: 0 0 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(var(--guld-rgb),.22);
}

.svc-price span {
  font-family: var(--etikette);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--roeg);
  margin-left: 9px;
}

.svc-ctas { display: flex; gap: 10px; }

.svc-ctas a {
  flex: 1;
  text-align: center;
  padding: 12px 10px;
  border-radius: var(--r);
  font-size: 0.88rem;
  text-decoration: none;
  transition: 0.2s;
}

.svc-ctas .btn-book {
  background: var(--kridt);
  color: var(--onyx);
  font-weight: 600;
}
.svc-ctas .btn-book:hover { background: #fff; }

/* Premium-knappen i champagne — det eneste sted et gyldent fyld tjener
   et formål: den markerer niveauet, når de to knapper står ved siden af. */
.svc-card.premium .svc-ctas .btn-book { background: var(--champagne); }
.svc-card.premium .svc-ctas .btn-book:hover { background: var(--champagne-lys); }

.svc-ctas .btn-more {
  border: 1px solid var(--linje-lys);
  color: var(--tekst-2);
  font-weight: 500;
}
.svc-ctas .btn-more:hover { border-color: var(--kridt); color: var(--kridt); }

.services-note {
  max-width: 700px;
  margin: 46px auto 0;
  text-align: center;
  padding: 20px 22px;
  border: 1px solid var(--linje);
  border-radius: var(--r);
  color: var(--roeg);
  font-size: 0.9rem;
}

.services-note a {
  color: var(--champagne);
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid rgba(var(--guld-rgb),.32);
}
.services-note a:hover { border-bottom-color: var(--champagne); }

@media(max-width:768px){
  .services-section { padding: 68px 16px; }
}

/* ── EXPLAINER ────────────────────────────────────────────────────────── */
.explainer {
  text-align: center;
  padding: clamp(74px, 2vw,124px) 20px;
  background: var(--kul);
  color: var(--kridt);
}

.explainer h2 {
  font-size: clamp(1.75rem, 3.6vw, 2.4rem);
  margin: 0;
}
.explainer h2 a { color: inherit; text-decoration: none; }

.explainer > p {
  font-size: 1.04rem;
  margin: 22px 0 clamp(44px,5vw,58px);
  color: var(--tekst);
}

.explainer-boxes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 22px;
  max-width: var(--maxw);
  margin: 0 auto;
}

.explainer-box {
  background: var(--onyx);
  border: 1px solid var(--linje);
  border-radius: var(--r);
  padding: 40px 26px 36px;
  width: 310px;
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform .4s cubic-bezier(.22,.7,.2,1), border-color .4s;
}
.explainer-box:hover {
  transform: translateY(-5px);
  border-color: rgba(var(--guld-rgb),.42);
}

/* Trinnummeret erstatter emojien — rækkefølgen er reel information */
.explainer-trin {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  color: var(--champagne);
  line-height: 1;
}
.explainer-trin::after{
  content:"";
  display:block;
  width:32px;
  height:1px;
  background:var(--hairline);
  margin:16px auto 20px;
}

.explainer-box h3 { font-size: 1.1rem; margin: 0 0 12px; }
.explainer-box p { margin: 0; font-size: .93rem; color: var(--tekst); }

.explainer .cta { margin-top: 46px; align-self: center; }

/* ── REVIEWS ──────────────────────────────────────────────────────────── */
.reviews {
  padding: clamp(74px,2vw,124px) 20px;
  text-align: center;
  background: var(--onyx);
}

.reviews h2 {
  font-size: clamp(1.75rem, 3.6vw, 2.4rem);
  margin: 0 0 clamp(40px,5vw,54px);
}

/* ── Anmeldelsesbåndet ────────────────────────────────────────────────
   Kortene glider roligt forbi i ét uendeligt løb. Sættet klones to
   gange af JS, så teksten kun står ét sted i HTML'en; uden JS bliver
   båndet i stedet et almindeligt vandret scroll-felt.
   Vigtigt: afstanden mellem kort er margin-right, ikke gap — med gap
   passer en tredjedel af banen ikke præcis med ét sæt, og løkken
   hopper synligt for hver omgang.                                    */
.review-band{
  margin-inline: -20px;          /* fuld bredde ud over sektionens luft */
  overflow-x: auto;              /* fallback uden JS */
  scrollbar-width: none;
}
.review-band::-webkit-scrollbar{ display: none; }

.review-band.koerer{
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}

.review-track{
  display: flex;
  width: max-content;
  padding-inline: 20px;
}

@keyframes review-loop{
  from{ transform: translate3d(0,0,0); }
  to  { transform: translate3d(-33.3333%,0,0); }
}

.review-band.koerer .review-track{
  animation: review-loop 62s linear infinite;
  padding-inline: 0;
}

/* Hold stille når man vil læse */
.review-band.koerer:hover .review-track,
.review-band.koerer:focus-within .review-track{ animation-play-state: paused; }

@media(prefers-reduced-motion: reduce){
  .review-band.koerer .review-track{ animation: none; }
}

.review {
  flex: 0 0 clamp(282px, 31vw, 372px);
  margin-right: 22px;
  background: var(--kul);
  padding: 28px 26px;
  border-radius: var(--r);
  border: 1px solid var(--linje);
  transition: border-color .4s;
  text-align: left;
  display: flex;
  flex-direction: column;
}
.review:hover { border-color: rgba(var(--guld-rgb),.42); }

.review p {
  color: var(--tekst-2);
  font-size: 0.98rem;
  margin: 0;
  flex: 1;
}

.review span {
  display: block;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(var(--guld-rgb),.2);
  font-size: 0.9rem;
  letter-spacing: .3em;
  color: var(--champagne);
}

.review h4 {
  margin: 10px 0 0;
  font-family: var(--etikette);
  font-weight: 500;
  font-size: .66rem;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--roeg);
}

/* ── FØR / EFTER ──────────────────────────────────────────────────────── */
.before-after {
  text-align: center;
  padding: clamp(74px,9vw,124px) 20px;
  background: var(--kul);
  color: var(--kridt);
}

.before-after h2 {
  font-size: clamp(1.85rem, 4vw, 2.7rem);
  margin: 0;
}

.before-after .ba-subtitle {
  font-size: 1.04rem;
  color: var(--tekst);
  margin: 22px 0 clamp(42px,5vw,56px);
}

.ba-container { max-width: 1000px; margin: 0 auto; }

.ba-images {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  justify-content: center;
}

.ba-image-wrapper-simple { flex: 1 1 300px; text-align: center; }

.ba-image-wrapper-simple img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r);
  border: 1px solid var(--linje);
  filter: saturate(1.02) contrast(1.015);
}

.ba-image-wrapper-simple p {
  display: inline-block;
  margin: 16px 0 0;
  padding: 6px 16px;
  border: 1px solid rgba(var(--guld-rgb),.4);
  border-radius: var(--r);
  font-family: var(--etikette);
  font-weight: 500;
  font-size: .62rem;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--champagne);
}

.ba-container-border {
  border: 1px solid var(--linje);
  border-radius: var(--r);
  padding: 20px;
  margin: 0 0 20px;
  background: var(--onyx);
}
.ba-container-border:last-child{ margin-bottom:0; }

/* ── MISSION ──────────────────────────────────────────────────────────── */
.vores-mission {
  padding: clamp(74px,9vw,124px) 20px;
  background: var(--onyx);
  color: var(--kridt);
}

.mission-content {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.mission-text {
  padding: 44px;
  background: var(--kul);
  border: 1px solid var(--linje);
  border-radius: var(--r);
}

.mission-content h2 {
  font-size: clamp(1.75rem, 3.6vw, 2.4rem);
  margin: 0 0 24px;
}

.mission-content p {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--tekst);
  margin: 0;
}

.mission-images { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.mission-images img {
  width: 100%;
  height: auto;
  min-height: 260px;
  object-fit: cover;
  border-radius: var(--r);
  border: 1px solid var(--linje);
  filter: saturate(1.03) contrast(1.02);
  transition: transform .5s cubic-bezier(.22,.7,.2,1), border-color .4s ease;
}
.mission-images img:hover {
  transform: scale(1.02);
  border-color: rgba(var(--guld-rgb),.5);
}

/* ── SEO + FAQ ────────────────────────────────────────────────────────── */
/* Grid frem for flex: en <details> som flexbarn falder tilbage til
   indholdsbredde i stedet for at fylde sin kolonne. Grid gør det
   forudsigeligt, og auto-fit klarer selv skiftet til én kolonne.     */
.seo-faq-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  align-items: start;   /* en lukket boks strækkes ikke af en åben */
  gap: 24px;
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(74px,1vw,124px) 20px;
}

.seo-text, .faq {
  min-width: 0;
  background: var(--kul);
  border: 1px solid var(--linje);
  border-radius: var(--r);
  color: var(--tekst);
  line-height: 1.7;
}

/* ── De to bokse som dropdowns ────────────────────────────────────────
   Native <details>, så de virker uden JavaScript, kan betjenes med
   tastatur, og teksten bliver stadig indekseret af Google.           */
.seo-text > summary,
.faq > summary{
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 28px 34px;
  border-bottom: 1px solid transparent;
  transition: background .25s ease, border-color .25s ease;
}
.seo-text > summary::-webkit-details-marker,
.faq > summary::-webkit-details-marker{ display: none; }

.seo-text > summary:hover,
.faq > summary:hover{ background: rgba(var(--kridt-rgb),.022); }

.seo-text[open] > summary,
.faq[open] > summary{ border-bottom-color: rgba(var(--guld-rgb),.26); }

.seo-text h2, .faq h2 {
  font-size: 1.5rem;
  margin: 0;
  flex: 1;
  min-width: 0;
}

/* Plus der bliver til minus */
.acc-ikon{
  position: relative;
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}
.acc-ikon::before,
.acc-ikon::after{
  content: "";
  position: absolute;
  background: var(--guld);
  transition: transform .3s ease, opacity .3s ease;
}
.acc-ikon::before{ top: 50%; left: 0; width: 100%; height: 1px; transform: translateY(-50%); }
.acc-ikon::after{ left: 50%; top: 0; width: 1px; height: 100%; transform: translateX(-50%); }

.seo-text[open] .acc-ikon::after,
.faq[open] .acc-ikon::after{ transform: translateX(-50%) rotate(90deg); opacity: 0; }

.details-body > *:first-child{ margin-top: 0; }

.details-body{
  padding: 26px 34px 34px;
  animation: dd-rise .45s cubic-bezier(.22,.7,.2,1) both;
}
@media(prefers-reduced-motion: reduce){
  .details-body{ animation: none; }
}

.seo-text h3 {
  font-size: 1.08rem;
  margin: 28px 0 10px;
}

.seo-text p {
  font-size: 0.98rem;
  margin: 0 0 12px;
  color: var(--tekst);
}

.seo-text strong { color: var(--kridt); font-weight: 600; }

.seo-text a {
  color: var(--champagne);
  text-decoration: none;
  border-bottom: 1px solid rgba(var(--guld-rgb),.32);
}
.seo-text a:hover { border-bottom-color: var(--champagne); }

.faq h3 {
  font-size: 1.05rem;
  margin: 26px 0 8px;
}
.faq h3:first-of-type { margin-top: 0; }

.faq p {
  font-size: 0.95rem;
  margin: 0 0 10px;
  color: var(--tekst);
  padding-left: 18px;
  border-left: 1px solid rgba(var(--guld-rgb),.5);
}

@media(max-width:768px){
  .seo-faq-container { grid-template-columns: 1fr; gap: 18px; padding: 64px 16px; }
  .seo-text > summary, .faq > summary { padding: 22px 24px; gap: 16px; }
  .details-body { padding: 20px 24px 26px; }
  .seo-text h2, .faq h2 { font-size: 1.24rem; }
  .seo-text h3, .faq h3 { font-size: 1.04rem; }
}

/* ── KONTAKT ──────────────────────────────────────────────────────────── */
.contact-section {
  padding: clamp(74px,9vw,124px) 20px;
  background: var(--kul);
}

.contact-container {
  max-width: var(--maxw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

.contact-left h2 {
  font-size: clamp(1.75rem, 3.6vw, 2.4rem);
  margin: 0;
}

.contact-left > p {
  color: var(--tekst);
  margin: 26px 0;
  max-width: 420px;
}

.contact-info p {
  margin: 11px 0;
  font-size: 0.98rem;
  color: var(--tekst);
}

.contact-info strong {
  font-family: var(--etikette);
  font-weight: 500;
  font-size: .64rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--roeg);
  display: inline-block;
  min-width: 82px;
}

.contact-info a {
  color: var(--kridt);
  text-decoration: none;
  border-bottom: 1px solid var(--linje-lys);
}
.contact-info a:hover { border-color: var(--champagne); color: var(--champagne); }

.contact-btn {
  display: inline-block;
  margin-top: 30px;
  padding: 15px 36px;
  border: 1px solid rgba(var(--kridt-rgb),0.28);
  border-radius: var(--r);
  text-decoration: none;
  color: var(--kridt);
  font-weight: 500;
  transition: 0.25s;
}
.contact-btn:hover {
  background: var(--kridt);
  border-color: var(--kridt);
  color: var(--onyx);
}

.contact-right {
  background: var(--onyx);
  border: 1px solid var(--linje);
  border-radius: var(--r);
  padding: 38px;
}

.contact-right h3 { margin: 0 0 8px; font-size: 1.3rem; }
.contact-right h3::after{
  content:"";
  display:block;
  width:48px;
  height:1px;
  background:linear-gradient(90deg,var(--guld),rgba(var(--guld-rgb),0));
  margin:16px 0 22px;
}

.hours { display: flex; flex-direction: column; gap: 13px; }

.hour-row {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--linje);
  padding-bottom: 10px;
  font-size: 0.94rem;
  color: var(--tekst);
}
.hour-row:last-child{ border-bottom:0; padding-bottom:0; }
.hour-row span:last-child { color: var(--kridt); font-variant-numeric: tabular-nums; }

/* ── FOOTER ───────────────────────────────────────────────────────────── */
footer {
  text-align: center;
  padding: clamp(56px,7vw,86px) 20px 54px;
  font-size: 14px;
  color: var(--roeg);
  background: var(--onyx);
}

.footer-mark{
  display:block;
  height:42px;
  width:auto;
  color:var(--guld);
  margin: 0 auto 22px;
}

.footer-name{
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--kridt);
  margin:0 0 10px;
}
.footer-name b{ font-weight:600; color:var(--champagne); }

.footer-sub{
  font-family:var(--etikette);
  font-weight:500;
  font-size:.62rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--roeg);
  margin:0 0 34px;
}

.social-links { margin-bottom: 32px; }

.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--linje-lys);
  border-radius: 50%;
  color: var(--roeg);
  text-decoration: none;
  margin: 0 6px;
  transition: border-color 0.2s, color 0.2s;
}
.social-links a:hover { border-color: var(--champagne); color: var(--champagne); }

.footerlinks{
  max-width: 900px;
  margin: 0 auto;
  padding-top: 28px;
  border-top: 1px solid var(--linje);
}

.footerlinks a {
  color: var(--roeg);
  padding: 5px 9px;
  text-decoration: none;
  font-size: .82rem;
  transition: color .2s;
}
.footerlinks a:hover { color: var(--champagne); }

footer p { margin: 10px 0; font-size: .82rem; }

/* ── MOBIL ────────────────────────────────────────────────────────────── */
@media(max-width:768px){

  :root{ --header-h: 72px; }

  .contact-container { grid-template-columns: 1fr; gap: 44px; }
  .contact-left { text-align: center; }
  .contact-left > p { margin-left: auto; margin-right: auto; }
  .contact-left h2::after, .contact-right h3::after { margin-left: auto; margin-right: auto; }

  .explainer-box { width: 100%; max-width: 380px; }

  header { padding: 14px 20px; }

  .brand-lockup{ gap:12px; }
  .bl-mark{ height:25px; }
  .bl-divider{ height:26px; }
  .bl-name { font-size: .88rem; letter-spacing: .16em; }
  .bl-sub { font-size: .5rem; }

  .hamburger { display: flex; }

  nav.main-nav {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: min(80vw,320px);
    background: #0A0A09;
    border-left: 1px solid var(--linje);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 104px 32px 32px;
    gap: 28px;
    transform: translateX(100%);
    transition: transform 0.35s ease;
    z-index: 100;
  }
  nav.main-nav.open { transform: translateX(0); }
  nav.main-nav a { font-size: 1.05rem; }
  nav.main-nav a.nav-tel{ padding-left:0; border-left:0; border-top:1px solid var(--linje); padding-top:24px; width:100%; }

  .mission-content { grid-template-columns: 1fr; gap: 30px; }
  .mission-images { grid-template-columns: 1fr; }
  .mission-text { padding: 28px; }

}

@media(max-width:420px){
  .bl-sub { display: none; }
  .bl-divider { display: none; }
}


/* ==========================================================================
   INDERSIDER — fælles komponenter
   Samme klassenavne som de gamle sider brugte, så markuppen kan blive
   stående; kun udtrykket er skiftet til brandkittet.
   ========================================================================== */

/* ── Brødkrumme ────────────────────────────────────────────────────────── */
.breadcrumb{
  max-width:1000px; margin:0 auto;
  padding:calc(var(--header-h) + 26px) 20px 0;
  font-family:var(--etikette); font-weight:500;
  font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--roeg);
}
.breadcrumb a{ color:var(--roeg); text-decoration:none; }
.breadcrumb a:hover{ color:var(--champagne); }

/* ── Sidens hoved ──────────────────────────────────────────────────────── */
.page-hero{ max-width:1000px; margin:0 auto; padding:26px 20px 10px; }
.page-hero h1,.page-hero h2{ font-size:clamp(1.9rem,4.4vw,2.9rem); margin:0; letter-spacing:-.038em; }
.page-hero .sub{ color:var(--tekst); font-size:1.04rem; margin:20px 0 28px; max-width:62ch; }

/* ── Prisboks ──────────────────────────────────────────────────────────── */
.quick-cta{
  display:flex; flex-wrap:wrap; align-items:center; gap:20px;
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  padding:24px 26px; margin-bottom:12px;
}
.quick-cta.premium{
  background:linear-gradient(180deg,var(--varm-bund) 0%,var(--kul) 62%);
  border-color:rgba(var(--guld-rgb),.32);
}
.quick-cta .price-block{ flex:1; min-width:180px; }
.quick-cta .price-block .from{
  font-family:var(--etikette); font-weight:500;
  font-size:.62rem; letter-spacing:.24em; text-transform:uppercase; color:var(--roeg);
}
.quick-cta .price-block .amount{
  font-size:1.9rem; font-weight:600; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; color:var(--champagne); margin-top:6px;
}
.quick-cta .ctas{ display:flex; gap:12px; flex-wrap:wrap; }

.btn-primary{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 32px; border-radius:var(--r);
  background:var(--kridt); border:1px solid var(--kridt); color:var(--onyx);
  font-weight:600; font-size:.95rem; text-decoration:none;
  transition:background .25s ease,border-color .25s ease;
}
.btn-primary:hover{ background:#fff; border-color:#fff; }
.quick-cta.premium .btn-primary,
.faq-cta.premium .btn-primary{ background:var(--champagne); border-color:var(--champagne); }
.quick-cta.premium .btn-primary:hover{ background:var(--champagne-lys); border-color:var(--champagne-lys); }

.btn-secondary{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 32px; border-radius:var(--r);
  border:1px solid rgba(var(--kridt-rgb),.28); color:var(--kridt);
  font-weight:500; font-size:.95rem; text-decoration:none;
  transition:background .25s ease,border-color .25s ease;
}
.btn-secondary:hover{ background:rgba(var(--kridt-rgb),.09); border-color:var(--kridt); }

/* ── Pris pr. bilstørrelse ─────────────────────────────────────────────── */
.price-table{
  display:grid; grid-template-columns:repeat(4,1fr); gap:12px;
  max-width:1000px; margin:0 auto 38px; padding:0 20px;
}
.price-table .tier{
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  padding:18px 10px; text-align:center;
}
.price-table.premium .tier{ border-color:rgba(var(--guld-rgb),.26); }
.price-table .tier .size{
  font-family:var(--etikette); font-weight:500;
  font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--roeg); margin-bottom:10px;
}
.price-table .tier .amt{
  font-size:1.12rem; font-weight:600; letter-spacing:-.025em;
  font-variant-numeric:tabular-nums; color:var(--champagne);
}
@media(max-width:600px){
  .price-table{ grid-template-columns:repeat(2,1fr); }
}

/* ── Galleri ───────────────────────────────────────────────────────────── */
.gallery{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
  max-width:1000px; margin:0 auto 44px; padding:0 20px;
}
.gallery img{
  width:100%; height:224px; object-fit:cover;
  border-radius:var(--r); border:1px solid var(--linje);
  filter:var(--foto-grad);
}
@media(max-width:700px){
  .gallery{ grid-template-columns:1fr 1fr; }
  .gallery img{ height:164px; }
  .gallery img:last-child:nth-child(odd){ grid-column:span 2; }
}

/* ── Indholdssektion ───────────────────────────────────────────────────── */
.content-section{ max-width:1000px; margin:0 auto; padding:0 20px 56px; }
.content-section h2,.content-section h3{ font-size:1.42rem; margin:0 0 20px; }
.content-section .two-col h3::after{
  content:""; display:block; width:52px; height:1px;
  background:var(--hairline-venstre); margin:16px 0 0;
}
.content-section p{ color:var(--tekst); }
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; }
@media(max-width:700px){ .two-col{ grid-template-columns:1fr; gap:34px; } }

/* ── Lister ────────────────────────────────────────────────────────────── */
.included-list,.addon-list{ list-style:none; padding:0; margin:0; }
.included-list li{
  padding:11px 0 11px 28px; position:relative;
  border-bottom:1px solid var(--linje); color:var(--tekst);
}
.included-list li::before{ content:"+"; position:absolute; left:0; color:var(--guld); font-weight:600; }
.premium-block .included-list li::before{ color:var(--champagne); }

.addon-list li{
  padding:11px 0; border-bottom:1px solid var(--linje); color:var(--tekst);
  display:flex; justify-content:space-between; gap:12px;
}
.addon-list .addon-price{
  color:var(--champagne); white-space:nowrap; font-variant-numeric:tabular-nums; font-weight:600;
}
.addon-cta{
  display:inline-block; margin-top:20px; padding:11px 22px; border-radius:var(--r);
  border:1px solid rgba(var(--kridt-rgb),.22); color:var(--tekst-2);
  text-decoration:none; font-weight:500; font-size:.88rem; transition:.2s;
}
.addon-cta:hover{ border-color:var(--kridt); color:var(--kridt); }

/* ── Hjælpebokse ───────────────────────────────────────────────────────── */
.size-help{
  display:flex; align-items:center; justify-content:center; gap:12px;
  max-width:1000px; margin:0 auto 44px; padding:16px 20px;
  border:1px solid var(--linje); border-radius:var(--r);
  flex-wrap:wrap; text-align:center;
}
.size-help span{ color:var(--roeg); font-size:.92rem; }
.size-help a{
  color:var(--champagne); font-weight:500; font-size:.92rem; white-space:nowrap;
  text-decoration:none; border-bottom:1px solid rgba(var(--guld-rgb),.35);
}
.size-help a:hover{ border-bottom-color:var(--champagne); }

.why-us{
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  padding:30px 28px; margin-top:12px;
}
.why-us p{ color:var(--tekst); margin:0; }

.upsell-note{
  margin-top:26px; padding:18px 20px; border-radius:var(--r);
  background:var(--varm-bund-2); border:1px solid var(--antik); border-left-width:3px;
  color:var(--tekst); font-size:.92rem;
}
.upsell-note a{
  color:var(--champagne); font-weight:500; text-decoration:none;
  border-bottom:1px solid rgba(var(--guld-rgb),.4);
}

/* ── FAQ ───────────────────────────────────────────────────────────────── */
.faq-item{ border-bottom:1px solid var(--linje); padding:20px 0; }
.faq-item h3,.faq-item h4{ margin:0 0 10px; font-size:1.05rem; }
.faq-item p{ margin:0; color:var(--tekst); font-size:.95rem; }

/* ── Kontaktsektionens venstre side (samme markup som forsiden) ────────── */
.contact-left h2{ font-size:clamp(1.75rem,3.6vw,2.4rem); margin:0; }
.contact-left > p{ color:var(--tekst); margin:26px 0; max-width:420px; }

/* ── Sticky mobil-CTA ──────────────────────────────────────────────────── */
.mobile-cta-bar{ display:none; }
@media(max-width:768px){
  .mobile-cta-bar{
    display:flex; position:fixed; bottom:0; left:0; right:0; z-index:150;
    background:rgba(5,5,5,.96);
    -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
    border-top:1px solid rgba(var(--guld-rgb),.26);
    padding:11px 14px; gap:10px;
  }
  .mobile-cta-bar a{
    flex:1; text-align:center; padding:13px 10px; border-radius:var(--r);
    font-weight:600; font-size:.92rem; text-decoration:none;
  }
  .mobile-cta-bar .call{ border:1px solid rgba(var(--kridt-rgb),.26); color:var(--kridt); }
  .mobile-cta-bar .book{ background:var(--kridt); color:var(--onyx); }
  .mobile-cta-bar.premium .book{ background:var(--champagne); }
  /* plads til baren, så footeren ikke gemmer sig bagved */
  body.dd.har-cta-bar{ padding-bottom:74px; }
}


/* ==========================================================================
   SIDEVISE STILARTER
   Hver side har en scope-klasse på <body> (fx .side-omos), fordi flere
   undersider bruger klassenavne der betyder noget andet end på forsiden
   (.hero, .cta, .card, .price). Scopet vinder på specificitet.
   ========================================================================== */

/* ── SERVICES ──────────────────────────────────────────────────────────── */
.side-services .hero{
  background:var(--onyx);
  padding:calc(var(--header-h) + 54px) 20px 34px;
  text-align:center;
  min-height:0; height:auto; display:block;
}
.side-services .hero::after{ content:none; }
.side-services .hero-content{
  position:static; max-width:820px; margin:0 auto; padding:0;
  animation:none; z-index:auto;
}
.side-services .hero-content > *{ animation:none; }
.side-services .hero-content h1,
.side-services .hero-content h2{
  font-size:clamp(1.9rem,4.4vw,2.8rem); letter-spacing:-.038em; margin:0 auto 18px; max-width:800px;
}
.side-services .hero-content p{
  font-size:1.05rem; color:var(--tekst); max-width:620px; margin:0 auto;
}

.side-services .trust-bar{
  max-width:1100px; margin:34px auto 0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1px;
  background:var(--linje); border:1px solid var(--linje);
}
.side-services .trust-item{ background:var(--kul); padding:20px 12px; text-align:center; }
.side-services .trust-item .num{
  display:block; font-size:1.32rem; font-weight:600; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; color:var(--champagne); margin-bottom:6px;
}
.side-services .trust-item .label{
  font-family:var(--etikette); font-weight:500; font-size:.6rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--roeg);
}

.side-services main{ padding:54px 20px 20px; max-width:1120px; margin:auto; }
.side-services .section-heading{ text-align:center; margin-bottom:38px; }
.side-services .section-heading h2{ font-size:clamp(1.55rem,3vw,2rem); margin:0 0 14px; }
.side-services .section-heading p{ color:var(--tekst); font-size:.98rem; margin:0; }
.side-services .services{ display:flex; flex-direction:column; gap:36px; margin-top:22px; }
.side-services .premium-row{ padding-top:14px; max-width:740px; }

.side-services .card{
  position:relative; display:flex; flex-direction:column; overflow:hidden;
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  text-decoration:none; color:inherit;
  transition:transform .4s cubic-bezier(.22,.7,.2,1),border-color .4s ease;
}
.side-services .card::after{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:var(--hairline); transform:scaleX(0);
  transition:transform .55s cubic-bezier(.22,.7,.2,1); z-index:6;
}
.side-services .card:hover{ transform:translateY(-5px); border-color:rgba(var(--guld-rgb),.42); }
.side-services .card:hover::after{ transform:scaleX(1); }
.side-services .card.premium{
  background:linear-gradient(180deg,var(--varm-bund) 0%,var(--kul) 58%);
  border-color:rgba(var(--guld-rgb),.32);
}
.side-services .card.premium::after{ transform:scaleX(1); opacity:.5; transition:opacity .45s ease; }
.side-services .card.premium:hover{ border-color:rgba(231,206,147,.6); }
.side-services .card.premium:hover::after{ opacity:1; }

.side-services .badge-ribbon{
  position:absolute; top:14px; left:14px; z-index:7;
  background:rgba(5,5,5,.68);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(var(--guld-rgb),.62); border-radius:var(--r);
  color:var(--champagne);
  font-family:var(--etikette); font-weight:500; font-size:.62rem;
  letter-spacing:.22em; text-transform:uppercase; padding:7px 13px;
}
.side-services .card-img{
  width:100%; height:178px; object-fit:cover; display:block;
  background:var(--grafit); filter:var(--foto-grad);
}
.side-services .card.premium .card-img{ height:196px; }
.side-services .card-body{ padding:24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.side-services .card-eyebrow{
  font-family:var(--etikette); font-weight:500; font-size:.64rem;
  letter-spacing:.26em; text-transform:uppercase; color:var(--roeg); margin-bottom:12px;
}
.side-services .card.premium .card-eyebrow{ color:var(--champagne); }
.side-services .card h3{ font-size:1.24rem; margin:0 0 10px; }
.side-services .card p.desc{ color:var(--tekst); font-size:.93rem; margin:0 0 22px; flex:1; }
.side-services .price{
  font-size:1.34rem; font-weight:600; letter-spacing:-.028em;
  font-variant-numeric:tabular-nums; color:var(--champagne);
  margin:0 0 20px; padding-top:16px; border-top:1px solid rgba(var(--guld-rgb),.22);
}
.side-services .card-ctas{ display:flex; gap:10px; }
.side-services .btn-book,
.side-services .btn-more{
  flex:1; text-align:center; padding:12px 10px; border-radius:var(--r);
  font-size:.88rem; text-decoration:none; transition:.2s;
}
.side-services .btn-book{ background:var(--kridt); color:var(--onyx); font-weight:600; }
.side-services .btn-book:hover{ background:#fff; }
.side-services .card.premium .btn-book{ background:var(--champagne); }
.side-services .card.premium .btn-book:hover{ background:var(--champagne-lys); }
.side-services .btn-more{ border:1px solid var(--linje-lys); color:var(--tekst-2); font-weight:500; }
.side-services .btn-more:hover{ border-color:var(--kridt); color:var(--kridt); }

.side-services .compare-note{
  max-width:700px; margin:26px auto 0; text-align:center;
  padding:20px 22px; border:1px solid var(--linje); border-radius:var(--r);
  color:var(--roeg); font-size:.9rem;
}
.side-services .compare-note a{
  color:var(--champagne); font-weight:500; text-decoration:none;
  border-bottom:1px solid rgba(var(--guld-rgb),.35);
}

/* ── OM OS ─────────────────────────────────────────────────────────────── */
.side-omos .hero{
  min-height:100vh; display:grid; grid-template-columns:1fr 1fr;
  height:auto; overflow:visible; text-align:left; align-items:stretch;
}
.side-omos .hero::after{ content:none; }
.side-omos .hero-left{
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:calc(var(--header-h) + 60px) 60px 80px;
  border-right:1px solid var(--linje);
}
.side-omos .hero-label{
  font-family:var(--etikette); font-weight:500; font-size:.7rem;
  letter-spacing:.3em; text-transform:uppercase; color:var(--champagne); margin-bottom:28px;
}
.side-omos .hero-title{
  font-size:clamp(2.4rem,5.6vw,5.4rem); font-weight:600;
  line-height:1.02; letter-spacing:-.042em;
}
.side-omos .hero-title em{ font-style:italic; color:var(--champagne); }
.side-omos .hero-sub{
  margin-top:34px; font-size:1.05rem; color:var(--tekst);
  max-width:420px; line-height:1.72; font-family:var(--disp);
  letter-spacing:0; text-transform:none;
}
.side-omos .hero-right{ position:relative; overflow:hidden; background:var(--kul); }
.side-omos .hero-right img{
  width:100%; height:100%; object-fit:cover; opacity:.66; filter:var(--foto-grad);
}
.side-omos .hero-right::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to right,rgba(5,5,5,.6) 0%,transparent 58%);
}

.side-omos .stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--linje); border-bottom:1px solid var(--linje);
}
.side-omos .stat{ padding:46px 40px; border-right:1px solid var(--linje); }
.side-omos .stat:last-child{ border-right:none; }
.side-omos .stat-number{
  font-size:2.7rem; font-weight:600; line-height:1;
  letter-spacing:-.035em; font-variant-numeric:tabular-nums; color:var(--champagne);
}
.side-omos .stat-label{
  margin-top:12px; font-family:var(--etikette); font-weight:500;
  font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--roeg);
}

.side-omos .story{ display:grid; grid-template-columns:1fr 1fr; min-height:70vh; }
.side-omos .story-left{
  padding:100px 60px; border-right:1px solid var(--linje);
  display:flex; flex-direction:column; justify-content:center;
}
.side-omos .section-tag{
  font-family:var(--etikette); font-weight:500; font-size:.68rem;
  letter-spacing:.3em; text-transform:uppercase; color:var(--champagne); margin-bottom:24px;
}
.side-omos .story-left h2{
  font-size:clamp(1.9rem,3.4vw,2.9rem); margin-bottom:12px; letter-spacing:-.036em;
}
.side-omos .story-left h2::after{
  content:""; display:block; width:56px; height:1px;
  background:var(--hairline-venstre); margin:20px 0 30px;
}
.side-omos .story-left p{
  color:var(--tekst); font-size:1rem; line-height:1.82; margin-bottom:20px; max-width:480px;
}
.side-omos .story-right{ background:var(--kul); display:grid; grid-template-rows:1fr 1fr; }
.side-omos .story-right img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:var(--foto-grad); transition:transform .5s cubic-bezier(.22,.7,.2,1);
}
.side-omos .story-right img:first-child{ border-bottom:1px solid var(--linje); }
.side-omos .story-right img:hover{ transform:scale(1.02); }

.side-omos .quote-section{
  padding:130px 60px; text-align:center;
  border-top:1px solid var(--linje); border-bottom:1px solid var(--linje);
  background:var(--kul); position:relative; overflow:hidden;
}
.side-omos .quote-section::before{
  content:'"'; font-size:26rem; color:rgba(var(--guld-rgb),.035);
  position:absolute; top:-70px; left:50%; transform:translateX(-50%);
  line-height:1; pointer-events:none;
}
.side-omos .quote-text{
  font-style:italic; font-weight:400;
  font-size:clamp(1.5rem,2.8vw,2.5rem); line-height:1.42;
  max-width:820px; margin:0 auto 32px; color:var(--champagne);
  position:relative; letter-spacing:-.02em;
}
.side-omos .quote-attr{
  font-family:var(--etikette); font-weight:500; font-size:.66rem;
  letter-spacing:.26em; text-transform:uppercase; color:var(--roeg); position:relative;
}

.side-omos .cta-section{ display:grid; grid-template-columns:1fr 1fr; }
.side-omos .cta-left{ padding:100px 60px; border-right:1px solid var(--linje); }
.side-omos .cta-left h2{ font-size:clamp(1.8rem,3vw,2.6rem); margin-bottom:20px; letter-spacing:-.036em; }
.side-omos .cta-left p{ color:var(--tekst); margin-bottom:38px; line-height:1.8; max-width:400px; }
.side-omos .btn-row{ display:flex; gap:14px; flex-wrap:wrap; }
.side-omos .cta-right{
  padding:100px 60px; background:var(--kul);
  display:flex; flex-direction:column; justify-content:center;
}
.side-omos .contact-list{ list-style:none; margin:0; padding:0; }
.side-omos .contact-list li{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 16px;
  padding:20px 0; border-bottom:1px solid var(--linje); font-size:.95rem;
}
.side-omos .contact-list li:first-child{ border-top:1px solid var(--linje); }
.side-omos .contact-list .label{
  color:var(--roeg); font-family:var(--etikette); font-weight:500;
  font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
}
.side-omos .contact-list a{ color:var(--kridt); text-decoration:none; transition:color .2s; }
.side-omos .contact-list a:hover{ color:var(--champagne); }

@media(max-width:900px){
  .side-omos .hero,
  .side-omos .story,
  .side-omos .cta-section{ grid-template-columns:1fr; }
  .side-omos .hero-left,
  .side-omos .story-left,
  .side-omos .cta-left{ border-right:0; border-bottom:1px solid var(--linje); padding:60px 24px; }
  .side-omos .hero-left{ padding-top:calc(var(--header-h) + 50px); }
  .side-omos .hero-right{ min-height:52vh; }
  .side-omos .cta-right,
  .side-omos .quote-section{ padding:60px 24px; }
  .side-omos .stats{ grid-template-columns:repeat(2,1fr); }
  .side-omos .stat{ padding:32px 24px; }
  .side-omos .stat:nth-child(2){ border-right:none; }
  .side-omos .stat:nth-child(1),
  .side-omos .stat:nth-child(2){ border-bottom:1px solid var(--linje); }
}

/* ── KONTAKT ───────────────────────────────────────────────────────────── */
.side-kontakt .page-hero{ max-width:900px; padding:calc(var(--header-h) + 54px) 20px 10px; text-align:center; }
.side-kontakt .page-hero p{ color:var(--tekst); font-size:1.04rem; max-width:560px; margin:20px auto 0; }
.side-kontakt .page-hero h1::after,
.side-kontakt .page-hero h2::after{
  content:""; display:block; width:88px; height:1px;
  background:var(--hairline); margin:20px auto 0;
}

.side-kontakt .quick-contact{
  max-width:1000px; margin:38px auto 10px; padding:0 20px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
@media(max-width:700px){ .side-kontakt .quick-contact{ grid-template-columns:1fr; } }
.side-kontakt .qc-card{
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  padding:28px 22px; text-align:center; text-decoration:none; color:inherit;
  transition:border-color .3s ease,transform .4s cubic-bezier(.22,.7,.2,1);
}
.side-kontakt .qc-card:hover{ border-color:rgba(var(--guld-rgb),.45); transform:translateY(-4px); }
.side-kontakt .qc-icon{ display:none; }   /* emoji hører ikke til i brandet */
.side-kontakt .qc-label{
  font-family:var(--etikette); font-weight:500; font-size:.62rem;
  letter-spacing:.24em; text-transform:uppercase; color:var(--roeg); margin-bottom:12px;
}
.side-kontakt .qc-value{ font-size:1.05rem; font-weight:600; letter-spacing:-.02em; color:var(--champagne); word-break:break-word; }

.side-kontakt .booking-section{ max-width:1000px; margin:54px auto 10px; padding:0 20px; }
.side-kontakt .booking-section h2,
.side-kontakt .booking-section h3{ font-size:1.42rem; margin:0 0 10px; text-align:center; }
.side-kontakt .booking-section .sub{ color:var(--tekst); font-size:.95rem; text-align:center; margin:0 0 24px; }
.side-kontakt .booking-frame{
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  padding:8px; overflow:hidden;
}
.side-kontakt .booking-frame iframe{
  width:100%; height:900px; border:none; border-radius:var(--r); display:block; background:var(--onyx);
}
@media(max-width:700px){ .side-kontakt .booking-frame iframe{ height:700px; } }
.side-kontakt .booking-fallback{ text-align:center; margin-top:16px; }
.side-kontakt .booking-fallback a{
  color:var(--champagne); font-weight:500; font-size:.9rem; text-decoration:none;
  border-bottom:1px solid rgba(var(--guld-rgb),.35);
}
.side-kontakt .content-section ul{ color:var(--tekst); margin:0 0 14px 20px; padding:0; }
.side-kontakt .content-section li{ margin-bottom:8px; }
.side-kontakt .content-section a{
  color:var(--champagne); text-decoration:none; border-bottom:1px solid rgba(var(--guld-rgb),.32);
}

/* ── MOBIL BILPLEJE ────────────────────────────────────────────────────── */
.side-mobil .hero{
  padding:calc(var(--header-h) + 74px) 20px 92px; text-align:center;
  background:var(--onyx); position:relative; overflow:hidden;
  height:auto; min-height:0; display:block;
}
.side-mobil .hero::after{ content:none; }
.side-mobil .hero::before{
  content:""; position:absolute; top:-40%; left:50%; transform:translateX(-50%);
  width:640px; height:640px;
  background:radial-gradient(circle,rgba(var(--guld-rgb),.055) 0%,transparent 70%);
  pointer-events:none;
}
.side-mobil .hero-badge{
  display:inline-block; position:relative;
  border:1px solid rgba(var(--guld-rgb),.5); border-radius:var(--r);
  padding:7px 16px; margin-bottom:26px;
  font-family:var(--etikette); font-weight:500; font-size:.62rem;
  letter-spacing:.26em; text-transform:uppercase; color:var(--champagne);
}
.side-mobil .hero h1,
.side-mobil .hero h2{
  position:relative; font-size:clamp(2rem,5.4vw,3.4rem); letter-spacing:-.042em;
  line-height:1.06; margin:0 auto 20px; max-width:780px;
}
.side-mobil .hero h2 span{
  display:block; font-family:var(--etikette); font-weight:500;
  font-size:.7rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--champagne); margin-bottom:18px;
}
.side-mobil .hero p{ position:relative; font-size:1.06rem; color:var(--tekst-2); max-width:580px; margin:0 auto 38px; }
.side-mobil .hero-ctas{ position:relative; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.side-mobil .cta-primary,
.side-mobil .cta-secondary{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 36px; border-radius:var(--r); text-decoration:none;
  font-size:.97rem; transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.side-mobil .cta-primary{ background:var(--kridt); border:1px solid var(--kridt); color:var(--onyx); font-weight:600; }
.side-mobil .cta-primary:hover{ background:#fff; }
.side-mobil .cta-secondary{ border:1px solid rgba(var(--kridt-rgb),.28); color:var(--kridt); font-weight:500; }
.side-mobil .cta-secondary:hover{ background:rgba(var(--kridt-rgb),.09); border-color:var(--kridt); }

.side-mobil .usp-strip{
  background:var(--kul); border-top:1px solid var(--linje); border-bottom:1px solid var(--linje);
  padding:34px 20px; display:flex; justify-content:center; gap:clamp(28px,6vw,72px);
  flex-wrap:wrap; text-align:center;
}
.side-mobil .usp-item strong{
  display:block; font-size:1.4rem; font-weight:600; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; color:var(--champagne); margin-bottom:8px;
}
.side-mobil .usp-item span{
  font-family:var(--etikette); font-weight:500; font-size:.6rem;
  letter-spacing:.22em; text-transform:uppercase; color:var(--roeg);
}

.side-mobil .what-is{ padding:clamp(70px,8vw,100px) 20px; max-width:900px; margin:0 auto; text-align:center; }
.side-mobil .what-is h2,
.side-mobil .how-it-works h2,
.side-mobil .services h2,
.side-mobil .area h2,
.side-mobil .faq-section h2,
.side-mobil .cta-banner h2{ font-size:clamp(1.75rem,3.6vw,2.4rem); margin:0 0 20px; }
.side-mobil .what-is p{ font-size:1.05rem; color:var(--tekst); line-height:1.8; margin-bottom:16px; }

.side-mobil .how-it-works{
  background:var(--kul); border-top:1px solid var(--linje); border-bottom:1px solid var(--linje);
  padding:clamp(70px,8vw,100px) 20px; text-align:center;
}
.side-mobil .how-it-works > p{ color:var(--tekst); margin:0 0 56px; }
.side-mobil .steps{ display:flex; flex-wrap:wrap; justify-content:center; gap:22px; max-width:1100px; margin:0 auto; }
.side-mobil .step{
  background:var(--onyx); border:1px solid var(--linje); border-radius:var(--r);
  padding:44px 30px 34px; width:250px; flex:0 1 auto; text-align:center; position:relative;
  transition:border-color .3s,transform .4s cubic-bezier(.22,.7,.2,1);
}
.side-mobil .step:hover{ border-color:rgba(var(--guld-rgb),.45); transform:translateY(-5px); }
.side-mobil .step-number{
  position:absolute; top:-1px; left:50%; transform:translateX(-50%);
  background:none; color:var(--champagne);
  font-size:1.5rem; font-weight:600; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
  width:auto; height:auto; border-radius:0; padding-top:18px;
}
.side-mobil .step-icon{ display:none; }   /* emoji hører ikke til i brandet */
.side-mobil .step h3{ font-size:1.1rem; margin:38px 0 12px; }
.side-mobil .step h3::before{
  content:""; display:block; width:28px; height:1px;
  background:var(--hairline); margin:0 auto 18px;
}
.side-mobil .step p{ font-size:.92rem; color:var(--tekst); margin:0; }

.side-mobil .services{ padding:clamp(70px,8vw,100px) 20px; text-align:center; }
.side-mobil .services > p{ color:var(--tekst); margin:0 0 54px; }
.side-mobil .service-cards{
  display:flex; flex-direction:column; gap:16px; max-width:1000px; margin:0 auto;
}
.side-mobil .service-card{
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  padding:26px 28px; width:auto; text-align:left;
  transition:border-color .3s,transform .4s cubic-bezier(.22,.7,.2,1);
}
.side-mobil .service-card:hover{ border-color:rgba(var(--guld-rgb),.42); transform:translateY(-4px); }
.side-mobil .service-card--premium{
  background:linear-gradient(180deg,var(--varm-bund) 0%,var(--kul) 58%);
  border-color:rgba(var(--guld-rgb),.32); position:relative;
}
.side-mobil .service-badge{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:rgba(5,5,5,.9); border:1px solid rgba(var(--guld-rgb),.62); border-radius:var(--r);
  color:var(--champagne); font-family:var(--etikette); font-weight:500;
  font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
  padding:6px 13px; white-space:nowrap;
}
.side-mobil .service-icon{ display:none; }   /* emoji hører ikke til i brandet */
.side-mobil .service-card.service-row{
  width:100%; display:flex; flex-direction:row; align-items:center; gap:22px; padding:24px 28px;
}
.side-mobil .service-row-content{ flex:1; text-align:left; }
.side-mobil .service-row-content h3{ margin:0 0 6px; font-size:1.1rem; }
.side-mobil .service-row-content p{ margin:0; font-size:.92rem; color:var(--tekst); }
.side-mobil .service-row-right{ text-align:right; flex-shrink:0; }
.side-mobil .service-price{
  font-size:1.24rem; font-weight:600; letter-spacing:-.028em;
  font-variant-numeric:tabular-nums; color:var(--champagne);
  border-top:1px solid rgba(var(--guld-rgb),.22); padding-top:15px;
}
.side-mobil .service-row-right .service-price{ border-top:none; padding-top:0; white-space:nowrap; }
.side-mobil .service-price span{
  font-family:var(--etikette); font-weight:500; font-size:.6rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--roeg); margin-left:8px;
}
.side-mobil .service-link{
  display:inline-block; margin-top:16px; color:var(--champagne); text-decoration:none;
  font-family:var(--etikette); font-weight:500; font-size:.62rem;
  letter-spacing:.22em; text-transform:uppercase;
  border-bottom:1px solid rgba(var(--guld-rgb),.35); padding-bottom:3px; transition:border-color .2s;
}
.side-mobil .service-link:hover{ border-bottom-color:var(--champagne); }
@media(max-width:600px){
  .side-mobil .service-card.service-row{ flex-direction:column; text-align:center; align-items:stretch; }
  .side-mobil .service-row-content{ text-align:center; }
  .side-mobil .service-row-right{ text-align:center; }
}

.side-mobil .area{
  background:var(--kul); border-top:1px solid var(--linje); border-bottom:1px solid var(--linje);
  padding:clamp(70px,8vw,100px) 20px; text-align:center;
}
.side-mobil .area > p{ color:var(--tekst); font-size:1.04rem; max-width:650px; margin:0 auto 44px; line-height:1.8; }
.side-mobil .area-tags{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:44px; }
.side-mobil .area-tag{
  border:1px solid rgba(var(--guld-rgb),.4); border-radius:var(--r); padding:9px 20px;
  font-family:var(--etikette); font-weight:500; font-size:.62rem;
  letter-spacing:.22em; text-transform:uppercase; color:var(--champagne);
}
.side-mobil .area-note{ color:var(--roeg); font-size:.9rem; }

.side-mobil .faq-section{ padding:clamp(70px,8vw,100px) 20px; max-width:820px; margin:0 auto; }
.side-mobil .faq-section h2{ margin-bottom:40px; text-align:center; }
.side-mobil .faq-item{ border-bottom:1px solid var(--linje); padding:24px 0; }
.side-mobil .faq-item h3{ font-size:1.08rem; margin:0 0 12px; }
.side-mobil .faq-item p{
  font-size:.95rem; color:var(--tekst); margin:0; line-height:1.7;
  padding-left:18px; border-left:1px solid rgba(var(--guld-rgb),.5);
}

.side-mobil .seo-section{ background:var(--kul); border-top:1px solid var(--linje); padding:clamp(66px,7vw,90px) 20px; }
.side-mobil .seo-inner{ max-width:900px; margin:0 auto; }
.side-mobil .seo-inner h2{ font-size:1.6rem; margin:0 0 20px; }
.side-mobil .seo-inner h3{ font-size:1.12rem; margin:30px 0 10px; }
.side-mobil .seo-inner p{ font-size:1rem; color:var(--tekst); line-height:1.8; margin-bottom:12px; }
.side-mobil .seo-inner a{ color:var(--champagne); text-decoration:none; border-bottom:1px solid rgba(var(--guld-rgb),.32); }

.side-mobil .cta-banner{ padding:clamp(80px,9vw,110px) 20px; text-align:center; background:var(--onyx); }
.side-mobil .cta-banner p{ color:var(--tekst); font-size:1.04rem; margin:0 0 38px; }

/* ── BILSTØRRELSE ──────────────────────────────────────────────────────── */
.side-stoerrelse .guide-section{ max-width:1000px; margin:0 auto; padding:10px 20px 20px; }
.side-stoerrelse .guide-intro{ color:var(--tekst); font-size:1.04rem; max-width:640px; margin:0 0 32px; }
.side-stoerrelse .size-cards{ display:flex; flex-direction:column; gap:16px; margin-bottom:36px; }
.side-stoerrelse .size-card{
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r); padding:24px 26px;
}
.side-stoerrelse .size-card h3{
  margin:0 0 10px; font-size:1.18rem; color:var(--champagne); letter-spacing:-.025em;
}
.side-stoerrelse .size-card p.examples{ margin:0; color:var(--tekst); font-size:.95rem; }
.side-stoerrelse .size-card p.examples strong{ color:var(--kridt); font-weight:600; }
.side-stoerrelse .rule-box{
  background:var(--varm-bund-2); border:1px solid var(--antik); border-left-width:3px;
  border-radius:var(--r); padding:22px 24px; margin-bottom:30px;
}
.side-stoerrelse .rule-box h3{ margin:0 0 10px; font-size:1.08rem; }
.side-stoerrelse .rule-box p{ margin:0; color:var(--tekst); }
.side-stoerrelse .size-prices{ list-style:none; margin:16px 0 0; padding:0; border-top:1px solid var(--linje); }
.side-stoerrelse .size-prices li{
  display:flex; justify-content:space-between; gap:12px; padding:9px 0;
  border-bottom:1px solid var(--linje); font-size:.9rem; color:var(--tekst);
}
.side-stoerrelse .size-prices li span:last-child{
  color:var(--champagne); font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums;
}

/* ── TILKØB ────────────────────────────────────────────────────────────── */
.side-tilkoeb main,
.side-forlygte main,
.side-privacy main{ max-width:1000px; margin:auto; padding:calc(var(--header-h) + 54px) 20px 110px; }
.side-tilkoeb main h2,
.side-forlygte main h2{ margin-top:60px; font-size:clamp(1.7rem,3.4vw,2.2rem); }
.side-tilkoeb main h2:first-of-type,
.side-forlygte main h2:first-of-type{ margin-top:0; }
.side-tilkoeb main h3,
.side-forlygte main h3{ font-weight:400; color:var(--tekst); font-size:1.06rem; letter-spacing:-.01em; }
.side-tilkoeb main ul,
.side-forlygte main ul{ line-height:1.75; font-size:1rem; padding-left:20px; color:var(--tekst); }

/* .cta er en knap i brandet, men en wrapper på disse to sider */
.side-tilkoeb .cta,
.side-forlygte .cta{
  display:flex; flex-direction:column; gap:16px; align-items:flex-start;
  margin-top:44px; padding:0; border:0; background:none; border-radius:0;
}
.side-tilkoeb .cta:hover,
.side-forlygte .cta:hover{ background:none; border:0; }
.side-tilkoeb .cta a,
.side-forlygte .cta a{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 34px; border-radius:var(--r);
  border:1px solid rgba(var(--kridt-rgb),.28); color:var(--kridt);
  text-decoration:none; font-weight:500; width:fit-content;
  transition:background .25s ease,border-color .25s ease;
}
.side-tilkoeb .cta a:first-child,
.side-forlygte .cta a:first-child{
  background:var(--kridt); border-color:var(--kridt); color:var(--onyx); font-weight:600;
}
.side-tilkoeb .cta a:hover,
.side-forlygte .cta a:hover{ background:rgba(var(--kridt-rgb),.09); border-color:var(--kridt); }
.side-tilkoeb .cta a:first-child:hover,
.side-forlygte .cta a:first-child:hover{ background:#fff; }

.side-tilkoeb .venstre-billeder,
.side-forlygte .venstre-billeder{ display:flex; gap:18px; margin:34px 0; }
.side-tilkoeb .venstre-billeder img,
.side-forlygte .venstre-billeder img{
  width:33%; border-radius:var(--r); object-fit:cover;
  border:1px solid var(--linje); filter:var(--foto-grad);
}
@media(max-width:768px){
  .side-tilkoeb .venstre-billeder,
  .side-forlygte .venstre-billeder{ flex-direction:column; }
  .side-tilkoeb .venstre-billeder img,
  .side-forlygte .venstre-billeder img{ width:100%; }
}

.side-tilkoeb .sæderens,
.side-tilkoeb .hundehår,
.side-tilkoeb .voksbehandling,
.side-tilkoeb .læderbehandling,
.side-tilkoeb .plastikpleje{
  display:flex; flex-wrap:wrap; align-items:flex-start; gap:22px;
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  padding:26px; text-align:left; transition:border-color .3s ease;
}
.side-tilkoeb .sæderens:hover,
.side-tilkoeb .hundehår:hover,
.side-tilkoeb .voksbehandling:hover,
.side-tilkoeb .læderbehandling:hover,
.side-tilkoeb .plastikpleje:hover{ border-color:rgba(var(--guld-rgb),.42); }
.side-tilkoeb .tekst{ flex:1 1 310px; }
.side-tilkoeb .tekst p,
.side-tilkoeb .sæderens p,
.side-tilkoeb .hundehår p,
.side-tilkoeb .voksbehandling p,
.side-tilkoeb .læderbehandling p,
.side-tilkoeb .plastikpleje p{ font-size:1rem; line-height:1.72; color:var(--tekst); margin:0 0 10px; }
.side-tilkoeb .hundehår img,
.side-tilkoeb .voksbehandling img,
.side-tilkoeb .læderbehandling img,
.side-tilkoeb .plastikpleje img,
.side-tilkoeb .sæderens video{
  width:200px; height:400px; border-radius:var(--r); object-fit:cover;
  border:1px solid var(--linje); filter:var(--foto-grad);
}
.side-tilkoeb .sæderens video{ flex:0 0 200px; margin-top:0; }

.side-tilkoeb .tilkoeb-faq{ max-width:1000px; margin:0 auto; padding:10px 20px 20px; }
.side-tilkoeb .tilkoeb-faq h2{ font-size:1.6rem; margin:0 0 12px; }
.side-tilkoeb .tilkoeb-faq > p{ color:var(--tekst); margin:0 0 20px; }

/* ── FORLYGTEPOLERING ──────────────────────────────────────────────────── */
.side-forlygte .card{
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  padding:30px 28px; margin-bottom:38px;
}
.side-forlygte .price{
  font-size:1.34rem; font-weight:600; letter-spacing:-.028em;
  font-variant-numeric:tabular-nums; color:var(--champagne); margin-top:16px;
}
.side-forlygte .recommend{
  margin-top:12px; font-style:italic; color:var(--champagne); font-size:1.05rem;
}
.side-forlygte .before-after{ display:flex; gap:18px; margin:34px 0; align-items:flex-start; }
.side-forlygte .before-after > div{ flex:1; text-align:center; }
.side-forlygte .before-after img{
  width:100%; border-radius:var(--r); object-fit:cover;
  border:1px solid var(--linje); filter:var(--foto-grad);
}
.side-forlygte .before-after span{
  display:inline-block; margin-top:14px; padding:6px 16px;
  border:1px solid rgba(var(--guld-rgb),.4); border-radius:var(--r);
  font-family:var(--etikette); font-weight:500; font-size:.62rem;
  letter-spacing:.32em; text-transform:uppercase; color:var(--champagne);
}
@media(max-width:768px){ .side-forlygte .before-after{ flex-direction:column; } }

/* ── PRIVACY ───────────────────────────────────────────────────────────── */
.side-privacy main{ max-width:900px; text-align:center; }
.side-privacy main h1,
.side-privacy main h2{ font-size:clamp(1.7rem,3.4vw,2.2rem); margin:0 0 30px; }
.side-privacy main p{ color:var(--tekst); max-width:66ch; margin:0 auto 18px; }
.side-privacy .images{
  margin-top:40px; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px;
}
.side-privacy .images img{
  width:100%; height:220px; object-fit:cover; border-radius:var(--r);
  border:1px solid var(--linje); filter:var(--foto-grad);
  transition:transform .4s cubic-bezier(.22,.7,.2,1),border-color .3s;
}
.side-privacy .images img:hover{ transform:scale(1.02); border-color:rgba(var(--guld-rgb),.45); }
.side-privacy .mailknap{
  display:inline-flex; align-items:center; justify-content:center;
  margin-top:30px; padding:16px 38px; border-radius:var(--r);
  background:var(--kridt); border:1px solid var(--kridt); color:var(--onyx);
  text-decoration:none; font-weight:600; transition:background .25s ease;
}
.side-privacy .mailknap:hover{ background:#fff; }

/* ── BOOKING-BEKRÆFTELSE ───────────────────────────────────────────────── */
.side-booking main{
  padding-top:calc(var(--header-h) + 40px); min-height:100vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.side-booking main::after{
  content:""; position:fixed; top:18%; left:50%; transform:translateX(-50%);
  width:620px; height:620px;
  background:radial-gradient(circle,rgba(var(--guld-rgb),.055) 0%,transparent 70%);
  pointer-events:none; z-index:0;
}
.side-booking .content-wrap{
  position:relative; z-index:1; width:100%; max-width:700px;
  padding:40px 30px 80px; text-align:center;
}
.side-booking .check-circle{
  width:80px; height:80px; border:1px solid rgba(var(--guld-rgb),.4); border-radius:50%;
  display:flex; align-items:center; justify-content:center; margin:0 auto 38px; position:relative;
}
.side-booking .check-circle::before{
  content:""; position:absolute; inset:-8px; border-radius:50%;
  border:1px solid rgba(var(--guld-rgb),.16);
}
.side-booking .check-circle svg{
  width:32px; height:32px; stroke:var(--guld); stroke-width:2; fill:none;
  stroke-dasharray:60; stroke-dashoffset:60;
  animation:dd-tegn-flueben .6s ease-out .3s forwards;
}
@keyframes dd-tegn-flueben{ to{ stroke-dashoffset:0; } }
@media(prefers-reduced-motion:reduce){
  .side-booking .check-circle svg{ animation:none; stroke-dashoffset:0; }
}
.side-booking .headline{
  font-size:clamp(2.4rem,7vw,4rem); font-weight:600;
  letter-spacing:-.042em; line-height:1.02; margin-bottom:16px;
}
.side-booking .subheadline{
  font-family:var(--etikette); font-weight:500; font-size:.7rem;
  letter-spacing:.3em; text-transform:uppercase; color:var(--champagne); margin-bottom:38px;
}
.side-booking .divider{ width:64px; height:1px; background:var(--hairline); margin:0 auto 38px; }
.side-booking .body-text{
  font-size:1.04rem; line-height:1.8; color:var(--tekst); max-width:480px; margin:0 auto 48px;
}
.side-booking .info-card{
  background:var(--kul); border:1px solid var(--linje); border-radius:var(--r);
  padding:30px 34px; margin-bottom:38px; text-align:left;
}
.side-booking .info-row{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:13px 0; border-bottom:1px solid var(--linje); font-size:.95rem;
}
.side-booking .info-row:last-child{ border-bottom:none; }
.side-booking .info-label{
  font-family:var(--etikette); font-weight:500; font-size:.62rem;
  letter-spacing:.22em; text-transform:uppercase; color:var(--roeg);
}
.side-booking .info-value{ font-weight:600; color:var(--kridt); letter-spacing:-.015em; }
.side-booking .info-value.gold{ color:var(--champagne); }
.side-booking .btn-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.side-booking .btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 34px; border-radius:var(--r); text-decoration:none;
  font-family:var(--disp); font-size:.95rem; font-weight:500;
  letter-spacing:0; text-transform:none; cursor:pointer;
  transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.side-booking .btn-primary{ background:var(--kridt); border:1px solid var(--kridt); color:var(--onyx); font-weight:600; }
.side-booking .btn-primary:hover{ background:#fff; border-color:#fff; color:var(--onyx); }
.side-booking .btn-outline{ background:transparent; border:1px solid rgba(var(--kridt-rgb),.28); color:var(--kridt); }
.side-booking .btn-outline:hover{ background:rgba(var(--kridt-rgb),.09); border-color:var(--kridt); }
.side-booking .fine-print{ margin-top:48px; font-size:.82rem; color:var(--roeg); line-height:1.7; }
.side-booking .fine-print a{
  color:var(--roeg); text-decoration:none; border-bottom:1px solid rgba(var(--kridt-rgb),.2);
}
.side-booking .fine-print a:hover{ color:var(--champagne); border-bottom-color:rgba(var(--guld-rgb),.5); }
@media(max-width:768px){
  .side-booking .info-card{ padding:22px 20px; }
  .side-booking .btn-row{ flex-direction:column; align-items:stretch; }
}


/* ── OM OS · værdier (manglede efter ombygningen) ──────────────────────── */
.side-omos .values{ padding:clamp(80px,9vw,120px) 60px; border-top:1px solid var(--linje); }
.side-omos .values-header{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:40px; margin-bottom:clamp(48px,6vw,72px);
}
.side-omos .values-header h2{
  font-size:clamp(1.9rem,3.8vw,3.2rem); letter-spacing:-.04em; line-height:1.06; max-width:500px;
}
.side-omos .values-header p{ color:var(--tekst); font-size:.95rem; max-width:300px; text-align:right; line-height:1.7; }
.side-omos .values-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--linje); border:1px solid var(--linje);
}
.side-omos .value-item{
  background:var(--onyx); padding:clamp(34px,4vw,50px) clamp(26px,3vw,42px); transition:background .3s ease;
}
.side-omos .value-item:hover{ background:var(--kul); }
.side-omos .value-num{
  font-family:var(--etikette); font-weight:500; font-size:.7rem;
  letter-spacing:.3em; color:var(--champagne); margin-bottom:26px;
}
.side-omos .value-item h3{ font-size:1.32rem; margin-bottom:16px; letter-spacing:-.03em; }
.side-omos .value-item p{ color:var(--tekst); font-size:.95rem; line-height:1.75; }

/* ── OM OS · erfaringsafsnit ───────────────────────────────────────────── */
.side-omos .laert{ padding:clamp(80px,9vw,120px) 60px; border-top:1px solid var(--linje); background:var(--kul); }
.side-omos .laert-inder{ max-width:1180px; margin:0 auto; }
.side-omos .laert h2{ font-size:clamp(1.9rem,3.4vw,2.9rem); letter-spacing:-.036em; margin:0; }
.side-omos .laert h2::after{
  content:""; display:block; width:56px; height:1px;
  background:var(--hairline-venstre); margin:20px 0 26px;
}
.side-omos .laert > .laert-inder > p{ color:var(--tekst); max-width:66ch; line-height:1.8; margin:0 0 44px; }
.side-omos .laert-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--linje); border:1px solid var(--linje); }
.side-omos .laert-grid > div{ background:var(--onyx); padding:clamp(30px,3.4vw,42px); }
.side-omos .laert-grid h3{ font-size:1.15rem; margin:0 0 14px; letter-spacing:-.025em; }
.side-omos .laert-grid p{ color:var(--tekst); font-size:.95rem; line-height:1.75; margin:0; }

@media(max-width:900px){
  .side-omos .values{ padding:60px 24px; }
  .side-omos .values-header{ flex-direction:column; align-items:flex-start; gap:18px; }
  .side-omos .values-header p{ text-align:left; max-width:none; }
  .side-omos .values-grid{ grid-template-columns:1fr; }
  .side-omos .laert{ padding:60px 24px; }
  .side-omos .laert-grid{ grid-template-columns:1fr; }
}

/* ── Cookiedeklaration (Cookiebot) på privatlivssiden ──────────────────────
   Cookiebot leverer sin egen markup med lys-tema-farver. Her sættes den
   ind i brandets mørke flade uden at røre indholdet, som skal være
   maskinopdateret for at være retvisende. */
.side-privacy #cookies{ margin-top:72px; }
.side-privacy #CookieDeclaration{
  text-align:left; margin-top:34px;
  color:var(--tekst); font-size:.92rem; line-height:1.65;
}
.side-privacy #CookieDeclaration a{ color:var(--guld); }
.side-privacy .CookieDeclarationType{
  border:1px solid var(--linje); border-radius:var(--r);
  background:var(--kul); padding:22px 24px; margin:0 0 20px;
}
.side-privacy .CookieDeclarationTypeHeader{
  color:var(--kridt); font-weight:600; letter-spacing:-.01em;
}
.side-privacy .CookieDeclarationTypeDescription{
  color:var(--roeg); margin:8px 0 18px;
}
.side-privacy .CookieDeclarationTable{ width:100%; border-collapse:collapse; }
.side-privacy .CookieDeclarationTableHeader{
  color:var(--champagne);
  font-family:var(--etikette); font-weight:500; font-size:.62rem;
  letter-spacing:.2em; text-transform:uppercase; text-align:left;
  border-bottom:1px solid var(--linje); padding:0 12px 10px 0;
}
.side-privacy .CookieDeclarationTableCell{
  border-bottom:1px solid rgba(var(--kridt-rgb),.07);
  padding:12px 12px 12px 0; vertical-align:top; word-break:break-word;
}
.side-privacy #CookieDeclarationUserStatusLabel{ color:var(--roeg); }
@media(max-width:700px){
  .side-privacy #CookieDeclaration{ overflow-x:auto; }
}

/* ── Privatlivspolitik ─────────────────────────────────────────────────────
   Siden var sat til centreret tekst. Det virker til én sætning, ikke til et
   dokument — her sættes indholdet venstrestillet i et læsbart spaltemål. */
.side-privacy .politik{
  text-align:left; max-width:74ch; margin:0 auto;
}
.side-privacy .politik h1{ text-align:center; margin-bottom:22px; }
.side-privacy .politik .manchet{
  font-size:1.06rem; color:var(--roeg); text-align:center;
  max-width:62ch; margin:0 auto 14px; line-height:1.7;
}
.side-privacy .politik .dato{
  font-family:var(--etikette); font-weight:500; font-size:.6rem;
  letter-spacing:.24em; text-transform:uppercase; color:var(--roeg);
  text-align:center; margin:0 0 8px;
}
.side-privacy .politik h2{
  font-size:1.22rem; text-align:left; color:var(--kridt);
  margin:54px 0 16px; padding-top:26px;
  border-top:1px solid var(--linje);
}
.side-privacy .politik h3{
  font-size:1rem; font-weight:600; color:var(--champagne);
  margin:30px 0 8px; letter-spacing:-.01em;
}
.side-privacy .politik p{
  color:var(--tekst); max-width:none; margin:0 0 14px; line-height:1.75;
}
.side-privacy .politik .grundlag{
  font-size:.86rem; color:var(--roeg);
  border-left:1px solid rgba(var(--guld-rgb),.45);
  padding:2px 0 2px 14px; margin:0 0 6px;
}
.side-privacy .politik ul{
  margin:0 0 18px; padding-left:20px; color:var(--tekst); line-height:1.75;
}
.side-privacy .politik li{ margin-bottom:7px; }
.side-privacy .politik li::marker{ color:rgba(var(--guld-rgb),.7); }
.side-privacy .politik ul.fakta{ list-style:none; padding-left:0; }
.side-privacy .politik ul.fakta li{ margin-bottom:4px; }
.side-privacy .politik b{ color:var(--kridt); font-weight:600; }
.side-privacy .politik a{
  color:var(--guld); text-decoration:underline;
  text-underline-offset:3px; text-decoration-thickness:1px;
}
.side-privacy .politik a:hover{ color:var(--champagne); }

/* Felter Storm selv skal udfylde — skal være umulige at overse */
.udfyld{
  background:rgba(var(--guld-rgb),.12); color:var(--champagne);
  border:1px dashed rgba(var(--guld-rgb),.55); border-radius:2px;
  padding:1px 7px; font-size:.9em; white-space:nowrap;
}

/* ── Om os · holdet ────────────────────────────────────────────────────────
   Siden handlede om tre fyre uden at vise eller navngive nogen af dem. */
.side-omos .holdet{
  padding:clamp(70px,8vw,110px) 60px;
  border-top:1px solid var(--linje);
}
.side-omos .holdet-inder{ max-width:1240px; margin:0 auto; }
.side-omos .holdet h2{
  font-size:clamp(1.9rem,3.4vw,2.6rem); font-weight:600;
  letter-spacing:-.03em; line-height:1.1; margin:0 0 18px; color:var(--kridt);
}
.side-omos .holdet-manchet{
  color:var(--roeg); max-width:60ch; line-height:1.75; margin:0;
}
.side-omos .holdet-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--linje); border:1px solid var(--linje);
  margin-top:44px;
}
.side-omos .person{ background:var(--onyx); padding:36px 32px 34px; }
.side-omos .person-nr{
  font-family:var(--etikette); font-weight:500; font-size:.7rem;
  letter-spacing:.3em; color:rgba(var(--guld-rgb),.8); margin-bottom:20px;
}
.side-omos .person h3{
  font-size:1.22rem; font-weight:600; letter-spacing:-.02em;
  color:var(--kridt); margin:0 0 8px;
}
.side-omos .person-rolle{
  font-family:var(--etikette); font-weight:500; font-size:.62rem;
  letter-spacing:.26em; text-transform:uppercase; color:var(--champagne);
  margin-bottom:16px;
}
.side-omos .person p{ color:var(--roeg); line-height:1.7; margin:0; font-size:.95rem; }

/* holdfotoet skal vise ansigterne, ikke beskære dem væk */
.side-omos .hero-right img{ object-position:center 42%; }

@media(max-width:900px){
  .side-omos .holdet{ padding:64px 20px; }
  .side-omos .holdet-grid{ grid-template-columns:1fr; }
}

/* ── Om os · holdfotoet ────────────────────────────────────────────────────
   Bredformat kan ikke fylde en høj søjle uden at skære ansigter af, så det
   får sit eget bånd. Bredden er låst til billedets egen, så det er skarpt. */
.side-omos .holdfoto{
  padding:clamp(56px,6vw,84px) 60px 0;
  border-top:1px solid var(--linje);
}
.side-omos .holdfoto figure{
  max-width:975px; margin:0 auto; padding:0;
}
.side-omos .holdfoto img{
  display:block; width:100%; height:auto;
  border:1px solid var(--linje); border-radius:var(--r);
}
.side-omos .holdfoto figcaption{
  margin-top:16px; text-align:center;
  font-family:var(--etikette); font-weight:500; font-size:.66rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--roeg);
}
@media(max-width:900px){
  .side-omos .holdfoto{ padding:48px 20px 0; }
}

/* Links i Om os-brødtekst — uden det arver de browserens blå på sort bund */
.side-omos .story-left a,
.side-omos .laert a,
.side-omos .holdet a{
  color:var(--guld); text-decoration:underline;
  text-underline-offset:3px; text-decoration-thickness:1px;
  transition:color .2s ease;
}
.side-omos .story-left a:hover,
.side-omos .laert a:hover,
.side-omos .holdet a:hover{ color:var(--champagne); }
