.ph-hero{background:var(--color-surface-card);border-bottom:1px solid var(--color-border-subtle);text-align:center;padding:clamp(96px,9vw,220px) 0 clamp(88px,8vw,200px)}.ph-hero h1{letter-spacing:-.024em;max-width:26ch;margin:0 auto;font-size:clamp(38px,4vw,96px);font-weight:640;line-height:1.08}.ph-hero p{color:var(--color-ink-soft);max-width:52ch;margin:clamp(22px,2vw,50px) auto 0;font-size:clamp(18px,1.4vw,34px);font-weight:380;line-height:1.5}.ph-rad{max-width:clamp(480px,48vw,720px);margin:clamp(48px,4.5vw,96px) auto 0}.ph-rad svg{width:100%;height:auto;display:block}.ph-rotor-l{transform-origin:190px 150px;animation:60s linear infinite ph-ring-spin}.ph-rotor-r{transform-origin:410px 250px;animation:60s linear -1.86s infinite ph-ring-counterspin}.ph-rotor-l .ph-hold,.ph-rotor-r .ph-hold{transform-box:fill-box;transform-origin:50%}.ph-rotor-l .ph-hold{animation:60s linear infinite ph-ring-counterspin}.ph-rotor-r .ph-hold{animation:60s linear -1.86s infinite ph-ring-spin}@keyframes ph-ring-spin{to{transform:rotate(360deg)}}@keyframes ph-ring-counterspin{to{transform:rotate(-360deg)}}.ph-match-check{opacity:0;animation:60s linear infinite ph-match-blink}@keyframes ph-match-blink{0%,21.3%{opacity:0}22%,25%{opacity:1}25.7%,71.8%{opacity:0}72.5%,75.5%{opacity:1}76.2%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.ph-rotor-l,.ph-rotor-r,.ph-rotor-l .ph-hold,.ph-rotor-r .ph-hold{animation:none}.ph-match-check{opacity:1;animation:none}}.ph-ring{stroke:var(--color-ink);stroke-width:1.5px}.ph-speichen{stroke:var(--color-ink);stroke-width:1px}.ph-linse{fill:color-mix(in srgb, var(--color-brand-blue) 5%, #fff)}.ph-linse-rand{stroke:var(--color-brand-blue);stroke-width:1.5px}.ph-fenster-rand{stroke:var(--color-brand-blue);stroke-width:1.25px}.ph-ic{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.ph-ic--zentrum{stroke-width:1.6px}.ph-ic--ink{color:var(--color-ink)}.ph-ic--blau{color:var(--color-brand-blue)}.ph-ic--muted{color:var(--color-ink-muted)}.ph-ic--rot{color:var(--color-danger)}.ph-ic--weiss{color:#fff}.ph-haken{color:var(--color-brand-green);stroke-width:2.5px}.ph-glocke{color:var(--color-brand-blue);stroke-width:2px}.ph-sektion{padding:clamp(64px,5.6vw,140px) 0}.ph-sektion--hell{background:var(--color-surface-card)}.ph-sektion h2{letter-spacing:-.018em;font-weight:620;line-height:1.16}.ph-sektion p{color:var(--color-ink-soft);max-width:78ch;margin-top:clamp(16px,1.4vw,36px);font-size:clamp(17px,1.25vw,31px);font-weight:380;line-height:1.62}.ph-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:clamp(12px,1vw,24px);font-size:clamp(12px,.82vw,19px);font-weight:600;display:block}.ph-visual{width:100%}.ph-visual svg{width:100%;height:auto;display:block}.ph-visual .pv-pop{transform-box:fill-box;transform-origin:50%}.ph-karte-weiss{fill:var(--color-surface-card);stroke:var(--color-ink);stroke-width:1.25px}.ph-karte-blau{fill:var(--color-surface-card);stroke:var(--color-brand-blue);stroke-width:1.25px}.ph-skelett{fill:color-mix(in srgb, var(--color-ink) 8%, var(--color-border-subtle))}.ph-titel{fill:var(--color-ink)}.ph-titel--muted{fill:color-mix(in srgb, var(--color-ink-muted) 60%, #fff)}.ph-plakette{fill:color-mix(in srgb, var(--color-brand-blue) 7%, #fff);stroke:color-mix(in srgb, var(--color-ink) 8%, var(--color-border-subtle));stroke-width:1px}.ph-box-neutral{fill:var(--color-border-light);stroke:var(--color-border-subtle);stroke-width:1px}.ph-trenner{stroke:var(--color-border-subtle);stroke-width:1.25px}.ph-linie-ink{stroke:var(--color-ink);stroke-width:1.25px}.ph-blau{fill:var(--color-brand-blue)}.ph-blau-65{fill:color-mix(in srgb, var(--color-brand-blue) 65%, #fff)}.ph-blau-42{fill:color-mix(in srgb, var(--color-brand-blue) 42%, #fff)}.ph-blau-18{fill:color-mix(in srgb, var(--color-brand-blue) 18%, #fff)}.ph-donut-mitte{fill:var(--color-surface-card)}.ph-fluss{stroke:var(--color-ink);stroke-width:1.25px;fill:none}.ph-knoten-rechen{fill:var(--color-ink)}.ph-score-rand{fill:var(--color-surface-card);stroke:var(--color-brand-green);stroke-width:3px}.ph-akte-rand{fill:var(--color-surface-card);stroke:var(--color-border-subtle);stroke-width:1.5px}.ph-svg-text{fill:var(--color-ink);font-weight:620}.ph-svg-text--weiss{fill:#fff;font-weight:600}.ph-karte-flaeche{fill:color-mix(in srgb, var(--color-border-subtle) 25%, #fff);stroke:var(--color-border-subtle);stroke-width:1.25px}.ph-land{fill:color-mix(in srgb, var(--color-border-subtle) 45%, #fff);stroke:color-mix(in srgb, var(--color-ink) 8%, var(--color-border-subtle));stroke-width:1px}.ph-netz-kante{stroke:var(--color-ink);stroke-width:1px;fill:none}.ph-netz-zentrum{fill:var(--color-surface-card);stroke:var(--color-ink);stroke-width:1.5px}.ph-netz-knoten{fill:var(--color-surface-card);stroke:var(--color-brand-blue);stroke-width:1.5px}.ph-bahn{stroke:var(--color-ink);stroke-width:1px;stroke-dasharray:2 7;fill:none}.ph-verbindung{stroke:var(--color-ink);stroke-width:1.25px;stroke-dasharray:4 5;fill:none}.ph-zylinder{fill:var(--color-surface-card);stroke:var(--color-ink);stroke-width:1.75px}.ph-zylinder-ring{stroke:var(--color-ink);stroke-width:1.25px;fill:none}.ph-zylinder-deckel{fill:color-mix(in srgb, var(--color-brand-blue) 7%, #fff);stroke:var(--color-ink);stroke-width:1.75px}.ph-kreis-blau,.ph-chip{fill:var(--color-surface-card);stroke:var(--color-brand-blue);stroke-width:1.5px}.ph-chip-haken{fill:var(--color-surface-card);stroke:var(--color-brand-green);stroke-width:1.25px}.ph-dimension{fill:var(--color-surface-card);stroke:var(--color-ink);stroke-width:1.25px}.ph-bez-kante{stroke:var(--color-ink);fill:none;opacity:.85}.ph-bez-knoten{fill:var(--color-surface-card);stroke:var(--color-ink);stroke-width:2.5px}.ph-bez-lieferant{fill:var(--color-surface-card);stroke:var(--color-brand-blue);stroke-width:3px}.ph-gewonnen-rand{fill:var(--color-surface-card);stroke:var(--color-brand-green);stroke-width:2px}.ph-follow-pill{fill:var(--color-brand-blue)}.ph-follow-plus{stroke:#fff;stroke-width:2px;stroke-linecap:round}.ph-heute{fill:var(--color-brand-blue)}.ph-heute-linie{stroke:var(--color-brand-blue);stroke-width:1.5px}.ph-uhr-rand{fill:var(--color-surface-card);stroke:var(--color-warn);stroke-width:1.5px}.ph-uhr-blatt{stroke:var(--color-warn);stroke-width:1.25px;fill:none}.ph-uhr-zeiger{stroke:var(--color-warn);stroke-width:1.25px;stroke-linecap:round}.ph-wieder{fill:none;stroke:var(--color-brand-blue);stroke-width:1.25px;stroke-dasharray:4 4}.ph-achse-tick{stroke:var(--color-ink);stroke-width:1px}
