.rpt-root {
    --primary: #000c1e;
    --on-primary: #ffffff;
    --on-primary-container: #708bb2;
    --tertiary-fixed-dim: #e9c176;
    --on-tertiary-fixed-variant: #5d4201;
    --background: #f9f9f9;
    --surface-container-lowest: #ffffff;
    --surface-container-low: #f3f3f3;
    --surface-container: #eeeeee;
    --surface-container-high: #e8e8e8;
    --on-surface: #1a1c1c;
    --on-surface-variant: #43474e;
    --outline-variant: #c3c6cf;
    --slate-300: #cbd5e1;
    --slate-400: #94a3b8;
    --slate-500: #64748b;
    --slate-700: #334155;
    --slate-900: #0f172a;
    --slate-50:  #f8fafc;
    --font-headline: "Newsreader", "Source Serif Pro", Georgia, serif;
    --font-body: "Manrope", "Inter", system-ui, -apple-system, sans-serif;

    background: var(--background);
    color: var(--on-surface);
    font-family: var(--font-body);
}
.rpt-root *, .rpt-root *::before, .rpt-root *::after { box-sizing: border-box; }
.rpt-root a { color: inherit; text-decoration: none; }
.rpt-root h1, .rpt-root h2, .rpt-root h3, .rpt-root h4 { overflow-wrap: break-word; }
.rpt-root .ico,
.rpt-root .ico-mark {
    font-family: 'Material Symbols Outlined';
    font-weight: 400; font-style: normal; display: inline-block;
    line-height: 1; vertical-align: middle;
    font-variation-settings: 'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
}
.rpt-root .ico-mark { font-size: 18px; }

.rpt-root .container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.rpt-root .eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); }

/* ──────── Top rail ──────── */
.rpt-root .doc-rail { position: sticky; top: 0; z-index: 50; background: var(--slate-50); border-bottom: 1px solid var(--outline-variant); }
.rpt-root .doc-rail .row { max-width: 1440px; margin: 0 auto; padding: 14px 32px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.rpt-root .doc-rail .left { display: flex; align-items: center; gap: 18px; }
.rpt-root .doc-rail .brand { font-family: var(--font-headline); font-weight: 700; font-size: 18px; color: var(--primary); letter-spacing: -0.01em; }
.rpt-root .doc-rail .crumb { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--slate-500); }
.rpt-root .doc-rail .crumb a { display: inline-flex; align-items: center; gap: 6px; }
.rpt-root .doc-rail .crumb a:hover { color: var(--primary); }
.rpt-root .doc-rail .crumb-back { font-size: 14px; }
.rpt-root .doc-rail .crumb-sep { color: var(--outline-variant); font-weight: 400; }
.rpt-root .doc-rail .crumb-leaf { color: var(--primary); }
.rpt-root .doc-rail .right { display: flex; align-items: center; gap: 14px; }
.rpt-root .doc-rail .doc-id { font-family: ui-monospace,'SF Mono',Menlo,monospace; font-size: 11px; color: var(--slate-500); letter-spacing: 0.04em; }
.rpt-root .doc-rail .pill { display: inline-flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--on-primary); background: var(--primary); padding: 6px 12px; }
.rpt-root .doc-rail .pill.gold { color: var(--primary); background: var(--tertiary-fixed-dim); }

/* ──────── Cover ──────── */
.rpt-root .cover { padding: 88px 32px 56px; background: var(--background); border-bottom: 1px solid var(--outline-variant); }
.rpt-root .cover .grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.45fr 1fr; gap: 96px; align-items: end; }
.rpt-root .cover .doc-stamp { font-size: 11px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); margin-bottom: 18px; display: flex; align-items: center; gap: 14px; }
.rpt-root .cover .doc-stamp::before { content: ''; width: 24px; height: 1px; background: currentColor; }
.rpt-root .cover h1 { font-family: var(--font-headline); font-weight: 700; font-size: clamp(54px,6.5vw,100px); line-height: 0.98; letter-spacing: -0.03em; color: var(--primary); margin: 0 0 28px; text-wrap: balance; }
.rpt-root .cover h1 .lede-stat { white-space: nowrap; font-feature-settings: "tnum" 1; }
.rpt-root .cover h1 em { display: block; font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); margin-top: 4px; }
.rpt-root .cover .lede { font-family: var(--font-headline); font-weight: 400; font-size: clamp(19px,1.2vw + 0.6rem,24px); line-height: 1.5; color: var(--on-surface); max-width: 54ch; margin: 0; text-wrap: pretty; }
.rpt-root .cover .lede b { color: var(--primary); font-weight: 700; }
.rpt-root .cover .lede em { font-style: italic; color: var(--on-tertiary-fixed-variant); }
.rpt-root .cover-meta { border-left: 4px solid var(--tertiary-fixed-dim); padding-left: 24px; display: flex; flex-direction: column; gap: 18px; }
.rpt-root .cover-meta .meta-row { display: flex; justify-content: space-between; gap: 24px; font-size: 12px; letter-spacing: 0.04em; }
.rpt-root .cover-meta .meta-row .lbl { font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); font-size: 10px; }
.rpt-root .cover-meta .meta-row .val { color: var(--primary); font-weight: 600; text-align: right; }
.rpt-root .cover-meta .source { font-family: var(--font-headline); font-style: italic; font-size: 14px; color: var(--on-surface-variant); line-height: 1.5; padding-top: 18px; border-top: 1px solid var(--outline-variant); }
@media (max-width: 980px) {
    .rpt-root .cover .grid { grid-template-columns: 1fr; gap: 48px; }
}

/* ──────── Headline metrics ──────── */
.rpt-root .keymetrics { background: var(--primary); color: var(--on-primary); padding: 0; }
.rpt-root .keymetrics .head { max-width: 1280px; margin: 0 auto; padding: 32px 32px 18px; display: flex; justify-content: space-between; align-items: baseline; gap: 24px; flex-wrap: wrap; border-bottom: 1px solid rgba(255,255,255,0.12); }
.rpt-root .keymetrics .head .lbl { font-size: 11px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--tertiary-fixed-dim); }
.rpt-root .keymetrics .head .meta { font-family: ui-monospace,Menlo,monospace; font-size: 12px; color: var(--on-primary-container); letter-spacing: 0.02em; }
.rpt-root .keymetrics .grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(2,1fr); }
.rpt-root .keymetrics .caveat { max-width: 1280px; margin: 0 auto; padding: 24px 36px 40px; border-top: 1px solid rgba(255,255,255,0.10); font-family: var(--font-headline); font-style: italic; font-size: 14.5px; line-height: 1.55; color: var(--on-primary-container); text-wrap: pretty; }
.rpt-root .keymetrics .caveat b { color: var(--tertiary-fixed-dim); font-style: normal; font-weight: 700; }
.rpt-root .keymetrics .stat { padding: 48px 36px 56px; border-left: 1px solid rgba(255,255,255,0.10); position: relative; }
.rpt-root .keymetrics .stat:first-child { border-left: 0; }
.rpt-root .keymetrics .stat .approx { font-family: var(--font-headline); font-style: italic; font-weight: 400; font-size: 22px; color: var(--tertiary-fixed-dim); display: block; margin-bottom: -4px; letter-spacing: -0.01em; }
.rpt-root .keymetrics .stat .num { font-family: var(--font-headline); font-weight: 700; font-size: 84px; line-height: 0.95; letter-spacing: -0.035em; color: var(--on-primary); display: flex; align-items: baseline; gap: 4px; }
.rpt-root .keymetrics .stat .num.num-word { font-style: italic; font-weight: 400; }
.rpt-root .keymetrics .stat .num .pct { color: var(--tertiary-fixed-dim); font-style: italic; font-weight: 400; font-size: 0.55em; letter-spacing: -0.02em; }
.rpt-root .keymetrics .stat .role { margin-top: 18px; font-family: var(--font-headline); font-weight: 700; font-size: 18px; color: var(--on-primary); letter-spacing: -0.005em; line-height: 1.25; }
.rpt-root .keymetrics .stat .hint { font-size: 13px; color: var(--on-primary-container); margin-top: 8px; line-height: 1.5; max-width: 30ch; }
@media (max-width: 980px) {
    .rpt-root .keymetrics .grid { grid-template-columns: repeat(2,1fr); }
    .rpt-root .keymetrics .stat { border-left: 0; border-top: 1px solid rgba(255,255,255,0.10); }
}

/* ──────── Executive summary ──────── */
.rpt-root .exec { padding: 88px 32px; background: var(--surface-container-low); border-bottom: 1px solid var(--outline-variant); }
.rpt-root .exec .container { max-width: 1280px; margin: 0 auto; padding: 0; }
.rpt-root .exec .head { margin-bottom: 36px; }
.rpt-root .exec .head .eyebrow { display: block; margin-bottom: 12px; }
.rpt-root .exec .head h2 { font-family: var(--font-headline); font-weight: 700; font-size: clamp(32px,3vw,46px); line-height: 1.05; letter-spacing: -0.02em; color: var(--primary); margin: 0; max-width: 28ch; text-wrap: balance; }
.rpt-root .exec .head h2 em { font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); }
.rpt-root .exec .grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--outline-variant); border: 1px solid var(--outline-variant); }
.rpt-root .exec .card { background: var(--surface-container-lowest); padding: 32px 32px 36px; display: flex; flex-direction: column; gap: 12px; }
.rpt-root .exec .card .step { font-family: var(--font-headline); font-style: italic; font-size: 13px; color: var(--on-tertiary-fixed-variant); letter-spacing: 0.04em; }
.rpt-root .exec .card h3 { font-family: var(--font-headline); font-weight: 700; font-size: 22px; line-height: 1.2; color: var(--primary); margin: 0; letter-spacing: -0.01em; text-wrap: balance; }
.rpt-root .exec .card p { font-size: 14.5px; line-height: 1.6; color: var(--on-surface-variant); margin: 0; }
.rpt-root .exec .card p b { color: var(--primary); font-weight: 700; }
.rpt-root .exec .caveats { background: var(--primary); color: var(--on-primary); padding: 32px 36px; display: grid; grid-template-columns: auto 1fr; gap: 36px; align-items: start; border: 1px solid var(--outline-variant); border-top: 0; }
.rpt-root .exec .caveats .lbl { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--tertiary-fixed-dim); padding-top: 6px; max-width: 14ch; line-height: 1.4; }
.rpt-root .exec .caveats ol { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; counter-reset: caveat; }
.rpt-root .exec .caveats ol li { position: relative; padding-left: 32px; font-family: var(--font-headline); font-size: 15px; line-height: 1.5; color: var(--on-primary-container); text-wrap: pretty; counter-increment: caveat; }
.rpt-root .exec .caveats ol li::before { content: counter(caveat, lower-roman) "."; position: absolute; left: 0; top: 0; width: 22px; font-family: var(--font-headline); font-style: italic; font-size: 16px; color: var(--tertiary-fixed-dim); line-height: 1.5; letter-spacing: 0.02em; text-align: right; }
.rpt-root .exec .caveats ol li b { color: var(--on-primary); font-weight: 700; }
@media (max-width: 980px) {
    .rpt-root .exec .grid { grid-template-columns: 1fr; }
    .rpt-root .exec .caveats { grid-template-columns: 1fr; gap: 18px; padding: 28px; }
    .rpt-root .exec .caveats ol { grid-template-columns: 1fr; gap: 18px; }
}

/* ──────── Measure (running text — shared by Why + Hvad måler vi) ──────── */
.rpt-root .measure { padding: 96px 32px; background: var(--background); }
.rpt-root .measure.measure-alt { background: var(--surface-container-low); border-bottom: 1px solid var(--outline-variant); }
.rpt-root .measure .grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.6fr; gap: 80px; align-items: start; }
.rpt-root .measure h2 { font-family: var(--font-headline); font-weight: 700; font-size: clamp(36px,3.4vw,52px); line-height: 1.05; letter-spacing: -0.022em; color: var(--primary); margin: 14px 0 0; text-wrap: balance; max-width: 14ch; }
.rpt-root .measure h2 em { font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); }
.rpt-root .measure .body p { font-family: var(--font-headline); font-weight: 400; font-size: 21px; line-height: 1.55; color: var(--on-surface); margin: 0 0 18px; text-wrap: pretty; }
.rpt-root .measure .body p:last-child { margin-bottom: 0; }
.rpt-root .measure .body p b { color: var(--primary); font-weight: 700; }
.rpt-root .measure .body p em { font-style: italic; color: var(--on-tertiary-fixed-variant); }
.rpt-root .measure .pull { font-family: var(--font-headline); font-style: italic; font-weight: 400; font-size: 24px; line-height: 1.4; color: var(--primary); border-left: 3px solid var(--tertiary-fixed-dim); padding: 6px 0 6px 22px; margin: 28px 0; max-width: 42ch; }
.rpt-root .measure .body p.defn { font-family: var(--font-headline); font-size: 22px; line-height: 1.5; color: var(--primary); padding: 22px 26px; background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); border-left: 4px solid var(--tertiary-fixed-dim); margin: 0 0 22px; }
.rpt-root .measure .body p.defn b { color: var(--primary); font-weight: 700; }
.rpt-root .measure .body p.defn em { font-style: italic; color: var(--on-tertiary-fixed-variant); }
@media (max-width: 980px) {
    .rpt-root .measure .grid { grid-template-columns: 1fr; gap: 24px; }
}

/* ──────── Three dimensions ──────── */
.rpt-root .three { background: var(--surface-container-low); border-top: 1px solid var(--outline-variant); border-bottom: 1px solid var(--outline-variant); padding: 96px 32px; }
.rpt-root .three .head { max-width: 1280px; margin: 0 auto 56px; display: grid; grid-template-columns: auto 1fr; gap: 48px; align-items: end; }
.rpt-root .three .head .num { font-family: var(--font-headline); font-weight: 400; font-size: 128px; line-height: 0.85; color: var(--tertiary-fixed-dim); font-style: italic; letter-spacing: -0.04em; }
.rpt-root .three .head h2 { font-family: var(--font-headline); font-weight: 700; font-size: clamp(36px,3.4vw,52px); line-height: 1.05; letter-spacing: -0.022em; color: var(--primary); margin: 0 0 14px; text-wrap: balance; max-width: 24ch; }
.rpt-root .three .head .sub { font-size: 16px; line-height: 1.6; color: var(--on-surface-variant); max-width: 64ch; margin: 0; }
.rpt-root .three .grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--outline-variant); border: 1px solid var(--outline-variant); }
.rpt-root .three .dim { background: var(--surface-container-lowest); padding: 40px 36px 44px; display: flex; flex-direction: column; gap: 16px; }
.rpt-root .three .dim .roman { font-family: var(--font-headline); font-style: italic; font-weight: 400; font-size: 13px; letter-spacing: 0.18em; color: var(--on-tertiary-fixed-variant); text-transform: uppercase; }
.rpt-root .three .dim h4 { font-family: var(--font-headline); font-weight: 700; font-size: 24px; line-height: 1.18; letter-spacing: -0.012em; color: var(--primary); margin: 0; text-wrap: balance; }
.rpt-root .three .dim p { font-size: 14.5px; line-height: 1.65; color: var(--on-surface-variant); margin: 0; }
.rpt-root .three .dim .tag { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--outline-variant); font-family: ui-monospace,Menlo,monospace; font-size: 11px; letter-spacing: 0.04em; color: var(--on-tertiary-fixed-variant); }

/* Scoring legend */
.rpt-root .three .scoring { max-width: 1280px; margin: 56px auto 0; padding-top: 56px; border-top: 1px solid var(--outline-variant); }
.rpt-root .three .scoring-head { margin-bottom: 28px; max-width: 64ch; }
.rpt-root .three .scoring-head .eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); margin: 0 0 12px; }
.rpt-root .three .scoring-head h3 { font-family: var(--font-headline); font-weight: 700; font-size: clamp(22px,2vw,28px); line-height: 1.2; letter-spacing: -0.014em; color: var(--primary); margin: 0; text-wrap: balance; }
.rpt-root .three .scoring-head h3 em { font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); }
.rpt-root .three .scoring-visual { display: flex; align-items: stretch; justify-content: center; gap: 12px; flex-wrap: wrap; padding: 28px 24px; background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); margin-bottom: 28px; }
.rpt-root .three .scoring-visual .block { flex: 1 1 180px; min-width: 160px; max-width: 230px; padding: 22px 18px; background: var(--background); border: 1px solid var(--outline-variant); display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.rpt-root .three .scoring-visual .block .name { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); }
.rpt-root .three .scoring-visual .block .calc { font-family: var(--font-headline); font-weight: 700; font-size: 32px; color: var(--primary); letter-spacing: -0.01em; line-height: 1; }
.rpt-root .three .scoring-visual .block .calc .x { font-style: italic; color: var(--on-tertiary-fixed-variant); font-weight: 400; margin: 0 6px; font-size: 0.85em; }
.rpt-root .three .scoring-visual .block .pts { font-family: var(--font-headline); font-style: italic; font-size: 14px; color: var(--on-tertiary-fixed-variant); letter-spacing: -0.005em; }
.rpt-root .three .scoring-visual .op { display: flex; align-items: center; font-family: var(--font-headline); font-weight: 400; font-style: italic; font-size: 28px; color: var(--on-tertiary-fixed-variant); line-height: 1; padding: 0 4px; }
.rpt-root .three .scoring-visual .total { padding: 22px 28px; background: var(--primary); color: var(--on-primary); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-width: 140px; }
.rpt-root .three .scoring-visual .total .lbl { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--tertiary-fixed-dim); }
.rpt-root .three .scoring-visual .total .num { font-family: var(--font-headline); font-weight: 700; font-size: 48px; line-height: 0.9; color: var(--on-primary); letter-spacing: -0.025em; }
.rpt-root .three .scoring-visual .total .num small { font-size: 0.45em; font-style: italic; color: var(--tertiary-fixed-dim); font-weight: 400; }
@media (max-width: 880px) {
    .rpt-root .three .scoring-visual { flex-direction: column; align-items: stretch; }
    .rpt-root .three .scoring-visual .block, .rpt-root .three .scoring-visual .total { max-width: none; }
    .rpt-root .three .scoring-visual .op { justify-content: center; padding: 4px 0; font-size: 22px; }
}

.rpt-root .three .scoring-grid { background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); }
.rpt-root .three .scoring-grid .row { display: grid; grid-template-columns: 1.4fr 0.7fr 0.5fr 1fr 2.4fr; align-items: baseline; gap: 18px; padding: 18px 28px; border-bottom: 1px solid var(--outline-variant); }
.rpt-root .three .scoring-grid .row:last-child { border-bottom: 0; }
.rpt-root .three .scoring-grid .row.total { background: var(--background); }
.rpt-root .three .scoring-grid .dim-label { font-family: var(--font-headline); font-weight: 700; font-size: 17px; color: var(--primary); letter-spacing: -0.01em; }
.rpt-root .three .scoring-grid .scale { font-family: ui-monospace,Menlo,monospace; font-size: 13px; font-weight: 600; color: var(--primary); letter-spacing: 0.04em; }
.rpt-root .three .scoring-grid .weight { font-family: ui-monospace,Menlo,monospace; font-size: 13px; font-weight: 600; color: var(--on-tertiary-fixed-variant); }
.rpt-root .three .scoring-grid .max { font-family: var(--font-headline); font-style: italic; font-size: 14px; color: var(--primary); letter-spacing: -0.005em; }
.rpt-root .three .scoring-grid .max b { font-style: normal; font-weight: 700; }
.rpt-root .three .scoring-grid .note { grid-column: 1 / -1; font-size: 13px; line-height: 1.55; color: var(--on-surface-variant); margin: 4px 0 0; }
.rpt-root .three .scoring-grid .note em { font-style: italic; color: var(--primary); }

@media (max-width: 880px) {
    .rpt-root .three .grid { grid-template-columns: 1fr; }
    .rpt-root .three .head { grid-template-columns: 1fr; gap: 8px; }
    .rpt-root .three .head .num { font-size: 80px; }
    .rpt-root .three .scoring-grid .row { grid-template-columns: 1fr 1fr; }
    .rpt-root .three .scoring-grid .max { grid-column: 1 / -1; }
}

/* ──────── Source-of-truth ──────── */
.rpt-root .truth { padding: 96px 32px; background: var(--background); }
.rpt-root .truth .grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--outline-variant); border: 1px solid var(--outline-variant); }
.rpt-root .truth .pane { background: var(--surface-container-lowest); padding: 44px 40px; }
.rpt-root .truth .pane.dark { background: var(--primary); color: var(--on-primary); }
.rpt-root .truth .pane .lbl { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); margin-bottom: 18px; display: flex; align-items: center; gap: 10px; }
.rpt-root .truth .pane.dark .lbl { color: var(--tertiary-fixed-dim); }
.rpt-root .truth .pane h4 { font-family: var(--font-headline); font-weight: 700; font-size: 26px; line-height: 1.2; letter-spacing: -0.012em; color: var(--primary); margin: 0 0 16px; text-wrap: balance; }
.rpt-root .truth .pane.dark h4 { color: var(--on-primary); }
.rpt-root .truth .pane h4 em { font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); }
.rpt-root .truth .pane.dark h4 em { color: var(--tertiary-fixed-dim); }
.rpt-root .truth .pane p { font-size: 15px; line-height: 1.65; color: var(--on-surface-variant); margin: 0; }
.rpt-root .truth .pane.dark p { color: var(--on-primary-container); }
.rpt-root .truth .pane p + p { margin-top: 12px; }
@media (max-width: 880px) {
    .rpt-root .truth .grid { grid-template-columns: 1fr; }
}

/* ──────── Case spotlight ──────── */
.rpt-root .case-spotlight { padding: 96px 32px; background: var(--surface-container-low); border-top: 1px solid var(--outline-variant); border-bottom: 1px solid var(--outline-variant); }
.rpt-root .case-spotlight .container { max-width: 1280px; margin: 0 auto; padding: 0; }
.rpt-root .case-spotlight .container + .container { margin-top: 88px; padding-top: 64px; border-top: 1px solid var(--outline-variant); }
.rpt-root .case-spotlight .container.case-partial { position: relative; }
.rpt-root .case-spotlight .container.case-partial .partial-flag { color: #93000a; letter-spacing: 0.18em; }
.rpt-root .case-spotlight .container.case-partial .score-partial .total { color: var(--on-tertiary-fixed-variant); }
.rpt-root .case-spotlight .cs-bar .fill.partial { background: var(--on-tertiary-fixed-variant); opacity: 0.55; }
.rpt-root .case-spotlight .container.case-partial .cs-note { padding: 18px 22px; background: var(--surface-container-low); border: 0; border-left: 3px solid var(--on-tertiary-fixed-variant); font-family: var(--font-body); font-weight: 400; font-size: 13px; line-height: 1.55; color: var(--on-surface-variant); }
.rpt-root .case-spotlight .container.case-partial .cs-note b { color: var(--primary); font-weight: 700; }
.rpt-root .cs-head { display: grid; grid-template-columns: auto 1fr auto; gap: 36px; align-items: end; margin-bottom: 40px; }
.rpt-root .cs-head .num { font-family: var(--font-headline); font-weight: 400; font-style: italic; font-size: 120px; line-height: 0.85; color: var(--tertiary-fixed-dim); letter-spacing: -0.04em; min-width: 140px; }
.rpt-root .cs-head .titles .meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.rpt-root .cs-head .titles .meta .sagsnr { font-family: ui-monospace,Menlo,monospace; font-size: 12px; font-weight: 600; color: var(--primary); background: var(--surface-container); padding: 5px 10px; letter-spacing: 0.02em; }
.rpt-root .cs-head .titles .meta .domain { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); }
.rpt-root .cs-head .titles .meta .dot { width: 4px; height: 4px; background: var(--outline-variant); border-radius: 9999px; }
.rpt-root .cs-head .titles h3 { font-family: var(--font-headline); font-weight: 700; font-size: clamp(28px,2.6vw,38px); line-height: 1.06; letter-spacing: -0.018em; color: var(--primary); margin: 0 0 12px; text-wrap: balance; max-width: 32ch; }
.rpt-root .cs-head .titles .question { font-family: var(--font-headline); font-style: italic; font-weight: 400; font-size: 18px; line-height: 1.5; color: var(--on-surface-variant); max-width: 60ch; margin: 0; }
.rpt-root .cs-head .titles .question em { font-style: italic; }
.rpt-root .cs-head .score { text-align: right; min-width: 170px; }
.rpt-root .cs-head .score .total { font-family: var(--font-headline); font-weight: 700; font-size: 64px; line-height: 0.9; color: var(--primary); letter-spacing: -0.03em; }
.rpt-root .cs-head .score .total small { font-size: 0.5em; font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); }
.rpt-root .cs-head .score .lbl { margin-top: 8px; font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); }
@media (max-width: 880px) {
    .rpt-root .cs-head { grid-template-columns: 1fr; gap: 18px; }
    .rpt-root .cs-head .num { font-size: 72px; min-width: 0; }
    .rpt-root .cs-head .score { text-align: left; }
}

/* Score bars */
.rpt-root .cs-bars { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--outline-variant); border: 1px solid var(--outline-variant); margin-bottom: 40px; }
.rpt-root .cs-bar { background: var(--surface-container-lowest); padding: 22px 26px; display: flex; flex-direction: column; gap: 10px; }
.rpt-root .cs-bar .top { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; }
.rpt-root .cs-bar .top .name { font-family: var(--font-headline); font-weight: 700; font-size: 18px; color: var(--primary); letter-spacing: -0.01em; }
.rpt-root .cs-bar .top .v { font-family: var(--font-headline); font-weight: 700; font-size: 22px; color: var(--primary); letter-spacing: -0.02em; }
.rpt-root .cs-bar .top .v small { font-size: 0.55em; font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); }
.rpt-root .cs-bar .track { height: 6px; background: var(--surface-container-high); position: relative; }
.rpt-root .cs-bar .fill { position: absolute; inset: 0 0 0 0; background: var(--tertiary-fixed-dim); }
.rpt-root .cs-bar .desc { font-size: 13px; line-height: 1.5; color: var(--on-surface-variant); margin: 0; }
@media (max-width: 780px) {
    .rpt-root .cs-bars { grid-template-columns: 1fr; }
}

/* Quote */
.rpt-root .cs-quote { margin-bottom: 40px; padding: 36px 44px; background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); border-left: 4px solid var(--tertiary-fixed-dim); }
.rpt-root .cs-quote .lbl { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.rpt-root .cs-quote blockquote { margin: 0; font-family: var(--font-headline); font-weight: 400; font-size: 21px; line-height: 1.55; color: var(--primary); letter-spacing: -0.005em; text-wrap: pretty; }
.rpt-root .cs-quote blockquote em { font-style: italic; color: var(--on-tertiary-fixed-variant); }
.rpt-root .cs-quote blockquote mark { background: var(--tertiary-fixed-dim); color: var(--primary); padding: 1px 6px; font-weight: 600; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* Verdict ledger */
.rpt-root .ledger { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--outline-variant); border: 1px solid var(--outline-variant); margin-bottom: 24px; }
.rpt-root .ledger .cell { background: var(--surface-container-lowest); padding: 20px 22px; display: flex; flex-direction: column; gap: 8px; }
.rpt-root .ledger .cell .lbl { font-size: 9px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); }
.rpt-root .ledger .cell .val { font-family: var(--font-headline); font-weight: 700; font-size: 18px; color: var(--primary); letter-spacing: -0.01em; line-height: 1.25; }
.rpt-root .ledger .cell .val .icon { font-family: 'Material Symbols Outlined'; font-size: 16px; color: var(--tertiary-fixed-dim); margin-right: 6px; vertical-align: middle; font-variation-settings: 'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; }
.rpt-root .ledger .cell .val .icon-warn { color: var(--on-tertiary-fixed-variant); }
.rpt-root .ledger .cell .val.warn { color: var(--on-tertiary-fixed-variant); }
.rpt-root .ledger .cell .sub { font-size: 12px; color: var(--on-surface-variant); line-height: 1.45; }
@media (max-width: 780px) {
    .rpt-root .ledger { grid-template-columns: repeat(2,1fr); }
}

.rpt-root .cs-note { padding: 22px 26px; background: var(--background); border: 1px dashed var(--outline-variant); font-family: var(--font-headline); font-weight: 400; font-size: 16px; line-height: 1.55; color: var(--primary); text-wrap: pretty; }
.rpt-root .cs-note b { font-weight: 700; }
.rpt-root .cs-note em { font-style: italic; color: var(--on-tertiary-fixed-variant); }

/* ──────── Limitations ──────── */
.rpt-root .limits { padding: 96px 32px; background: var(--background); }
.rpt-root .limits .grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.5fr; gap: 80px; align-items: start; }
.rpt-root .limits h2 { font-family: var(--font-headline); font-weight: 700; font-size: clamp(36px,3.4vw,52px); line-height: 1.05; letter-spacing: -0.022em; color: var(--primary); margin: 14px 0 0; text-wrap: balance; max-width: 14ch; }
.rpt-root .limits h2 em { font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); }
.rpt-root .limits .list { display: flex; flex-direction: column; gap: 0; }
.rpt-root .limits .item { padding: 24px 0; border-top: 1px solid var(--outline-variant); display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: start; }
.rpt-root .limits .item:first-child { border-top: 0; padding-top: 0; }
.rpt-root .limits .item:last-child { border-bottom: 1px solid var(--outline-variant); }
.rpt-root .limits .item .n { font-family: var(--font-headline); font-style: italic; font-weight: 400; font-size: 32px; color: var(--tertiary-fixed-dim); min-width: 48px; letter-spacing: -0.02em; }
.rpt-root .limits .item h4 { font-family: var(--font-headline); font-weight: 700; font-size: 20px; line-height: 1.2; color: var(--primary); margin: 0 0 8px; letter-spacing: -0.01em; }
.rpt-root .limits .item p { font-size: 15px; line-height: 1.6; color: var(--on-surface-variant); margin: 0; text-wrap: pretty; }
.rpt-root .limits .conclusion { margin-top: 32px; padding: 28px 32px; background: var(--primary); color: var(--on-primary); }
.rpt-root .limits .conclusion .lbl { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--tertiary-fixed-dim); margin-bottom: 12px; }
.rpt-root .limits .conclusion p { font-family: var(--font-headline); font-weight: 400; font-size: 19px; line-height: 1.5; color: var(--on-primary); margin: 0; text-wrap: pretty; }
.rpt-root .limits .conclusion p b { font-weight: 700; color: var(--tertiary-fixed-dim); }
@media (max-width: 980px) {
    .rpt-root .limits .grid { grid-template-columns: 1fr; gap: 24px; }
}

/* ──────── Methodology ──────── */
.rpt-root .methodology { padding: 96px 32px; background: var(--surface-container-low); border-top: 1px solid var(--outline-variant); border-bottom: 1px solid var(--outline-variant); }
.rpt-root .methodology .container { max-width: 1280px; margin: 0 auto; padding: 0; }
.rpt-root .methodology .head { margin-bottom: 40px; max-width: 64ch; }
.rpt-root .methodology .head .eyebrow { display: block; margin-bottom: 12px; }
.rpt-root .methodology .head h2 { font-family: var(--font-headline); font-weight: 700; font-size: clamp(32px,3vw,46px); line-height: 1.05; letter-spacing: -0.02em; color: var(--primary); margin: 0 0 16px; text-wrap: balance; max-width: 24ch; }
.rpt-root .methodology .head h2 em { font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); }
.rpt-root .methodology .head .sub { font-family: var(--font-headline); font-weight: 400; font-size: 18px; line-height: 1.55; color: var(--on-surface-variant); margin: 0; text-wrap: pretty; }
.rpt-root .methodology .method-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--outline-variant); border: 1px solid var(--outline-variant); }
.rpt-root .methodology .method-pane { background: var(--surface-container-lowest); padding: 36px 36px 40px; }
.rpt-root .methodology .method-pane.pending { background: var(--background); }
.rpt-root .methodology .m-lbl { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid var(--outline-variant); }
.rpt-root .methodology .method-pane.pending .m-lbl { color: var(--slate-500); }
.rpt-root .methodology .method-pane ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.rpt-root .methodology .method-pane li { position: relative; padding-left: 22px; font-family: var(--font-headline); font-weight: 400; font-size: 16px; line-height: 1.55; color: var(--on-surface); text-wrap: pretty; }
.rpt-root .methodology .method-pane li::before { content: '→'; position: absolute; left: 0; top: 1px; color: var(--tertiary-fixed-dim); font-style: italic; font-weight: 400; }
.rpt-root .methodology .method-pane.pending li::before { color: var(--slate-400); content: '·'; font-size: 22px; line-height: 1; top: 0; }
.rpt-root .methodology .method-pane li b { color: var(--primary); font-weight: 700; }
.rpt-root .methodology .method-pane li em { font-style: italic; color: var(--on-tertiary-fixed-variant); }
.rpt-root .methodology .method-foot { margin-top: 28px; font-family: var(--font-headline); font-style: italic; font-size: 15px; line-height: 1.55; color: var(--on-surface-variant); max-width: 76ch; }
@media (max-width: 980px) {
    .rpt-root .methodology .method-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .rpt-root .methodology { padding: 72px 20px; }
    .rpt-root .methodology .method-pane { padding: 28px 24px 32px; }
}

/* ──────── Why-this-matters footer line ──────── */
.rpt-root .measure .body p.why-foot { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--outline-variant); font-family: var(--font-headline); font-style: italic; font-size: 17px; line-height: 1.5; color: var(--on-surface-variant); }
.rpt-root .measure .body p.why-foot b { color: var(--primary); font-weight: 700; }

/* ──────── Tillægseksempler divider ──────── */
.rpt-root .case-spotlight .container.extras-divider { margin-top: 64px; padding-top: 0; border-top: 0; }
.rpt-root .case-spotlight .container.extras-divider .extras-head { padding: 32px 36px 28px; background: var(--background); border: 1px solid var(--outline-variant); border-left: 4px solid var(--on-tertiary-fixed-variant); }
.rpt-root .case-spotlight .extras-eyebrow { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--on-tertiary-fixed-variant); margin-bottom: 10px; }
.rpt-root .case-spotlight .extras-title { font-family: var(--font-headline); font-weight: 700; font-size: clamp(24px,2.4vw,32px); line-height: 1.1; letter-spacing: -0.014em; color: var(--primary); margin: 0 0 14px; text-wrap: balance; max-width: 28ch; }
.rpt-root .case-spotlight .extras-title em { font-style: italic; font-weight: 400; color: var(--on-tertiary-fixed-variant); }
.rpt-root .case-spotlight .extras-sub { font-family: var(--font-headline); font-weight: 400; font-size: 16px; line-height: 1.55; color: var(--on-surface-variant); margin: 0; max-width: 78ch; text-wrap: pretty; }
.rpt-root .case-spotlight .extras-sub b { color: var(--primary); font-weight: 700; }
.rpt-root .case-spotlight .extras-flag { color: var(--on-tertiary-fixed-variant); letter-spacing: 0.18em; }
.rpt-root .case-spotlight .container.extras-divider + .container { margin-top: 56px; padding-top: 0; border-top: 0; }
@media (max-width: 640px) {
    .rpt-root .case-spotlight .container.extras-divider .extras-head { padding: 24px 22px; }
}

/* ──────── Closing ──────── */
.rpt-root .closing { background: var(--primary); color: var(--on-primary); padding: 88px 32px; }
.rpt-root .closing .grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px; align-items: center; }
.rpt-root .closing .eyebrow { color: var(--tertiary-fixed-dim); }
.rpt-root .closing h2 { font-family: var(--font-headline); font-weight: 700; font-size: clamp(36px,4vw,56px); line-height: 1.05; letter-spacing: -0.025em; color: var(--on-primary); margin: 14px 0 22px; text-wrap: balance; }
.rpt-root .closing h2 em { font-style: italic; font-weight: 400; color: var(--tertiary-fixed-dim); }
.rpt-root .closing p { font-size: 16px; line-height: 1.6; color: var(--on-primary-container); max-width: 60ch; margin: 0 0 28px; }
.rpt-root .closing .ctas { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.rpt-root .btn { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-body); font-weight: 700; font-size: 14px; padding: 16px 26px; border: 0; cursor: pointer; transition: all 200ms; text-decoration: none; letter-spacing: 0.01em; }
.rpt-root .btn-gold { background: var(--tertiary-fixed-dim); color: var(--primary); }
.rpt-root .btn-gold:hover { transform: translateY(-2px); }
.rpt-root .btn-on-dark { background: transparent; border: 1px solid rgba(255,255,255,0.45); color: var(--on-primary); padding: 15px 25px; }
.rpt-root .btn-on-dark:hover { background: var(--on-primary); color: var(--primary); border-color: var(--on-primary); }
.rpt-root .closing .marg { font-family: var(--font-headline); font-style: italic; font-size: 17px; color: var(--on-primary-container); line-height: 1.5; border-left: 3px solid var(--tertiary-fixed-dim); padding-left: 22px; }
.rpt-root .closing .marg b { color: var(--tertiary-fixed-dim); font-weight: 700; }
.rpt-root .closing .marg-stamp { margin-top: 14px; font-style: normal; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--tertiary-fixed-dim); font-weight: 700; }
@media (max-width: 980px) {
    .rpt-root .closing .grid { grid-template-columns: 1fr; gap: 40px; }
}

/* ──────── Footer ──────── */
.rpt-root footer.doc { background: var(--slate-900); color: var(--slate-300); padding: 40px 32px; }
.rpt-root footer.doc .row { max-width: 1280px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.rpt-root footer.doc .l { display: flex; align-items: center; gap: 18px; }
.rpt-root footer.doc .brand { font-family: var(--font-headline); font-weight: 700; font-size: 18px; color: var(--on-primary); letter-spacing: -0.01em; }
.rpt-root footer.doc .meta { font-size: 12px; color: var(--slate-400); letter-spacing: 0.04em; }
.rpt-root footer.doc .latin { font-family: var(--font-headline); font-style: italic; font-size: 13px; color: var(--slate-400); max-width: 60ch; line-height: 1.5; }
.rpt-root footer.doc .latin b { color: var(--tertiary-fixed-dim); font-weight: 700; }

/* ──────── Mobile (≤640) ──────── */
@media (max-width: 640px) {
    .rpt-root .doc-rail .row { padding: 10px 18px; gap: 12px; }
    .rpt-root .doc-rail .left { gap: 0; flex: 1; min-width: 0; }
    .rpt-root .doc-rail .brand { display: none; }
    .rpt-root .doc-rail .doc-id { display: none; }
    .rpt-root .doc-rail .crumb { width: 100%; min-width: 0; gap: 8px; font-size: 10.5px; letter-spacing: 0.16em; }
    .rpt-root .doc-rail .crumb-mid,
    .rpt-root .doc-rail .crumb-sep { display: none; }
    .rpt-root .doc-rail .crumb-home { color: var(--slate-500); flex-shrink: 0; }
    .rpt-root .doc-rail .crumb-leaf { flex: 1; min-width: 0; padding-left: 12px; margin-left: 4px; border-left: 1px solid var(--outline-variant); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .rpt-root .doc-rail .pill { padding: 5px 10px; font-size: 9.5px; letter-spacing: 0.18em; }

    .rpt-root .cover { padding: 40px 20px 32px; }
    .rpt-root .cover .grid { gap: 32px; }
    .rpt-root .cover h1 { font-size: clamp(38px, 9vw, 56px); margin-bottom: 22px; }
    .rpt-root .cover .lede { font-size: 17px; }
    .rpt-root .cover-meta { padding-left: 18px; }
    .rpt-root .cover-meta .meta-row { flex-direction: column; align-items: flex-start; gap: 4px; }
    .rpt-root .cover-meta .meta-row .val { text-align: left; }

    .rpt-root .keymetrics .grid { grid-template-columns: 1fr; }
    .rpt-root .keymetrics .head { padding: 24px 20px 16px; }
    .rpt-root .keymetrics .stat { padding: 36px 20px 40px; border-left: 0; }
    .rpt-root .keymetrics .stat:not(:first-child) { border-top: 1px solid rgba(255,255,255,0.10); }
    .rpt-root .keymetrics .stat .num { font-size: 64px; }

    .rpt-root .exec,
    .rpt-root .limits,
    .rpt-root .measure,
    .rpt-root .three,
    .rpt-root .truth,
    .rpt-root .case-spotlight,
    .rpt-root .closing { padding-left: 20px; padding-right: 20px; }
    .rpt-root .case-spotlight { padding-top: 56px; padding-bottom: 56px; }
    .rpt-root .case-spotlight .container + .container { margin-top: 56px; padding-top: 40px; }

    .rpt-root .cs-head .num { font-size: 64px; min-width: 0; }
    .rpt-root .cs-quote { padding: 24px 22px; }
    .rpt-root .cs-quote blockquote { font-size: 17px; }

    .rpt-root .three .scoring-visual { padding: 20px 16px; gap: 10px; }
    .rpt-root .three .scoring-grid .row { padding: 14px 18px; }

    .rpt-root .closing { padding-top: 64px; padding-bottom: 64px; }
    .rpt-root footer.doc { padding: 32px 20px; }
}
