/* ==========================================================================
   Webpartneren 2026 — designsystem for de nye sider (forside, systemer, cases)
   Hvorfor: _admin/_docs/REBRAND-2026.md
   Lægges OVEN PÅ styles.css (nav, cookie-banner og .cf-formularen bor der).
   Husk: styles.css giver body zoom:.8 fra 1025px — størrelserne her er sat efter det.
   ========================================================================== */

:root {
  --w-ink: #1d1d1f;
  --w-ink2: #424245;
  --w-mute: #6e6e73;
  --w-line: #d2d2d7;
  --w-hair: rgba(0, 0, 0, .08);
  --w-bg: #ffffff;
  --w-alt: #f5f5f7;
  --w-dark: #000000;
  --w-dark2: #161617;
  --w-dark3: #1d1d1f;
  --w-dtext: #f5f5f7;
  --w-dmute: #a1a1a6;
  --w-accent: #ea580c;          /* brandets orange, uændret */
  --w-accent-ink: #c2410c;      /* orange tekst på hvid (AA) */
  --w-accent-lt: #fb923c;       /* orange tekst på sort */
  --w-ok: #34c759;
  --w-radius: 28px;
  --w-radius-sm: 18px;
  --w-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --w-shadow: 0 30px 80px -20px rgba(0, 0, 0, .22), 0 8px 24px -8px rgba(0, 0, 0, .10);
}

body.w26 {
  background: var(--w-bg);
  color: var(--w-ink);
  letter-spacing: -0.012em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body.w26 main { display: block; }
.w26 h1, .w26 h2, .w26 h3, .w26 h4 { color: inherit; }

/* ── Layout ──────────────────────────────────────────────────────────── */
.w-wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.w-wrap--narrow { max-width: 980px; }
.w-sec { padding: 160px 0; position: relative; }
.w-sec--tight { padding: 110px 0; }
.w-sec--alt { background: var(--w-alt); }
.w-sec--dark { background: var(--w-dark); color: var(--w-dtext); }
.w-center { text-align: center; }
.w-center .w-lead { margin-left: auto; margin-right: auto; }

/* ── Typografi ───────────────────────────────────────────────────────── */
.w-eyebrow {
  display: inline-block;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--w-accent-ink);
  margin: 0 0 14px;
}
.w-sec--dark .w-eyebrow { color: var(--w-accent-lt); }
.w-h1 {
  font-size: clamp(52px, 7.6vw, 128px);
  line-height: 1.02;
  font-weight: 700;
  letter-spacing: -0.046em;
  margin: 0;
}
.w-h2 {
  font-size: clamp(40px, 5.4vw, 84px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -0.048em;
  margin: 0;
}
.w-h3 {
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.035em;
  margin: 0;
}
.w-lead {
  font-size: clamp(20px, 1.9vw, 28px);
  line-height: 1.42;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--w-mute);
  max-width: 34ch;
  margin: 26px 0 0;
}
.w-sec--dark .w-lead { color: var(--w-dmute); }
.w-lead b, .w-lead strong { color: var(--w-ink); font-weight: 600; }
.w-sec--dark .w-lead b, .w-sec--dark .w-lead strong { color: var(--w-dtext); }
.w-body { font-size: 19px; line-height: 1.6; color: var(--w-ink2); }
.w-sec--dark .w-body { color: var(--w-dmute); }
.w-small { font-size: 15px; line-height: 1.5; color: var(--w-mute); }
.w-grad {
  background: linear-gradient(95deg, #ea580c 0%, #f97316 45%, #e11d48 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ── Knapper og links ───────────────────────────────────────────────── */
.w-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 44px; }
.w-center .w-btns, .w-hero .w-btns { justify-content: center; }
.w-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 56px; padding: 0 30px;
  border-radius: 980px;
  font-family: inherit;
  font-size: 19px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.015em;
  text-decoration: none;
  border: 0; cursor: pointer;
  transition: background-color 250ms var(--w-ease), transform 250ms var(--w-ease), color 250ms var(--w-ease);
}
.w-btn:active { transform: scale(.97); }
.w-btn--primary { background: var(--w-ink); color: #fff; }
.w-btn--primary:hover { background: #000; }
.w-btn--accent { background: var(--w-accent); color: #fff; }
.w-btn--accent:hover { background: var(--w-accent-ink); }
.w-btn--light { background: #fff; color: var(--w-ink); }
.w-btn--light:hover { background: var(--w-alt); }
.w-btn--ghost { background: transparent; color: var(--w-ink); box-shadow: inset 0 0 0 1.5px var(--w-line); }
.w-btn--ghost:hover { box-shadow: inset 0 0 0 1.5px var(--w-ink); }
.w-sec--dark .w-btn--ghost { color: var(--w-dtext); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.28); }
.w-sec--dark .w-btn--ghost:hover { box-shadow: inset 0 0 0 1.5px #fff; }
.w-link {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 19px; font-weight: 600; letter-spacing: -0.015em;
  color: var(--w-accent-ink); text-decoration: none;
}
.w-link::after { content: '›'; font-size: 1.25em; line-height: 1; transform: translateY(-1px); transition: transform 250ms var(--w-ease); }
.w-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.w-link:hover::after { transform: translate(3px, -1px); }
.w-sec--dark .w-link, .w-tile--dark .w-link { color: var(--w-accent-lt); }
.w-btn:focus-visible, .w-link:focus-visible, .w-card:focus-visible { outline: 3px solid var(--w-accent); outline-offset: 4px; }

/* ── Hero ────────────────────────────────────────────────────────────── */
.w-hero { padding: 190px 0 0; overflow: hidden; text-align: center; position: relative; }
.w-hero::before {
  content: ''; position: absolute; left: 50%; top: -30%; width: 1400px; height: 1000px; transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(251,146,60,.16), rgba(251,146,60,0) 70%);
  pointer-events: none;
}
.w-hero .w-wrap { position: relative; }
.w-hero .w-lead { margin-left: auto; margin-right: auto; max-width: 30ch; }
.w-hero-kicker {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 16px 8px 10px; margin-bottom: 34px;
  border-radius: 980px; background: var(--w-alt);
  font-size: 16px; font-weight: 600; color: var(--w-ink2); text-decoration: none;
  transition: background-color 250ms var(--w-ease);
}
.w-hero-kicker:hover { background: #ebebef; }
.w-hero-kicker img { height: 22px; width: auto; display: block; }
.w-hero-kicker .w-kick-sep { width: 1px; height: 16px; background: var(--w-line); }
.w-hero-kicker .w-kick-go { color: var(--w-accent-ink); }
.w-hero-stage { margin: 90px auto 0; max-width: 1240px; padding: 0 32px; position: relative; }
.w-hero-caption { margin: 22px 0 0; font-size: 15px; color: var(--w-mute); }

/* ── Mac-vindue + DAN-mockup ────────────────────────────────────────── */
.w-window {
  background: #fff; border-radius: 22px; overflow: hidden;
  box-shadow: var(--w-shadow), 0 0 0 1px var(--w-hair);
  text-align: left;
}
.w-window-bar { display: flex; align-items: center; gap: 8px; height: 46px; padding: 0 18px; background: #f6f6f8; border-bottom: 1px solid var(--w-hair); }
.w-window-bar i { width: 12px; height: 12px; border-radius: 50%; background: #ff5f57; }
.w-window-bar i:nth-child(2) { background: #febc2e; }
.w-window-bar i:nth-child(3) { background: #28c840; }
.w-window-bar span { margin: 0 auto; font-size: 14px; font-weight: 600; color: var(--w-mute); transform: translateX(-30px); }

.dan { display: grid; grid-template-columns: 230px 1fr; min-height: 600px; font-size: 15px; color: var(--w-ink); }
.dan-side { background: #fbfbfc; border-right: 1px solid var(--w-hair); padding: 22px 16px; display: flex; flex-direction: column; gap: 4px; }
.dan-brand { display: flex; align-items: center; gap: 10px; padding: 4px 10px 22px; }
.dan-mark { width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(145deg, #1d1d1f, #3a3a3c); color: #fff; font-weight: 800; font-size: 13px; letter-spacing: .02em; display: grid; place-items: center; }
.dan-brand b { font-size: 17px; letter-spacing: -0.02em; }
.dan-brand small { display: block; font-size: 12px; color: var(--w-mute); font-weight: 500; }
.dan-nav { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; font-weight: 600; font-size: 14.5px; color: var(--w-ink2); }
.dan-nav svg { width: 18px; height: 18px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dan-nav.is-on { background: #fff; color: var(--w-ink); box-shadow: 0 1px 3px rgba(0,0,0,.08), 0 0 0 1px var(--w-hair); }
.dan-side-foot { margin-top: auto; padding: 14px 12px 4px; border-top: 1px solid var(--w-hair); display: flex; align-items: center; gap: 10px; }
.dan-side-foot img { height: 18px; width: auto; opacity: .9; }
.dan-main { padding: 26px 30px 30px; display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.dan-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.dan-head h4 { margin: 0; font-size: 26px; letter-spacing: -0.03em; }
.dan-head small { display: block; font-size: 13px; color: var(--w-mute); font-weight: 600; margin-bottom: 2px; }
.dan-seg { display: inline-flex; background: #f0f0f3; border-radius: 10px; padding: 3px; font-size: 13px; font-weight: 600; }
.dan-seg span { padding: 6px 12px; border-radius: 8px; color: var(--w-mute); }
.dan-seg span.is-on { background: #fff; color: var(--w-ink); box-shadow: 0 1px 2px rgba(0,0,0,.1); }
.dan-kpis { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 14px; }
.dan-kpi { border: 1px solid var(--w-hair); border-radius: 16px; padding: 16px 18px; background: #fff; }
.dan-kpi small { display: block; font-size: 12.5px; font-weight: 600; color: var(--w-mute); }
.dan-kpi b { display: block; font-size: 30px; letter-spacing: -0.04em; margin-top: 4px; }
.dan-kpi em { font-style: normal; font-size: 12.5px; font-weight: 600; color: #1f9d55; }
.dan-bars { display: flex; align-items: flex-end; gap: 8px; height: 58px; margin-top: 10px; position: relative; }
.dan-bars span { flex: 1; border-radius: 5px 5px 2px 2px; background: #e5e5ea; position: relative; }
.dan-bars span i { position: absolute; left: 0; right: 0; bottom: 0; border-radius: inherit; background: var(--w-ink); }
.dan-bars span.hit i { background: var(--w-accent); }
.dan-bars::after { content: ''; position: absolute; left: 0; right: 0; top: 16%; border-top: 1.5px dashed rgba(0,0,0,.28); }
.dan-bars-x { display: flex; gap: 8px; margin-top: 6px; }
.dan-bars-x span { flex: 1; text-align: center; font-size: 11px; font-weight: 600; color: var(--w-mute); }
.dan-now { display: flex; margin-top: 12px; }
.dan-now span { width: 32px; height: 32px; border-radius: 50%; border: 2.5px solid #fff; margin-left: -8px; display: grid; place-items: center; font-size: 11px; font-weight: 700; color: #fff; }
.dan-now span:first-child { margin-left: 0; }
.dan-grid { border: 1px solid var(--w-hair); border-radius: 16px; overflow: hidden; }
.dan-row { display: grid; grid-template-columns: 74px repeat(10, 1fr); border-top: 1px solid var(--w-hair); min-height: 46px; position: relative; }
.dan-row:first-child { border-top: 0; min-height: 34px; background: #fbfbfc; }
.dan-row > b { font-size: 12.5px; font-weight: 700; color: var(--w-ink2); display: flex; align-items: center; padding-left: 16px; border-right: 1px solid var(--w-hair); }
.dan-row > u { text-decoration: none; font-size: 11px; font-weight: 600; color: var(--w-mute); display: flex; align-items: center; padding-left: 6px; }
.dan-shift {
  position: absolute; top: 8px; bottom: 8px; border-radius: 8px;
  display: flex; align-items: center; gap: 6px; padding: 0 10px;
  font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden;
}
.dan-shift i { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 9.5px; color: #fff; flex: none; }
.dan-shift--a { background: #fff1e6; color: #9a3412; } .dan-shift--a i { background: #ea580c; }
.dan-shift--b { background: #eef2ff; color: #3730a3; } .dan-shift--b i { background: #4f46e5; }
.dan-shift--c { background: #ecfdf3; color: #166534; } .dan-shift--c i { background: #16a34a; }
.dan-shift--d { background: #fdf2f8; color: #9d174d; } .dan-shift--d i { background: #db2777; }
.dan-shift--open { background: repeating-linear-gradient(135deg, #f5f5f7 0 8px, #fff 8px 16px); color: var(--w-mute); box-shadow: inset 0 0 0 1.5px #d2d2d7; }
.dan-shift--open i { background: transparent; color: var(--w-mute); box-shadow: inset 0 0 0 1.5px #aeaeb2; }

/* ── Logo-strip ──────────────────────────────────────────────────────── */
.w-logos { padding: 110px 0 40px; }
.w-logos-title { text-align: center; font-size: 17px; font-weight: 600; color: var(--w-mute); margin: 0 0 40px; }
.w-logos-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 30px 52px; }
.w-logos-row a { display: block; opacity: .62; filter: grayscale(1); transition: opacity 300ms var(--w-ease), filter 300ms var(--w-ease); }
.w-logos-row a:hover { opacity: 1; filter: none; }
.w-logos-row img { height: 34px; width: auto; max-width: 150px; object-fit: contain; display: block; }
.w-logos-row .is-hero img { height: 40px; max-width: none; }
.w-nw { white-space: nowrap; }
.w-h1 .k, .w-h2 .k { margin-left: -0.07em; }
.w-h2--sm { font-size: clamp(40px, 4.4vw, 70px); }
.w-logos-row .is-hero { opacity: .9; }

/* ── Bento ───────────────────────────────────────────────────────────── */
.w-bento { display: grid; grid-template-columns: repeat(6, 1fr); gap: 22px; margin-top: 80px; }
.w-tile {
  grid-column: span 2; border-radius: var(--w-radius); background: var(--w-alt);
  padding: 44px 42px; display: flex; flex-direction: column; min-height: 420px;
  position: relative; overflow: hidden; text-decoration: none; color: inherit;
}
.w-sec--alt .w-tile { background: #fff; }
.w-tile--4 { grid-column: span 4; }
.w-tile--3 { grid-column: span 3; }
.w-tile--6 { grid-column: span 6; }
.w-tile--dark { background: var(--w-dark2) !important; color: var(--w-dtext); }
.w-tile-k { font-size: 16px; font-weight: 600; color: var(--w-accent-ink); margin: 0 0 12px; }
.w-tile--dark .w-tile-k { color: var(--w-accent-lt); }
.w-tile h3 { font-size: clamp(28px, 2.5vw, 38px); line-height: 1.1; letter-spacing: -0.035em; font-weight: 700; margin: 0; max-width: 18ch; }
.w-tile p { font-size: 18px; line-height: 1.5; color: var(--w-mute); margin: 14px 0 0; max-width: 40ch; }
.w-tile--dark p { color: var(--w-dmute); }
.w-tile .w-link { margin-top: 22px; font-size: 18px; }
.w-tile-art { margin-top: auto; padding-top: 34px; }
a.w-tile { transition: transform 400ms var(--w-ease), box-shadow 400ms var(--w-ease); }
a.w-tile:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -24px rgba(0,0,0,.28); }

/* små illustrationer i bento */
.w-term { background: #0b0b0c; border-radius: 16px; padding: 18px 20px; font: 500 14px/1.75 ui-monospace, 'SF Mono', Menlo, monospace; color: #d1d1d6; box-shadow: 0 0 0 1px rgba(255,255,255,.08); }
.w-term .p { color: var(--w-accent-lt); }
.w-term .ok { color: #30d158; }
.w-term .dim { color: #8e8e93; }
.w-nodes { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.w-node { flex: none; width: 64px; height: 64px; border-radius: 18px; background: #fff; box-shadow: 0 6px 18px -6px rgba(0,0,0,.18), 0 0 0 1px var(--w-hair); display: grid; place-items: center; }
.w-node svg { width: 28px; height: 28px; stroke: var(--w-ink); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.w-node--hub { width: 78px; height: 78px; border-radius: 22px; background: var(--w-ink); }
.w-node--hub svg { stroke: #fff; }
.w-wire { flex: 1; height: 2px; background: repeating-linear-gradient(90deg, var(--w-accent) 0 6px, transparent 6px 12px); background-size: 24px 2px; animation: wWire 1.2s linear infinite; opacity: .8; }
@keyframes wWire { to { background-position: 24px 0; } }
.w-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.w-chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 980px; background: #fff; box-shadow: 0 0 0 1px var(--w-hair); font-size: 15px; font-weight: 600; color: var(--w-ink2); }
.w-tile--dark .w-chip { background: rgba(255,255,255,.08); box-shadow: 0 0 0 1px rgba(255,255,255,.1); color: var(--w-dtext); }
.w-chip i { width: 8px; height: 8px; border-radius: 50%; background: var(--w-ok); }
.w-mini-shot { border-radius: 14px; overflow: hidden; box-shadow: 0 20px 40px -18px rgba(0,0,0,.35), 0 0 0 1px var(--w-hair); }
.w-mini-shot img { display: block; width: 100%; height: auto; }

/* ── Featured case (sort) ───────────────────────────────────────────── */
.w-feature { display: grid; grid-template-columns: 1fr 1.25fr; gap: 80px; align-items: center; }
.w-feature-logos { display: flex; align-items: center; gap: 22px; margin-bottom: 36px; }
.w-feature-logos img { height: 40px; width: auto; display: block; }
.w-feature-logos .sep { width: 1px; height: 30px; background: rgba(255,255,255,.2); }
.w-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 32px; margin-top: 44px; padding-top: 34px; border-top: 1px solid rgba(255,255,255,.14); }
.w-facts dt { font-size: 14px; font-weight: 600; color: var(--w-dmute); margin: 0 0 6px; }
.w-facts dd { margin: 0; font-size: 19px; font-weight: 600; line-height: 1.35; color: var(--w-dtext); letter-spacing: -0.015em; }
.w-sec:not(.w-sec--dark) .w-facts { border-top-color: var(--w-line); }
.w-sec:not(.w-sec--dark) .w-facts dt { color: var(--w-mute); }
.w-sec:not(.w-sec--dark) .w-facts dd { color: var(--w-ink); }

/* ── Stort tal (annoncering) ────────────────────────────────────────── */
.w-stat { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: end; }
.w-stat-num { font-size: clamp(76px, 10.5vw, 170px); line-height: .9; font-weight: 800; letter-spacing: -0.065em; margin: 0; }
.w-stat-unit { display: block; font-size: clamp(26px, 2.6vw, 40px); letter-spacing: -0.035em; font-weight: 700; margin-top: 18px; line-height: 1.15; }
.w-stat-who { display: flex; align-items: center; gap: 14px; margin-top: 34px; font-size: 16px; color: var(--w-dmute); }
.w-stat-who b { color: var(--w-dtext); display: block; font-size: 17px; }
.w-stat-av { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(145deg, #3a3a3c, #1d1d1f); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 16px; box-shadow: 0 0 0 1px rgba(255,255,255,.14); }
.w-svc-list { display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.14); }
.w-svc-list a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 4px; border-bottom: 1px solid rgba(255,255,255,.14); color: var(--w-dtext); text-decoration: none; font-size: clamp(22px, 2vw, 30px); font-weight: 700; letter-spacing: -0.03em; transition: padding 300ms var(--w-ease), color 300ms var(--w-ease); }
.w-svc-list a small { display: block; font-size: 16px; font-weight: 500; color: var(--w-dmute); letter-spacing: -0.01em; margin-top: 4px; }
.w-svc-list a svg { width: 26px; height: 26px; flex: none; stroke: currentColor; fill: none; stroke-width: 2; transition: transform 300ms var(--w-ease); }
.w-svc-list a:hover { color: var(--w-accent-lt); padding-left: 12px; }
.w-svc-list a:hover svg { transform: translateX(4px); }

/* ── Case-kort ───────────────────────────────────────────────────────── */
.w-cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 70px; }
.w-card { display: flex; flex-direction: column; border-radius: var(--w-radius); background: #fff; overflow: hidden; text-decoration: none; color: inherit; box-shadow: 0 0 0 1px var(--w-hair); transition: transform 400ms var(--w-ease), box-shadow 400ms var(--w-ease); }
.w-sec:not(.w-sec--alt) .w-card { background: var(--w-alt); box-shadow: none; }
.w-card:hover { transform: translateY(-5px); box-shadow: 0 28px 60px -28px rgba(0,0,0,.35), 0 0 0 1px var(--w-hair); }
.w-card-media { aspect-ratio: 16 / 10; background: var(--w-alt); position: relative; overflow: hidden; }
.w-card-media img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; transition: transform 700ms var(--w-ease); }
.w-card:hover .w-card-media img { transform: scale(1.03); }
.w-card-media--logo { display: grid; place-items: center; background: var(--w-dark2); }
.w-card-media--logo img { width: auto; height: 46px; object-fit: contain; }
.w-card-media--fm { display: grid; place-items: center; background: #eef3ff; }
.w-card-body { padding: 28px 30px 32px; display: flex; flex-direction: column; flex: 1; }
.w-card-k { font-size: 14px; font-weight: 600; color: var(--w-mute); margin: 0 0 8px; }
.w-card h3 { font-size: 26px; line-height: 1.15; letter-spacing: -0.03em; margin: 0; font-weight: 700; }
.w-card p { font-size: 16.5px; line-height: 1.5; color: var(--w-mute); margin: 10px 0 0; }
.w-card .w-link { margin-top: auto; padding-top: 20px; font-size: 17px; }
.w-card--wide { grid-column: span 2; flex-direction: row; }
.w-card--wide .w-card-media { flex: 1.25; aspect-ratio: auto; min-height: 360px; }
.w-card--wide .w-card-media img { object-fit: contain; background: #f8f7f4; }
.w-card--wide .w-card-body { flex: 1; padding: 40px 40px 40px; }
.w-card--wide h3 { font-size: 34px; }

/* ── Min Webpartner ──────────────────────────────────────────────────── */
.w-portal { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: center; }
.w-portal-ui { background: #fff; border-radius: var(--w-radius); padding: 30px; box-shadow: var(--w-shadow), 0 0 0 1px var(--w-hair); }
.w-portal-ui header { display: flex; justify-content: space-between; align-items: center; font-weight: 700; font-size: 17px; }
.w-portal-ui header em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--w-mute); background: var(--w-alt); padding: 5px 10px; border-radius: 980px; }
.w-portal-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 20px 0; }
.w-portal-kpis div { background: var(--w-alt); border-radius: 16px; padding: 14px 16px; }
.w-portal-kpis small { display: block; font-size: 12.5px; color: var(--w-mute); font-weight: 600; }
.w-portal-kpis b { display: block; font-size: 24px; letter-spacing: -0.03em; margin-top: 4px; }
.w-portal-ui svg { width: 100%; height: 130px; display: block; }
.w-portal-ui p { font-size: 13px; color: var(--w-mute); margin: 14px 0 0; }
.w-checks { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 14px; }
.w-checks li { display: flex; gap: 12px; font-size: 19px; line-height: 1.45; color: var(--w-ink2); }
.w-checks svg { width: 22px; height: 22px; flex: none; margin-top: 3px; stroke: var(--w-accent); fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }

/* ── Anmeldelse ──────────────────────────────────────────────────────── */
.w-quote { max-width: 1040px; margin: 0 auto; text-align: center; }
.w-quote blockquote { margin: 28px 0 0; font-size: clamp(30px, 3.6vw, 54px); line-height: 1.16; letter-spacing: -0.04em; font-weight: 700; }
.w-quote figcaption { margin-top: 34px; font-size: 18px; color: var(--w-mute); }
.w-quote figcaption b { color: var(--w-ink); }
.w-stars { display: inline-flex; gap: 4px; }
.w-stars span { width: 30px; height: 30px; background: #00b67a; display: grid; place-items: center; }
.w-stars svg { width: 20px; height: 20px; fill: #fff; }

/* ── Kontakt ─────────────────────────────────────────────────────────── */
.w-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.w-reach { display: grid; gap: 14px; margin-top: 44px; }
.w-reach a { display: flex; align-items: center; gap: 18px; padding: 22px 24px; border-radius: 22px; background: #fff; text-decoration: none; color: var(--w-ink); box-shadow: 0 0 0 1px var(--w-hair); transition: box-shadow 300ms var(--w-ease), transform 300ms var(--w-ease); }
.w-reach a:hover { box-shadow: 0 0 0 1.5px var(--w-ink); }
.w-reach-ico { width: 52px; height: 52px; border-radius: 16px; background: var(--w-alt); display: grid; place-items: center; flex: none; }
.w-reach-ico svg { width: 24px; height: 24px; stroke: var(--w-ink); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.w-reach small { display: block; font-size: 14px; font-weight: 600; color: var(--w-mute); }
.w-reach b { display: block; font-size: 22px; letter-spacing: -0.02em; margin-top: 2px; }
.w-reach span.n { display: block; font-size: 14px; color: var(--w-mute); margin-top: 4px; }
.w-formcard { background: #fff; border-radius: var(--w-radius); padding: 44px; box-shadow: var(--w-shadow), 0 0 0 1px var(--w-hair); }
/* genbrug .cf-* fra styles.css, bare strammet op */
.w26 .cf-title { font-size: 30px; letter-spacing: -0.035em; font-weight: 700; color: var(--w-ink); }
.w26 .cf-sub { color: var(--w-mute); }
.w26 .cf-btn { border-radius: 980px; background: var(--w-ink); }
.w26 .cf-btn:hover:not(:disabled) { background: #000; }
.w26 .cf-btn.cf-secondary { background: var(--w-alt); color: var(--w-ink); }
.w26 .cf-services { grid-template-columns: 1fr 1fr; }
.w26 .cf-svc { border-radius: 16px; }

/* ── Footer ──────────────────────────────────────────────────────────── */
.w-foot { background: var(--w-alt); color: var(--w-mute); font-size: 15px; padding: 80px 0 40px; border-top: 1px solid var(--w-hair); }
.w-foot-top { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 40px; padding-bottom: 50px; border-bottom: 1px solid var(--w-line); }
.w-foot-brand svg { height: 26px; width: auto; color: var(--w-ink); display: block; }
.w-foot-brand p { margin: 18px 0 0; max-width: 30ch; line-height: 1.55; }
.w-foot h4 { font-size: 15px; font-weight: 700; color: var(--w-ink); margin: 0 0 16px; letter-spacing: -0.01em; }
.w-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.w-foot a { color: var(--w-ink2); text-decoration: none; }
.w-foot a:hover { color: var(--w-ink); text-decoration: underline; text-underline-offset: 3px; }
.w-foot-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 30px; padding-top: 28px; font-size: 14px; }
.w-foot-bottom nav { display: flex; flex-wrap: wrap; gap: 8px 22px; }

/* ── Breadcrumb / case-sider ─────────────────────────────────────────── */
.w-crumb { font-size: 15px; color: var(--w-mute); margin: 0 0 30px; }
.w-crumb a { color: var(--w-ink2); text-decoration: none; }
.w-crumb a:hover { text-decoration: underline; }
.w-crumb span { margin: 0 8px; }
.w-case-hero { padding: 170px 0 90px; }
.w-case-hero .w-lead { max-width: 38ch; }
.w-case-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; margin-bottom: 40px; }
.w-case-logos img { height: 46px; width: auto; display: block; }
.w-case-logos .sep { width: 1px; height: 36px; background: var(--w-line); }
.w-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-top: 70px; padding-top: 34px; border-top: 1px solid var(--w-line); }
.w-meta dt { font-size: 14px; font-weight: 600; color: var(--w-mute); margin-bottom: 6px; }
.w-meta dd { margin: 0; font-size: 19px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.35; }
.w-prose { max-width: 760px; margin: 0 auto; }
.w-prose h2 { font-size: clamp(32px, 3.4vw, 48px); letter-spacing: -0.04em; line-height: 1.08; margin: 0 0 22px; font-weight: 700; }
.w-prose p { font-size: 21px; line-height: 1.6; color: var(--w-ink2); margin: 0 0 22px; letter-spacing: -0.015em; }
.w-prose p b { color: var(--w-ink); }
.w-split { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 70px; }
.w-feat { border-radius: var(--w-radius); background: var(--w-alt); padding: 40px; }
.w-feat svg { width: 34px; height: 34px; stroke: var(--w-accent); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.w-feat h3 { font-size: 26px; letter-spacing: -0.03em; margin: 22px 0 0; font-weight: 700; line-height: 1.15; }
.w-feat p { font-size: 18px; line-height: 1.55; color: var(--w-mute); margin: 10px 0 0; }
.w-note { font-size: 15px; color: var(--w-mute); margin-top: 26px; }
.w-cta-band { text-align: center; }
.w-cta-band .w-h2 { max-width: 16ch; margin: 0 auto; }

/* ── Reveal ──────────────────────────────────────────────────────────── */
.w-rv { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--w-ease), transform .8s var(--w-ease); }
.w-rv.is-in { opacity: 1; transform: none; }
.w-rv[data-d="1"] { transition-delay: 90ms; }
.w-rv[data-d="2"] { transition-delay: 180ms; }
.w-rv[data-d="3"] { transition-delay: 270ms; }
.no-js .w-rv { opacity: 1; transform: none; }

/* ── Responsivt ─────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .w-feature, .w-stat, .w-portal, .w-contact { grid-template-columns: 1fr; gap: 56px; }
  .w-tile--4, .w-tile--3 { grid-column: span 6; }
  .w-tile { grid-column: span 3; }
  .w-cases { grid-template-columns: 1fr 1fr; }
  .w-card--wide { grid-column: span 2; }
  .w-foot-top { grid-template-columns: 1fr 1fr; }
  .w-foot-brand { grid-column: span 2; }
  .w-meta { grid-template-columns: 1fr 1fr; }
  .dan { grid-template-columns: 1fr; }
  .dan-side { display: none; }
}
@media (max-width: 760px) {
  .w-wrap { padding: 0 20px; }
  .w-sec { padding: 96px 0; }
  .w-sec--tight { padding: 72px 0; }
  .w-hero { padding-top: 120px; }
  .w-hero-stage { margin-top: 56px; padding: 0 12px; }
  .w-eyebrow { font-size: 17px; }
  .w-lead { font-size: 20px; }
  .w-btns { gap: 14px 22px; margin-top: 34px; }
  .w-btn { min-height: 50px; font-size: 17px; padding: 0 24px; }
  .w-bento { grid-template-columns: 1fr; margin-top: 50px; gap: 14px; }
  .w-tile, .w-tile--4, .w-tile--3, .w-tile--6 { grid-column: auto; min-height: 0; padding: 34px 28px; }
  .w-cases { grid-template-columns: 1fr; margin-top: 46px; }
  .w-card--wide { grid-column: auto; flex-direction: column; }
  .w-card--wide .w-card-media { min-height: 0; aspect-ratio: 16 / 10; }
  .w-card--wide .w-card-media img { object-fit: contain; background: #f8f7f4; }
.w-card--wide .w-card-body { padding: 28px 26px 30px; }
  .w-card--wide h3 { font-size: 28px; }
  .w-facts { grid-template-columns: 1fr; }
  .w-formcard { padding: 30px 22px; }
  .w26 .cf-services { grid-template-columns: 1fr; }
  .w-logos { padding-top: 70px; }
  .w-logos-row { gap: 26px 40px; }
  .w-logos-row img { height: 26px; }
  .w-logos-row .is-hero img { height: 32px; }
  .w-foot-top { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
  .w-meta { grid-template-columns: 1fr; gap: 20px; }
  .w-split { grid-template-columns: 1fr; margin-top: 46px; gap: 14px; }
  .w-feat { padding: 30px 26px; }
  .w-prose p { font-size: 19px; }
  .w-case-hero { padding: 120px 0 60px; }
  .w-case-logos img { height: 36px; }
  .w-portal-kpis b { font-size: 19px; }
  .dan { min-height: 0; font-size: 13px; }
  .dan-main { padding: 16px; gap: 14px; }
  .dan-kpis { grid-template-columns: 1fr 1fr; }
  .dan-kpi:first-child { grid-column: span 2; }
  .dan-head h4 { font-size: 20px; }
  .dan-seg { display: none; }
  .dan-row { grid-template-columns: 44px repeat(10, 1fr); }
  .dan-row > b { padding-left: 8px; font-size: 11px; }
  .dan-row > u { font-size: 0; }
  .dan-shift { font-size: 0; padding: 0 4px; gap: 0; }
  .dan-shift i { width: 18px; height: 18px; font-size: 8.5px; }
  .w-window-bar { height: 34px; }
  .w-window-bar i { width: 9px; height: 9px; }
  .w-window-bar span { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .w-rv { opacity: 1; transform: none; transition: none; }
  .w-wire { animation: none; }
  .w-card, .w-card-media img, a.w-tile, .w-btn, .w-svc-list a { transition: none; }
  .w-card:hover, a.w-tile:hover { transform: none; }
  .w-card:hover .w-card-media img { transform: none; }
}
@media (prefers-contrast: more) {
  .w-mute, .w-lead, .w-tile p, .w-card p { color: var(--w-ink2); }
  .w-logos-row a { opacity: 1; filter: none; }
}

/* DAN-vagter placeres på tidsaksen: --s = start, --e = slut (0–10 kolonner) */
.dan-row { --lab: 74px; }
.dan-shift { left: calc(var(--lab) + (100% - var(--lab)) * var(--s) / 10 + 4px); width: calc((100% - var(--lab)) * (var(--e) - var(--s)) / 10 - 8px); }
.dan-shift.lane2 { top: auto; bottom: 6px; height: 16px; }
@media (max-width: 760px) { .dan-row { --lab: 44px; } }

/* ── Statistik-panel (DAN, mørk) ────────────────────────────────────── */
.w-statpanel { background: linear-gradient(180deg, #1c1c1e, #0e0e10); border-radius: var(--w-radius); padding: 34px; box-shadow: 0 0 0 1px rgba(255,255,255,.09), 0 50px 100px -40px rgba(234,88,12,.35); color: var(--w-dtext); }
.w-statpanel header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.w-statpanel header b { font-size: 20px; letter-spacing: -0.02em; }
.w-statpanel header small { display: block; font-size: 13px; color: var(--w-dmute); font-weight: 600; margin-bottom: 3px; }
.w-statpanel .w-export { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 700; color: var(--w-dtext); background: rgba(255,255,255,.1); padding: 9px 14px; border-radius: 980px; }
.w-statpanel .w-export svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.w-legend { display: flex; gap: 22px; margin: 22px 0 8px; font-size: 13px; font-weight: 600; color: var(--w-dmute); }
.w-legend span { display: inline-flex; align-items: center; gap: 8px; }
.w-legend i { width: 18px; height: 3px; border-radius: 3px; background: var(--w-accent); }
.w-legend i.f { background: repeating-linear-gradient(90deg, #a1a1a6 0 5px, transparent 5px 8px); }
.w-statpanel svg.chart { width: 100%; height: auto; display: block; }
.w-statpanel .w-mstats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 20px; }
.w-statpanel .w-mstats div { background: rgba(255,255,255,.06); border-radius: 16px; padding: 14px 16px; }
.w-statpanel .w-mstats small { display: block; font-size: 12px; color: var(--w-dmute); font-weight: 600; }
.w-statpanel .w-mstats b { display: block; font-size: 24px; letter-spacing: -0.03em; margin-top: 4px; }
.w-statpanel .w-panel-note { font-size: 12.5px; color: #8e8e93; margin: 16px 0 0; }
@media (max-width: 760px) { .w-statpanel { padding: 22px; } .w-statpanel .w-mstats b { font-size: 18px; } .w-legend { flex-wrap: wrap; gap: 10px 18px; } }
.w-feature > .w-tile { grid-column: auto; }
.w-sec--alt .w-feat { background: #fff; }
.w-feature > *, .w-stat > *, .w-portal > *, .w-contact > * { min-width: 0; }
.w-reach b { overflow-wrap: anywhere; }
@media (max-width: 760px) { .w-reach b { font-size: 19px; } .w-reach a { padding: 18px; gap: 14px; } }

/* ==========================================================================
   V2 — filmisk lag (30/9): mørk hero, motion, billedfliser
   ========================================================================== */

/* Ord-for-ord reveal ([data-split]) */
.w-split-ready .w-word { display: inline-block; opacity: 0; filter: blur(14px); transform: translateY(.35em); transition: opacity 1s var(--w-ease), filter 1s var(--w-ease), transform 1.1s var(--w-ease); transition-delay: calc(var(--i) * 70ms + 80ms); }
.w-split-ready.is-in .w-word { opacity: 1; filter: none; transform: none; }
.w-split-ready .w-grad.w-word { padding-bottom: .06em; }

/* Mørk hero */
.w-hero--dark { background: #000; color: var(--w-dtext); padding-bottom: 0; }
.w-hero--dark::before { display: none; }
.w-hero--dark .w-lead { color: var(--w-dmute); }
.w-hero--dark .w-hero-kicker { background: rgba(255,255,255,.08); color: var(--w-dtext); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); backdrop-filter: blur(12px); }
.w-hero--dark .w-hero-kicker:hover { background: rgba(255,255,255,.14); }
.w-hero--dark .w-hero-kicker .w-kick-sep { background: rgba(255,255,255,.2); }
.w-hero--dark .w-hero-kicker .w-kick-go, .w-hero--dark .w-link { color: var(--w-accent-lt); }
.w-hero--dark .w-btn--primary { background: #fff; color: #000; }
.w-hero--dark .w-btn--primary:hover { background: #e8e8ed; }
.w-hero--dark .w-hero-caption { color: #6e6e73; }
.w-hero-bg { position: absolute; left: 50%; bottom: 0; width: 2200px; max-width: none; transform: translate(-50%, var(--py, 0px)); opacity: .9; pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 60% 70% at 50% 60%, #000 30%, transparent 75%); mask-image: radial-gradient(ellipse 60% 70% at 50% 60%, #000 30%, transparent 75%); }
.w-hero-bg img { width: 100%; height: auto; display: block; }
.w-hero--dark .w-wrap, .w-hero--dark .w-hero-stage { position: relative; z-index: 1; }

/* 3D-tilt der retter sig ud ved scroll ([data-tilt] sætter --p 0→1) */
.w-tilt-wrap { perspective: 2000px; }
[data-tilt] { transform-origin: 50% 0; transform: rotateX(calc((1 - var(--p, 1)) * 26deg)) scale(calc(.88 + var(--p, 1) * .12)) translateY(calc((1 - var(--p, 1)) * -40px)); will-change: transform; }
.w-hero--dark .w-window { box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 60px 140px -30px rgba(234,88,12,.55), 0 30px 60px -20px rgba(0,0,0,.8); }
.w-glow-floor { position: absolute; left: 10%; right: 10%; bottom: -60px; height: 160px; background: radial-gradient(closest-side, rgba(234,88,12,.55), transparent); filter: blur(40px); z-index: -1; }

/* Logo-marquee (hvide logoer på sort) */
.w-marquee { position: relative; overflow: hidden; padding: 70px 0 90px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.w-marquee-title { text-align: center; font-size: 16px; font-weight: 600; color: #86868b; margin: 0 0 34px; }
.w-marquee-track { display: flex; width: max-content; gap: 90px; align-items: center; animation: wMarq 38s linear infinite; }
.w-marquee:hover .w-marquee-track { animation-play-state: paused; }
.w-marquee-track a { display: block; opacity: .7; transition: opacity 300ms var(--w-ease); }
.w-marquee-track a:hover { opacity: 1; }
.w-marquee-track img { height: 32px; width: auto; display: block; filter: brightness(0) invert(1); }
.w-marquee-track img.keep { filter: none; }
@keyframes wMarq { to { transform: translateX(-50%); } }

/* Story: sticky tekst der lyser op ord for ord mens man scroller */
.w-story { position: relative; height: calc(var(--w-vh, 100vh) * 2.6); background: #000; }
.w-story-pin { position: sticky; top: 0; height: var(--w-vh, 100vh); display: flex; align-items: center; }
.w-story-text { font-size: clamp(38px, 5.6vw, 92px); line-height: 1.08; letter-spacing: -0.045em; font-weight: 700; color: #2c2c2e; margin: 0; max-width: 20ch; }
.w-story-text .w-sw { transition: color 450ms var(--w-ease); }
.w-story-text .w-sw.on { color: var(--w-dtext); }
.w-story-text .acc.w-sw.on, .w-story-text .acc .w-sw.on { color: var(--w-accent-lt); }

/* Billedfliser (AI-renders på sort) */
.w-tile--img { background: #000 !important; color: var(--w-dtext); padding: 0; min-height: 520px; }
.w-tile--img .w-tile-media { position: absolute; inset: 0; overflow: hidden; }
.w-tile--img .w-tile-media img { position: absolute; left: 0; width: 100%; height: 118%; top: -9%; object-fit: cover; transform: translateY(var(--py, 0px)) scale(1.02); transition: transform 1.2s var(--w-ease), filter 600ms var(--w-ease); }
a.w-tile--img:hover .w-tile-media img { transform: translateY(var(--py, 0px)) scale(1.07); }
.w-tile--img .w-tile-body { position: relative; z-index: 1; padding: 44px 42px; display: flex; flex-direction: column; height: 100%; background: linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.2) 42%, rgba(0,0,0,0) 60%); }
.w-tile--img .w-tile-k { color: var(--w-accent-lt); }
.w-tile--img p { color: #c7c7cc; }
.w-tile--img .w-link { color: var(--w-accent-lt); }
.w-tile--img .w-tile-art { margin-top: auto; }
.w-tile--img .w-term { background: rgba(10,10,12,.72); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }

/* Spotlight der følger musen */
.w-spot { position: relative; isolation: isolate; }
.w-spot::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2; opacity: 0; transition: opacity 400ms var(--w-ease);
  background: radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.10), transparent 40%); }
.w-spot:hover::after { opacity: 1; }
.w-spot.w-tile:not(.w-tile--img):not(.w-tile--dark)::after { background: radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%), rgba(234,88,12,.08), transparent 40%); }

/* Terminal der skriver */
.w-term .w-line { display: block; white-space: nowrap; overflow: hidden; }
.w-term .w-line.is-typing { animation: wType .8s steps(28, end) both; }
.w-term .w-line.is-typing:not(.cmd) { animation-duration: .3s; }
.w-term.is-done .w-line:last-child::after, .w-term:not([data-type]) .w-line:last-child::after { content: ''; display: inline-block; width: .55em; height: 1.05em; background: var(--w-accent-lt); vertical-align: -0.18em; margin-left: 4px; animation: wCaret 1s steps(1) infinite; }
@keyframes wType { from { max-width: 0; } to { max-width: 100%; } }
@keyframes wCaret { 50% { opacity: 0; } }

/* DAN i live: søjler vokser, vagter glider ind, ledige bliver taget */
.dan .dan-bars span i { transform: scaleY(0); transform-origin: bottom; transition: transform 1.1s var(--w-ease); }
.dan.is-in .dan-bars span i { transform: scaleY(1); }
.dan .dan-bars span:nth-child(2) i { transition-delay: 80ms; } .dan .dan-bars span:nth-child(3) i { transition-delay: 160ms; }
.dan .dan-bars span:nth-child(4) i { transition-delay: 240ms; } .dan .dan-bars span:nth-child(5) i { transition-delay: 320ms; }
.dan .dan-row .dan-shift { opacity: 0; clip-path: inset(0 100% 0 0 round 8px); transition: opacity .5s var(--w-ease), clip-path 1s var(--w-ease), background-color .5s var(--w-ease), color .5s var(--w-ease), box-shadow .5s var(--w-ease); }
.dan.is-in .dan-row .dan-shift { opacity: 1; clip-path: inset(0 0 0 0 round 8px); }
.dan.is-in .dan-row:nth-child(2) .dan-shift { transition-delay: .25s; } .dan.is-in .dan-row:nth-child(3) .dan-shift { transition-delay: .35s; }
.dan.is-in .dan-row:nth-child(4) .dan-shift { transition-delay: .45s; } .dan.is-in .dan-row:nth-child(5) .dan-shift { transition-delay: .55s; }
.dan.is-in .dan-row:nth-child(6) .dan-shift { transition-delay: .65s; }
.dan-shift--taken { background: #ecfdf3 !important; color: #166534 !important; box-shadow: inset 0 0 0 1.5px #86efac !important; animation: wTaken .7s var(--w-ease); }
.dan-shift--taken i { background: #16a34a !important; color: #fff !important; box-shadow: none !important; }
@keyframes wTaken { 0% { transform: scale(.94); } 60% { transform: scale(1.03); } 100% { transform: none; } }
.dan-now span { animation: wPop .6s var(--w-ease) both; }
.dan-now span:nth-child(2) { animation-delay: .1s; } .dan-now span:nth-child(3) { animation-delay: .2s; }
@keyframes wPop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.dan-live-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #30d158; margin-right: 6px; box-shadow: 0 0 0 0 rgba(48,209,88,.6); animation: wPulse 2s infinite; vertical-align: 1px; }
@keyframes wPulse { 70% { box-shadow: 0 0 0 8px rgba(48,209,88,0); } 100% { box-shadow: 0 0 0 0 rgba(48,209,88,0); } }

/* Graf der tegner sig selv (.w-draw på svg) */
.w-draw .draw { stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 2.4s var(--w-ease); }
.w-draw .fillin { opacity: 0; transition: opacity 1.4s var(--w-ease) .9s; }
.w-draw.is-in .draw { stroke-dashoffset: 0; }
.w-draw.is-in .fillin { opacity: 1; }

/* Stor billed-hero til ydelses- og casesider */
.w-hero-art { position: relative; margin: 70px auto 0; max-width: 1400px; padding: 0 32px; }
.w-hero-art img { width: 100%; height: auto; display: block; border-radius: 36px; transform: translateY(var(--py, 0px)); }
.w-hero--dark .w-hero-art img { border-radius: 0; -webkit-mask-image: radial-gradient(ellipse 70% 75% at 50% 50%, #000 45%, transparent 80%); mask-image: radial-gradient(ellipse 70% 75% at 50% 50%, #000 45%, transparent 80%); }

/* Mørk sektion med billede i baggrunden */
.w-sec--art { position: relative; overflow: hidden; }
.w-sec--art > .w-sec-bg { position: absolute; inset: -10% 0; z-index: 0; pointer-events: none; }
.w-sec--art > .w-sec-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .55; transform: translateY(var(--py, 0px)); }
.w-sec--art > .w-wrap { position: relative; z-index: 1; }

/* Hero der toner ud når man scroller forbi ([data-scrollfade] sætter --f) */
[data-scrollfade] > .w-wrap { opacity: calc(1 - var(--f, 0) * 1.4); transform: translateY(calc(var(--f, 0) * -60px)); }

@media (max-width: 760px) {
  .w-story { height: calc(var(--w-vh, 100vh) * 2); }
  .w-story-text { font-size: 38px; }
  .w-tile--img { min-height: 460px; }
  .w-tile--img .w-tile-body { padding: 30px 26px; }
  .w-marquee { padding: 50px 0 60px; }
  .w-marquee-track { gap: 56px; }
  .w-marquee-track img { height: 24px; }
  [data-tilt] { transform: none; }
  .w-hero-bg { width: 1100px; }
}
@media (prefers-reduced-motion: reduce) {
  .w-split-ready .w-word { opacity: 1; filter: none; transform: none; transition: none; }
  [data-tilt], .w-hero-bg, .w-tile--img .w-tile-media img, .w-sec--art > .w-sec-bg img, .w-hero-art img { transform: none !important; }
  [data-scrollfade] > .w-wrap { opacity: 1; transform: none; }
  .w-marquee-track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
  .w-story { height: auto; } .w-story-pin { position: static; height: auto; padding: 120px 0; }
  .w-story-text .w-sw, .w-story-text { color: var(--w-dtext); }
  .dan .dan-bars span i, .dan .dan-row .dan-shift { transform: none; opacity: 1; clip-path: none; transition: none; }
  .w-draw .draw { stroke-dashoffset: 0; transition: none; } .w-draw .fillin { opacity: 1; transition: none; }
  .dan-now span, .dan-live-dot, .w-term .w-line.is-typing { animation: none; }
}
.no-js .w-split-ready .w-word { opacity: 1; filter: none; transform: none; }
body.w26 main { margin-top: 0 !important; }

/* Rizzpond-brandets byggeklodser (bruges på forsiden og casesiden) */
.rz-sec { background: #0B0B0F; }
.rz-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 30px; }
.rz-brand img { width: 52px; height: auto; display: block; }
.rz-word { font-family: 'Space Grotesk', 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 38px; letter-spacing: -0.05em; color: #F5F5F7; }
.rz-word span { color: #FF4D6D; }
.rz-tracker { background: #15151A; border-radius: 28px; padding: 30px; box-shadow: 0 0 0 1px rgba(245,245,247,.08), 0 50px 100px -40px rgba(255,77,109,.35); color: #F5F5F7; }
.rz-tracker header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.rz-tracker header b { font-size: 20px; letter-spacing: -0.02em; }
.rz-tracker header small { display: block; font-size: 13px; color: rgba(245,245,247,.6); font-weight: 600; margin-bottom: 3px; }
.rz-seg { display: inline-flex; background: #1F1F26; border-radius: 999px; padding: 4px; font-size: 13px; font-weight: 700; }
.rz-seg span { padding: 6px 12px; border-radius: 999px; color: rgba(245,245,247,.6); }
.rz-seg span.on { background: #FF4D6D; color: #0B0B0F; }
.rz-row { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-top: 1px solid rgba(245,245,247,.08); }
.rz-row i { width: 38px; height: 54px; border-radius: 9px; background: #1F1F26; display: block; }
.rz-row:first-child i { background: #FF4D6D; }
.rz-row b { display: block; font-size: 15.5px; letter-spacing: -0.01em; }
.rz-row small { font-size: 13px; color: rgba(245,245,247,.55); }
.rz-tag { font-size: 12px; font-weight: 700; padding: 6px 11px; border-radius: 999px; background: #1F1F26; color: rgba(245,245,247,.75); white-space: nowrap; }
.rz-tag.next { background: #FF4D6D; color: #0B0B0F; animation: wPulseRz 2.4s infinite; }
.rz-tag.done { background: rgba(61,220,132,.16); color: #3DDC84; }
@keyframes wPulseRz { 0% { box-shadow: 0 0 0 0 rgba(255,77,109,.5); } 70% { box-shadow: 0 0 0 10px rgba(255,77,109,0); } 100% { box-shadow: 0 0 0 0 rgba(255,77,109,0); } }
@media (max-width: 760px) { .rz-tracker { padding: 20px; } .rz-seg { display: none; } .rz-word { font-size: 30px; } }
@media (prefers-reduced-motion: reduce) { .rz-tag.next { animation: none; } }

/* Mørk case-hero */
.w-case-hero--dark { background: #000; color: var(--w-dtext); padding-bottom: 110px; }
.w-case-hero--dark .w-lead { color: var(--w-dmute); }
.w-case-hero--dark .w-eyebrow { color: var(--w-accent-lt); }
.w-case-hero--dark .w-crumb, .w-case-hero--dark .w-crumb a { color: #86868b; }
.w-case-hero--dark .w-meta { border-top-color: rgba(255,255,255,.14); }
.w-case-hero--dark .w-meta dt { color: #86868b; }
.w-case-hero--dark .w-case-logos .sep { background: rgba(255,255,255,.2); }

/* Lange danske ord (fx «softwarevirksomheder») må ikke skubbe siden bredere end telefonen */
@media (max-width: 760px) {
  .w26 h1, .w26 h2, .w26 h3, .w-story-text, .w-stat-num { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
  .w-h2--sm { font-size: 36px; }
}

/* ==========================================================================
   V3 — lyst grid-system (30/9, efter Davids «for lang, for mange farver»)
   Reference: Vercel (rammelinjer, celler), Superhuman (faner), Vercel customers (tal + logo).
   ÉN palet på hele sitet: lys baggrund, sort tekst, orange kun som lille accent.
   Lagt SIDST, så det overskriver de mørke varianter uden at røre sidernes HTML.
   ========================================================================== */
:root {
  --g-bg: #fafafa; --g-surface: #ffffff; --g-line: #eaeaea; --g-line2: #e2e2e2;
  --g-ink: #0a0a0a; --g-ink2: #3f3f46; --g-mute: #666666;
  --g-frame: 1240px;
}
body.w26 { background: var(--g-bg); color: var(--g-ink); }
/* Rammelinjerne (Vercel): to lodrette streger ned langs hele indholdet */
body.w26 main { background:
  linear-gradient(var(--g-line), var(--g-line)) calc(50% - var(--g-frame) / 2) 0 / 1px 100% no-repeat,
  linear-gradient(var(--g-line), var(--g-line)) calc(50% + var(--g-frame) / 2) 0 / 1px 100% no-repeat,
  var(--g-bg); }
.w26 .w-wrap { max-width: var(--g-frame); padding: 0 48px; }
.w26 .w-sec, .w26 .w-hero, .w26 .w-case-hero, .w26 .w-story, .w26 .w-marquee { border-top: 1px solid var(--g-line); }
.w26 main > section:first-child { border-top: 0; }
.w26 .w-sec { padding: 112px 0; }
.w26 .w-sec--tight { padding: 88px 0; }

/* Alle mørke og grå varianter bliver lyse */
.w26 .w-sec--dark, .w26 .w-sec--alt, .w26 .w-hero--dark, .w26 .w-case-hero--dark, .w26 .rz-sec, .w26 .rz-dark, .w26 .w-story { background: transparent !important; color: var(--g-ink); }
.w26 .w-hero--dark .w-lead, .w26 .w-sec--dark .w-lead, .w26 .w-case-hero--dark .w-lead, .w26 .w-sec--dark .w-body { color: var(--g-mute); }
.w26 .w-sec--dark .w-lead b, .w26 .w-sec--dark .w-lead strong { color: var(--g-ink); }
.w26 .w-eyebrow, .w26 .w-sec--dark .w-eyebrow, .w26 .w-hero--dark .w-eyebrow, .w26 .w-case-hero--dark .w-eyebrow { color: var(--w-accent-ink); font-size: 15px; font-weight: 600; letter-spacing: 0; }
.w26 .w-hero--dark .w-link, .w26 .w-sec--dark .w-link, .w26 .w-tile--dark .w-link, .w26 .w-tile--img .w-link, .w26 .w-hero--dark .w-hero-kicker .w-kick-go { color: var(--w-accent-ink); }
.w26 .w-hero--dark .w-btn--primary, .w26 .w-btn--primary { background: var(--g-ink); color: #fff; }
.w26 .w-hero--dark .w-btn--primary:hover, .w26 .w-btn--primary:hover { background: #262626; }
.w26 .w-btn--light, .w26 .w-sec--dark .w-btn--light { background: var(--g-ink); color: #fff; }
.w26 .w-btn--ghost, .w26 .w-sec--dark .w-btn--ghost { color: var(--g-ink); background: #fff; box-shadow: inset 0 0 0 1px var(--g-line2); }
.w26 .w-btn { min-height: 48px; font-size: 16px; padding: 0 22px; border-radius: 999px; }
.w26 .w-hero--dark .w-hero-kicker { background: #fff; color: var(--g-ink2); box-shadow: inset 0 0 0 1px var(--g-line2); backdrop-filter: none; }
.w26 .w-hero--dark .w-hero-kicker .w-kick-sep { background: var(--g-line2); }
.w26 .w-hero--dark .w-hero-caption, .w26 .w-hero-caption { color: #8f8f8f; }
.w26 .w-crumb, .w26 .w-case-hero--dark .w-crumb, .w26 .w-case-hero--dark .w-crumb a, .w26 .w-crumb a { color: var(--g-mute) !important; }
.w26 .w-facts, .w26 .w-sec:not(.w-sec--dark) .w-facts, .w26 .w-case-hero--dark .w-meta, .w26 .w-meta { border-top-color: var(--g-line); }
.w26 .w-facts dt, .w26 .w-meta dt, .w26 .w-case-hero--dark .w-meta dt, .w26 .w-meta dt[style] { color: var(--g-mute) !important; }
.w26 .w-facts dd, .w26 .w-meta dd { color: var(--g-ink); }
.w26 .w-case-logos .sep, .w26 .w-feature-logos .sep { background: var(--g-line2); }

/* Typografi strammes: mindre og mere præcis, som de største */
.w26 .w-h1 { font-size: clamp(44px, 6.2vw, 96px); letter-spacing: -0.05em; line-height: 1.02; }
.w26 .w-h2 { font-size: clamp(34px, 4.2vw, 64px); letter-spacing: -0.045em; }
.w26 .w-h2--sm { font-size: clamp(32px, 3.4vw, 52px); }
.w26 .w-lead { font-size: clamp(18px, 1.5vw, 22px); font-weight: 400; color: var(--g-mute); line-height: 1.5; letter-spacing: -0.01em; }
.w26 .w-grad { background: linear-gradient(95deg, #ea580c, #f97316 60%, #fb923c); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Hero: lys, med render i bunden af rammen */
.w26 .w-hero { padding-top: 150px; }
.w26 .w-hero-bg { opacity: 1; -webkit-mask-image: linear-gradient(180deg, transparent, #000 35%); mask-image: linear-gradient(180deg, transparent, #000 35%); }
.w26 .w-hero--dark .w-window, .w26 .w-window { box-shadow: 0 0 0 1px var(--g-line2), 0 40px 80px -30px rgba(0,0,0,.18), 0 12px 30px -12px rgba(0,0,0,.08); }
.w26 .w-glow-floor { background: radial-gradient(closest-side, rgba(234,88,12,.18), transparent); }
.w26 .w-hero-art img { border-radius: 24px !important; -webkit-mask-image: none !important; mask-image: none !important; box-shadow: 0 0 0 1px var(--g-line); }

/* Fliser og kort: hvide celler med hårfine kanter */
.w26 .w-tile, .w26 .w-sec--alt .w-tile, .w26 .w-tile--dark { background: var(--g-surface) !important; color: var(--g-ink); box-shadow: 0 0 0 1px var(--g-line); border-radius: 20px; }
.w26 .w-tile--dark p, .w26 .w-tile p { color: var(--g-mute); }
.w26 .w-tile-k, .w26 .w-tile--dark .w-tile-k, .w26 .w-tile--img .w-tile-k { color: var(--w-accent-ink); }
.w26 .w-tile--img { background: #f3f3f3 !important; color: var(--g-ink); }
.w26 .w-tile--img .w-tile-body { background: linear-gradient(180deg, rgba(250,250,250,.94) 0%, rgba(250,250,250,.6) 38%, rgba(250,250,250,0) 62%); }
.w26 .w-tile--img p { color: var(--g-ink2); }
.w26 .w-tile--img .w-term, .w26 .w-term { background: #111; }
.w26 .w-tile--dark .w-chip, .w26 .w-chip { background: #fff; color: var(--g-ink2); box-shadow: 0 0 0 1px var(--g-line2); }
.w26 .w-spot::after, .w26 .w-spot.w-tile:not(.w-tile--img):not(.w-tile--dark)::after { background: radial-gradient(500px circle at var(--mx, 50%) var(--my, 50%), rgba(234,88,12,.07), transparent 40%); }
.w26 .w-feat, .w26 .w-sec--alt .w-feat { background: var(--g-surface); box-shadow: 0 0 0 1px var(--g-line); border-radius: 20px; }
.w26 .w-card, .w26 .w-sec:not(.w-sec--alt) .w-card { background: var(--g-surface); box-shadow: 0 0 0 1px var(--g-line); border-radius: 20px; }
.w26 .w-card-media { background: #f3f3f3; }
.w26 .w-card-media--logo, .w26 .w-card-media--logo[style] { background: #f5f5f5 !important; }
.w26 .w-card-media--logo span[style*="color:#f5f5f7"] { color: var(--g-ink) !important; }
.w26 .w-card-media--logo span[style*="color:#a1a1a6"] { color: var(--g-mute) !important; }
.w26 .rz-word { color: var(--g-ink); }
.w26 .w-portal-ui, .w26 .w-formcard { box-shadow: 0 0 0 1px var(--g-line), 0 30px 60px -30px rgba(0,0,0,.15); border-radius: 20px; }
.w26 .w-reach a { box-shadow: 0 0 0 1px var(--g-line); border-radius: 16px; }
.w26 .w-statpanel { background: var(--g-surface); color: var(--g-ink); box-shadow: 0 0 0 1px var(--g-line), 0 30px 60px -30px rgba(0,0,0,.15); }
.w26 .w-statpanel header small, .w26 .w-legend, .w26 .w-statpanel .w-mstats small, .w26 .w-statpanel .w-panel-note { color: var(--g-mute); }
.w26 .w-statpanel .w-export { background: #f3f3f3; color: var(--g-ink); }
.w26 .w-statpanel .w-mstats div { background: #f7f7f7; }
.w26 .w-statpanel svg circle[fill="#0e0e10"] { fill: #fff; }
.w26 .w-statpanel g[stroke] { stroke: #eee; }

/* Store tal og lister (tidligere mørke) */
.w26 .w-stat-who, .w26 .w-stat-who b { color: var(--g-mute); }
.w26 .w-stat-who b { color: var(--g-ink); }
.w26 .w-stat-av { background: #f3f3f3; color: var(--g-ink); box-shadow: 0 0 0 1px var(--g-line2); }
.w26 .w-svc-list { border-top-color: var(--g-line); }
.w26 .w-svc-list a { color: var(--g-ink); border-bottom-color: var(--g-line); }
.w26 .w-svc-list a small { color: var(--g-mute); }
.w26 .w-svc-list a:hover { color: var(--w-accent-ink); }
.w26 .w-sec--art > .w-sec-bg img { opacity: .5 !important; }
.w26 [style*="color:var(--w-dmute)"], .w26 [style*="color: var(--w-dmute)"] { color: var(--g-mute) !important; }

/* Logo-strimlen: sorte logoer (monokrom) som hos de store */
.w26 .w-marquee-track img, .w26 .w-marquee-track img.keep { filter: grayscale(1) brightness(0); opacity: .75; }
.w26 .w-marquee-title { color: var(--g-mute); }

/* Story (hvis en side stadig har den) i lyse farver */
.w26 .w-story-text { color: #d4d4d8; }
.w26 .w-story-text .w-sw.on { color: var(--g-ink); }
.w26 .w-story-text .acc .w-sw.on { color: var(--w-accent-ink); }

/* ── Nye V3-komponenter ─────────────────────────────────────────────── */
.g-plus { position: absolute; width: 11px; height: 11px; pointer-events: none; }
.g-plus::before, .g-plus::after { content: ''; position: absolute; background: #b4b4b4; }
.g-plus::before { left: 5px; top: 0; width: 1px; height: 11px; } .g-plus::after { top: 5px; left: 0; height: 1px; width: 11px; }
.g-plus.tl { left: -6px; top: -6px; } .g-plus.tr { right: -6px; top: -6px; } .g-plus.bl { left: -6px; bottom: -6px; } .g-plus.br { right: -6px; bottom: -6px; }
.g-frame { position: relative; max-width: var(--g-frame); margin: 0 auto; }
.g-cells { display: grid; border-top: 1px solid var(--g-line); }
.g-cells > * { border-right: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); }
.g-cells > *:last-child { border-right: 0; }
.g-cells--4 { grid-template-columns: repeat(4, 1fr); }
.g-cells--3 { grid-template-columns: repeat(3, 1fr); }
.g-cells--2 { grid-template-columns: 1fr 1fr; }
.g-cells--4 > *:nth-child(4n), .g-cells--3 > *:nth-child(3n), .g-cells--2 > *:nth-child(2n) { border-right: 0; }

/* Tal-celler med logo (Vercel customers) */
.g-stat { display: flex; flex-direction: column; justify-content: space-between; gap: 28px; padding: 34px 32px 30px; min-height: 210px; text-decoration: none; color: inherit; background: var(--g-surface); transition: background-color 300ms var(--w-ease); }
.g-stat:hover { background: #f7f7f7; }
.g-stat p { margin: 0; font-size: 21px; line-height: 1.3; letter-spacing: -0.02em; color: var(--g-mute); font-weight: 500; }
.g-stat p b { color: var(--g-ink); font-weight: 600; }
.g-stat img { height: 26px; width: auto; display: block; align-self: flex-start; }
.g-stat .g-logo-text { font-size: 17px; font-weight: 700; letter-spacing: -0.02em; color: var(--g-ink); }

/* Hero i ramme */
.g-hero { position: relative; text-align: center; padding: 140px 48px 0; overflow: hidden; }
.g-hero .w-h1 { max-width: 15ch; margin: 0 auto; }
.g-hero .w-lead { max-width: 36ch; margin: 22px auto 0; }
.g-hero .w-btns { justify-content: center; margin-top: 34px; }
.g-hero-art { position: relative; margin: 64px -48px 0; height: 420px; overflow: hidden; border-top: 1px solid var(--g-line); }
.g-hero-art img { position: absolute; left: 50%; top: 50%; width: 1500px; max-width: none; transform: translate(-50%, calc(-50% + var(--py, 0px))); }
.g-hero-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(250,250,250,.0) 60%, rgba(250,250,250,.9)); }

/* Logo-række i celle */
.g-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 26px 56px; padding: 44px 48px; border-top: 1px solid var(--g-line); background: var(--g-surface); }
.g-logos p { width: 100%; text-align: center; margin: 0 0 6px; font-size: 14px; color: var(--g-mute); font-weight: 500; }
.g-logos a { display: block; opacity: .8; transition: opacity 250ms var(--w-ease); }
.g-logos a:hover { opacity: 1; }
.g-logos img { height: 30px; width: auto; max-width: 140px; object-fit: contain; filter: grayscale(1) brightness(0); display: block; }

/* Sektionshoved inde i rammen */
.g-head { padding: 88px 48px 48px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; }
.g-head .w-h2 { max-width: 16ch; }
.g-head p { margin: 0; max-width: 40ch; color: var(--g-mute); font-size: 18px; line-height: 1.5; }

/* Faner (Superhuman-suite) */
.g-tabs { border-top: 1px solid var(--g-line); }
.g-tablist { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--g-line); }
.g-tab { position: relative; appearance: none; border: 0; border-right: 1px solid var(--g-line); background: var(--g-bg); padding: 22px 24px; text-align: left; font: inherit; font-size: 16px; font-weight: 600; color: var(--g-mute); cursor: pointer; display: flex; align-items: center; gap: 10px; transition: background-color 250ms var(--w-ease), color 250ms var(--w-ease); }
.g-tab:last-child { border-right: 0; }
.g-tab svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.g-tab:hover { color: var(--g-ink); }
.g-tab[aria-selected="true"] { background: var(--g-surface); color: var(--g-ink); }
.g-tab .g-prog { position: absolute; left: 0; bottom: -1px; height: 2px; width: 0; background: var(--w-accent); }
.g-tab[aria-selected="true"] .g-prog { animation: gProg var(--g-dur, 7s) linear forwards; }
.g-tabs.is-paused .g-tab[aria-selected="true"] .g-prog { animation-play-state: paused; }
@keyframes gProg { to { width: 100%; } }
.g-panel { display: grid; grid-template-columns: 0.9fr 1.3fr; min-height: 560px; background: var(--g-surface); }
.g-panel[hidden] { display: none; }
.g-panel-copy { padding: 48px; border-right: 1px solid var(--g-line); display: flex; flex-direction: column; }
.g-panel-copy h3 { font-size: clamp(28px, 2.6vw, 40px); line-height: 1.08; letter-spacing: -0.04em; margin: 10px 0 0; font-weight: 700; }
.g-panel-copy > p { font-size: 18px; line-height: 1.55; color: var(--g-mute); margin: 16px 0 0; }
.g-panel-copy ul { list-style: none; padding: 0; margin: auto 0 0; padding-top: 34px; display: grid; gap: 12px; }
.g-panel-copy li { display: flex; gap: 12px; font-size: 16.5px; color: var(--g-ink2); align-items: flex-start; }
.g-panel-copy li::before { content: ''; flex: none; width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid var(--g-ink); margin-top: 8px; }
.g-panel-copy .w-link { margin-top: 26px; font-size: 16.5px; }
.g-panel-vis { position: relative; overflow: hidden; background: #f5f5f5; display: flex; align-items: center; justify-content: center; padding: 40px; }
.g-panel-vis > img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.g-panel-vis > *:not(.bg) { position: relative; }
.g-panel-vis .w-window { width: 100%; max-width: 760px; }
.g-panel-vis .dan { min-height: 0; font-size: 13px; grid-template-columns: 180px 1fr; }
.g-panel-vis .dan-main { padding: 18px 20px; gap: 14px; }
.g-panel.is-in .g-panel-vis > *:not(.bg) { animation: gIn .7s var(--w-ease) both; }
@keyframes gIn { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: none; } }

/* Cases (Vercel «teams we empower») */
.g-story { display: flex; flex-direction: column; padding: 36px 34px 30px; min-height: 330px; background: var(--g-surface); text-decoration: none; color: inherit; transition: background-color 300ms var(--w-ease); }
.g-story:hover { background: #f7f7f7; }
.g-story .g-story-logo { height: 34px; display: flex; align-items: center; gap: 10px; }
.g-story .g-story-logo img { height: 30px; width: auto; }
.g-story h3 { margin: auto 0 0; padding-top: 50px; font-size: 24px; line-height: 1.25; letter-spacing: -0.025em; font-weight: 600; color: var(--g-ink); }
.g-story h3 span { color: var(--g-mute); font-weight: 500; }
.g-story .g-more { margin-top: 28px; display: flex; align-items: center; justify-content: space-between; font-size: 14.5px; color: var(--g-mute); }
.g-story .g-more i { width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--g-line2); display: grid; place-items: center; font-style: normal; color: var(--g-ink); transition: transform 300ms var(--w-ease), background-color 300ms var(--w-ease); }
.g-story:hover .g-more i { transform: translateX(3px); background: var(--g-ink); color: #fff; }

/* Citat-celle + CTA */
.g-quote { padding: 56px 48px; background: var(--g-surface); }
.g-quote blockquote { margin: 18px 0 0; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.3; letter-spacing: -0.03em; font-weight: 600; max-width: 30ch; }
.g-quote figcaption { margin-top: 22px; font-size: 15px; color: var(--g-mute); }
.g-quote figcaption b { color: var(--g-ink); }
.g-cta { padding: 56px 48px; background: var(--g-surface); display: flex; flex-direction: column; justify-content: center; }
.g-contact { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--g-line); }
.g-contact > div { padding: 64px 48px; }
.g-contact > div:first-child { border-right: 1px solid var(--g-line); }
.w26 .g-contact .w-formcard { box-shadow: none; padding: 0; background: transparent; }

/* Nav: lys glas som vercel.com (overskriver den mørke fra v2) */
@media (max-width: 1100px) {
  .g-cells--4 { grid-template-columns: 1fr 1fr; }
  .g-cells--4 > *:nth-child(2n) { border-right: 0; }
  .g-cells--3 { grid-template-columns: 1fr; }
  .g-cells--3 > * { border-right: 0; }
  .g-panel { grid-template-columns: 1fr; }
  .g-panel-copy { border-right: 0; border-bottom: 1px solid var(--g-line); }
  .g-contact { grid-template-columns: 1fr; }
  .g-contact > div:first-child { border-right: 0; border-bottom: 1px solid var(--g-line); }
  body.w26 main { background: var(--g-bg); }
}
@media (max-width: 760px) {
  .w26 .w-wrap { padding: 0 20px; }
  .w26 .w-sec { padding: 72px 0; }
  .g-hero { padding: 110px 20px 0; }
  .g-hero-art { margin: 44px -20px 0; height: 240px; }
  .g-hero-art img { width: 800px; }
  .g-head { padding: 64px 20px 32px; }
  .g-logos { padding: 32px 20px; gap: 22px 34px; }
  .g-logos img { height: 22px; }
  .g-cells--4 { grid-template-columns: 1fr; }
  .g-cells--4 > * { border-right: 0 !important; }
  .g-stat { min-height: 0; padding: 26px 20px; }
  .g-tablist { grid-template-columns: 1fr 1fr; }
  .g-tab { padding: 16px; font-size: 14.5px; }
  .g-tab:nth-child(2) { border-right: 0; }
  .g-tab:nth-child(-n+2) { border-bottom: 1px solid var(--g-line); }
  .g-panel-copy { padding: 30px 20px; }
  .g-panel-vis { padding: 20px 12px; min-height: 320px; }
  .g-story { min-height: 0; padding: 28px 20px; }
  .g-quote, .g-cta, .g-contact > div { padding: 40px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .g-tab[aria-selected="true"] .g-prog { animation: none; width: 100%; }
  .g-panel.is-in .g-panel-vis > *:not(.bg) { animation: none; }
}
.g-head .w-h2 { max-width: 20ch; }

/* V3: de «mørke» tokens peger nu på lyse værdier, så inline-styles fra v2-siderne følger med */
body.w26 { --w-dtext: #0a0a0a; --w-dmute: #666666; --w-dark: #fafafa; --w-dark2: #ffffff; --w-dark3: #f5f5f5; --w-accent-lt: #c2410c; }
.w26 .w-term { color: #d1d1d6; }
.w26 .w-term .p { color: #fb923c; }
.w26 .rz-tracker, .w26 .rz-card, .w26 .rz-wall { --w-dtext: #F5F5F7; --w-dmute: #a1a1a6; }

/* V3: generelle celler */
.g-cell { padding: 40px 36px; background: var(--g-surface); }
.g-cell > svg { width: 26px; height: 26px; stroke: var(--g-ink); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; display: block; margin-bottom: 26px; }
.g-cell h3 { margin: 0; font-size: 21px; letter-spacing: -0.02em; line-height: 1.25; font-weight: 600; }
.g-cell p { margin: 10px 0 0; font-size: 16px; line-height: 1.55; color: var(--g-mute); }
.g-cell ol, .g-cell ul { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 14px; counter-reset: gstep; }
.g-cell ol li { counter-increment: gstep; display: grid; grid-template-columns: 30px 1fr; gap: 12px; font-size: 16px; line-height: 1.5; color: var(--g-ink2); }
.g-cell ol li::before { content: counter(gstep); width: 26px; height: 26px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--g-line2); display: grid; place-items: center; font-size: 13px; font-weight: 600; color: var(--g-ink); }
.g-cell ol li b { color: var(--g-ink); }
.g-big { position: relative; overflow: hidden; background: #f3f3f3; padding: 56px 48px; display: flex; align-items: center; justify-content: center; border-top: 1px solid var(--g-line); }
.g-big > img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.g-big > *:not(.bg) { position: relative; width: 100%; max-width: 1000px; }
.g-price { font-size: clamp(44px, 4.4vw, 64px); font-weight: 700; letter-spacing: -0.05em; line-height: 1; margin: 14px 0 0; color: var(--g-ink); }
.g-price small { font-size: 18px; font-weight: 500; color: var(--g-mute); letter-spacing: -0.01em; }
.g-cta-cell { padding: 88px 48px; text-align: center; background: var(--g-surface); border-top: 1px solid var(--g-line); }
.g-cta-cell .w-h2 { max-width: 18ch; margin: 0 auto; }
.g-cta-cell .w-lead { max-width: 40ch; margin: 18px auto 0; }
.g-cta-cell .w-btns { justify-content: center; margin-top: 30px; }
.g-hero--left { text-align: left; }
.g-hero--left .w-h1, .g-hero--left .w-lead { margin-left: 0; }
.g-hero--left .w-btns { justify-content: flex-start; }
.g-hero .w-crumb { margin-bottom: 26px; }
.g-hero .w-case-logos { margin-bottom: 30px; }
.g-shot { display: flex; flex-direction: column; background: var(--g-surface); text-decoration: none; color: inherit; transition: background-color 300ms var(--w-ease); }
.g-shot:hover { background: #f7f7f7; }
.g-shot figure { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 1px solid var(--g-line); background: #f3f3f3; }
.g-shot figure img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; transition: transform 700ms var(--w-ease); }
.g-shot:hover figure img { transform: scale(1.03); }
.g-shot div { padding: 24px 28px 28px; }
.g-shot small { font-size: 13.5px; color: var(--g-mute); font-weight: 500; }
.g-shot h3 { margin: 6px 0 0; font-size: 20px; letter-spacing: -0.02em; font-weight: 600; }
@media (max-width: 760px) { .g-cell { padding: 30px 20px; } .g-big { padding: 28px 12px; } .g-cta-cell { padding: 64px 20px; } }
@media (max-width: 760px) {
  .g-tablist { grid-template-columns: 1fr 1fr !important; }
  .g-tab { min-width: 0; white-space: normal; border-bottom: 1px solid var(--g-line); }
  .g-tab:nth-child(2n) { border-right: 0; }
  .g-tab:last-child:nth-child(odd) { grid-column: span 2; border-right: 0; }
  .g-panel-vis .w-window, .g-panel-vis > * { max-width: 100%; min-width: 0; }
}
.g-panel, .g-panel-copy, .g-panel-vis { min-width: 0; }
@media (max-width: 760px) { .w26 h3, .w26 .g-story h3, .w26 .g-stat p { -webkit-hyphens: manual; hyphens: manual; } }
.w26 .g-frame > section:not(.g-hero):not(.g-cta-cell) { padding: 0; }
.w26 .w-h1, .w26 .w-h2, .w26 h3, .w26 .w-lead, .w26 .g-stat p { text-wrap: balance; }
@media (max-width: 1100px) { .g-cells--2 { grid-template-columns: 1fr; } .g-cells--2 > * { border-right: 0 !important; } }

/* Rammen fylder skærmen: flydende bredde med lille luft i siderne (David 30/9: «ikke hele siden fyldt») */
:root { --g-frame: min(2000px, calc(100% - 96px)); }
.w26 .g-frame { max-width: var(--g-frame); }
.w26 .w-wrap { max-width: var(--g-frame); }
.g-hero-art { height: 480px; }
.g-hero-art img { width: 120%; min-width: 1500px; }
@media (max-width: 1100px) { :root { --g-frame: calc(100% - 40px); } }
@media (max-width: 760px) { :root { --g-frame: 100%; } }

/* ── DAN, gengivet som den rigtige app (lilla, sidebar, ugeoverblik) ──────── */
.dn { --dn: #6d5dfc; --dn-lt: #efedff; --dn-line: #ececf3; font-size: 12.5px; color: #1f2233; }
.dn-app { display: grid; grid-template-columns: 170px 1fr; min-height: 470px; background: #fff; text-align: left; }
.dn-side { border-right: 1px solid var(--dn-line); padding: 14px 10px; display: flex; flex-direction: column; }
.dn-brand { display: flex; align-items: center; gap: 9px; padding: 2px 6px 14px; font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.dn-logo { width: 28px; height: 28px; border-radius: 8px; background: linear-gradient(145deg, #8b7bff, #6d5dfc); display: grid; place-items: center; }
.dn-logo svg { width: 15px; height: 15px; stroke: #fff; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.dn-side nav { display: flex; flex-direction: column; gap: 2px; }
.dn-side nav span { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 8px; color: #555a70; font-weight: 500; }
.dn-side nav span svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.dn-side nav span.on { background: var(--dn-lt); color: var(--dn); font-weight: 600; box-shadow: inset 0 0 0 1.5px #d9d4ff; }
.dn-side nav span em { margin-left: auto; font-style: normal; font-size: 10px; font-weight: 700; color: #fff; background: #f59e0b; width: 17px; height: 17px; border-radius: 50%; display: grid; place-items: center; }
.dn-side nav hr { border: 0; border-top: 1px solid var(--dn-line); margin: 6px 4px; }
.dn-foot { margin-top: auto; padding: 10px 8px 0; font-size: 11px; color: #8a8fa3; display: flex; align-items: center; gap: 5px; }
.dn-foot img { height: 9px; width: auto; filter: brightness(0) opacity(.55); }
.dn-main { min-width: 0; display: flex; flex-direction: column; }
.dn-top { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--dn-line); }
.dn-top b { display: block; font-size: 16px; letter-spacing: -.02em; }
.dn-top small { color: #8a8fa3; font-size: 11px; }
.dn-top .dn-user { display: flex; align-items: center; gap: 7px; font-size: 11px; color: #555a70; padding: 5px 9px 5px 5px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--dn-line); }
.dn-top .dn-user i { width: 20px; height: 20px; border-radius: 50%; background: #dfe3ee; }
.dn-bar { display: flex; align-items: center; gap: 8px; padding: 10px 16px; }
.dn-week { display: flex; align-items: center; gap: 10px; background: #f6f6fa; border-radius: 9px; padding: 5px 10px; }
.dn-week i { font-style: normal; color: #8a8fa3; }
.dn-week b { display: block; font-size: 12.5px; text-align: center; }
.dn-week small { display: block; font-size: 10px; color: #8a8fa3; }
.dn-seg { display: inline-flex; background: #f6f6fa; border-radius: 9px; padding: 3px; }
.dn-seg span { padding: 4px 10px; border-radius: 7px; color: #555a70; font-weight: 500; }
.dn-seg span.on { background: #fff; color: var(--dn); box-shadow: 0 1px 2px rgba(0,0,0,.08); font-weight: 600; }
.dn-search { margin-left: auto; color: #a0a4b6; box-shadow: inset 0 0 0 1px var(--dn-line); border-radius: 9px; padding: 6px 10px; min-width: 120px; }
.dn-new { background: var(--dn); color: #fff; font-weight: 600; border-radius: 9px; padding: 6px 11px; white-space: nowrap; }
.dn-table { margin: 0 16px 14px; border: 1px solid var(--dn-line); border-radius: 12px; overflow: hidden; }
.dn-row { display: grid; grid-template-columns: 1.45fr repeat(5, 1fr) .55fr; border-top: 1px solid var(--dn-line); min-height: 50px; }
.dn-row:first-child { border-top: 0; min-height: 0; }
.dn-row > div { padding: 6px 6px; display: flex; flex-direction: column; justify-content: center; gap: 4px; border-left: 1px solid var(--dn-line); min-width: 0; }
.dn-row > div:first-child { border-left: 0; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; padding-left: 10px; }
.dn-row > div.today { background: #f7f6ff; }
.dn-head > div { text-align: center; align-items: center; padding: 8px 4px; }
.dn-head > div:first-child { color: var(--dn); font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.dn-head small { font-size: 9.5px; color: #8a8fa3; font-weight: 600; letter-spacing: .06em; }
.dn-head b { font-size: 14px; letter-spacing: -.02em; }
.dn-head .today b { color: var(--dn); }
.dn-head em { font-style: normal; font-size: 10px; color: #8a8fa3; }
.dn-av { width: 26px; height: 26px; border-radius: 50%; flex: none; display: grid; place-items: center; font-size: 10px; font-weight: 700; color: #0f766e; background: #ccfbf1; }
.dn-row b.nm { display: block; font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dn-row small.org { display: block; font-size: 10.5px; color: #8a8fa3; }
.dn-chip { border-radius: 7px; background: #f7f7fb; box-shadow: inset 0 0 0 1px var(--dn-line); border-left: 3px solid #3b82f6; padding: 4px 6px; transition: background-color .5s var(--w-ease), box-shadow .5s var(--w-ease), border-color .5s var(--w-ease); }
.dn-chip b { display: flex; justify-content: space-between; gap: 4px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.dn-chip b em { font-style: normal; font-weight: 500; color: #8a8fa3; font-size: 10px; }
.dn-chip .dn-lbl { display: block; font-size: 9px; font-weight: 700; letter-spacing: .08em; color: #6b7085; }
.dn-chip.p { border-left-color: #ec4899; } .dn-chip.g { border-left-color: #22c55e; } .dn-chip.s { border-left-color: #94a3b8; } .dn-chip.v { border-left-color: #6d5dfc; }
.dn-chip.dn-open { background: #f0fdf4; border: 1.5px dashed #86efac; border-left: 3px solid #16a34a; box-shadow: none; }
.dn-chip.dn-open .dn-lbl { color: #15803d; }
.dn-chip.dn-taken { background: #f5f3ff; border: 0; border-left: 3px solid var(--dn); box-shadow: inset 0 0 0 1px #ddd6fe; animation: wTaken .7s var(--w-ease); }
.dn-chip.dn-taken .dn-lbl { color: var(--dn); }
.dn-ic { width: 26px; height: 26px; border-radius: 8px; background: #dcfce7; display: grid; place-items: center; position: relative; flex: none; }
.dn-ic svg { width: 14px; height: 14px; stroke: #15803d; fill: none; stroke-width: 1.8; }
.dn-ic::after { content: ''; position: absolute; top: -2px; right: -2px; width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 2px #fff; }
.dn-tot { align-items: center !important; }
.dn-ring { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 10px; font-weight: 700; background: conic-gradient(var(--c, #6d5dfc) calc(var(--v, .6) * 1turn), #ececf3 0); position: relative; }
.dn-ring::before { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: #fff; }
.dn-ring span { position: relative; }
.dn-count { font-size: 14px; font-weight: 700; }
.g-panel-vis .dn-app, .g-feat-vis .dn-app { min-height: 0; }
@media (max-width: 1100px) { .dn-app { grid-template-columns: 1fr; } .dn-side { display: none; } }
@media (max-width: 760px) {
  .dn-bar .dn-search, .dn-bar .dn-seg, .dn-top .dn-user { display: none; }
  .dn-row { grid-template-columns: 1.1fr repeat(3, 1fr); }
  .dn-row > div:nth-child(n+5) { display: none; }
  .dn-chip b em { display: none; }
}

/* ── Udvalgte cases (to store celler med visuel) ───────────────────────── */
.g-feat { display: flex; flex-direction: column; background: var(--g-surface); text-decoration: none; color: inherit; min-width: 0; }
.g-feat-copy { padding: 40px 40px 28px; }
.g-feat-copy .g-story-logo { display: flex; align-items: center; gap: 14px; height: 34px; }
.g-feat-copy .g-story-logo img { height: 30px; width: auto; }
.g-feat-copy .g-story-logo .sep { width: 1px; height: 22px; background: var(--g-line2); }
.g-feat-copy h3 { margin: 26px 0 0; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.12; letter-spacing: -.035em; font-weight: 700; }
.g-feat-copy p { margin: 12px 0 0; font-size: 17px; line-height: 1.5; color: var(--g-mute); max-width: 44ch; }
.g-feat-copy .w-link { margin-top: 18px; font-size: 16px; }
.g-feat-vis { margin-top: auto; position: relative; overflow: hidden; background: #f3f3f3; border-top: 1px solid var(--g-line); padding: 34px 30px 0; height: 400px; display: flex; justify-content: center; align-items: flex-start; }
.g-feat-vis > img.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.g-feat-vis > *:not(.bg) { position: relative; width: 100%; max-width: 820px; transition: transform .8s var(--w-ease); }
.g-feat:hover .g-feat-vis > *:not(.bg) { transform: translateY(-8px); }
.g-feat-vis .w-window { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.rzw { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.rzw .rz-card { aspect-ratio: 9 / 16; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--g-line), 0 18px 40px -24px rgba(0,0,0,.25); padding: 12px 11px; display: flex; flex-direction: column; justify-content: space-between; }
.rzw .rz-fmt { align-self: flex-start; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 8px; border-radius: 999px; background: #f3f3f3; color: var(--g-mute); }
.rzw .rz-card:nth-child(3n+1) .rz-fmt { background: #FF4D6D; color: #0B0B0F; }
.rzw .rz-hook { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 16px; line-height: 1.08; letter-spacing: -.04em; color: var(--g-ink); }
.rzw .rz-card img { width: 26px; height: auto; align-self: flex-end; }
.rzw .rz-card:nth-child(even) { transform: translateY(26px); }
.g-slim { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 30px; padding: 26px 40px; background: var(--g-surface); border-top: 1px solid var(--g-line); text-decoration: none; color: inherit; }
.g-slim img { height: 26px; width: auto; }
.g-slim p { margin: 0; font-size: 17px; color: var(--g-mute); flex: 1; min-width: 240px; }
.g-slim p b { color: var(--g-ink); font-weight: 600; }
@media (max-width: 760px) { .g-feat-copy { padding: 30px 20px 22px; } .g-feat-vis { height: 300px; padding: 20px 14px 0; } .rzw { grid-template-columns: repeat(3, 1fr); gap: 8px; } .rzw .rz-card:nth-child(n+4) { display: none; } .rzw .rz-hook { font-size: 13px; } .g-slim { padding: 22px 20px; } }
.dn .dn-app { font-size: 12.5px; min-height: 0; }

/* ── Animerede baggrunde (David 30/9: «baggrundene passer ikke ind») ─────────
   Bag UI-skærme: ingen render, men prikgitter + blød orange glød der driver langsomt.
   Hero-billedet beholdes, men ånder (langsom zoom) og får et lysskær der glider over. */
.g-panel-vis > img.bg, .g-feat-vis > img.bg, .g-big > img.bg { display: none; }
.g-panel-vis, .g-feat-vis, .g-big { background: #f7f7f7 !important; isolation: isolate; }
.g-panel-vis::before, .g-feat-vis::before, .g-big::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(circle, rgba(10,10,10,.13) 1px, transparent 1.3px);
  background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(ellipse 75% 70% at 50% 50%, #000 20%, transparent 78%);
  mask-image: radial-gradient(ellipse 75% 70% at 50% 50%, #000 20%, transparent 78%);
  animation: gDots 30s linear infinite;
}
.g-panel-vis::after, .g-feat-vis::after, .g-big::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  left: 50%; top: 50%; width: 80%; aspect-ratio: 1.3; margin: -32% 0 0 -40%;
  background:
    radial-gradient(closest-side at 35% 40%, rgba(249,115,22,.30), rgba(249,115,22,0) 70%),
    radial-gradient(closest-side at 70% 65%, rgba(251,191,36,.22), rgba(251,191,36,0) 70%);
  filter: blur(24px);
  animation: gAurora 16s ease-in-out infinite alternate;
}
.g-feat-vis::after { animation-duration: 19s; animation-delay: -6s; }
.g-big::after { width: 70%; margin-left: -35%; }
@keyframes gAurora {
  0% { transform: translate(-16%, -10%) rotate(0deg) scale(1); }
  50% { transform: translate(14%, 6%) rotate(40deg) scale(1.15); }
  100% { transform: translate(-4%, 14%) rotate(80deg) scale(.95); }
}
@keyframes gDots { to { background-position: 22px 22px; } }

/* Hero-billedet: ånder + lysskær */
.g-hero-art img { animation: gBreath 22s ease-in-out infinite alternate; }
@keyframes gBreath { from { scale: 1; } to { scale: 1.07; } }
.g-hero-art::before {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%);
  background-size: 250% 100%;
  animation: gSheen 9s ease-in-out infinite;
  mix-blend-mode: soft-light;
}
@keyframes gSheen { 0% { background-position: 130% 0; } 55%, 100% { background-position: -30% 0; } }

@media (prefers-reduced-motion: reduce) {
  .g-panel-vis::before, .g-feat-vis::before, .g-big::before, .g-panel-vis::after, .g-feat-vis::after, .g-big::after, .g-hero-art img, .g-hero-art::before { animation: none; }
}

/* Logoerne i farver igen (David 30/9: «bring farverne back, det var godt») */
.g-logos img, .w26 .w-marquee-track img, .w26 .w-marquee-track img.keep, .w-logos-row a { filter: none !important; }
.g-logos a { opacity: 1; transition: transform 300ms var(--w-ease); }
.g-logos a:hover { transform: translateY(-2px); }
.g-logos p { font-size: 15px; font-weight: 600; color: var(--g-ink2); letter-spacing: -0.01em; }
.g-logos { gap: 30px 64px; padding: 52px 48px; }
.g-logos img { height: 36px; max-width: 170px; }
@media (max-width: 760px) { .g-logos { gap: 22px 34px; padding: 32px 20px; } .g-logos img { height: 24px; } .g-logos .rz-word { font-size: 20px !important; } }
.g-logos a { text-decoration: none; } .g-logos .rz-word { color: var(--g-ink); }
