/* Projekt Finder Handwerk v2 (PFHW12) — Held A „Bauatelier“, Karte B „Revier“, Prüfbericht C.
   Farben: ein System fuer Website und Portal (design/FARBSYSTEM.md). Orange nur fuer die Haupthandlung. */
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --pf-primaer:#1B5468;--pf-primaer-dunkel:#123B4A;--pf-primaer-hell:#DCE9EC;--pf-primaer-auf-dunkel:#8FC3D0;
  --pf-akzent:#B8461A;--pf-akzent-dunkel:#9A3812;--pf-akzent-hell:#F7E3D8;--pf-akzent-auf-dunkel:#EE8A5E;
  --pf-cloud:#F0EEE9;--pf-papier:#FFFFFF;--pf-putz:#E5E6E1;--pf-tinte:#15232B;--pf-grau:#55636B;--pf-linie:#C8CCCA;--pf-rahmen:#7A868C;
  --pf-ok:#1D7348;--pf-ok-hell:#E2F0E7;--pf-warnung:#F3D36B;--pf-warnung-hell:#FBF1CC;--pf-fehler:#A3262F;--pf-fokus:#123B4A;
  --serif:"Source Serif 4",Georgia,serif;--sans:Inter,system-ui,sans-serif;--rand:clamp(20px,5vw,72px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--pf-cloud);color:var(--pf-tinte);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:var(--pf-primaer)}
:focus-visible{outline:3px solid var(--pf-fokus);outline-offset:3px}
h1,h2,h3,h4,p{margin:0}
h2{hyphens:manual;overflow-wrap:break-word;font:600 clamp(30px,3.6vw,50px)/1.1 var(--serif);letter-spacing:-.015em;max-width:20ch;color:var(--pf-tinte)}
h3{font:600 19px/1.3 var(--sans)}
.sprung{position:absolute;left:-9999px}
.sprung:focus{left:12px;top:12px;z-index:50;background:var(--pf-papier);padding:12px 16px}
.unsichtbar{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.vorschauband{padding:8px var(--rand);background:var(--pf-tinte);color:#E6ECEE;font-size:14px}
.vorschauband a{color:#fff}

.kopf{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:32px;padding:12px var(--rand);background:rgba(240,238,233,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--pf-linie)}
.marke{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--pf-tinte)}
.marke img.marke-logo{display:block;height:40px;width:auto;max-width:none}
.kopf nav{display:flex;gap:26px;margin-left:auto}
.kopf nav a{font-size:15px;text-decoration:none;color:var(--pf-grau)}
.kopf nav a:hover{color:var(--pf-tinte)}

.knopf{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;background:var(--pf-akzent);color:#fff;font:600 17px/1.2 var(--sans);text-decoration:none;border:0;border-radius:4px;cursor:pointer;text-align:center}
.knopf:hover{background:var(--pf-akzent-dunkel)}
.knopf-klein{min-height:42px;padding:0 18px;font-size:15px;white-space:nowrap}
.knopf-klein .lang{margin-right:.28em}
.knopf-leise{background:transparent;color:var(--pf-primaer);box-shadow:inset 0 0 0 2px var(--pf-primaer)}
.knopf-leise:hover{background:var(--pf-primaer-hell)}

/* 1 Held A */
.held{position:relative;min-height:min(88vh,860px);display:grid;grid-template-columns:minmax(0,1fr)}
.held-bild,.held-bild img{grid-area:1/1;width:100%;height:100%}
.held-bild img{object-fit:cover;object-position:center 60%}
.held::before{content:"";grid-area:1/1;z-index:1;background:linear-gradient(100deg,rgba(240,238,233,.94) 0%,rgba(240,238,233,.8) 30%,rgba(240,238,233,0) 56%)}
.held-text{grid-area:1/1;z-index:2;align-self:start;padding:clamp(48px,9vh,104px) var(--rand) 0;max-width:900px}
.held h1{font:600 clamp(44px,4.7vw,72px)/1.04 var(--serif);letter-spacing:-.02em}
.held-lead{margin-top:22px;max-width:29em;font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:#22323A}

/* 2 Revier B */
.revier{padding:112px var(--rand);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px 64px;align-items:start;background:var(--pf-papier);border-top:1px solid var(--pf-linie);border-bottom:1px solid var(--pf-linie)}
.revier-lead{margin-top:18px;max-width:30em;color:#2B3A42}
.wahl{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.feld label{display:block;margin-bottom:6px;font-size:15px;font-weight:500}
.feld label span{font-weight:400;color:var(--pf-grau)}
select,input:not([type=radio]){width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--pf-rahmen);border-radius:4px;background:var(--pf-papier);color:var(--pf-tinte);font:400 16px/1.3 var(--sans)}
select{appearance:none;padding-right:40px;background:var(--pf-papier) url(pfeil.svg) no-repeat right 12px center/16px}
.auslese{margin:24px 0 26px;padding:18px 0;border-top:1px solid var(--pf-linie);border-bottom:1px solid var(--pf-linie);display:grid;gap:10px}
.auslese-zeile{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start}
.farbfeld{width:18px;height:18px;margin-top:4px;border-radius:2px}
.farbfeld-schutz{background:var(--pf-primaer)}
.farbfeld-liefer{background:var(--pf-primaer-hell);box-shadow:inset 0 0 0 2px var(--pf-primaer)}
.auslese-klein{font-size:15px;color:var(--pf-grau)}
.karte{margin:0;position:sticky;top:90px}
.karte-svg{width:100%;height:auto;display:block;overflow:visible}
.karte [hidden]{display:none}
.umriss path{fill:none;stroke:var(--pf-primaer);stroke-width:7;stroke-linejoin:round}
.bezirk{fill:var(--pf-primaer-hell);stroke:var(--pf-papier);stroke-width:2;cursor:pointer;transition:fill .25s}
.bezirk:hover{fill:#B9D3DA}
.bezirk:focus{outline:none}
.bezirk:focus-visible{outline:none;stroke:var(--pf-akzent);stroke-width:5}
.bezirk.ist-gewaehlt{fill:var(--pf-primaer)}
.wien-flaeche{fill:var(--pf-putz);stroke:var(--pf-rahmen);stroke-width:1.5;pointer-events:none}
.nummern text{font:600 19px var(--sans);fill:var(--pf-tinte);text-anchor:middle;pointer-events:none}
.nummern text.ist-gewaehlt{fill:#fff}
.projekte circle{fill:var(--pf-tinte);stroke:var(--pf-papier);stroke-width:2.5;pointer-events:none}
.karte.ohne-projekte .projekte,.karte.ohne-projekte .legende{display:none}
.ohne-hinweis{display:none}
.karte.ohne-projekte .ohne-hinweis{display:block;flex-basis:100%;color:var(--pf-tinte)}
.karte figcaption{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;font-size:14px;color:var(--pf-grau)}
.legende{display:flex;align-items:center;gap:8px}
.punkt{width:12px;height:12px;border-radius:50%;background:var(--pf-tinte)}

/* 2b Problem */
.problem{padding:112px var(--rand);background:var(--pf-tinte);color:#DCE4E7}
.problem h2{color:#fff;max-width:18ch}
.schmerz{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.14);max-width:1280px}
.schmerz li{padding:28px 26px 30px;background:var(--pf-tinte)}
.schmerz-zahl{font:600 clamp(44px,4.6vw,68px)/1 var(--serif);letter-spacing:-.02em;color:#fff;white-space:nowrap}
.schmerz-zahl span{font:600 .36em/1 var(--sans);letter-spacing:0;color:var(--pf-primaer-auf-dunkel)}
.problem-verlust{margin-top:48px;max-width:40em;padding-left:18px;border-left:4px solid var(--pf-akzent);font:400 20px/1.5 var(--serif);color:#DCE4E7}
.problem-verlust strong{color:#fff;font-weight:600}

/* 3 Stolpersteine */
.stolpersteine{padding:112px var(--rand)}
.bericht{margin-top:72px;max-width:1180px}
.bericht-kopf p{margin-top:6px;color:var(--pf-grau)}
.bericht-flaeche{margin-top:22px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);background:var(--pf-papier);border:1px solid var(--pf-linie)}
.themen{display:flex;flex-direction:column;border-right:1px solid var(--pf-linie)}
.themen [role="tab"]{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:0 6px;min-height:46px;padding:8px 16px;border:0;border-bottom:1px solid var(--pf-linie);background:transparent;color:var(--pf-tinte);font:500 15px/1.3 var(--sans);text-align:left;cursor:pointer}
.themen [role="tab"]:last-child{border-bottom:0}
.themen [role="tab"]:hover{background:var(--pf-cloud)}
.themen [role="tab"][aria-selected="true"]{background:var(--pf-primaer-hell);box-shadow:inset 4px 0 0 var(--pf-primaer)}
.themen .nr{font:600 13px var(--sans);color:var(--pf-grau)}
.hat-muster{grid-column:2;font-size:12px;font-weight:400;color:var(--pf-primaer)}
.themen-inhalt{padding:30px 34px}
.thema h3{font:600 26px/1.2 var(--serif)}
.fund{margin-top:18px;padding:18px 20px;background:var(--pf-cloud);border-left:3px solid var(--pf-primaer)}
.fund-leer{border-left-color:var(--pf-linie);color:var(--pf-grau)}
.fund-kopf{font-size:13px;color:var(--pf-grau);margin-bottom:6px}
.fund-text{font:400 17px/1.65 var(--serif)}
.fund-muster{margin-top:8px;font-size:13px;color:var(--pf-grau)}
.auswertung{margin:20px 0 0;display:grid;gap:14px}
.auswertung dt{font-weight:600}
.auswertung dd{margin:4px 0 0;color:#2B3A42}
.grenze{margin-top:22px;max-width:1180px;font-size:15px;color:var(--pf-grau)}

/* 4 Im Portal */
.status{display:inline-block;padding:3px 9px;border-radius:3px;font:600 13px/1.4 var(--sans)}
.status-bald{background:var(--pf-cloud);color:var(--pf-grau);box-shadow:inset 0 0 0 1px var(--pf-linie)}
.zeile{margin:14px 14px 0;padding:16px 18px;background:var(--pf-papier);border:1px solid var(--pf-linie);border-radius:5px}



/* 6b Vergleich (PFHW12b) */
.vergleich{padding:112px var(--rand);border-top:1px solid var(--pf-linie)}
.vergleich-legende{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--pf-grau)}
.vergleich-legende span{display:inline-flex;align-items:center;gap:6px}
.zeichen{display:inline-grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%;font:700 13px/1 var(--sans);font-style:normal}
.zeichen-ja{background:var(--pf-ok);color:#fff}
.zeichen-teil{background:var(--pf-putz);color:var(--pf-tinte);box-shadow:inset 0 0 0 1px var(--pf-rahmen)}
.zeichen-nein{background:transparent;color:var(--pf-fehler);box-shadow:inset 0 0 0 1.5px var(--pf-fehler)}
.vergleich-legende .nur-handy{display:none;color:var(--pf-tinte)}
.nur-handy{display:none}
.vergleich-tabelle{margin-top:20px;width:100%;max-width:1180px;border-collapse:collapse;table-layout:fixed}
.vergleich-tabelle th,.vergleich-tabelle td{padding:18px 16px;border-bottom:1px solid var(--pf-linie);text-align:left;vertical-align:top}
.vergleich-tabelle thead th{padding-top:12px;padding-bottom:12px;font:600 12px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--pf-grau);border-bottom:2px solid var(--pf-tinte)}
.vergleich-tabelle thead th:first-child{width:34%}
.vergleich-tabelle thead th.wir{color:var(--pf-primaer)}
.vergleich-tabelle tbody th{font:600 18px/1.35 var(--sans);color:var(--pf-tinte)}
.zeile-knopf{appearance:none;display:block;width:100%;margin:0;padding:0;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:default}
.zeile-knopf:disabled{color:inherit}
.vergleich-tabelle .erklaerung,.vergleich-tabelle .kurz{display:none}
.zeichen svg{width:14px;height:14px;display:block}
.vergleich-tabelle td{font-size:16px;line-height:1.45;color:#2B3A42}
.vergleich-tabelle td .zeichen{float:left;margin:0 10px 0 0}
.vergleich-tabelle td .wort{display:block;overflow:hidden}
.vergleich-tabelle .wir{background:var(--pf-papier)}
.vergleich-tabelle td.wir{color:var(--pf-tinte);font-weight:500;box-shadow:inset 3px 0 0 var(--pf-primaer)}
.vergleich-stark th{font:600 22px/1.3 var(--serif) !important}
.vergleich-stark td.wir{background:var(--pf-primaer-hell)}
.vergleich-fuss{margin-top:14px;max-width:52em;font-size:14px;color:var(--pf-grau)}

/* 7 Preise */
.preise{padding:112px var(--rand);background:var(--pf-papier);border-top:1px solid var(--pf-linie)}
.preise-lead{margin-top:14px;color:var(--pf-grau)}
.tafel{margin-top:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1080px;border:1px solid var(--pf-linie)}
.paket{position:relative;padding:36px 30px 30px;display:grid;align-content:start;gap:6px}
.paket+.paket{border-left:1px solid var(--pf-linie)}
.paket h3{font:600 20px/1.2 var(--sans)}
.betrag{margin-top:18px;font:600 18px/1 var(--sans)}
.zahl{font:600 62px/1 var(--serif);letter-spacing:-.02em}
.einheit{color:var(--pf-grau);font-size:15px;min-height:3em}
.paket .knopf{margin-top:18px}
.paket-empfohlen{outline:3px solid var(--pf-primaer);outline-offset:-3px;background:#F5F9FA}
.markierung{position:absolute;top:0;left:30px;transform:translateY(-50%);padding:4px 10px;background:var(--pf-primaer);color:#fff;font-size:13px;font-weight:600}
.preise-fuss{margin-top:18px;font-size:14px;color:var(--pf-grau)}

/* 7b Rechner */
.rechner-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-content:start;padding:28px;background:var(--pf-papier);border:1px solid var(--pf-linie);border-radius:6px}
.rechner-ergebnis{grid-column:1/-1;margin-top:8px;padding-top:18px;border-top:1px solid var(--pf-linie)}
.rechner-ergebnis p:first-child{font:400 22px/1.4 var(--serif)}
.rechner-ergebnis strong{font-weight:600;color:var(--pf-primaer)}
.rechner-klein{margin-top:6px;color:#2B3A42}
.rechner-formel{margin-top:12px;font-size:14px;color:var(--pf-grau)}

/* 8 Anmeldung */
.anmeldung{padding:112px var(--rand);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:32px 64px;background:var(--pf-primaer-dunkel);color:#E4EEF1}
.anmeldung h2{color:#fff}
.anmeldung-text p:not(.kapitel){margin-top:16px;max-width:28em}
.formular{background:var(--pf-papier);color:var(--pf-tinte);padding:32px;border-radius:6px}
.schritte{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.schritt-kopf{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-weight:600}
.schritt-kopf span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--pf-primaer);color:#fff;font-size:13px}
.felder{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.laufzeit{margin:18px 0 0;padding:14px 16px;border:1px solid var(--pf-linie);border-radius:4px;display:grid;gap:4px}
.laufzeit legend{padding:0 6px;font-weight:600;font-size:15px}
.laufzeit label{display:flex;align-items:center;gap:10px;min-height:40px;font-size:16px;cursor:pointer}
.laufzeit input{width:20px;height:20px;accent-color:var(--pf-primaer)}
.formular>.knopf{margin-top:26px;width:100%}
.formular-hinweis{margin-top:10px;font-size:14px;color:var(--pf-grau);text-align:center}
input:invalid.gezeigt{border-color:var(--pf-fehler);box-shadow:0 0 0 1px var(--pf-fehler)}
.ergebnis{margin-top:22px;padding:20px;background:var(--pf-primaer-hell);border-radius:4px}
.ergebnis p{margin-top:8px}


.fuss{padding:44px var(--rand) 56px;display:grid;gap:12px;font-size:14px;color:var(--pf-grau);border-top:1px solid var(--pf-linie)}
.fuss .marke img.marke-logo{height:36px}
.fuss a{margin-right:14px}
.nachweis{font-size:13px}

@media (max-width:1000px){
  .kopf nav{display:none}
  .kopf .knopf-klein{margin-left:auto}
  .revier,.anmeldung{grid-template-columns:1fr}
  .rechner-form{grid-template-columns:1fr}
  .karte{position:static}
  /* Handy/Tablet: Karte direkt unter der Überschrift, dann Wahl und Knopf */
  .revier{gap:0}
  .revier-text{display:contents}
  .revier-text>*{order:3}
  .revier-text>h2,.revier-text>.revier-lead{order:1}
  .revier .karte{order:4;margin-top:24px}
  .schmerz{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bericht-flaeche{grid-template-columns:minmax(0,1fr)}
  .themen{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--pf-linie);scroll-snap-type:x mandatory}
  .themen [role="tab"]{flex:0 0 auto;max-width:220px;border-bottom:0;border-right:1px solid var(--pf-linie);scroll-snap-align:start}
  .themen [role="tab"][aria-selected="true"]{box-shadow:inset 0 -4px 0 var(--pf-primaer)}
}
@media (max-width:700px){
  body{font-size:16px}
  .kopf{gap:10px}
  .marke img.marke-logo{height:34px}
  .knopf-klein{padding:0 12px;font-size:14px}
  .kopf .knopf-klein{min-height:40px}
  .held{min-height:0}
  .held::before{display:none}
  .held-bild img{aspect-ratio:16/10;height:auto;object-position:center 35%}
  .held-text{padding-top:20px !important}
  .held-lead{margin-top:14px;font-size:16px}
  .held-text{grid-area:2/1;padding:28px var(--rand) 0}
  .held h1{font-size:clamp(36px,10vw,46px)}
  .revier,.stolpersteine,.preise,.anmeldung{padding-top:72px;padding-bottom:72px}
  .wahl,.felder{grid-template-columns:1fr}
  .revier-text>.knopf{width:100%}
  .nummern text{font-size:26px}
  .themen-inhalt{padding:22px 20px}
  .tafel{grid-template-columns:1fr}
  .vergleich{padding-top:72px;padding-bottom:72px}
  .problem{padding-top:64px;padding-bottom:64px}
  .schmerz{margin-top:32px}
  .schmerz li{padding:20px 16px 22px}
  .schmerz-zahl{font-size:40px}
  .schmerz-zahl span{display:block;margin-top:6px;font-size:14px}
  .problem-verlust{margin-top:32px;font-size:18px}
  .nur-gross{display:none}
  .nur-handy,.vergleich-legende .nur-handy{display:inline}
  .vergleich-tabelle th,.vergleich-tabelle td{padding:14px 6px}
  .vergleich-tabelle thead th{font-size:11px;letter-spacing:.04em;text-align:center}
  .vergleich-tabelle thead th:first-child{width:auto;text-align:left}
  .vergleich-tabelle thead th:not(:first-child){width:clamp(60px,20vw,84px)}
  .vergleich-tabelle tbody th{font-size:16px;padding-left:0;hyphens:auto;overflow-wrap:break-word}
  .vergleich-tabelle td.wir{box-shadow:none}
  .vergleich-stark th{font-size:17px !important}
  .vergleich-tabelle tr.zeile{cursor:pointer}
  .zeile-knopf{cursor:pointer;display:flex;justify-content:space-between;gap:8px}
  .zeile-knopf::after{content:"+";flex:0 0 auto;font:600 20px/1 var(--sans);color:var(--pf-primaer)}
  .zeile-knopf[aria-expanded="true"]::after{content:"\2212"}
  .vergleich-tabelle tr.zeile-offen th,.vergleich-tabelle tr.zeile-offen td{border-bottom:0}
  .vergleich-tabelle .erklaerung:not([hidden]){display:table-row}
  .vergleich-tabelle .erklaerung td{padding:0 0 16px;text-align:left;font-size:14px;line-height:1.5;color:#2B3A42}
  .vergleich-tabelle .kurz{display:block;margin-top:6px;font-size:11px;line-height:1.3;color:var(--pf-grau);overflow-wrap:normal;hyphens:manual}
  .vergleich-tabelle td.wir .kurz{color:var(--pf-primaer)}
  .vergleich-tabelle td .zeichen svg{width:18px;height:18px}
  .vergleich-tabelle td{text-align:center}
  .vergleich-tabelle td .zeichen{float:none;margin:0;width:28px;height:28px;font-size:16px;vertical-align:middle}
  .vergleich-tabelle td .wort{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .paket+.paket{border-left:0;border-top:1px solid var(--pf-linie)}
  .paket-empfohlen{margin-top:14px}
  .formular{padding:22px 18px}
}
@media (max-width:480px){
  .schmerz{grid-template-columns:minmax(0,1fr)}
  .schmerz li{padding:18px 4px 20px}
}
@media (max-width:359px){
  .schmerz{grid-template-columns:minmax(0,1fr)}
  .vergleich-tabelle tbody th{font-size:15px}
  .zeile-knopf::after{font-size:17px}
  .knopf-klein .lang{display:none}
  .kopf .marke img.marke-logo{height:30px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important;animation:none !important}
}

/* Owner 29.09.: Hero ohne Knoepfe - Abstand zum Problem-Abschnitt */
.held-text{padding-bottom:clamp(2rem,6vw,4rem)}

/* PFHW24: bestehende Feld-Komponente, Bundesland vor Schutzbezirk und Gewerk. */
.bundesland-wahl{margin-top:28px}
#f-bundesland{margin-bottom:14px}
.wahl>.feld{min-width:0}

/* PFHW25 (Owner 29.09.): kurze Fassung, sechs Abschnitte, mehr Weissraum, ruhige Hierarchie (Ueberschrift + Text je Abschnitt),
   keine Grossbuchstaben-Ueberzeilen. Farben und Logo unveraendert. */
.held{min-height:min(62vh,560px)}
@media (min-width:701px){.held-bild{position:absolute;inset:0;overflow:hidden}.held-bild img{height:100%}}
.held-lead{margin-top:26px;max-width:26em;font-size:clamp(18px,1.5vw,22px)}

.problem{padding:64px var(--rand) 72px}
.problem h2{max-width:none}
.schmerz{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:44px;max-width:1120px;background:none;gap:48px}
.schmerz li{padding:0;background:none;border-top:1px solid rgba(255,255,255,.22);padding-top:26px}
.schmerz-text{margin-top:14px;max-width:16em;font-size:18px;line-height:1.45;color:#C9D4D8}
.problem-verlust{margin-top:48px;border-left:0;padding-left:0;font:600 18px/1.45 var(--sans);color:#fff;max-width:36em}
.problem-link{margin-top:10px;font-size:18px}
.problem-link a{color:var(--pf-primaer-auf-dunkel)}

.portal{padding:72px var(--rand);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px 72px;align-items:start;background:var(--pf-cloud)}
.portal h2{max-width:13ch}
.bildtexte{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:18px;counter-reset:b}
.bildtexte li{counter-increment:b;display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;font-size:16px;line-height:1.45}
.bildtexte li::before{content:counter(b);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--pf-akzent);color:#fff;font:600 14px/1 var(--sans)}
.kacheln{list-style:none;margin:56px 0 0;padding:32px 0 0;border-top:1px solid var(--pf-linie);display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.kacheln li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center}
.kachel-icon{width:32px;height:32px;color:var(--pf-primaer)}
.kachel-text{font:600 16px/1.35 var(--sans);min-width:0;hyphens:auto;overflow-wrap:break-word}
.kachel-text a{color:inherit;text-underline-offset:4px}
.kachel-text .status{margin-left:4px;font-size:12px;vertical-align:1px}
.portal-bild{margin:0;position:sticky;top:96px}
.portal-bild img{width:100%;border-radius:8px;box-shadow:0 40px 70px -40px rgba(18,40,50,.45);outline:1px solid var(--pf-linie)}
.portal-bild figcaption{margin-top:12px;font-size:16px;color:var(--pf-grau)}

.revier{padding:72px var(--rand)}
.revier h2{max-width:none}
.revier-lead{font-size:19px}
.auslese{margin:28px 0}

.vergleich{padding:72px var(--rand) 80px;background:var(--pf-papier)}
.vergleich-legende{margin-top:24px}
.vergleich-fuss{margin-top:18px}
.vergleich-tabelle td{font-size:16px}
.vergleich h2,.preise h2{max-width:none}
.vergleich-tabelle th,.vergleich-tabelle td{padding-top:12px;padding-bottom:12px}

.preise{padding:48px var(--rand) 80px;border-top:0}
.preise-lead{margin-top:16px;font-size:18px}
.rechner{margin-top:40px;max-width:1080px;border-top:1px solid var(--pf-linie);border-bottom:1px solid var(--pf-linie)}
.rechner summary{cursor:pointer;min-height:64px;display:flex;align-items:center;gap:12px;font:600 20px/1.3 var(--sans);color:var(--pf-primaer);list-style:none}
.rechner summary::-webkit-details-marker{display:none}
.rechner summary::after{content:"+";font-size:26px;line-height:1}
.rechner[open] summary::after{content:"\2212"}
.rechner-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px;padding:28px;background:var(--pf-cloud);border-radius:6px}
.tafel{margin-top:36px}
.paket{padding:30px 28px 26px}
.einheit{min-height:0}
.fuss{padding:36px var(--rand) 40px}

.anmeldung{padding:72px var(--rand)}
.schritte{gap:16px}
.laufzeit{grid-template-columns:1fr 1fr;gap:0 12px}
.laufzeit legend{grid-column:1/-1}
.laufzeit label{min-height:36px;font-size:15px}
@media (min-width:701px){.schritt:nth-child(2){display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.schritt:nth-child(2) .schritt-kopf{grid-column:1/-1}.schritt:nth-child(2) label{grid-row:2}.schritt:nth-child(2) select{grid-row:3;margin:0}}
.anmeldung-text p{margin-top:18px;max-width:28em;font-size:18px}
.absender{padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}
.absender strong{color:#fff}
.anmeldung a{color:#fff;font-weight:600}
.formular a{color:var(--pf-primaer)}
.einwaende{margin-top:36px;max-width:30em}
.einwaende details{border-top:1px solid rgba(255,255,255,.2)}
.einwaende details:last-child{border-bottom:1px solid rgba(255,255,255,.2)}
.einwaende summary{cursor:pointer;min-height:52px;display:flex;align-items:center;font-weight:600;color:#fff}
.einwaende details p{margin:0;padding:0 0 16px;font-size:16px;color:#C9D8DD}

.fuss-links a{margin-right:18px}

/* Unterseiten Quellen und Stolpersteine */
.lesetext{padding:72px var(--rand) 112px;max-width:1180px}
.lesetext h1{font:600 clamp(36px,4vw,56px)/1.1 var(--serif);letter-spacing:-.015em}
.lesetext .lead{margin-top:20px;max-width:36em;font:400 20px/1.55 var(--serif);color:#26363E}
.lesetext h2{margin-top:64px;font-size:clamp(24px,2.4vw,32px);max-width:28ch}
.lesetext>p,.lesetext .liste,.lesetext .belege{margin-top:18px;max-width:44em}
.lesetext .liste{padding-left:20px;display:grid;gap:12px}
.belege{display:grid;gap:22px}
.belege div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding-top:18px;border-top:1px solid var(--pf-linie)}
.belege dt{font:600 20px/1.3 var(--serif)}
.belege dd{margin:0}
.zurueck{font-size:15px;margin-bottom:28px}
.lesetext .bericht{margin-top:40px}
.weiter{margin-top:40px}

@media (max-width:1000px){
  .portal{grid-template-columns:minmax(0,1fr)}
  .portal-bild{position:static;order:2}
  .portal-text{display:contents}
  .portal h2{order:0}
  .bildtexte{order:1}
  .kacheln{order:3}
  .revier-text>h2,.revier-text>.revier-lead{order:1}
}
@media (max-width:700px){
  .held-lead{font-size:17px;margin-top:14px}
  .problem,.portal,.revier,.vergleich,.anmeldung{padding-top:64px;padding-bottom:64px}
  .preise{padding-top:48px;padding-bottom:64px}
  .schmerz{grid-template-columns:1fr;gap:0;margin-top:28px}
  .schmerz li{padding:18px 0 20px}
  .schmerz-zahl{font-size:44px}
  .schmerz-zahl span{display:inline;margin:0;font-size:18px}
  .schmerz-text{margin-top:6px;font-size:16px}
  .problem-verlust{margin-top:28px;font-size:16px}
  .problem-link{font-size:16px}
  .bildtexte{margin-top:24px;gap:12px}
  .bildtexte li{font-size:16px;grid-template-columns:32px 1fr}
  .kacheln{grid-template-columns:1fr 1fr;gap:18px 14px;margin-top:28px;padding-top:24px}
  .kacheln li{grid-template-columns:28px 1fr;gap:8px;align-items:start}
  .kachel-icon{width:26px;height:26px}
  .kachel-text{font-size:15px}
  .portal-bild{margin-top:24px}
  .rechner-form{grid-template-columns:1fr;padding:18px}
  .rechner summary{font-size:18px}
  .anmeldung-text p{font-size:16px}
  .tafel{margin-top:32px}
  .paket{grid-template-columns:1fr auto;align-items:end;gap:2px 12px;padding:22px 18px 20px}
  .paket h3{grid-column:1;grid-row:1}
  .paket .einheit{grid-column:1;grid-row:2;min-height:0;font-size:14px}
  .paket .betrag{grid-column:2;grid-row:1/span 2;margin:0}
  .paket .zahl{font-size:44px}
  .paket .knopf{grid-column:1/-1;margin-top:14px;min-height:46px}
  .paket-empfohlen{margin-top:18px;padding-top:26px}
  .laufzeit{grid-template-columns:1fr}
  .belege div{grid-template-columns:1fr;gap:6px}
  .lesetext{padding-top:40px;padding-bottom:64px}
}
.vergleich-tabelle thead th{text-transform:none;letter-spacing:0;font-size:14px}
@media (max-width:359px){
  .kacheln{grid-template-columns:1fr}
}
/* PFHW25 UI-Gate: Vergleich und Preise ein Abschnitt; Markerfarbe; Stolpersteine untereinander */
.preise{padding:40px 0 0;background:none}
.preise-lead strong{color:var(--pf-tinte)}
.fund-text mark{color:inherit;background:var(--pf-warnung);padding:0 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.themen-liste{margin-top:40px;display:grid;gap:20px;max-width:880px}
.themen-liste .thema{padding:28px 30px;background:var(--pf-papier);border:1px solid var(--pf-linie);border-radius:6px}
@media (max-width:700px){
  .preise{padding:32px 0 0}
  .themen-liste .thema{padding:20px 18px}
}
