/* DENIVE — site styles. Tokens in :root (see DESIGN.md). No framework. */
:root {
  --sand: #FBF7F0; --paper: #FFFFFF; --ink: #172630; --muted: #56636C; --hav: #0F4A69; --hav-dyb: #0B3650;
  --guld: #FCBF49; --guld-h: #F5B12F; --himmel: #6DB5E6; --line: #E7DFD2; --soft: #F3ECE0;
  --serif: "Fraunces", Georgia, "Times New Roman", serif; --sans: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
  --r-card: 20px; --r-img: 24px; --shadow: 0 20px 40px -24px rgb(15 74 105 / .35);
  --ease-out: cubic-bezier(.2, .7, .2, 1); --t-fast: 180ms; --t-med: 260ms;
  --wrap: 1200px; --pad: clamp(20px, 4vw, 40px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--sand); color: var(--ink); font: 400 18px/1.65 var(--sans); overflow-x: hidden; }
@media (max-width: 700px) { body { font-size: 17px; } }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
p { margin: 0 0 .9em; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; margin: 0 0 .5em; letter-spacing: -.01em; text-wrap: balance; }
h1 { font-size: clamp(40px, 6vw, 76px); line-height: 1.04; }
h2 { font-size: clamp(30px, 4vw, 48px); line-height: 1.1; }
h3 { font-size: 22px; line-height: 1.25; font-weight: 500; }
h1 em, h2 em, h3 em { font-style: italic; color: inherit; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--pad); }
.lab { font: 600 13px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--hav); margin: 0 0 16px; display: inline-flex; align-items: center; gap: 10px; }
.lab::before { content: ""; width: 22px; height: 2px; background: var(--guld); border-radius: 2px; }
.on-hav .lab { color: var(--guld); }
.lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.6; color: var(--muted); max-width: 60ch; }
.on-hav .lead, .hero .lead { color: rgb(255 255 255 / .86); }
.prose { max-width: 65ch; }
.prose p { color: var(--muted); }
.skip { position: absolute; left: 12px; top: -60px; background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 10px; z-index: 200; text-decoration: none; }
.skip:focus { top: 12px; }
.i { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 999px; border: 1.5px solid transparent; font: 600 16px/1.2 var(--sans); text-decoration: none; cursor: pointer; transition: transform var(--t-fast) var(--ease-out), background-color var(--t-fast), border-color var(--t-fast), color var(--t-fast); }
.btn:active { transform: scale(.97); }
.btn--p { background: var(--guld); color: var(--ink); }
.btn--p:hover { background: var(--guld-h); }
.btn--g { background: transparent; color: #fff; border-color: rgb(255 255 255 / .55); }
.btn--g:hover { border-color: #fff; background: rgb(255 255 255 / .08); }
.btn--o { background: transparent; color: var(--hav); border-color: var(--hav); }
.btn--o:hover { background: var(--hav); color: #fff; }
.btn[disabled] { opacity: .55; cursor: not-allowed; }
.btn .i { width: 18px; height: 18px; }
.lnk { display: inline-flex; align-items: center; gap: 8px; color: var(--hav); font-weight: 600; text-decoration: none; border-bottom: 1.5px solid rgb(15 74 105 / .25); padding-bottom: 2px; min-height: 44px; transition: border-color var(--t-fast); }
.lnk:hover { border-color: var(--hav); }
.on-hav .lnk { color: #fff; border-color: rgb(255 255 255 / .35); }
:focus-visible { outline: 2px solid var(--hav); outline-offset: 3px; animation: ring var(--t-fast) var(--ease-out); }
.on-hav :focus-visible, .hero :focus-visible, .ft :focus-visible { outline-color: var(--guld); }
@keyframes ring { from { outline-offset: 0; } }

/* Header */
.hd { position: fixed; inset: 0 0 auto; z-index: 50; transition: background-color var(--t-med), box-shadow var(--t-med); }
.hd__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 84px; }
.hd__logo { display: block; flex: none; }
.hd__logo img { height: 54px; width: auto; }
.hd__logo .lo-d { display: none; }
.hd nav { display: flex; align-items: center; gap: 4px; }
.hd nav a { color: #fff; text-decoration: none; font-weight: 500; font-size: 16px; padding: 10px 12px; border-radius: 999px; min-height: 44px; display: inline-flex; align-items: center; transition: background-color var(--t-fast); }
.hd nav a:hover { background: rgb(255 255 255 / .12); }
.hd nav a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--guld); border-radius: 0; }
.hd nav .btn { margin-left: 10px; padding: 0 20px; min-height: 46px; }
.hd nav .btn:hover { background: var(--guld-h); }
.hd.is-solid, .hd.is-light { background: rgb(251 247 240 / .96); box-shadow: 0 1px 0 var(--line); backdrop-filter: saturate(1.2) blur(8px); -webkit-backdrop-filter: saturate(1.2) blur(8px); }
.hd.is-solid .hd__in, .hd.is-light .hd__in { height: 72px; }
.hd.is-solid .lo-w, .hd.is-light .lo-w { display: none; }
.hd.is-solid .lo-d, .hd.is-light .lo-d { display: block; }
.hd.is-solid nav a, .hd.is-light nav a { color: var(--ink); }
.hd.is-solid nav a:hover, .hd.is-light nav a:hover { background: var(--soft); }
.hd.is-solid nav .btn, .hd.is-light nav .btn { color: var(--ink); }
.hd__burger { display: none; width: 48px; height: 48px; border-radius: 999px; border: 1.5px solid rgb(255 255 255 / .5); background: transparent; color: #fff; align-items: center; justify-content: center; cursor: pointer; }
.hd.is-solid .hd__burger, .hd.is-light .hd__burger { color: var(--ink); border-color: var(--line); }
@media (max-width: 1240px) { .hd nav { display: none; } .hd__burger { display: inline-flex; } .hd__logo img { height: 40px; } }
.menu { position: fixed; inset: 0; z-index: 100; background: var(--hav); color: #fff; padding: 20px var(--pad) 32px; display: flex; flex-direction: column; overflow-y: auto; }
.menu[hidden] { display: none; }
.menu__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.menu__top img { height: 40px; width: auto; }
.menu__close { width: 48px; height: 48px; border-radius: 999px; border: 1.5px solid rgb(255 255 255 / .5); background: transparent; color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.menu nav { display: flex; flex-direction: column; margin-bottom: 24px; }
.menu nav a { display: flex; justify-content: space-between; align-items: center; padding: 15px 0; border-bottom: 1px solid rgb(255 255 255 / .14); color: #fff; text-decoration: none; font: 400 24px/1.2 var(--serif); }
.menu .btn { margin-top: auto; }
.menu__tel { margin-top: 14px; text-align: center; color: rgb(255 255 255 / .8); text-decoration: none; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; }
body.menu-open { overflow: hidden; }

/* Hero */
.hero { position: relative; min-height: min(100svh, 920px); display: flex; align-items: center; color: #fff; overflow: hidden; background: var(--hav-dyb); }
.hero__img, .hero__img picture, .hero__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__img img { object-fit: cover; object-position: 30% 30%; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(270deg, rgb(11 54 80 / .88) 0%, rgb(11 54 80 / .72) 34%, rgb(11 54 80 / .12) 62%, rgb(11 54 80 / 0) 80%), linear-gradient(0deg, rgb(11 54 80 / .55), rgb(11 54 80 / 0) 30%), linear-gradient(180deg, rgb(11 54 80 / .45), rgb(11 54 80 / 0) 22%); }
.hero .wrap { position: relative; z-index: 2; width: 100%; padding-top: 120px; padding-bottom: 72px; display: flex; justify-content: flex-end; }
.hero__txt { max-width: 560px; }
.hero__kicker { font: 500 15px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--guld); margin: 0 0 18px; }
.hero h1 { margin-bottom: 20px; }
.hero h1 em { color: var(--guld); }
.hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; }
.hero__veje { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 30px 0 0; padding: 18px 0 0; border-top: 1px solid rgb(255 255 255 / .22); list-style: none; }
.hero__veje li { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; color: #fff; }
.hero__veje .i { width: 18px; height: 18px; color: var(--guld); }
.hero--sub { min-height: 560px; align-items: flex-end; }
.hero--sub::after { background: linear-gradient(90deg, rgb(11 54 80 / .7) 0%, rgb(11 54 80 / .2) 70%), linear-gradient(0deg, rgb(11 54 80 / .92) 0%, rgb(11 54 80 / .6) 45%, rgb(11 54 80 / .3) 80%, rgb(11 54 80 / .6) 100%); }
.hero--sub .wrap { justify-content: flex-start; padding-bottom: 64px; }
.hero--sub .hero__txt { max-width: 760px; }
.hero--sub h1 { font-size: clamp(38px, 5.2vw, 64px); }
@media (max-width: 760px) {
  .hero { min-height: 0; align-items: flex-end; }
  .hero__img img { object-position: 30% 0%; }
  .hero::after { background: linear-gradient(0deg, rgb(11 54 80 / .96) 0%, rgb(11 54 80 / .86) 42%, rgb(11 54 80 / .1) 72%), linear-gradient(180deg, rgb(11 54 80 / .5), rgb(11 54 80 / 0) 20%); }
  .hero .wrap { padding-top: 290px; padding-bottom: 36px; justify-content: flex-start; }
  .hero__veje { display: none; }
  .hero--sub { min-height: 0; }
  .hero--sub .wrap { padding-top: 260px; padding-bottom: 40px; }
  .hero__cta .btn { width: 100%; }
}

/* Sections */
.sec { padding: 112px 0; position: relative; }
.sec--tight { padding: 80px 0; }
@media (max-width: 760px) { .sec { padding: 72px 0; } .sec--tight { padding: 56px 0; } }
.on-paper { background: var(--paper); }
.on-soft { background: var(--soft); }
.on-hav { background: var(--hav); color: #fff; }
.on-hav h2, .on-hav h3 { color: #fff; }
.on-hav p { color: rgb(255 255 255 / .82); }
.sec__h { max-width: 720px; margin-bottom: 48px; }
.sec__h--c { margin-left: auto; margin-right: auto; text-align: center; }
.sec__h--c .lab { justify-content: center; }
.sec__h--c .lead { margin-left: auto; margin-right: auto; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.split--57 { grid-template-columns: 5fr 7fr; }
.split--75 { grid-template-columns: 7fr 5fr; }
.split--top { align-items: start; }
@media (max-width: 900px) { .split, .split--57, .split--75 { grid-template-columns: 1fr; } }
.ph { border-radius: var(--r-img); overflow: hidden; background: var(--soft); }
.ph img { width: 100%; height: 100%; object-fit: cover; }

/* Two roads */
.veje { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.vej { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 520px; border-radius: var(--r-card); overflow: hidden; color: #fff; text-decoration: none; isolation: isolate; }
.vej picture, .vej img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.vej::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgb(11 54 80 / .96) 0%, rgb(11 54 80 / .78) 55%, rgb(11 54 80 / .2) 100%); }
.vej__in { padding: 36px; }
.vej .lab { color: var(--guld); }
.vej h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 3vw, 38px); line-height: 1.12; margin-bottom: 12px; color: #fff; }
.vej p { color: rgb(255 255 255 / .85); max-width: 44ch; }
.vej ul { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.vej ul { gap: 4px 0; }
.vej li { font-size: 15px; color: rgb(255 255 255 / .9); }
.vej li + li::before { content: "·"; margin: 0 10px; color: var(--guld); }
.vej__go { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }
.vej__go .i { transition: transform var(--t-med) var(--ease-out); }
.card { transition: transform var(--t-med) var(--ease-out), box-shadow var(--t-med) var(--ease-out); }
@media (hover: hover) { .card:hover { transform: translateY(-4px); box-shadow: 0 24px 40px -22px rgb(15 74 105 / .5); } .vej:hover .vej__go .i { transform: translateX(4px); } }
.vej-mini { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-top: 24px; }
.vej-mini a { display: flex; align-items: center; gap: 14px; padding: 20px 22px; border-radius: var(--r-card); background: var(--paper); border: 1px solid var(--line); text-decoration: none; }
.vej-mini b { display: block; font: 500 19px/1.2 var(--serif); }
.vej-mini span { color: var(--muted); font-size: 15px; }
.vej-mini .ico { width: 44px; height: 44px; border-radius: 999px; background: var(--soft); color: var(--hav); display: inline-flex; align-items: center; justify-content: center; flex: none; }
@media (max-width: 900px) { .veje { grid-template-columns: 1fr; } .vej { min-height: 440px; } .vej-mini { grid-template-columns: 1fr; } .vej__in { padding: 28px 24px; } }

/* Meet Tina */
.moed { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 6vw, 88px); align-items: end; }
.moed__img { position: relative; border-radius: var(--r-img); background: linear-gradient(180deg, #E9F3FA 0%, #F6EBD6 100%); overflow: hidden; aspect-ratio: 4 / 5; }
.moed__img img { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 82%; height: auto; }
.moed__sig { position: absolute; left: 20px; bottom: 20px; background: rgb(255 255 255 / .92); border-radius: 14px; padding: 12px 16px; font-size: 14px; line-height: 1.35; box-shadow: var(--shadow); }
.moed__sig b { display: block; font: 500 17px/1.2 var(--serif); }
.moed blockquote { margin: 0 0 24px; font: 400 clamp(26px, 3vw, 36px)/1.25 var(--serif); }
.tal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 36px 0; border-top: 1px solid var(--line); }
.tal > div { padding: 22px 18px 0 0; }
.tal > div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.tal b { display: block; font: 400 clamp(36px, 4vw, 52px)/1 var(--serif); color: var(--hav); margin-bottom: 8px; }
.tal > div > span { display: block; font-size: 15px; line-height: 1.45; color: var(--muted); }
@media (max-width: 900px) { .moed { grid-template-columns: 1fr; } .moed__img { max-width: 440px; } }
@media (max-width: 560px) { .tal { grid-template-columns: 1fr; } .tal > div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); } .tal > div { padding: 18px 0; } }

/* Garden (wow) */
.have-sek { overflow: hidden; }
.have-sek::before { content: ""; position: absolute; inset: 0; background: radial-gradient(900px 500px at 80% 10%, rgb(252 191 73 / .16), transparent 60%), radial-gradient(700px 500px at 0% 100%, rgb(109 181 230 / .14), transparent 60%); pointer-events: none; }
.have { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.have__scene { position: relative; border-radius: var(--r-card); overflow: hidden; aspect-ratio: 15 / 14; background: #0B3650; position: sticky; top: 96px; }
.have__scene svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.have__scene .sky-day { transition: opacity 900ms var(--ease-out); }
.have__scene .sun { transition: transform 900ms var(--ease-out); }
.have__scene .plant { transform-box: fill-box; transform-origin: 50% 100%; }
.have__scene .plant > g { transform-box: fill-box; transform-origin: 50% 100%; opacity: 0; transform: scale(.4); transition: opacity 500ms var(--ease-out), transform 700ms var(--ease-out); }
.have__scene .plant > g.on { opacity: 1; transform: none; }
.have__panel { background: rgb(255 255 255 / .06); border: 1px solid rgb(255 255 255 / .14); border-radius: var(--r-card); padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; min-height: 480px; }
.have__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.have__step { font-size: 14px; color: rgb(255 255 255 / .75); }
.have__bar { flex: 1; height: 4px; border-radius: 4px; background: rgb(255 255 255 / .15); overflow: hidden; max-width: 200px; }
.have__bar i { display: block; height: 100%; width: 0; background: var(--guld); transition: width var(--t-med) var(--ease-out); }
.have__q { font: 400 clamp(24px, 2.4vw, 30px)/1.2 var(--serif); color: #fff; margin: 0 0 20px; }
.have__opts { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
.have__opt { position: relative; display: flex; align-items: center; gap: 14px; text-align: left; width: 100%; min-height: 56px; padding: 14px 18px; border-radius: 14px; border: 1.5px solid rgb(255 255 255 / .2); background: rgb(255 255 255 / .04); color: #fff; font: 400 16px/1.4 var(--sans); cursor: pointer; transition: border-color var(--t-fast), background-color var(--t-fast); }
.have__opt:hover { border-color: rgb(255 255 255 / .55); background: rgb(255 255 255 / .08); }
.have__opt[aria-pressed="true"] { border-color: var(--guld); background: rgb(252 191 73 / .12); }
.have__opt .dot { width: 22px; height: 22px; border-radius: 999px; border: 1.5px solid rgb(255 255 255 / .45); flex: none; display: inline-flex; align-items: center; justify-content: center; }
.have__opt[aria-pressed="true"] .dot { border-color: var(--guld); background: var(--guld); }
.have__opt[aria-pressed="true"] .dot::after { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--hav-dyb); }
.have__nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 22px; }
.have__back { background: none; border: 0; color: rgb(255 255 255 / .8); font: 500 15px var(--sans); cursor: pointer; min-height: 44px; padding: 0 4px; display: inline-flex; align-items: center; gap: 6px; }
.have__back[disabled] { opacity: 0; pointer-events: none; }
.have__res[hidden], .have__quiz[hidden], .have__send[hidden], .have__done[hidden] { display: none; }
.have__res h3 { font: 400 clamp(28px, 3vw, 38px)/1.12 var(--serif); color: #fff; margin-bottom: 10px; }
.have__score { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--guld); margin-bottom: 14px; font-weight: 600; letter-spacing: .04em; }
.have__res p { color: rgb(255 255 255 / .84); }
.have__next { display: grid; gap: 10px; margin: 18px 0 20px; }
.have__next a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-radius: 14px; background: rgb(255 255 255 / .07); border: 1px solid rgb(255 255 255 / .16); color: #fff; text-decoration: none; min-height: 56px; }
.have__next a:hover { border-color: rgb(255 255 255 / .5); }
.have__next b { display: block; font-weight: 600; }
.have__next small { display: block; color: rgb(255 255 255 / .7); font-size: 14px; }
.have__acts { display: flex; flex-wrap: wrap; gap: 10px; }
.have__send { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgb(255 255 255 / .14); }
.have__send .row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 900px) { .have { grid-template-columns: 1fr; } .have__scene { position: relative; top: 0; aspect-ratio: 5 / 4; } .have__panel { min-height: 0; } }
@media (max-width: 560px) { .have__send .row { grid-template-columns: 1fr; } .have__scene { aspect-ratio: 1 / 1; } }

/* Fields */
.f { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.f label { font-weight: 500; font-size: 15px; }
.f input, .f textarea, .f select { width: 100%; min-height: 52px; border-radius: 14px; border: 1.5px solid #D6CBB8; background: var(--sand); color: var(--ink); padding: 12px 16px; font: 400 17px/1.4 var(--sans); transition: border-color var(--t-fast); }
.f textarea { min-height: 130px; resize: vertical; }
.f input:hover, .f textarea:hover, .f select:hover { border-color: #CFC4B2; }
.f input:focus, .f textarea:focus, .f select:focus { border-color: var(--hav); outline: none; box-shadow: 0 0 0 3px rgb(15 74 105 / .15); }
.f.is-bad input, .f.is-bad textarea { border-color: #B3261E; }
.f .err { display: none; color: #B3261E; font-size: 14px; }
.f.is-bad .err { display: block; }
.on-hav .f label { color: #fff; }
.on-hav .f input, .on-hav .f textarea { background: rgb(255 255 255 / .96); border-color: transparent; }
.on-hav .f.is-bad .err { color: #FFB4AB; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form__status { min-height: 24px; margin: 12px 0 0; font-size: 15px; }
.form__status.is-ok { color: #1E6B3A; } .form__status.is-bad { color: #B3261E; } .form__status.is-wait { color: var(--muted); }
.on-hav .form__status.is-ok { color: #9BE3B0; } .on-hav .form__status.is-bad { color: #FFB4AB; } .on-hav .form__status.is-wait { color: rgb(255 255 255 / .75); }
.chips-in { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 14px; padding: 0; border: 0; }
.chips-in legend { font-weight: 500; font-size: 15px; margin-bottom: 8px; padding: 0; }
.chips-in label { position: relative; }
.chips-in input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.chips-in span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--paper); font-size: 15px; cursor: pointer; transition: border-color var(--t-fast), background-color var(--t-fast); }
.chips-in input:checked + span { border-color: var(--hav); background: var(--hav); color: #fff; }
.chips-in input:focus-visible + span { outline: 2px solid var(--hav); outline-offset: 2px; }

/* Quotes */
.quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
@media (max-width: 900px) { .quotes { grid-template-columns: 1fr; } .quotes--kort .q:nth-child(n+4) { display: none; } }
.q { margin: 0; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); padding: 28px; }
.q p { font: 400 19px/1.5 var(--serif); color: var(--ink); margin: 0 0 14px; }
.q cite { font: 500 14px/1.4 var(--sans); font-style: normal; color: var(--muted); display: block; }
.q__mark { width: 28px; height: 28px; color: var(--guld); margin-bottom: 10px; }
.on-soft .q { background: var(--paper); }

/* Proof numbers */
.bevis { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.bevis > div { background: rgb(255 255 255 / .06); border: 1px solid rgb(255 255 255 / .14); border-radius: var(--r-card); padding: 28px; }
.bevis b { font: 400 clamp(44px, 5vw, 64px)/1 var(--serif); color: #fff; display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.bevis b .i { width: 28px; height: 28px; color: var(--guld); }
.bevis > div > span { color: rgb(255 255 255 / .8); font-size: 15px; }
.partnere { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; padding: 0; list-style: none; }
.partnere li { padding: 10px 18px; border-radius: 999px; border: 1px solid rgb(255 255 255 / .25); font-size: 15px; color: #fff; }
.on-paper .partnere li, .on-soft .partnere li, .partnere--lys li { color: var(--ink); border-color: var(--line); background: var(--paper); }
@media (max-width: 560px) { .bevis { grid-template-columns: 1fr; } }

/* Chain */
.kaede { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; padding: 0; margin: 28px 0 0; }
.kaede li { display: inline-flex; align-items: center; gap: 8px; font: 600 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.kaede li span { padding: 10px 14px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); }
.kaede li:last-child span { background: var(--guld); border-color: var(--guld); }
.kaede .i { width: 16px; height: 16px; color: var(--muted); }

/* Lists */
.tjek { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 12px; }
.tjek li { display: flex; gap: 12px; align-items: flex-start; }
.tjek .i { color: var(--hav); margin-top: 4px; }
.on-hav .tjek .i { color: var(--guld); }
.num { list-style: none; padding: 0; margin: 0; counter-reset: n; display: grid; gap: 0; }
.num li { counter-increment: n; display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding: 18px 0; border-top: 1px solid var(--line); }
.num li::before { content: counter(n, decimal-leading-zero); font: 400 22px/1.2 var(--serif); color: var(--hav); }
.num li:last-child { border-bottom: 1px solid var(--line); }

/* Price cards */
.priser { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pris { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); padding: 28px; }
.pris__t { font: 600 13px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.pris h3 { font-family: var(--serif); font-weight: 400; font-size: 26px; margin-bottom: 6px; }
.pris__kr { font: 400 34px/1.1 var(--serif); color: var(--hav); margin: 10px 0 2px; }
.pris__m { font-size: 14px; color: var(--muted); margin-bottom: 18px; }
.pris p { color: var(--muted); font-size: 16px; }
.pris .btn, .pris .lnk { margin-top: auto; align-self: flex-start; }
.pris--hl { border-color: var(--hav); box-shadow: inset 0 0 0 1px var(--hav); }
@media (max-width: 900px) { .priser { grid-template-columns: 1fr; } }
.prisliste { display: grid; gap: 0; border-top: 1px solid var(--line); }
.prisliste > div { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.prisliste span { color: var(--ink); }
.prisliste small { display: block; color: var(--muted); font-size: 15px; }
.prisliste b { font: 400 22px/1.2 var(--serif); color: var(--hav); white-space: nowrap; }
@media (max-width: 560px) { .prisliste > div { flex-direction: column; gap: 4px; } }

/* Book */
.bog { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.bog__img { position: relative; }
.bog__img::before { content: ""; position: absolute; inset: 10% 6% 4%; background: radial-gradient(closest-side, rgb(252 191 73 / .45), transparent); z-index: 0; }
.bog__img picture, .bog__img img { position: relative; z-index: 1; }
.bog__pris { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0; }
.bog__pris > div { padding: 14px 18px; border-radius: 14px; background: var(--paper); border: 1px solid var(--line); }
.bog__pris b { display: block; font: 400 26px/1.1 var(--serif); color: var(--hav); }
.bog__pris span { font-size: 14px; color: var(--muted); }
@media (max-width: 900px) { .bog { grid-template-columns: 1fr; } }

/* Video facade */
.vid { position: relative; display: block; width: 100%; border: 0; padding: 0; border-radius: var(--r-img); overflow: hidden; cursor: pointer; background: #000; aspect-ratio: 16 / 9; }
.vid img { width: 100%; height: 100%; object-fit: cover; opacity: .9; transition: opacity var(--t-med); }
.vid:hover img { opacity: 1; }
.vid__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 76px; height: 76px; border-radius: 999px; background: var(--guld); color: var(--ink); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px rgb(0 0 0 / .35); }
.vid__play .i { width: 28px; height: 28px; fill: currentColor; stroke: none; margin-left: 4px; }
.vid__cap { position: absolute; left: 18px; bottom: 16px; right: 18px; color: #fff; font-size: 15px; text-align: left; text-shadow: 0 1px 8px rgb(0 0 0 / .6); }
.vid iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vids { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 760px) { .vids { grid-template-columns: 1fr; } }

/* Story / magazine */
.liv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.liv a { display: block; border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); }
.liv img { width: 100%; aspect-ratio: 960 / 1259; object-fit: cover; }
@media (max-width: 560px) { .liv { grid-template-columns: 1fr 1fr; } .liv a:last-child { display: none; } }

/* CTA band */
.band { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.band__kontakt { display: grid; gap: 12px; }
.band__kontakt a, .band__kontakt button, .band__kontakt div { display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-radius: 16px; background: rgb(255 255 255 / .07); border: 1px solid rgb(255 255 255 / .16); color: #fff; text-decoration: none; font: 400 17px/1.3 var(--sans); text-align: left; cursor: pointer; min-height: 60px; width: 100%; }
.band__kontakt a:hover, .band__kontakt button:hover { border-color: rgb(255 255 255 / .5); }
.band__kontakt .i { color: var(--guld); }
.band__kontakt small { display: block; color: rgb(255 255 255 / .7); font-size: 14px; }
.band__kontakt .is-done { border-color: var(--guld); }
@media (max-width: 900px) { .band { grid-template-columns: 1fr; } }

/* Newsletter */
.nyhed { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); padding: clamp(28px, 4vw, 48px); }
.nyhed form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.nyhed .f--full, .nyhed .btn { grid-column: 1 / -1; }
.nyhed small { grid-column: 1 / -1; color: var(--muted); font-size: 14px; margin-top: 10px; }
@media (max-width: 900px) { .nyhed { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .nyhed form { grid-template-columns: 1fr; } }

/* Contact */
.kontakt { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.kort { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); padding: clamp(24px, 3vw, 40px); }
.info { display: grid; gap: 0; margin: 0 0 20px; }
.info > div { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); align-items: flex-start; }
.info .i { color: var(--hav); margin-top: 3px; }
.info b { display: block; font-weight: 600; }
.info span, .info a { color: var(--muted); text-decoration: none; }
.info a:hover { color: var(--hav); }
.cbtn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--paper); font: 500 15px var(--sans); color: var(--ink); cursor: pointer; margin-top: 8px; }
.cbtn:hover { border-color: var(--hav); }
.cbtn.is-done { border-color: #1E6B3A; color: #1E6B3A; }
@media (max-width: 900px) { .kontakt { grid-template-columns: 1fr; } }

/* Footer */
.ft { background: var(--hav-dyb); color: rgb(255 255 255 / .82); padding: 80px 0 32px; font-size: 16px; }
.ft__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 40px; }
.ft img { height: 60px; width: auto; margin-bottom: 18px; }
.ft .ft__h { font: 600 13px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #fff; margin: 6px 0 16px; }
.ft ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.ft a { color: rgb(255 255 255 / .82); text-decoration: none; min-height: 36px; display: inline-flex; align-items: center; }
.ft a:hover { color: #fff; }
.ft__bot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 56px; padding-top: 24px; border-top: 1px solid rgb(255 255 255 / .14); font-size: 14px; color: rgb(255 255 255 / .65); }
.ft__bot a { min-height: 0; color: rgb(255 255 255 / .75); text-decoration: underline; text-underline-offset: 3px; }
.ft__soc { display: flex; gap: 10px; margin-top: 16px; }
.ft__soc a { width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgb(255 255 255 / .25); justify-content: center; }
@media (max-width: 900px) { .ft__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ft__grid { grid-template-columns: 1fr; gap: 28px; } }

/* Draft bar */
.draft { position: fixed; left: 16px; bottom: 16px; z-index: 60; display: flex; align-items: center; gap: 10px; background: rgb(23 38 48 / .92); color: #fff; font-size: 13px; padding: 6px 6px 6px 16px; border-radius: 999px; max-width: calc(100% - 32px); box-shadow: 0 10px 30px rgb(0 0 0 / .25); }
.draft[hidden] { display: none; }
.draft { transition: opacity var(--t-med), transform var(--t-med); }
.draft.is-away { opacity: 0; transform: translateY(12px); pointer-events: none; }
.draft button { width: 32px; height: 32px; border-radius: 999px; border: 0; background: rgb(255 255 255 / .12); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; }
.draft .i { width: 16px; height: 16px; }

/* Reveal (motion 3) */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity 300ms var(--ease-out), transform 300ms var(--ease-out); transition-delay: calc(var(--i, 0) * 40ms); }
.reveal.is-in { opacity: 1; transform: none; }
.no-js .reveal { opacity: 1; transform: none; }

/* 404 */
.nf { min-height: 80vh; display: flex; align-items: center; padding: 140px 0 80px; }

/* Policy pages from the cookie kit keep their own markup; give them breathing room under the fixed header */
.legal { padding: 140px 0 80px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 1ms !important; animation-delay: 0ms !important; transition-duration: 1ms !important; transition-delay: 0ms !important; }
  .reveal { opacity: 1; transform: none; }
}
.f[hidden] { display: none; }

@media (max-width: 760px) {
  .draft { left: 12px; right: 12px; bottom: 10px; font-size: 12px; justify-content: space-between; }
  .ft { padding-bottom: 88px; }
  .kort .btn[type=submit], .have__send .btn { width: 100%; }
}
.kort .btn[type=submit] { min-height: 54px; }
.have__acts[hidden] { display: none; }
