@font-face{font-family:'Fraunces Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/fraunces-latin-full-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Fraunces Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/fraunces-latin-ext-full-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+A720-A7FF;}
@font-face{font-family:'Outfit Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/outfit-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Outfit Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/outfit-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+A720-A7FF;}
/* Design-Tokens – Farbwelt nach Referenzbild (Creme, Senf, Koralle, Aubergine). Nur Integrator ändert. */
:root {
  --bg: #fdf3d7;          /* Creme */
  --surface: #fff9ea;     /* helle Karte */
  --surface-2: #f8e8bf;   /* abgesetzte Fläche */
  --ink: #2a1722;         /* Aubergine-Schwarz, Text */
  --ink-soft: #5b4651;    /* Sekundärtext */
  --line: #e6d3a3;        /* Linien auf Creme */
  --mustard: #f2b632;
  --mustard-deep: #c98a12;
  --coral: #f2646a;
  --coral-deep: #d9434c;
  --berry: #9e1f45;
  --pink: #f7a8b0;
  --olive: #8f8b2c;
  --olive-soft: #c9c56a;
  --navy: #2f3c6e;

  --sev-kritisch: var(--berry);
  --sev-hoch: var(--coral-deep);
  --sev-mittel: var(--mustard-deep);
  --sev-niedrig: var(--olive);
  --sev-info: var(--navy);
  --verdict-rot: var(--coral-deep);
  --verdict-gelb: var(--mustard);
  --verdict-grün: var(--olive);

  --font-display: 'Fraunces Variable', 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Outfit Variable', 'Outfit', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --radius: 6px;
  --radius-lg: 14px;
  --shadow: 0 1px 0 rgba(42, 23, 34, 0.06), 0 8px 24px -12px rgba(42, 23, 34, 0.18);
  --gutter: clamp(16px, 4vw, 48px);
  --maxw: 1180px;
}

/* Hallmark · report · tone: editorial, sachlich · palette: theme tokens (Creme, Senf, Koralle, Aubergine) */
.dsr{
  --r-rule:1.5px solid var(--ink);
  --r-hair:1px solid var(--line);
  --r-space-1:4px;--r-space-2:8px;--r-space-3:12px;--r-space-4:16px;--r-space-5:24px;--r-space-6:32px;--r-space-7:48px;--r-space-8:72px;
  color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;font-weight:400;
  max-width:var(--maxw);margin:0 auto;padding:var(--r-space-6) var(--gutter) var(--r-space-8);
  -webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;overflow-wrap:break-word;hyphens:manual;
}

.dsr *,.dsr *::before,.dsr *::after{box-sizing:border-box}
.dsr :where(p,ul,ol,dl,dd,figure){margin:0}
.dsr :where(h1,h2,h3,h4){margin:0}
.dsr h1,.dsr h2,.dsr h3,.dsr h4{font-family:var(--font-display);font-style:normal;color:var(--ink);line-height:1.1;letter-spacing:-0.01em;font-optical-sizing:auto;overflow-wrap:anywhere;min-width:0}
.dsr a{color:inherit;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:3px}
.dsr a:hover{text-decoration-color:var(--ink)}
.dsr a:focus-visible,.dsr summary:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-radius:2px}
.dsr q{quotes:"„" "“"}
.dsr-mono{font-family:var(--font-mono);font-size:.84em;overflow-wrap:anywhere;word-break:normal}
.dsr-muted{color:var(--ink-soft)}

/* Kopf */
.dsr-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--r-space-4);padding-bottom:var(--r-space-4);border-bottom:var(--r-rule)}
.dsr-mark{font-family:var(--font-display);font-weight:800;font-size:1.3rem;letter-spacing:-0.01em}
.dsr-top-label{font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.dsr-head{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:var(--r-space-7);align-items:end;margin-top:var(--r-space-7)}
.dsr-for{font-size:1.05rem;color:var(--ink-soft);margin-bottom:var(--r-space-2)}
.dsr-title{container-type:inline-size;min-width:0}
/* Größe aus Domainlänge (--len, render.ts): kurze Domains groß und einzeilig, lange kleiner; Umbruch nur an <wbr>, nie vor der TLD */
.dsr h1{font-size:clamp(2.2rem,calc(100cqi / (var(--len,12) * .54)),5.6rem);font-weight:900;line-height:1;letter-spacing:-0.025em;overflow-wrap:normal;word-break:normal}
.dsr-meta{display:flex;flex-wrap:wrap;gap:var(--r-space-4) var(--r-space-6);margin-top:var(--r-space-5)}
.dsr-meta dt{font-size:.78rem;color:var(--ink-soft)}
.dsr-meta dd{font-weight:500}
.dsr-meta .wide{flex-basis:100%;min-width:0}
.dsr-actions{margin-top:var(--r-space-5)}
.dsr-btn{display:inline-block;background:var(--coral);color:var(--ink);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;padding:14px 28px;border-radius:var(--radius);text-decoration:none;white-space:nowrap}
.dsr-btn:hover{background:var(--coral-deep)}
.dsr-btn:active{transform:translateY(1px)}

.dsr-verdict{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--r-space-5);align-items:center;padding:var(--r-space-5) var(--r-space-6) var(--r-space-5) var(--r-space-5);border-radius:var(--radius-lg);background:var(--v-bg);color:var(--ink)}
.dsr-verdict.v-rot{--v-bg:var(--coral)}
.dsr-verdict.v-gelb{--v-bg:var(--mustard)}
.dsr-verdict.v-gruen{--v-bg:var(--olive-soft)}
.dsr-verdict.v-fatal{--v-bg:var(--surface-2)}
.dsr-lamp{display:grid;gap:7px;padding:9px 7px;background:var(--ink);border-radius:999px}
.dsr-lamp i{display:block;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--lc) 26%,var(--ink))}
.dsr-lamp i.on{background:var(--lc);box-shadow:0 0 0 2px var(--surface)}
.dsr-lamp .l-rot{--lc:var(--coral)}
.dsr-lamp .l-gelb{--lc:var(--mustard)}
.dsr-lamp .l-gruen{--lc:var(--olive-soft)}
.dsr-v-label{font-size:.85rem}
.dsr-v-head{overflow-wrap:anywhere;hyphens:auto;font-family:var(--font-display);font-weight:800;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.08;margin:var(--r-space-1) 0 var(--r-space-2)}
.dsr-v-why{font-size:.92rem}

.dsr-counts{list-style:none;padding:0;margin:var(--r-space-7) 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:var(--r-rule);border-bottom:var(--r-hair)}
.dsr-counts li{padding:var(--r-space-3) var(--r-space-4) var(--r-space-4);border-left:var(--r-hair);min-width:0}
.dsr-counts li:first-child{border-left:0;padding-left:0}
.dsr-counts b{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1}
.dsr-counts span{display:flex;align-items:center;gap:6px;font-size:.85rem}
.dsr-counts li.zero b{color:color-mix(in srgb,var(--ink) 45%,var(--bg))}
.dsr-counts li.zero span{color:var(--ink-soft)}
.dsr-dot{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--b);flex:none}

.dsr-nav{margin-top:var(--r-space-5)}
.dsr-nav ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--r-space-2) var(--r-space-5)}
.dsr-nav a{font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.dsr-nav a:hover{text-decoration:underline;text-decoration-color:var(--coral)}

/* Abschnitte */
.dsr-sec{margin-top:var(--r-space-8)}
.dsr h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:800;margin-bottom:var(--r-space-5)}
.dsr-h3,.dsr-prio h3{font-size:1.3rem;font-weight:700;margin:var(--r-space-6) 0 var(--r-space-3)}
.dsr-h3.first{margin-top:0}
.dsr-intro{max-width:70ch;color:var(--ink-soft);margin-bottom:var(--r-space-4)}
.dsr-note{padding:var(--r-space-3) var(--r-space-4);background:var(--surface-2);border-radius:var(--radius);max-width:70ch}
.dsr-note.warn{background:color-mix(in srgb,var(--coral) 22%,var(--surface));margin-top:var(--r-space-3)}
.dsr-fine{font-size:.85rem;color:var(--ink-soft);margin-top:var(--r-space-3);max-width:75ch}
.dsr-more{font-size:.85rem;color:var(--ink-soft);margin-top:var(--r-space-2)}

.dsr-fazit{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--r-space-7);align-items:start}
.dsr-lead p{font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.55;max-width:62ch}
.dsr-lead p+p{margin-top:var(--r-space-3)}
.dsr-prio{background:var(--ink);color:var(--bg);border-radius:var(--radius-lg);padding:var(--r-space-5) var(--r-space-6) var(--r-space-6)}
.dsr .dsr-prio h3{margin-top:0;color:var(--bg)}
.dsr-prio a{text-decoration-color:var(--mustard)}
.dsr-prio a:hover{text-decoration-color:var(--bg)}
.dsr-prio .dsr-more{color:color-mix(in srgb,var(--bg) 75%,var(--ink))}
.dsr-prio .sev-kritisch{--b:var(--pink);--bt:var(--ink)}
.dsr-prio ol{list-style:none;padding:0;display:grid;gap:var(--r-space-3)}
.dsr-prio li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--r-space-3);align-items:baseline;line-height:1.35}
.dsr-prio li a{text-decoration-thickness:1px;overflow-wrap:anywhere}
.dsr-prio li .dsr-badge{min-width:8.6em;text-align:center}
.dsr-prio.calm{background:var(--surface-2);color:var(--ink)}
.dsr .dsr-prio.calm h3{color:var(--ink)}

.dsr-shot{max-width:880px}
.dsr-shot img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;object-position:top;border:var(--r-rule);border-radius:var(--radius)}
.dsr-shot figcaption{font-size:.88rem;color:var(--ink-soft);margin-top:var(--r-space-2)}

/* Befunde */
.dsr-cat{margin-top:var(--r-space-7)}
.dsr-cat-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--r-space-4);align-items:center;padding-bottom:var(--r-space-3);border-bottom:var(--r-rule)}
.dsr .dsr-cat-head h3{font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:800;margin:0}
.dsr-cat-count{display:grid;place-items:center;min-width:3.2rem;height:3.2rem;padding:0 .5rem;border-radius:var(--radius);background:var(--b);color:var(--bt);font-family:var(--font-display);font-weight:800;font-size:1.7rem;line-height:1}
.dsr-cat-meta{font-size:.85rem;color:var(--ink-soft);margin-top:2px}
.dsr-f{background:var(--surface);border-radius:var(--radius);border-left:6px solid var(--b);padding:var(--r-space-5) var(--r-space-6);margin-top:var(--r-space-4)}
.dsr-f.sev-info{border-left-color:color-mix(in srgb,var(--navy) 55%,var(--surface))}
.dsr-f-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--r-space-4)}
.dsr .dsr-f h4{font-size:1.15rem;font-weight:700;line-height:1.25}
.dsr-f-sum{margin-top:var(--r-space-2);max-width:75ch}
.dsr-badge{display:inline-block;flex:none;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1;padding:6px 10px;border-radius:999px;background:var(--b);color:var(--bt);white-space:nowrap}
.sev-kritisch{--b:var(--berry);--bt:var(--surface)}
.sev-hoch{--b:var(--coral);--bt:var(--ink)}
.sev-mittel{--b:var(--mustard);--bt:var(--ink)}
.sev-niedrig{--b:var(--olive-soft);--bt:var(--ink)}
.sev-info{--b:var(--navy);--bt:var(--surface)}

.dsr-ev{margin-top:var(--r-space-4);border-top:var(--r-hair);padding-top:var(--r-space-3)}
.dsr-ev summary{cursor:pointer;font-weight:600;font-size:.92rem;list-style-position:inside;width:max-content;max-width:100%}
.dsr-ev-h{font-weight:600;font-size:.92rem}
.dsr-ev ol,.dsr-ev-list{list-style:none;padding:0;margin-top:var(--r-space-2);display:grid;gap:var(--r-space-2)}
.dsr-ev li,.dsr-ev-list li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:var(--r-space-3);font-size:.9rem;line-height:1.45}
.dsr-ev-kind{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding-top:3px;white-space:nowrap;overflow-wrap:normal}
.dsr-ev-label{display:block;font-weight:500}
.dsr-ev-v{display:block;color:var(--ink-soft)}
.dsr-ev-page{display:block;font-size:.8rem;color:var(--ink-soft);margin-top:1px}
.dsr-ev-page .dsr-mono{color:var(--ink)}
.dsr-appx{margin-top:var(--r-space-4)}
.dsr-appx-h{font-weight:600;display:flex;flex-wrap:wrap;gap:var(--r-space-2);align-items:baseline}

.dsr-f-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--r-space-5);margin-top:var(--r-space-4)}
.dsr-f-k{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--r-space-1)}
.dsr-f-legal ul{list-style:none;padding:0;display:grid;gap:2px;font-size:.92rem}
.dsr-f-rec{background:var(--surface-2);border-radius:var(--radius);padding:var(--r-space-3) var(--r-space-4)}
.dsr-f-rec p+p{font-size:.95rem}
.dsr-f-id{margin-top:var(--r-space-3);font-size:.75rem;color:var(--ink-soft)}

.dsr-empty{background:color-mix(in srgb,var(--olive-soft) 35%,var(--surface));border-radius:var(--radius-lg);padding:var(--r-space-5) var(--r-space-6);max-width:75ch}
.dsr-empty-h{font-family:var(--font-display);font-weight:800;font-size:1.6rem;margin-bottom:var(--r-space-2)}

/* Tabellen */
.dsr-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--surface);border:var(--r-hair);border-radius:var(--radius-lg)}
.dsr table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.4}
.dsr-tw table{min-width:640px}
.dsr th{text-align:left;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:var(--r-space-3);border-bottom:var(--r-rule);background:var(--surface-2);white-space:nowrap}
.dsr td{padding:var(--r-space-2) var(--r-space-3);border-bottom:var(--r-hair);vertical-align:top;overflow-wrap:break-word}
.dsr tbody tr:last-child td{border-bottom:0}
.dsr td.num{text-align:right;font-variant-numeric:tabular-nums}
.dsr tr.is-bad td{background:color-mix(in srgb,var(--coral) 12%,var(--surface))}
.dsr tr.is-warn td{background:color-mix(in srgb,var(--mustard) 14%,var(--surface))}
.dsr tr.is-bad td:first-child{box-shadow:inset 4px 0 0 var(--coral)}
.dsr tr.is-warn td:first-child{box-shadow:inset 4px 0 0 var(--mustard)}
.dsr-hosts td:first-child{min-width:12.5rem}
.dsr-host{overflow-wrap:anywhere}
.dsr-sub{display:block;font-size:.78rem;color:var(--ink-soft)}
/* Cookie-Wert unter dem Namen: kleiner als der Name (.dsr-mono .84em), nicht nur blasser */
.dsr .dsr-sub.dsr-mono{font-size:.76em}
.dsr-sub-inline{font-size:.85rem;color:var(--ink-soft)}
.dsr-tag{display:block;width:fit-content;margin-top:4px;font-size:.68rem;font-weight:600;letter-spacing:.04em;padding:2px 8px;border-radius:999px;white-space:nowrap}
.dsr-tag.bad{background:var(--coral);color:var(--ink)}
.dsr-tag.warn{background:var(--mustard);color:var(--ink)}
.dsr-tag.neutral{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-soft)}
.dsr-legend{display:grid;gap:var(--r-space-2);margin-top:var(--r-space-4);max-width:80ch}
.dsr-legend div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:var(--r-space-3);align-items:baseline;font-size:.88rem}
.dsr-legend .dsr-tag{margin-top:0}
.dsr-cookies td:last-child .dsr-tag{margin-top:0}

/* Checklisten, Schlüssel-Wert */
.dsr-kv{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);border-top:var(--r-hair);max-width:900px}
.dsr-kv dt,.dsr-kv dd{padding:var(--r-space-2) 0;border-bottom:var(--r-hair)}
.dsr-kv dt{color:var(--ink-soft);padding-right:var(--r-space-4)}
.dsr-kv dd{overflow-wrap:anywhere;min-width:0}
.dsr-pill{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap;vertical-align:1px}
.dsr-pill.ok{background:var(--olive-soft);color:var(--ink)}
.dsr-pill.no{background:var(--coral);color:var(--ink)}
.dsr-pill.na{background:var(--surface-2);color:var(--ink-soft)}
.dsr-check{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));column-gap:var(--r-space-6);max-width:960px}
.dsr-check li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--r-space-3);padding:var(--r-space-2) 0;border-bottom:var(--r-hair)}
.dsr-missing{margin-top:var(--r-space-3);max-width:75ch}
.dsr-urls{padding-left:1.1em;display:grid;gap:2px;font-size:.92rem}
.dsr-errors{padding-left:1.1em;display:grid;gap:var(--r-space-2);max-width:80ch}
.dsr-plain{padding-left:1.1em;display:grid;gap:var(--r-space-2);max-width:72ch}

.dsr-method{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--r-space-7)}
.dsr-sev{list-style:none;padding:0;display:grid;gap:var(--r-space-3)}
.dsr-sev li{display:grid;grid-template-columns:6.2rem minmax(0,1fr);gap:var(--r-space-3);align-items:baseline;font-size:.92rem;line-height:1.4}
.dsr-sev .dsr-badge{justify-self:start}
.dsr-disclaimer{margin-top:var(--r-space-6);padding-top:var(--r-space-4);border-top:var(--r-rule);font-size:.9rem;max-width:80ch}

.dsr-fatal{background:var(--surface);border:var(--r-hair);border-radius:var(--radius-lg);padding:var(--r-space-5) var(--r-space-6);max-width:860px}
.dsr-lead-p{font-size:1.25rem;line-height:1.5}
.dsr-fatal .dsr-h3{margin-top:var(--r-space-5)}

/* Mobil */
@media screen and (max-width:820px){
  .dsr-head,.dsr-fazit,.dsr-method{grid-template-columns:minmax(0,1fr);gap:var(--r-space-6)}
  .dsr-f-foot{grid-template-columns:minmax(0,1fr);gap:var(--r-space-3)}
  .dsr-sec{margin-top:var(--r-space-7)}
}
@media screen and (max-width:560px){
  .dsr{padding-top:var(--r-space-5)}
  .dsr-head{margin-top:var(--r-space-6)}
  .dsr-f{padding:var(--r-space-4)}
  .dsr-f-head{flex-direction:column-reverse;gap:var(--r-space-2)}
  .dsr-counts li{padding:var(--r-space-2) var(--r-space-2) var(--r-space-3)}
  .dsr-counts span{font-size:.72rem}
  .dsr-counts .dsr-dot{display:none}
  .dsr-kv{grid-template-columns:minmax(0,1fr)}
  .dsr-kv dt{border-bottom:0;padding-bottom:0;font-size:.85rem}
  .dsr-ev li{grid-template-columns:minmax(0,1fr);gap:0}
  .dsr-verdict{padding:var(--r-space-4);gap:var(--r-space-4)}
  .dsr-sev li{grid-template-columns:minmax(0,1fr);gap:var(--r-space-1)}
  .dsr .dsr-cat-head h3{font-size:1.5rem}
  .dsr-cat-count{min-width:2.6rem;height:2.6rem;font-size:1.35rem}
  .dsr-f{border-left-width:5px}
  .dsr-legend div{grid-template-columns:minmax(0,1fr);gap:2px}
  /* Tabellen als gestapelte Zeilen: erste Zelle als Titel, übrige als Label/Wert-Paare */
  .dsr-tw{overflow:visible;background:transparent;border:0;border-radius:0}
  .dsr-tw table.dsr-t{min-width:0;display:block}
  .dsr-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .dsr-t tbody{display:grid;gap:var(--r-space-3)}
  .dsr-t tr{display:block;background:var(--surface);border-radius:var(--radius);padding:var(--r-space-3) var(--r-space-4)}
  .dsr-t tr.is-bad{background:color-mix(in srgb,var(--coral) 12%,var(--surface));box-shadow:inset 4px 0 0 var(--coral)}
  .dsr-t tr.is-warn{background:color-mix(in srgb,var(--mustard) 14%,var(--surface));box-shadow:inset 4px 0 0 var(--mustard)}
  .dsr .dsr-t tr td,.dsr .dsr-t tr td:first-child{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:var(--r-space-3);padding:3px 0;border:0;background:transparent;box-shadow:none;min-width:0;text-align:left}
  .dsr .dsr-t td::before{content:attr(data-label);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding-top:3px}
  .dsr .dsr-t tr td:first-child{display:block;padding-bottom:var(--r-space-2);margin-bottom:var(--r-space-1);border-bottom:var(--r-hair);font-size:1rem}
  .dsr .dsr-t td:first-child::before{content:none}
  .dsr-t td:first-child .dsr-mono{font-size:.9rem;font-weight:600}
  .dsr-t td:first-child .dsr-sub{font-weight:400}
}

/* PDF-Quelle (A4, Ränder per page.pdf) */
.dsr--pdf{max-width:none;padding:0;font-size:10pt;line-height:1.5}
.dsr--pdf .dsr-head{margin-top:22px;gap:24px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.dsr--pdf h2{font-size:21pt;margin-bottom:12px}
.dsr--pdf .dsr-h3,.dsr--pdf .dsr-prio h3{font-size:13pt;margin:18px 0 8px}
.dsr--pdf h1{font-size:clamp(22pt,calc(100cqi / (var(--len,12) * .54)),40pt)}
.dsr--pdf .dsr-cat{margin-top:22px}
.dsr--pdf .dsr-cat-head h3{font-size:17pt}
.dsr--pdf .dsr-cat-count{min-width:30px;height:30px;font-size:14pt}
.dsr--pdf .dsr-f{border-left-width:5px}
.dsr--pdf .dsr-hosts td:first-child{min-width:0;width:26%}
.dsr--pdf .dsr-legend div{font-size:8.5pt}
.dsr--pdf .dsr-prio h3{margin-top:0}
.dsr--pdf .dsr-sec{margin-top:30px}
.dsr--pdf .dsr-counts{margin-top:24px}
.dsr--pdf .dsr-counts b{font-size:22pt}
.dsr--pdf .dsr-v-head{font-size:15pt}
.dsr--pdf .dsr-verdict{padding:16px 18px;gap:16px}
.dsr--pdf .dsr-fazit{gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.dsr--pdf .dsr-prio{padding:16px}
.dsr--pdf .dsr-prio li{gap:8px;font-size:9.5pt}
.dsr--pdf .dsr-lead p{font-size:11.5pt}
.dsr--pdf .dsr-f{padding:12px 16px;margin-top:10px}
.dsr--pdf .dsr-f-sum{margin-top:4px}
.dsr--pdf .dsr-ev{margin-top:8px;padding-top:6px}
.dsr--pdf .dsr-f-foot{margin-top:8px;gap:16px}
.dsr--pdf .dsr-f-rec{padding:8px 12px}
.dsr--pdf .dsr-f-id{margin-top:6px}
.dsr--pdf .dsr-f h4{font-size:11.5pt}
.dsr--pdf .dsr-ev li,.dsr--pdf .dsr-ev-list li{font-size:8.5pt;grid-template-columns:4.6rem minmax(0,1fr);gap:8px;line-height:1.35}
/* Block statt Grid: Chromium findet zwischen Grid-Zeilen keinen frühen Umbruchpunkt, dann wandert bei break-before:avoid am Kartenfuß die ganze Belegliste */
.dsr--pdf .dsr-ev ol,.dsr--pdf .dsr-ev-list{display:block;margin-top:4px}
.dsr--pdf .dsr-ev li+li,.dsr--pdf .dsr-ev-list li+li{margin-top:3px}
.dsr--pdf .dsr-ev-page{font-size:7.5pt}
.dsr--pdf .dsr-tw{overflow:visible;background:none;border:0;border-radius:0}
/* Rahmen und Fläche an den Zellen statt am Wrapper: bricht die Tabelle um, bleibt kein leerer Kasten bis zum Seitenende */
.dsr--pdf td{background:var(--surface)}
.dsr--pdf .dsr-t{border-bottom:var(--r-hair)}
.dsr--pdf .dsr-tw table{min-width:0}
.dsr--pdf table{font-size:8.5pt}
.dsr--pdf th{font-size:7pt;padding:6px 8px;white-space:normal}
.dsr--pdf td{padding:5px 8px}
.dsr--pdf .dsr-shot{max-width:none}
.dsr--pdf .dsr-shot img{max-height:none}
.dsr--pdf .dsr-method{gap:28px}
/* PDF-Typo: Nebentexte in pt statt rem (rem = 16 px wäre größer als der 10-pt-Fließtext). Rangfolge:
   Fließtext 10 pt > Rechtsgrundlagen, Listen 9 pt > Kleingedrucktes, Tabellen 8,5 pt > Unterzeilen 7,5 pt > Etiketten 7 pt */
.dsr--pdf .dsr-f-legal ul,.dsr--pdf .dsr-sev li,.dsr--pdf .dsr-urls,.dsr--pdf .dsr-v-why,.dsr--pdf .dsr-ev summary,.dsr--pdf .dsr-ev-h{font-size:9pt}
.dsr--pdf .dsr-f-rec p+p{font-size:inherit}
.dsr--pdf .dsr-fine,.dsr--pdf .dsr-more,.dsr--pdf .dsr-sub-inline,.dsr--pdf .dsr-cat-meta,.dsr--pdf .dsr-shot figcaption,.dsr--pdf .dsr-disclaimer,.dsr--pdf .dsr-counts span,.dsr--pdf .dsr-v-label{font-size:8.5pt}
.dsr--pdf .dsr-sub,.dsr--pdf .dsr-pill,.dsr--pdf .dsr-f-id,.dsr--pdf .dsr-meta dt,.dsr--pdf .dsr-top-label{font-size:7.5pt}
.dsr--pdf .dsr-sub.dsr-mono{font-size:6.5pt}
.dsr--pdf .dsr-ev-kind,.dsr--pdf .dsr-tag,.dsr--pdf .dsr-badge,.dsr--pdf .dsr-f-k{font-size:7pt}
.dsr--pdf .dsr-ev-kind{font-size:6.5pt;letter-spacing:.06em}
.dsr--pdf .dsr-mark{font-size:13pt}
.dsr--pdf .dsr-for{font-size:10pt}
.dsr--pdf .dsr-empty-h{font-size:15pt}
.dsr--pdf .dsr-lead-p{font-size:12.5pt}
.dsr--pdf .dsr-legend div{grid-template-columns:6.4rem minmax(0,1fr)}
.dsr--pdf .dsr-sev li{grid-template-columns:5.6rem minmax(0,1fr)}

@media print{
  .dsr *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .dsr-nav,.dsr-actions{display:none}
  /* Karten bleiben ganz; lange (pdf.ts misst die Höhe, ohne Messung: über 6 Belege) dürfen umbrechen, aber nie zwischen Kopf und Zusammenfassung oder innerhalb eines Belegs */
  .dsr-f,.dsr-verdict,.dsr-prio,.dsr-shot,.dsr-empty,.dsr-fatal,.dsr tr,.dsr-check li,.dsr-ev li,.dsr-ev-list li,.dsr-kv dt,.dsr-kv dd,.dsr-sev li,.dsr-f-top,.dsr-f-foot,.dsr-legend div,.dsr-plain li,.dsr-errors li,.dsr-urls li,.dsr-method,.dsr-disclaimer,.dsr-keep,.dsr-kv{break-inside:avoid}
  .dsr-f.dsr-f--long{break-inside:auto}
  .dsr-sec>h2+.dsr-intro{break-after:avoid;break-inside:avoid}
  /* Kein Zwangsumbruch nach dem Kurzfazit: Screenshot und Befunde schließen direkt an (sonst halbleere Seiten) */
  /* Fuß einer umbrechenden Karte (Rechtsgrundlage, Empfehlung) nie allein auf der Folgeseite: mit dem letzten Beleg verketten */
  .dsr-f-foot{break-before:avoid}
  .dsr h2,.dsr h3,.dsr h4,.dsr-f-head,.dsr-cat-head,.dsr-ev-h,.dsr-appx-h{break-after:avoid}
  .dsr thead{display:table-header-group}
  .dsr-tw{overflow:visible}
  .dsr-tw table{min-width:0}
  .dsr:not(.dsr--pdf) details>ol{display:grid}
  .dsr a{text-decoration-thickness:1px}
}


/* Hallmark · macrostructure: Marquee Hero (Werkzeug) · tone: editorial, warm · anchor hue: Koralle auf Creme · theme: Projekt-Tokens (src/theme/tokens.css)
 * nav: N9 edge-aligned · footer: Ft1 quiet line · enrichment: Tier B hand-built SVG (Lupe, Blätter) */
:root{--w-ease:cubic-bezier(.2,.7,.2,1)}
html,body{margin:0;background:var(--bg);color:var(--ink);overflow-x:clip}
body.w{font-family:var(--font-body);font-size:1rem;line-height:1.6;font-weight:400;min-height:100vh;display:flex;flex-direction:column;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
.w *,.w *::before,.w *::after{box-sizing:border-box}
.w main{flex:1 0 auto}
.w-wrap{box-sizing:content-box!important;width:calc(100% - 2 * var(--gutter));max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.w a{color:inherit}
.w :focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:2px}
.w-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Kopf */
.w-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 0 22px}
.w-bar--rule{border-bottom:1.5px solid var(--ink)}
.w-mark{font-family:var(--font-display);font-weight:800;font-size:1.35rem;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.w-nav{display:flex;gap:clamp(18px,3.4vw,44px);margin:0;padding:0;list-style:none}
.w-nav a{display:inline-block;font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}
.w-nav a:hover{border-bottom-color:var(--coral)}

/* Typo */
.w-h1{font-family:var(--font-display);font-style:normal;font-weight:900;font-size:clamp(3.1rem,7.4vw,6.6rem);line-height:.94;letter-spacing:-.018em;margin:0;overflow-wrap:anywhere;min-width:0}
.w-h1--dom{font-size:clamp(2.3rem,5.4vw,4.6rem);line-height:1;letter-spacing:-.025em;overflow-wrap:normal}
.w-h1--m{font-size:clamp(2.5rem,5.6vw,4.8rem);line-height:1}
.w-h2{font-family:var(--font-display);font-style:normal;font-weight:800;font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.02em;margin:0}
.w-for{font-size:1.05rem;color:var(--ink-soft);margin:0 0 10px}
.w-lede{font-size:clamp(1.08rem,1.4vw,1.2rem);line-height:1.65;max-width:34em;margin:28px 0 0}
.w-lede strong{font-weight:600}

/* Knöpfe */
.w-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 32px;border:1.5px solid transparent;border-radius:var(--radius);font:600 .88rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;color:var(--ink);background:none;transition:background-color .15s var(--w-ease),transform .1s var(--w-ease)}
.w-btn:active{transform:translateY(1px)}
.w-btn:disabled{opacity:.65;cursor:progress;transform:none}
.w-btn--primary{background:var(--coral)}
.w-btn--primary:hover:not(:disabled){background:var(--coral-deep)}
.w-btn--outline{border-color:var(--ink)}
.w-btn--outline:hover{background:var(--surface)}
.w-btn--sm{min-height:40px;padding:0 16px;font-size:.72rem;letter-spacing:.1em}
.w-tri{width:0;height:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}

/* Startseite */
.w-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,3vw,48px);align-items:start;padding:clamp(28px,5vw,64px) 0 clamp(48px,7vw,104px)}
.w-hero .w-art{margin:clamp(-56px,-3vw,0px) min(calc(-1 * var(--gutter)),calc((var(--maxw) - 100vw) / 2 + 16px)) 0 -16px;align-self:stretch;display:flex;align-items:flex-start}
.w-hero .w-art svg{max-width:720px}
.w-form{margin-top:40px;max-width:640px}
.w-label{display:block;font-weight:600;margin-bottom:10px}
.w-field{display:flex;gap:12px}
.w-input{flex:1 1 auto;min-width:0;height:64px;padding:0 20px;font:500 1.22rem var(--font-body);color:var(--ink);background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--radius);-webkit-appearance:none;appearance:none}
.w-input::placeholder{color:var(--ink-soft);opacity:.75}
.w-input:focus-visible{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px color-mix(in srgb,var(--navy) 22%,transparent)}
.w-input[aria-invalid="true"]{border-color:var(--berry)}
.w-input[aria-invalid="true"]:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--berry) 20%,transparent)}
.w-field .w-btn{height:64px;min-width:176px}
.w-hint{font-size:.9rem;color:var(--ink-soft);margin:12px 0 0}
.w-check{display:flex;align-items:center;gap:10px;margin:14px 0 0;cursor:pointer}
.w-check input{width:18px;height:18px;margin:0;accent-color:var(--ink)}
.w-err{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;padding:12px 16px;border-radius:var(--radius);background:var(--surface);border-left:4px solid var(--berry);color:var(--ink);font-weight:500}
.w-err[hidden]{display:none}
.w-err::before{content:"!";flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--berry);color:var(--surface);font-weight:700;font-size:.8rem;line-height:1}
.w-alt{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px}
.w-alt p{margin:0;font-size:.9rem;color:var(--ink-soft);max-width:22em}
.w-art{min-width:0}
.w-art svg{display:block;width:100%;height:auto;max-width:640px;margin-left:auto}

/* Prüfumfang: Überschrift links, nummerierte Liste rechts */
.w-scope{padding:clamp(40px,6vw,88px) 0;border-top:1.5px solid var(--ink);display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:32px clamp(32px,6vw,96px)}
.w-scope-head p{margin:20px 0 0;max-width:24em;color:var(--ink-soft)}
.w-areas{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.w-areas li{display:grid;grid-template-columns:4.2rem minmax(0,13rem) minmax(0,1fr);gap:4px 24px;align-items:baseline;padding:22px 0;border-top:1px solid var(--line)}
.w-areas li:first-child{border-top:0;padding-top:6px}
.w-num{font-family:var(--font-display);font-weight:900;font-size:2rem;line-height:1;letter-spacing:-.02em;color:var(--c)}
.w-num.c1{--c:var(--coral-deep)}.w-num.c2{--c:var(--mustard-deep)}.w-num.c3{--c:var(--olive)}.w-num.c4{--c:var(--navy)}.w-num.c5{--c:var(--berry)}
.w-areas h3{font-family:var(--font-display);font-weight:700;font-size:1.3rem;line-height:1.2;letter-spacing:-.01em;margin:0}
.w-areas p{margin:0;font-size:.97rem;color:var(--ink-soft)}

/* Verlauf */
.w-hist-sec{padding:clamp(32px,5vw,64px) 0 clamp(56px,8vw,112px)}
.w-hist-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px}
.w-hist-head span{color:var(--ink-soft);font-size:.92rem;white-space:nowrap}
.w-hist{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.w-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr) minmax(0,1.3fr) auto;gap:10px 28px;align-items:center;padding:20px 0;border-top:1px solid var(--line);transition:opacity .2s var(--w-ease)}
.w-row:first-child{border-top:1.5px solid var(--ink)}
.w-dom{font-family:var(--font-display);font-weight:800;font-size:1.45rem;line-height:1.15;letter-spacing:-.01em;text-decoration:none;overflow-wrap:anywhere}
a.w-dom:hover{text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:4px}
.w-date{display:block;font-size:.85rem;color:var(--ink-soft);margin-top:4px}
.w-state{display:flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap}
.w-amp{display:inline-flex;gap:4px;padding:5px 6px;background:var(--ink);border-radius:999px}
.w-amp i{display:block;width:12px;height:12px;border-radius:50%;background:color-mix(in srgb,var(--lc) 26%,var(--ink))}
.w-amp i.on{background:var(--lc)}
.w-amp .l1{--lc:var(--coral)}.w-amp .l2{--lc:var(--mustard)}.w-amp .l3{--lc:var(--olive)}
.w-cnt{font-size:.92rem;color:var(--ink-soft)}
.w-cnt b{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--ink);margin-right:4px}
.w-pulse{width:12px;height:12px;border-radius:50%;background:var(--coral);animation:w-pulse 1.1s var(--w-ease) infinite alternate}
.w-bad{width:12px;height:12px;border-radius:2px;background:var(--berry);transform:rotate(45deg)}
.w-row-act{display:flex;gap:8px;justify-content:flex-end}
.w-row-act form{margin:0}
.w-undo{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;color:var(--ink-soft)}
.w-empty{padding:28px 0;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line)}
.w-empty p{margin:0;color:var(--ink-soft);max-width:34em}

/* Laufansicht */
.w-run{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,5vw,80px);align-items:center;padding:clamp(28px,5vw,64px) 0 clamp(56px,8vw,112px)}
.w-steps{list-style:none;margin:36px 0 0;padding:0}
.w-steps li{position:relative;display:flex;align-items:center;gap:16px;min-height:50px;font-size:1.1rem;color:var(--ink-soft)}
.w-steps li::before{content:"";flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);background:var(--bg) center/100% no-repeat}
.w-steps li:not(:last-child)::after{content:"";position:absolute;left:12px;top:calc(50% + 15px);height:calc(100% - 30px);width:2px;background:var(--line)}
.w-steps li.is-done{color:var(--ink)}
.w-steps li.is-done::before{background-color:var(--olive);border-color:var(--olive);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M7 13.5l4 4 8-9' fill='none' stroke='%23fff9ea' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.w-steps li.is-done::after{background:var(--olive)}
.w-steps li.is-now{color:var(--ink);font-weight:600}
.w-steps li.is-now::before{background:var(--coral);border-color:var(--coral);animation:w-pulse 1.1s var(--w-ease) infinite alternate}
.w-now{margin:24px 0 0;padding:14px 18px;background:var(--surface);border-radius:var(--radius);font-size:.95rem;min-height:3.2em;max-width:36em;overflow-wrap:anywhere}
.w-now b{font-weight:600}
.w-note{margin:16px 0 0;font-size:.9rem;color:var(--ink-soft);max-width:36em}
@keyframes w-pulse{from{transform:scale(1)}to{transform:scale(.78)}}

/* Meldungen (Fehler, 404) */
.w-msg{padding:clamp(40px,7vw,104px) 0 clamp(56px,8vw,120px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,5vw,80px);align-items:center}
.w-msg .w-lede{font-size:1.15rem}
.w-msg .w-detail{margin:20px 0 0;padding:14px 18px;background:var(--surface);border-left:4px solid var(--berry);border-radius:var(--radius);max-width:36em;overflow-wrap:anywhere}
.w-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}

/* Report in der Shell: eigener Kopf ersetzt die Report-Kopfzeile */
.w-inline{display:inline;margin:0}
.w-report .dsr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.w-report .dsr-actions .w-btn{min-height:48px;padding:0 28px;font-size:.85rem;letter-spacing:.06em}
.w-report .dsr-actions .w-inline+.dsr-btn{background:none;box-shadow:inset 0 0 0 1.5px var(--ink);text-decoration:none}
.w-report .dsr-actions .w-inline+.dsr-btn:hover{background:var(--surface)}
.w-report .dsr-top{display:none}
.w-report .dsr{box-sizing:content-box;padding-top:4px}

/* Fuß */
.w-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:28px 0 36px;border-top:1px solid var(--line);font-size:.85rem;color:var(--ink-soft)}
.w-foot p{margin:0}

/* Illustration */
.i-mustard{fill:var(--mustard)}.i-coral{fill:var(--coral)}.i-deep{fill:var(--coral-deep)}.i-berry{fill:var(--berry)}.i-pink{fill:var(--pink)}
.i-olive{fill:var(--olive)}.i-olsoft{fill:var(--olive-soft)}.i-navy{fill:var(--navy)}.i-ink{fill:var(--ink)}.i-surface{fill:var(--surface)}.i-s2{fill:var(--surface-2)}.i-mdeep{fill:var(--mustard-deep)}
.i-rib{fill:none;stroke:var(--bg);stroke-width:3;stroke-linecap:round;opacity:.75}
.i-sprig{fill:none;stroke:var(--olive);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.i-ring{fill:var(--surface-2);stroke:var(--ink);stroke-width:18}
.i-glint{fill:none;stroke:var(--surface);stroke-width:8;stroke-linecap:round}
.i-line{fill:var(--ink-soft);opacity:.5}
.i-card{fill:var(--surface);stroke:var(--ink);stroke-width:5}
.i-stroke{fill:none;stroke:var(--ink);stroke-width:4}
.i-ltl{fill:var(--surface);opacity:.55}
.i-brush{fill:none;stroke:var(--mustard-deep);stroke-width:5;stroke-linecap:round;opacity:.35}

/* Credits */
.w-credits{padding:clamp(40px,7vw,104px) 0 clamp(56px,8vw,120px);max-width:960px}
.w-credits .w-detail{margin:24px 0 0;padding:14px 18px;background:var(--surface);border-left:4px solid var(--mustard-deep);border-radius:var(--radius);max-width:40em}
.w-packs{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.w-pack form{height:100%;display:flex;flex-direction:column;gap:6px;padding:24px;border:1.5px solid var(--ink);border-radius:var(--radius)}
.w-pack .w-btn{margin-top:auto}
.w-pack .w-hint{margin:0 0 20px}
.w-pack-n{font:600 .8rem/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin:0}
.w-form .w-pack-n{margin-bottom:8px}
.w-price{font-family:var(--font-display);font-weight:900;font-size:clamp(2.4rem,4vw,3.2rem);line-height:1;margin:8px 0 0}
.w-key{margin:10px 0 0;padding:16px 18px;background:var(--surface);border-radius:var(--radius);font-size:1.1rem;overflow-wrap:anywhere}
.w-key-h{margin-top:40px!important}

/* Impressum, Datenschutz */
.w-legal h2{font:600 .8rem/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin:40px 0 10px}
.w-legal p:not(.w-lede),.w-legal ul{max-width:40em;line-height:1.65;margin:0 0 12px}
.w-legal li{margin:0 0 6px}

@media (max-width:1000px){
  .w-scope{grid-template-columns:minmax(0,1fr)}
  .w-scope-head p{max-width:36em}
  .w-areas li:first-child{border-top:1.5px solid var(--ink);padding-top:22px}
}
@media (max-width:820px){
  .w-hero,.w-run,.w-msg{grid-template-columns:minmax(0,1fr)}
  .w-art svg{max-width:420px;margin:0 auto}
  .w-hero .w-art{margin:0;display:block}
  .w-run .w-art,.w-msg .w-art{display:none}
  .w-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}
  .w-row>div:first-child{grid-column:1;grid-row:1}
  .w-row-act{grid-column:2;grid-row:1;align-self:start}
  .w-state{grid-column:1/-1}
  .w-cnt{grid-column:1/-1}
  .w-areas li{grid-template-columns:3rem minmax(0,1fr);gap:6px 12px;padding:18px 0}
  .w-num{font-size:1.6rem}
  .w-areas p{grid-column:2}
}
@media (max-width:560px){
  .w-bar{padding:20px 0 16px}
  .w-nav .w-nav-opt{display:none}
  .w-field{flex-direction:column}
  .w-field .w-btn{width:100%}
  .w-alt .w-btn{width:100%}
  .w-actions .w-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .w *,.w *::before,.w *::after{animation:none!important;transition-duration:.01ms!important}
}
