:root {
  --accent: #3cc84a;
  --muted: #72747c;
  --dark: #1b1d20;
  --light: #ffffff;
  --bg: #f0f1f2;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--dark); }
body.grey { background: var(--bg); }
a { color: var(--accent); text-decoration: none; }

/* Header / nav (sticky) */
.site-header {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.8rem 1.2rem; background:var(--light); border-bottom:1px solid #e7e9ec;
  position:sticky; top:0; z-index:10;
}
.logo { height:34px; width:auto; }
.nav { display:flex; gap:0.8rem; align-items:center; }
.nav a, .dropbtn { color: var(--accent); font-weight:600; font-size:1rem; }
.nav a:hover, .dropdown:hover .dropbtn { opacity:.85; }
.nav a:visited { color: var(--accent); }
.nav a[aria-current="page"], .dropbtn[aria-current="page"] { border-bottom:2px solid var(--accent); padding-bottom:.12rem; }
.nav-toggle { display:none; font-size:1.4rem; background:none; border:none; }
.dropdown { position:relative; }
.dropbtn { background:none; border:none; padding:.5rem .4rem; cursor:pointer; }
.dropdown-content {
  display:none; position:absolute; min-width:240px; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.12); border:1px solid #eceff3;
  border-radius:10px; overflow:hidden;
}
.dropdown-content a { display:block; padding:.7rem 1rem; color:var(--dark); }
.dropdown:hover .dropdown-content { display:block; }

/* Fullscreen hero with overlay text (top-left) */
.content { padding:0; max-width:none; }
.hero {
  position:relative; min-height:100vh; width:100vw; overflow:hidden; background: var(--bg);
}
.hero img {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.overlay {
  position:absolute; top:18vh; left:4vw; max-width:min(640px, 86vw);
  color:#202225; text-shadow: 0 1px 2px rgba(0,0,0,.05);
  animation: fadeIn .6s ease-out both;
}
.overlay .kicker { color: var(--accent); text-transform: uppercase; letter-spacing:.06em; font-size:1.05rem; font-weight:600; margin:0 0 .25rem; }
.overlay h1 { font-size: clamp(2.5rem, 5.8vw, 4.2rem); line-height:1.05; margin:0 0 .45rem; }
.overlay p.lead { font-size: clamp(1.12rem, 1.8vw, 1.36rem); margin:0; color:#333; }
.overlay .cta { display:flex; gap:.75rem; margin-top:1rem; flex-wrap:wrap; }
.btn { display:inline-block; padding:.8rem 1rem; border-radius:10px; border:1px solid var(--accent); font-size:1rem; }
.btn.primary { background: var(--accent); color:#0b2b12; border-color:var(--accent); font-weight:600; }
.btn.ghost { color: var(--accent); background:transparent; border-color: var(--accent); }

@keyframes fadeIn { from { opacity:0; transform: translateY(6px); } to { opacity:1; transform:none; } }

/* Inner pages layout */
.page { max-width:1100px; margin:0 auto; padding:2rem 1.25rem 5.5rem; }
h1 { font-size: clamp(2rem, 4vw, 3rem); margin:.2rem 0 1rem; letter-spacing:-.01em; }
h2 { font-size: clamp(1.25rem, 2.2vw, 1.6rem); margin:1.25rem 0 .5rem; }
p.lead { color:#3a3d42; }

blockquote { border-left:4px solid var(--accent); background:#fff; margin:1rem 0; padding:1rem; border-radius:8px; }

/* ✔ Grønne ikon-bullets – kun piktogram, gennemsigtig baggrund */
.page ul, .page ol, ul, ol { list-style: none; padding-left: 0; }
.page ul li, ul li { position: relative; padding-left: 1.6rem; margin: .35rem 0; }
.page ul li::before, ul li::before {
  content: "";
  position: absolute;
  left: 0; top: .25rem;
  width: 1.05rem; height: 1.05rem;
  background: url('assets/icon-green.png') no-repeat center center / contain;
  opacity: .98;
}
ul.no-bullets li::before { display:none; }
ul.no-bullets { list-style: initial; padding-left: 1.1rem; }

/* Footer */
.site-footer { border-top:1px solid #e7e9ec; background:#fff; padding:1.1rem; text-align:center; color:#444; }
.site-footer a { color: var(--accent); }

/* Service page next/prev */
.svc-nav { display:flex; justify-content:space-between; gap:.5rem; margin-top:2rem; }
.svc-nav a { padding:.6rem .8rem; border:1px solid #e7e9ec; border-radius:10px; background:#fff; }

/* Responsive: mobil-menu */
@media (max-width: 720px) {
  .nav-toggle { display:block; }
  .nav { display:none; flex-direction:column; align-items:flex-start; gap:.25rem; background:#fff; position:absolute; right:1rem; top:60px; padding:.75rem; border:1px solid #e7e9ec; border-radius:12px; }
  .nav.open { display:flex; }
  .overlay { top:16vh; left:6vw; max-width:88vw; }
  .overlay h1 { font-size: clamp(2rem, 7.4vw, 2.9rem); }
}

/* ✅ Fix: Landskab/low-height – undgå at tekst går hen over ansigtet */
@media (max-height: 520px) and (orientation: landscape) {
  .overlay { top:10vh; left:4vw; max-width:58vw; }
  .overlay h1 { font-size: clamp(1.6rem, 4.6vw, 2.6rem); }
  .overlay p.lead { font-size: clamp(1rem, 1.6vw, 1.2rem); }
}