/* Partner Network: the existing service grid, type roles and square surfaces. */
.pn { --pn-inset:clamp(1.25rem,2vw,2.25rem); --sr-heading-size:clamp(1.7rem,4.8876953125vw,7rem); }
.pn h2,.pn h3 { text-align:left; }
.pn .svc-section--dark,.pn .svc-cta { --svc-bg:#201e1e; /* HVR-20260912-12: Token statt #3a3a3a */ --svc-ink:#fff; --svc-muted:rgba(255,255,255,.76); --svc-rule:#ffffff; } /* HVR-20260914-31: volle Farbstaerke */
.pn-open { gap:1.2em; padding-bottom:8vh; }
.pn-open h2 { color:var(--signal-red); font-size:clamp(1.7rem,2.21245vw,3.25rem); line-height:1.2; }
.pn-open .svc-copy { max-width:34em; }
.hero__page[data-page="partner-network"] .hero__pline--h3 { display:none; }
.pn-heading { padding-bottom:4vh; }
.pn-heading .svc-copy { padding-inline:var(--pn-inset); max-width:38em; margin:.8em 0 0; }
.pn .sr-title { white-space:normal; line-height:1.2; padding-block:4vh; letter-spacing:-.025em; }
.pn-label { display:block; font:700 clamp(.8rem,.95vw,1.1rem)/1.5 var(--font-body); letter-spacing:.1em; text-transform:uppercase; color:var(--svc-muted); }
/* HVR-20260913-05 (D27, Hybrid A+B): das Routing ist ein Liniensystem auf dem Raster, keine Kaesten.
   Drei gleiche Spalten wie die Case-Fakten darunter (Achsen 33.3 / 66.7 % des Bands): links die Luecke
   aus dem Report, auf der zweiten Achse der .H-Knoten (Atom der Randspalte), rechts drei Ledger-Zeilen
   als Tabs. Die Zeilenlinien laufen ueber einen Bus auf der dritten Achse zum Knoten ein; dashed = offen,
   solid Signal Rot = bestaetigt (07). Auswahl liegt im Inhalt (Track, Ziffer, Pfeil), nie an der Huelle. */
.pn-routing { --pn-node:clamp(2.6rem,3.75vw,4.5rem); --pn-open:rgba(255,255,255,.35); position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(5.5rem,1fr)); padding:4vh 0; margin:0; } /* AD 2026-09-13: 4vh Abstand zum Rahmen (Zeile 03 traegt sonst zwei rote Kanten); --pn-open auf der .35-Stufe aus 02 */
.pn-project { grid-column:1; grid-row:1/4; display:grid; grid-template-rows:subgrid; min-width:0; }
.pn-project .pn-label { grid-row:1; align-self:end; padding:0 var(--pn-inset) 1.2em; } /* AD-Checkpoint 2: Grundlinie mehr als eine Zeilenhoehe ueber der Eingangslinie (AP-208) */
.pn-project__body { position:relative; grid-row:2/4; padding:calc(clamp(1.3rem,2vw,2.3rem) * .65) var(--pn-inset) 1.2em; } /* AD-Checkpoint 2: Abstand Linie zu Statement in der h3-Rolle, skaliert wie die Tab-Zeilen (AP-409) */
.pn-project__body::before { content:""; position:absolute; left:0; right:0; top:0; height:1px; background:var(--pn-open); transform:scaleX(1); transform-origin:0 50%; } /* Eingang: Report -> Knoten, solid (der Report liegt vor) */
.pn-project h3 { margin:0; font:700 clamp(1.3rem,2vw,2.3rem)/1.15 var(--font-display); text-transform:uppercase; color:var(--svc-ink); }
.pn-project p { margin:.8em 0 0; color:var(--svc-muted); font:400 clamp(.875rem,1.05vw,1.2rem)/1.5 var(--font-body); }
.pn-hub { position:relative; grid-column:2; grid-row:2/4; min-width:0; padding:0 var(--pn-inset) 1.2em 0; }
.pn-node { position:relative; z-index:1; display:grid; place-items:center; width:var(--pn-node); height:var(--pn-node); margin-top:calc(var(--pn-node) / -2); background:var(--signal-red); color:var(--bg); transform:scale(1); }
.pn-node__mark { display:block; width:56%; height:auto; aspect-ratio:51/37; }
.pn-hub__copy { display:block; margin-top:1.2em; font:400 clamp(.875rem,1.05vw,1.2rem)/1.5 var(--font-body); color:var(--svc-muted); }
.pn-hub::after { content:""; position:absolute; left:var(--pn-node); right:0; top:0; height:1px; background:var(--signal-red); transform:scaleX(1); transform-origin:0 50%; } /* Knoten -> Bus: immer Teil des bestaetigten Wegs */
.pn-disciplines { position:relative; grid-column:3; grid-row:1/4; display:grid; grid-template-rows:subgrid; min-width:0; }
.pn-disciplines::before { content:""; position:absolute; left:0; top:0; height:66.667%; border-left:1px dashed var(--pn-open); transform:scaleY(1); transform-origin:50% 50%; } /* Bus Zeile 1 bis Zeile 3; seine Mitte ist die Knotenlinie (Zeile 2) */
.pn-disciplines button { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:baseline; gap:.9em; min-height:5.5rem; padding:1.1em var(--pn-inset) 1.1em calc(var(--pn-inset) + 1px); margin:0; border:0; background:transparent; color:var(--svc-muted); text-align:left; font:700 clamp(1rem,1.5vw,1.9rem)/1.15 var(--font-display); text-transform:uppercase; cursor:var(--cursor-hand); transition:color .25s; } /* AD 2026-09-13: Hover-Zellen-Headline-Rolle (Hero/Bento-Titel, 04) statt Sondergroesse; Ziffer im Register der Fakten-Texte (Inset + 1 px Rahmen) */
.pn-tab-line { position:absolute; left:0; right:0; top:0; height:0; border-top:1px dashed var(--pn-open); transform:scaleX(1); transform-origin:0 50%; pointer-events:none; } /* Zeilen-Hairline (offen) */
.pn-disciplines button::before { content:""; position:absolute; z-index:1; left:0; right:0; top:0; height:1px; background:var(--signal-red); transform:scaleX(0); transform-origin:0 50%; transition:transform .2s cubic-bezier(.65,0,.35,1); } /* bestaetigter Track der Zeile; z-index 1: malt ueber die dashed Ruhelinie (AD 2026-09-13, AP-203) */
.pn-disciplines button::after { content:""; position:absolute; z-index:1; left:0; top:0; bottom:0; width:1px; background:var(--signal-red); transform:scaleY(0); transition:transform .15s cubic-bezier(.65,0,.35,1) .2s; } /* Bus-Segment von der Knotenlinie zur Zeile, exakt auf dem Bus (left 0); Folge: alter Track ab (0.2 s), Segment, Zeilen-Track */
.pn-disciplines button:nth-child(1)::after { transform-origin:50% 100%; }
.pn-disciplines button:nth-child(2)::after { transform-origin:50% 0; }
.pn-disciplines button:nth-child(3)::after { display:none; }
.pn-routing[data-pn-route="0"] button:nth-child(1)::after,.pn-routing[data-pn-route="2"] button:nth-child(2)::after { transform:scaleY(1); }
.pn-disciplines button[aria-selected="true"] { color:var(--svc-ink); }
.pn-disciplines button[aria-selected="true"]::before { transform:scaleX(1); transition:transform .3s cubic-bezier(.22,.61,.36,1) .35s; }
.pn-routing[data-pn-route="1"] button:nth-child(2)[aria-selected="true"]::before { transition-delay:.2s; } /* Zeile 2 liegt auf der Knotenlinie, kein Segment davor */
.pn-tab-number { min-width:1.6em; font:700 clamp(.8rem,.95vw,1.1rem)/1 var(--font-body); letter-spacing:.1em; transition:color .25s; } /* feste Ziffernspalte (AP-307) */
.pn-disciplines button[aria-selected="true"] .pn-tab-number { color:var(--signal-red); }
.pn-tab-arrow { visibility:hidden; color:var(--signal-red); font-size:1.15em; line-height:1; }
.pn-disciplines button[aria-selected="true"] .pn-tab-arrow { visibility:visible; }
.pn-disciplines button:hover { color:var(--svc-ink); }
/* Reveal beim Sectioneintritt (pn-armed setzt partner-network.js nur ohne reduced-motion): Linien zeichnen sich
   vom Report ueber den Knoten zum Bus und in die Zeilen, Texte steigen versetzt nach; danach der rote Track (is-track). */
.pn-routing.pn-armed:not(.is-live) .pn-project__body::before,.pn-routing.pn-armed:not(.is-live) .pn-hub::after,.pn-routing.pn-armed:not(.is-live) .pn-tab-line { transform:scaleX(0); }
.pn-routing.pn-armed:not(.is-live) .pn-disciplines::before { transform:scaleY(0); }
.pn-routing.pn-armed:not(.is-live) .pn-node { opacity:0; transform:scale(.97); } /* 06: subtiler Scale, kein Zoom (AP-603) */
.pn-routing :is(.pn-project .pn-label,.pn-project h3,.pn-project p,.pn-hub__copy,.pn-disciplines button>span) { clip-path:inset(-6% -40% -14% -40%); } /* Ruhelage mit Ink-Reserve: eine Maske darf nie Tinte beschneiden (AD-Checkpoint 2, AP-508) */
.pn-routing.pn-armed:not(.is-live) :is(.pn-project .pn-label,.pn-project h3,.pn-project p,.pn-hub__copy,.pn-disciplines button>span) { opacity:0; transform:translateY(32px); clip-path:inset(0 0 100% 0); } /* dieselbe Reveal-Familie wie HVR-20260913-03 (Maske von unten, y 32) */
.pn-routing.pn-armed:not(.is-track) .pn-disciplines button::before { transform:scaleX(0); }
.pn-routing.pn-armed:not(.is-track) .pn-disciplines button::after { transform:scaleY(0); }
.pn-routing.is-live .pn-project .pn-label { transition:opacity .4s,transform .4s cubic-bezier(.22,.61,.36,1),clip-path .4s cubic-bezier(.22,.61,.36,1); }
.pn-routing.is-live .pn-project__body::before { transition:transform .45s cubic-bezier(.65,0,.35,1) .1s; }
.pn-routing.is-live .pn-project h3 { transition:opacity .5s ease .35s,transform .5s cubic-bezier(.22,.61,.36,1) .35s,clip-path .5s cubic-bezier(.22,.61,.36,1) .35s; }
.pn-routing.is-live .pn-project p { transition:opacity .5s ease .43s,transform .5s cubic-bezier(.22,.61,.36,1) .43s,clip-path .5s cubic-bezier(.22,.61,.36,1) .43s; }
.pn-routing.is-live .pn-node { transition:opacity .3s ease .55s,transform .35s cubic-bezier(.22,.61,.36,1) .55s; }
.pn-routing.is-live .pn-hub__copy { transition:opacity .45s ease .75s,transform .45s cubic-bezier(.22,.61,.36,1) .75s,clip-path .45s cubic-bezier(.22,.61,.36,1) .75s; }
.pn-routing.is-live .pn-hub::after { transition:transform .35s cubic-bezier(.65,0,.35,1) .8s; }
.pn-routing.is-live .pn-disciplines::before { transition:transform .3s cubic-bezier(.65,0,.35,1) 1.05s; }
.pn-routing.is-live .pn-tab-line { transition:transform .35s cubic-bezier(.65,0,.35,1) 1.35s; }
.pn-routing.is-live button:nth-child(2) .pn-tab-line { transition-delay:1.25s; }
.pn-routing.is-live .pn-disciplines button>span { transition:opacity .45s ease 1.4s,transform .45s cubic-bezier(.22,.61,.36,1) 1.4s,clip-path .45s cubic-bezier(.22,.61,.36,1) 1.4s,color .25s; }
.pn-routing.is-live .pn-disciplines button:nth-child(1)>span { transition-delay:1.48s,1.48s,1.48s,0s; }
.pn-routing.is-live .pn-disciplines button:nth-child(3)>span { transition-delay:1.56s,1.56s,1.56s,0s; }
/* HVR-20260913-05 (Rene, wie Report 02 / HVR-20260912-28): Signal-Rot-Rahmen um den Bereich, den die Tabs
   veraendern; beim Wechsel zeichnet er sich von links neu (0.4 s), die Zellen des neuen Beispiels blenden
   versetzt ein. Die Rails v2/v3 sind im Rahmenband transparent (data-chrome-frame, AP-203). */
.pn-case-stack { position:relative; display:grid; grid-template-rows:auto auto; }
.pn-case-stack::after { content:""; position:absolute; inset:0 -0.5px; border:1px solid var(--signal-red); pointer-events:none; z-index:2; }
.pn-case-stack.is-switching::after { animation:pn-frame-redraw .4s cubic-bezier(.65,0,.35,1); }
@keyframes pn-frame-redraw { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0 0 0 0); } }
.pn-case.is-entering .pn-case-heading,.pn-case.is-entering .pn-case-facts>div { animation:pn-cell-in .35s cubic-bezier(.65,0,.35,1) both; }
.pn-case.is-entering .pn-case-facts>div:nth-child(1) { animation-delay:.05s; }
.pn-case.is-entering .pn-case-facts>div:nth-child(2) { animation-delay:.1s; }
.pn-case.is-entering .pn-case-facts>div:nth-child(3) { animation-delay:.15s; }
@keyframes pn-cell-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .pn-routing *,.pn-routing *::before,.pn-routing *::after,.pn-case-stack::after,.pn-case.is-entering * { transition:none !important; animation:none !important; } }
.pn-case { display:grid; grid-template-rows:subgrid; grid-area:1/1/3/2; min-width:0; }
.pn-case[aria-hidden="true"] { visibility:hidden; pointer-events:none; }
.pn-case-heading { padding:4vh var(--pn-inset); }
.pn-case-heading h3 { font:700 clamp(1.3rem,2vw,2.3rem)/1.2 var(--font-display); margin:.7em 0 0; max-width:30em; }
.pn-case-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border-top:1px solid var(--svc-rule); }
.pn-case-facts>div { min-width:0; padding:4vh var(--pn-inset); }
.pn-case-facts>div+div { border-left:1px solid var(--svc-rule); }
.pn-case-facts dt { font:700 .875rem/1.5 var(--font-body); text-transform:uppercase; letter-spacing:.045em; }
.pn-case-facts dd { margin:.8em 0 0; font:400 clamp(1rem,1.1vw,1.25rem)/1.55 var(--font-body); color:var(--svc-muted); }
.pn-caption { padding-inline:var(--pn-inset); margin:1.6em 0 0; font:400 .875rem/1.6 var(--font-body); color:var(--svc-muted); }
/* HVR-20260914-48 (Rene): "The right fit" reduziert. Vorher 6.8-rem-Ziffern, 2.3-rem-Titel und
   Copy in drei hohen Zeilen; jetzt eine ruhige Leiter im Ledger-Muster der Guide-Seite
   (.adv-phases): Nummer in der Eyebrow-Rolle, Titel als Aussage, Copy max. zwei Zeilen. */
.pn-fit-list { list-style:none; margin:0; padding:0; border-bottom:1px solid var(--svc-rule); }
.pn-fit-row { display:grid; grid-template-columns:4.5em minmax(0,1fr); gap:var(--tile-gap); align-items:baseline; padding:3.2vh var(--pn-inset); border-top:1px solid var(--svc-rule); }
.pn-index { font:400 max(.875rem,.95vw)/1.5 var(--font-display); letter-spacing:.1em; color:var(--svc-muted); font-variant-numeric:tabular-nums; transition:color .25s; }
.pn-fit-row.is-focus .pn-index { color:var(--signal-red); }
.pn-fit-row h3 { margin:0; font:700 clamp(1.15rem,1.5vw,1.7rem)/1.25 var(--font-display); text-transform:uppercase; }
.pn-fit-row p { margin:.5em 0 0; max-width:34em; font:400 clamp(1rem,1.2vw,1.35rem)/1.5 "HK Grotesk Wide",var(--font-body); color:var(--svc-muted); }
.pn-footnote { margin:1.6em 0 0; padding-inline:var(--pn-inset); max-width:60em; font:400 clamp(.875rem,1.05vw,1.2rem)/1.55 var(--font-body); color:var(--svc-muted); }
/* HVR-20260914-49 (Rene): "Keep moving" ohne Kasten an Kasten. Die Uebergabe steht als
   Fluss in der Statement-Rolle (Quelle, Pfeil, Ziel) mit Luft, die vier Inhalte als
   einspaltige Leiter (Linie auf Linie zwischen v2 und v3), das Statement "You keep the
   choice" als Abschluss. Vorher: Kopfkasten, 2x2-Kasten, Fusskasten in Hairlines. */
.pn-handoff { border-block:0; }
.pn-handoff-top { display:flex; flex-wrap:wrap; align-items:baseline; gap:.5em 1em; padding:1vh var(--pn-inset) 6vh; border-bottom:0; }
.pn-handoff-top .pn-label { font:700 clamp(1.4rem,2.2vw,2.6rem)/1.15 var(--font-display); text-transform:uppercase; letter-spacing:0; color:var(--svc-ink); }
.pn-handoff-top .pn-label:last-child { text-align:left; }
.pn-handoff-direction { color:var(--signal-red); font-size:clamp(1.4rem,2.2vw,2.6rem); line-height:1; justify-self:auto; }
.pn-handoff-list { display:block; margin:0; }
.pn-handoff-list>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:1em 2.4em; min-width:0; padding:2.6vh var(--pn-inset); border-top:1px solid var(--svc-rule); border-bottom:0; }
.pn-handoff-list>div:nth-child(even) { border-left:0; }
.pn-handoff-list dt { font:700 clamp(1.15rem,1.5vw,1.7rem)/1.25 var(--font-display); text-transform:uppercase; }
.pn-handoff-list dd { margin:0; max-width:36em; font:400 clamp(1rem,1.2vw,1.35rem)/1.55 var(--font-body); color:var(--svc-muted); }
.pn-handoff-bottom { padding:5vh var(--pn-inset) 2vh; border-top:1px solid var(--svc-rule); }
.pn-handoff-bottom strong { display:block; font:700 clamp(1.4rem,2.2vw,2.6rem)/1.15 var(--font-display); text-transform:uppercase; }
.pn-handoff-bottom p { margin:.8em 0 0; max-width:38em; font:400 clamp(1rem,1.2vw,1.35rem)/1.55 var(--font-body); color:var(--svc-muted); }
.pn-fees { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-block:1px solid var(--svc-rule); }
.pn-fee { min-width:0; padding:4vh var(--pn-inset); }
.pn-fee+.pn-fee { border-left:1px solid var(--svc-rule); background:var(--tile-gray); }
.pn-fee h3 { margin:.8em 0 0; font:700 clamp(1.3rem,2vw,2.3rem)/1.2 var(--font-display); text-transform:uppercase; }
.pn-price { margin:.4em 0 .2em; font:700 clamp(2.8rem,6.2vw,6.8rem)/1 var(--font-display); letter-spacing:-.035em; }
.pn-fee-note { display:block; font:400 .875rem/1.6 var(--font-body); color:var(--svc-muted); }
.pn-fee ul { list-style:none; padding:0; margin:1.6em 0 0; }
.pn-fee li { padding:.8em 0; border-top:1px solid var(--svc-rule); font:400 clamp(1rem,1.1vw,1.25rem)/1.55 var(--font-body); }
.pn-fee--partner>p { margin:1.6em 0 0; font:400 clamp(1rem,1.1vw,1.25rem)/1.55 var(--font-body); color:var(--svc-muted); }
.pn-fee--partner .pn-commission { margin:1.1em 0 0; font:700 clamp(1.7rem,2.6vw,3rem)/1.2 var(--font-display); color:var(--svc-ink); }
.pn-fee--partner .pn-fee-note { font-size:.875rem; }
.pn-cta .sr-cta-title { font-size:clamp(2.6rem,7vw,9.5rem); }
.pn-cta .svc-copy { margin:0; padding-inline:var(--pn-inset); max-width:38em; }
.pn .pn-action { display:flex; width:100%; min-width:0; margin-top:4vh; padding:1.4em var(--pn-inset); }
.pn .pn-action-label { font-size:clamp(1rem,1.3vw,1.5rem); line-height:1.4; }
.pn-action small { display:block; margin-top:.35em; font-size:.875rem; font-weight:400; }
.pn .pn-action-arrow { font-size:2em; transition:transform .25s; }
.pn-action:hover .pn-action-arrow { transform:translate(3px,-3px); }
.pn button:focus-visible,.pn [role="tabpanel"]:focus-visible { outline:2px solid var(--signal-red); outline-offset:-5px; }
@media(max-width:1100px) and (min-width:901px) {
 .pn-disciplines button { gap:.6em; }
}
@media(max-width:900px) {
 .pn { --sr-heading-size:clamp(1.7rem,5.3vw,3rem); }
 /* HVR-20260913-05 mobil: Knoten oben, Bus als linke Vertikale, Zeilen als Liste */
 .pn-routing { --pn-node:2.6rem; grid-template-columns:minmax(0,1fr); grid-template-rows:none; grid-auto-rows:auto; padding-top:3vh; }
 .pn-project { grid-column:auto; grid-row:auto; display:block; }
 .pn-project .pn-label { display:block; padding:0 var(--pn-inset) 1.2em; }
 .pn-project__body { padding:calc(clamp(1.3rem,2vw,2.3rem) * .65) var(--pn-inset) 1.4em; }
 .pn-project h3 br,.pn-hub__copy br { display:none; } /* der Umbruch im Descriptor bleibt: 'Defined through' / 'Budget · Time · Skills' (AD-Checkpoint 3, Schusterjunge) */
 .pn-hub { grid-column:auto; grid-row:auto; display:grid; grid-template-columns:auto minmax(0,1fr); gap:0 1.2em; align-items:center; padding:0 var(--pn-inset) 3vh 0; }
 .pn-node { margin-top:0; }
 .pn-hub__copy { margin-top:0; }
 .pn-hub::after { left:calc(var(--pn-node) / 2 - .5px); right:auto; top:var(--pn-node); bottom:0; width:1px; height:auto; transform:scaleY(1); transform-origin:50% 0; }
 .pn-routing.pn-armed:not(.is-live) .pn-hub::after { transform:scaleY(0); }
 .pn-disciplines { grid-column:auto; grid-row:auto; grid-template-rows:none; grid-auto-rows:minmax(4.5rem,1fr); }
 .pn-disciplines::before { left:calc(var(--pn-node) / 2 - .5px); transform-origin:50% 0; }
 .pn-disciplines button { min-height:4.5rem; gap:.6em; padding:1.1em var(--pn-inset) 1.1em calc(var(--pn-node) + .8rem); } /* AD-Checkpoint 2: Namensspalte fuer MANUFACTURING (Ink 142.5 px bei 390) */
 .pn-disciplines button br { display:none; }
 .pn-tab-line,.pn-disciplines button::before { left:calc(var(--pn-node) / 2); }
 .pn-disciplines button::after { left:calc(var(--pn-node) / 2 - .5px); transform-origin:50% 0; }
 .pn-routing[data-pn-route="0"] button:nth-child(1)::after { transform:scaleY(0); }
 .pn-routing[data-pn-route="1"] button:nth-child(1)::after,.pn-routing[data-pn-route="2"] button:nth-child(1)::after,.pn-routing[data-pn-route="2"] button:nth-child(2)::after { transform:scaleY(1); }
 .pn-routing[data-pn-route="2"] button:nth-child(2)::after { transition-delay:.35s; }
 .pn-routing[data-pn-route="2"] button:nth-child(3)[aria-selected="true"]::before { transition-delay:.5s; }
 .pn-routing[data-pn-route="0"] button:nth-child(1)[aria-selected="true"]::before { transition-delay:.2s; }
 .pn-case-facts { grid-template-columns:1fr; }
 .pn-case-facts>div { padding:3vh var(--pn-inset); }
 .pn-case-facts>div+div { border-left:0; border-top:1px solid var(--svc-rule); }
 .pn-fit-row { grid-template-columns:4.5em minmax(0,1fr); } /* HVR-20260914-48 */
 /* HVR-20260918-impeccable (Rene: Screenshot zeigt "DESIGN REQUIREMENTS" ueberlappt
    mit der Beschreibung) - Regel traf bisher .pn-handoff-list selbst (display:block,
    kein Grid); die tatsaechliche dt/dd-Spalte sitzt pro Zeile auf .pn-handoff-list>div
    (base.css-Analogie .pn-case-facts, dort korrekt >div-los weil .pn-case-facts selbst
    das Grid ist). Jetzt wie vorgesehen einspaltig gestapelt, dt ueber dd. */
 .pn-handoff-list>div,.pn-fees { grid-template-columns:1fr; }
 .pn-handoff-list>div:nth-child(even) { border-left:0; }
 .pn-fee+.pn-fee { border-left:0; border-top:1px solid var(--svc-rule); }
}
@media(max-width:600px) {
 .pn .sr-title { font-size:clamp(1.7rem,5.3vw,3rem); overflow-wrap:normal; }
 .pn-open h2 { font-size:1.5rem; }
 .pn-fit-row { grid-template-columns:1fr; gap:1.2em; }
 .pn-index { font-size:2.8rem; }
 .pn-cta .sr-cta-title { font-size:clamp(2rem,7vw,3.2rem); }
}

/* HVR-20260914-24 (Rene): Routing-Grafik vertikal auf allen Breiten. Fluss von oben nach unten:
   YOUR REPORT und Statement, Eingang als Vertikale zum .H-Knoten, Bus als linke Vertikale in die
   Optionsliste (drei gleiche Zeilen: Nummer, Name, Pfeil, Hairline ab dem Bus). Untertexte unter
   Statement und Knoten entfallen. Die Reveal- und Track-Klassen aus partner-network.js bleiben. */
.pn-routing { grid-template-columns:minmax(0,1fr); grid-template-rows:none; grid-auto-rows:auto; padding:4vh 0; } /* AD 2026-09-14: 4vh Luft zum Beispielrahmen bleibt (Zeile 03 traegt sonst zwei rote Kanten) */
.pn-project { grid-column:auto; grid-row:auto; display:block; }
.pn-project .pn-label { display:block; padding:0 var(--pn-inset) 1.2em; }
.pn-project__body { padding:calc(clamp(1.3rem,2vw,2.3rem) * .65) var(--pn-inset) 0; } /* AD 2026-09-14: Eingangslinie setzt an der Statement-Box an */
.pn-hub { grid-column:auto; grid-row:auto; display:block; padding:calc(3vh + 1.6em) var(--pn-inset) 3vh var(--pn-inset); }
.pn-hub::before { content:""; position:absolute; left:calc(var(--pn-inset) + var(--pn-node) / 2 - .5px); top:0; height:calc(3vh + 1.6em); width:1px; background:var(--pn-open); transform:scaleY(1); transform-origin:50% 0; } /* Eingang: Statement -> Knoten */
.pn-node { margin-top:0; }
.pn-hub::after { left:calc(var(--pn-inset) + var(--pn-node) / 2 - .5px); right:auto; top:calc(3vh + 1.6em + var(--pn-node)); bottom:0; width:1px; height:auto; transform:scaleY(1); transform-origin:50% 0; } /* Knoten -> Bus */
.pn-routing.pn-armed:not(.is-live) .pn-hub::before,.pn-routing.pn-armed:not(.is-live) .pn-hub::after { transform:scaleY(0); }
.pn-routing.is-live .pn-hub::before { transition:transform .3s cubic-bezier(.65,0,.35,1) .1s; }
.pn-routing.is-live .pn-hub::after { transition:transform .3s cubic-bezier(.65,0,.35,1) .5s; }
.pn-disciplines { grid-column:auto; grid-row:auto; grid-template-rows:none; grid-auto-rows:minmax(5.5rem,auto); }
.pn-disciplines::before { left:calc(var(--pn-inset) + var(--pn-node) / 2 - .5px); transform-origin:50% 0; }
.pn-disciplines button { grid-template-columns:2.4em minmax(0,1fr) auto; align-items:baseline; /* AD 2026-09-14: Ziffer, Name und Pfeil auf einer Grundlinie */ min-height:5.5rem; gap:.9em; padding:1.1em var(--pn-inset) 1.1em calc(var(--pn-inset) + var(--pn-node) + 1rem); }
.pn-disciplines button br { display:none; }
.pn-tab-line,.pn-disciplines button::before { left:calc(var(--pn-inset) + var(--pn-node) / 2); }
.pn-disciplines button::after { left:calc(var(--pn-inset) + var(--pn-node) / 2 - .5px); display:block; transform-origin:50% 0; }
.pn-disciplines button:nth-child(3)::after { display:none; }
.pn-routing[data-pn-route="0"] button:nth-child(1)::after,.pn-routing[data-pn-route="2"] button:nth-child(2)::after,.pn-routing[data-pn-route="0"] button:nth-child(2)::after,.pn-routing[data-pn-route="1"] button:nth-child(2)::after { transform:scaleY(0); }
.pn-routing[data-pn-route="1"] button:nth-child(1)::after,.pn-routing[data-pn-route="2"] button:nth-child(1)::after,.pn-routing[data-pn-route="2"] button:nth-child(2)::after { transform:scaleY(1); }
.pn-routing[data-pn-route="2"] button:nth-child(2)::after { transition-delay:.35s; }
.pn-routing[data-pn-route="2"] button:nth-child(3)[aria-selected="true"]::before { transition-delay:.5s; }
.pn-routing[data-pn-route="1"] button:nth-child(2)[aria-selected="true"]::before { transition-delay:.35s; }
.pn-routing[data-pn-route="0"] button:nth-child(1)[aria-selected="true"]::before { transition-delay:.2s; }
.pn-routing.pn-armed:not(.is-track) .pn-disciplines button::after { transform:scaleY(0); }

/* HVR-20260915-09 (Rene): Routing-Illustration (Your report, Knoten, Bus) entfernt; die drei Disziplinen
   bleiben als Tab-Zeile ueber den Beispielen. */
.pn-routing { display:block; }
.pn-disciplines { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--tile-gap,1.5rem); margin-bottom:var(--tile-gap,1.5rem); }
.pn-disciplines::before { display:none; }
.pn-disciplines button::after { display:none; }
.pn-disciplines button { min-height:auto; padding-left:var(--pn-inset); }

/* HVR-20260918-lines-mobile (Rene: alle horizontalen Linien mobil entfernen).
   .pn-case-stack::after ist ein Vollrahmen (border:1px auf allen 4 Seiten) -
   nur oben/unten auf 0, die roten Seitenrails bleiben stehen. */
@media (max-width: 900px) {
  .pn-project__body::before, .pn-disciplines button::before
  { display: none !important; }
  .pn-case-stack::after { border-top: 0 !important; border-bottom: 0 !important; }
  .pn-tab-line,
  .pn-case-facts, .pn-case-facts > div + div,
  .pn-fit-list, .pn-fit-row,
  .pn-handoff-list > div, .pn-handoff-bottom
  { border-top: 0 !important; border-bottom: 0 !important; }
}
