/*! NBC v7.076 · Pforzheim regional page · native NBC layout/typography reset
 * Scope: Pforzheim only. Typography, rails and hero geometry are owned by NBC core.
 * This file only adds Pforzheim-specific composition and the signature visual.
 */

body.region-pforzheim{
  --pf-line:rgba(247,245,242,.11);
  --pf-muted:rgba(247,245,242,.66);
  --pf-green:#8bcf9a;
  --pf-amber:#edc078;
  --pf-paper:#f1eee5;
  --pf-paper-ink:#0b1710;
}

body.region-pforzheim .rx-page{color:var(--paper,#f7f5f2);overflow:hidden}
body.region-pforzheim .rx-page *{box-sizing:border-box}
body.region-pforzheim .rx-page section{position:relative}
body.region-pforzheim .rx-kicker{
  margin:0 0 18px;
  font-family:var(--font-mono,var(--mono),monospace);
  font-size:9px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--pf-green);
}
body.region-pforzheim .rx-page :is(h1,h2,h3,h4,p,a,strong,span){
  font-family:Archivo,-apple-system,"Segoe UI",system-ui,sans-serif;
}
body.region-pforzheim .rx-page .mono,
body.region-pforzheim .rx-page .rx-kicker,
body.region-pforzheim .rx-page .pfz-tag,
body.region-pforzheim .rx-page .pfz-callout>span{
  font-family:var(--font-mono,var(--mono),monospace);
}
body.region-pforzheim .rx-page em{font-style:normal;color:#b9ccbf}
body.region-pforzheim .rx-page .rx-shell,
body.region-pforzheim .rx-page .rx-reading{
  width:100%;max-width:none;margin-inline:0;padding-inline:0;
}

/* Hero: NBC core owns type, rail, spacing and split proportions. */
body.region-pforzheim .pfm-hero{overflow:clip;isolation:isolate;border-bottom:1px solid var(--pf-line)}
body.region-pforzheim .pfm-hero::before{
  content:"";position:absolute;right:-8%;top:-26%;width:min(880px,58vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(139,207,154,.09),rgba(11,23,16,0) 68%);pointer-events:none;z-index:-1;
}
body.region-pforzheim .pfm-hero-copy{min-width:0}
body.region-pforzheim .pfm-hero-copy .nbc-unified-hero-title span{display:block;color:#eef2ed}
body.region-pforzheim .pfm-hero .service-hero-proofline{margin-top:28px}
body.region-pforzheim .pfm-hero .hero-actions{margin-top:30px}

/* Signature visual: one idea — the first transition that opens a hidden side path. */
body.region-pforzheim .pfz-hero-artifact{margin:0;min-width:0;align-self:center}
body.region-pforzheim .pfz-hero-artifact figcaption{margin-bottom:14px;color:rgba(247,245,242,.48)}
body.region-pforzheim .pfz-hero-artifact>p{margin:16px 0 0;max-width:46ch;font-size:14px;line-height:1.6;color:var(--pf-muted)}
body.region-pforzheim .pfz-stream-visual{
  position:relative;min-height:470px;border:1px solid var(--pf-line);overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(139,207,154,.02) 52%,rgba(0,0,0,.12));
  box-shadow:0 30px 90px rgba(0,0,0,.22);
}
body.region-pforzheim .pfz-stream-visual::before{
  content:"";position:absolute;inset:22px 22px 116px;border:1px solid rgba(247,245,242,.08);border-radius:24px;
  background:linear-gradient(180deg,rgba(16,24,18,.44),rgba(10,16,12,.14));
}
body.region-pforzheim .pfz-grid{
  position:absolute;inset:48px 40px 138px;
  background-image:linear-gradient(rgba(247,245,242,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(247,245,242,.03) 1px,transparent 1px);
  background-size:34px 34px;opacity:.42;mask-image:linear-gradient(180deg,#000 0%,transparent 96%);
}
body.region-pforzheim .pfz-scan{
  position:absolute;left:45%;top:40px;bottom:118px;width:82px;
  background:linear-gradient(180deg,transparent,rgba(222,232,225,.05) 18%,rgba(222,232,225,.11) 52%,transparent);
}
body.region-pforzheim .pfz-node{
  position:absolute;top:148px;width:28px;height:28px;border-radius:9px;background:#08100b;
  border:1px solid rgba(239,241,236,.25);box-shadow:0 0 0 7px rgba(9,16,12,.17);
}
body.region-pforzheim .pfz-node--1{left:9%}
body.region-pforzheim .pfz-node--2{left:27%}
body.region-pforzheim .pfz-node--3{left:45%}
body.region-pforzheim .pfz-node--4{left:63%}
body.region-pforzheim .pfz-node--5{left:81%}
body.region-pforzheim .pfz-rail{position:absolute;pointer-events:none}
body.region-pforzheim .pfz-rail--main{
  left:12%;right:14%;top:162px;height:132px;border-top:2.4px solid rgba(139,207,154,.82);
  border-right:2.4px solid rgba(139,207,154,.82);border-bottom:2.4px solid rgba(139,207,154,.82);
  border-radius:0 30px 30px 30px;filter:drop-shadow(0 0 11px rgba(139,207,154,.17));
}
body.region-pforzheim .pfz-rail--branch{
  left:31%;width:31%;top:210px;height:82px;border-top:1.6px dashed rgba(237,192,120,.8);
  border-right:1.6px dashed rgba(237,192,120,.8);border-radius:0 24px 0 0;
}
body.region-pforzheim .pfz-tag{
  position:absolute;font-size:8px;font-weight:600;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;
}
body.region-pforzheim .pfz-tag--main{left:9%;top:105px;color:#a8c9b1}
body.region-pforzheim .pfz-tag--branch{left:43%;top:236px;color:#dab982}
body.region-pforzheim .pfz-tag--friction{
  left:52%;top:196px;padding:7px 9px;border-radius:999px;color:#e4c58e;
  border:1px solid rgba(237,192,120,.24);background:rgba(45,32,16,.62);
}
body.region-pforzheim .pfz-callout{
  position:absolute;left:34px;right:34px;bottom:26px;padding-top:18px;border-top:1px solid rgba(247,245,242,.09);
}
body.region-pforzheim .pfz-callout>span{display:block;font-size:8px;font-weight:600;letter-spacing:.14em;color:#718378}
body.region-pforzheim .pfz-callout strong{
  display:block;margin-top:9px;max-width:17ch;font-size:clamp(22px,1.8vw,30px);font-weight:700;line-height:1.08;letter-spacing:-.035em;color:#edf1ee;
}

/* Narrative sections share the global NBC outer rail. */
body.region-pforzheim .rx-statement .rx-reading{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.52fr);column-gap:clamp(54px,6vw,100px);align-items:end}
body.region-pforzheim .rx-statement .rx-kicker{grid-column:1/-1}
body.region-pforzheim .rx-statement h2{max-width:15ch;margin:0}
body.region-pforzheim .rx-statement .rx-body{max-width:560px;margin:0;font-size:clamp(17px,1.25vw,19px);line-height:1.65;color:var(--pf-muted)}

body.region-pforzheim .rx-folio{background:var(--pf-paper);color:var(--pf-paper-ink)}
body.region-pforzheim .rx-folio-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.7fr);gap:clamp(54px,7vw,112px);align-items:start}
body.region-pforzheim .rx-folio .rx-kicker{color:#52665a}
body.region-pforzheim .rx-folio h2{margin:0;max-width:14ch;color:var(--pf-paper-ink)}
body.region-pforzheim .rx-folio p{margin:0;font-size:clamp(17px,1.25vw,19px);line-height:1.65;color:#2c382f}
body.region-pforzheim .rx-folio strong{font-weight:700}
body.region-pforzheim .rx-rule{height:1px;background:#cfc8ba;margin:30px 0 18px}
body.region-pforzheim .rx-folio span{font-family:var(--font-mono,var(--mono),monospace);font-size:9px;font-weight:600;line-height:1.4;letter-spacing:.11em;color:#617066}

body.region-pforzheim .pf-leverage-head{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.25fr);gap:clamp(48px,6vw,96px);align-items:end;margin-bottom:52px}
body.region-pforzheim .pf-leverage-head h2{margin:0;max-width:16ch}
body.region-pforzheim .pf-path-list{border-top:1px solid var(--pf-line)}
body.region-pforzheim .pf-path-list a{
  display:grid;grid-template-columns:minmax(300px,.88fr) minmax(0,1fr) 190px;gap:clamp(28px,4vw,64px);align-items:center;
  padding:30px 0;border-bottom:1px solid var(--pf-line);color:inherit;text-decoration:none;transition:padding .22s ease,background .22s ease;
}
body.region-pforzheim .pf-path-list a:hover{padding-left:10px;background:rgba(139,207,154,.025)}
body.region-pforzheim .pf-path-list span{font-family:var(--font-mono,var(--mono),monospace);font-size:9px;font-weight:600;letter-spacing:.12em;color:#819487}
body.region-pforzheim .pf-path-list h3{margin:7px 0 0;font-size:clamp(24px,2vw,32px);font-weight:700;line-height:1.06;letter-spacing:-.035em}
body.region-pforzheim .pf-path-list p{margin:0;color:#98a49c;line-height:1.62}
body.region-pforzheim .pf-path-list b{font-size:12px;color:#c6d1ca}

body.region-pforzheim .pf-proof{border-top:1px solid var(--pf-line)}
body.region-pforzheim .pf-proof-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.58fr);gap:clamp(60px,7vw,118px);align-items:start}
body.region-pforzheim .pf-proof-main h2{margin:0 0 24px;max-width:14ch}
body.region-pforzheim .pf-proof-main>p{max-width:760px;margin:0 0 24px;color:#a5b0a8;font-size:clamp(17px,1.25vw,19px);line-height:1.68}
body.region-pforzheim .pf-proof-main strong{color:#e2e9e4;font-size:1.1em}
body.region-pforzheim .rx-authority{border-top:1px solid var(--pf-line);padding-top:28px}
body.region-pforzheim .rx-authority>span{font-family:var(--font-mono,var(--mono),monospace);font-size:9px;font-weight:600;letter-spacing:.12em;color:#829589}
body.region-pforzheim .rx-authority h3{margin:16px 0;font-size:clamp(27px,2.2vw,36px);font-weight:700;line-height:1.08;letter-spacing:-.035em}
body.region-pforzheim .rx-authority p{margin:0;color:#9eaaa2;line-height:1.68}

body.region-pforzheim .rx-close{text-align:left;border-top:1px solid var(--pf-line)}
body.region-pforzheim .rx-close .rx-reading{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.52fr);column-gap:clamp(54px,6vw,100px);align-items:end}
body.region-pforzheim .rx-close .rx-kicker{grid-column:1/-1}
body.region-pforzheim .rx-close h2{margin:0;max-width:13ch}
body.region-pforzheim .rx-close p{margin:0 0 24px;max-width:560px;color:#a9b3ac;font-size:clamp(17px,1.25vw,19px);line-height:1.62}
body.region-pforzheim .rx-close .btn{justify-self:start}
body.region-pforzheim .rx-close .rx-reading>span{grid-column:2;display:block;margin-top:18px;color:#718078;font-size:11px}

@media (max-width:1023px){
  body.region-pforzheim .pfz-stream-visual{min-height:430px}
  body.region-pforzheim .rx-statement .rx-reading,
  body.region-pforzheim .rx-folio-grid,
  body.region-pforzheim .pf-proof-grid,
  body.region-pforzheim .rx-close .rx-reading{grid-template-columns:1fr;row-gap:32px}
  body.region-pforzheim .rx-statement .rx-kicker,
  body.region-pforzheim .rx-close .rx-kicker{grid-column:auto}
  body.region-pforzheim .rx-close .rx-reading>span{grid-column:auto}
  body.region-pforzheim .pf-leverage-head{grid-template-columns:1fr;gap:18px}
  body.region-pforzheim .pf-path-list a{grid-template-columns:1fr;gap:12px}
}

@media (max-width:760px){
  body.region-pforzheim .pfz-stream-visual{min-height:390px}
  body.region-pforzheim .pfz-grid{inset:42px 24px 132px;background-size:28px 28px}
  body.region-pforzheim .pfz-node{top:126px;width:24px;height:24px;border-radius:8px}
  body.region-pforzheim .pfz-node--1{left:8%}body.region-pforzheim .pfz-node--2{left:27%}body.region-pforzheim .pfz-node--3{left:46%}body.region-pforzheim .pfz-node--4{left:65%}body.region-pforzheim .pfz-node--5{left:84%}
  body.region-pforzheim .pfz-rail--main{left:11%;right:10%;top:138px;height:112px}
  body.region-pforzheim .pfz-rail--branch{left:31%;width:34%;top:177px;height:74px}
  body.region-pforzheim .pfz-tag--main{left:8%;top:90px}
  body.region-pforzheim .pfz-tag--branch{left:41%;top:201px}
  body.region-pforzheim .pfz-tag--friction{left:51%;top:164px;font-size:7px;padding:6px 8px}
  body.region-pforzheim .pfz-callout{left:22px;right:22px;bottom:20px}
  body.region-pforzheim .pfz-callout strong{font-size:23px;max-width:15ch}
  body.region-pforzheim .pf-path-list a{padding:26px 0}
}

/* v7.077 · Signature visual + service rhythm pass */
body.region-pforzheim .pfz-stream-visual{
  min-height:438px;
  background:
    radial-gradient(circle at 49% 32%,rgba(139,207,154,.065),transparent 27%),
    linear-gradient(145deg,rgba(255,255,255,.022),rgba(139,207,154,.018) 52%,rgba(0,0,0,.12));
}
body.region-pforzheim .pfz-stream-visual::before{
  inset:20px 20px 108px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(18,28,21,.56),rgba(8,15,10,.22));
}
body.region-pforzheim .pfz-grid{inset:42px 34px 128px;opacity:.30}
body.region-pforzheim .pfz-scan{
  left:43%;top:30px;bottom:108px;width:88px;opacity:.78;
  background:linear-gradient(180deg,transparent,rgba(222,232,225,.035) 20%,rgba(222,232,225,.09) 50%,transparent);
}
body.region-pforzheim .pfz-flow-svg{
  position:absolute;z-index:2;left:28px;right:28px;top:54px;width:calc(100% - 56px);height:250px;overflow:visible;
}
body.region-pforzheim .pfz-flow-halo{
  fill:none;stroke:rgba(139,207,154,.055);stroke-width:16;stroke-linecap:round;
}
body.region-pforzheim .pfz-flow-main{
  fill:none;stroke:url(#pfzGreen);stroke-width:2.7;stroke-linecap:round;
  filter:drop-shadow(0 0 8px rgba(139,207,154,.28));
}
body.region-pforzheim .pfz-flow-branch{
  fill:none;stroke:url(#pfzAmber);stroke-width:2.1;stroke-linecap:round;stroke-dasharray:6 8;
  filter:drop-shadow(0 0 7px rgba(237,192,120,.16));
}
body.region-pforzheim .pfz-flow-return{
  fill:none;stroke:rgba(237,192,120,.30);stroke-width:1.3;stroke-linecap:round;stroke-dasharray:2 7;
}
body.region-pforzheim .pfz-flow-nodes circle{
  fill:#08100b;stroke:rgba(225,236,228,.45);stroke-width:1.35;
}
body.region-pforzheim .pfz-flow-nodes .is-break{
  fill:rgba(237,192,120,.12);stroke:var(--pf-amber);stroke-width:1.7;
  filter:drop-shadow(0 0 8px rgba(237,192,120,.30));
}
body.region-pforzheim .pfz-flow-labels text,
body.region-pforzheim .pfz-flow-friction text,
body.region-pforzheim .pfz-flow-break text{
  font-family:var(--font-mono,var(--mono),monospace);font-weight:600;letter-spacing:.075em;
  fill:rgba(239,241,236,.48);font-size:8px;
}
body.region-pforzheim .pfz-flow-labels text{fill:rgba(239,241,236,.56)}
body.region-pforzheim .pfz-flow-friction circle{
  fill:var(--pf-amber);stroke:rgba(237,192,120,.22);stroke-width:9;paint-order:stroke;
  filter:drop-shadow(0 0 7px rgba(237,192,120,.35));
}
body.region-pforzheim .pfz-flow-friction text{fill:#dfbf87}
body.region-pforzheim .pfz-flow-break line{stroke:rgba(237,192,120,.23);stroke-width:1;stroke-dasharray:3 7}
body.region-pforzheim .pfz-flow-break text{fill:#a99067}
body.region-pforzheim .pfz-callout{
  z-index:3;left:28px;right:28px;bottom:22px;padding-top:15px;
}
body.region-pforzheim .pfz-callout strong{
  margin-top:7px;max-width:26ch;font-size:clamp(18px,1.35vw,22px);line-height:1.12;letter-spacing:-.025em;font-weight:700;
}
body.region-pforzheim .pfz-hero-artifact>p{margin-top:13px;font-size:13px;line-height:1.55;color:rgba(247,245,242,.56)}

/* Keep the regional story on the same vertical cadence as the service family. */
body.region-pforzheim main.rx-page > .service-editorial-section{
  min-height:0!important;height:auto!important;
}
body.region-pforzheim .rx-statement,
body.region-pforzheim .rx-folio,
body.region-pforzheim .pf-leverage,
body.region-pforzheim .pf-proof,
body.region-pforzheim .rx-close{
  padding-block:clamp(96px,8vw,132px)!important;
}
body.region-pforzheim .rx-statement{border-bottom:1px solid var(--pf-line)}
body.region-pforzheim .rx-statement .rx-reading{align-items:center}
body.region-pforzheim .rx-statement h2{max-width:14.5ch}
body.region-pforzheim .rx-statement .rx-body{align-self:end;padding-bottom:5px}
body.region-pforzheim .rx-folio{padding-block:clamp(88px,7vw,116px)!important}
body.region-pforzheim .pf-leverage{padding-block:clamp(104px,8vw,136px)!important}
body.region-pforzheim .pf-leverage-head{margin-bottom:44px}
body.region-pforzheim .pf-path-list a{padding-block:27px}
body.region-pforzheim .pf-proof{padding-block:clamp(104px,8vw,136px)!important}
body.region-pforzheim .rx-close{padding-block:clamp(104px,8vw,142px)!important}

/* Quiet transition from hero into the first thesis instead of a second hero competing with it. */
body.region-pforzheim .pfm-after-hero .rx-kicker{margin-bottom:20px}
body.region-pforzheim .pfm-after-hero .nbc-section-title{
  font-size:clamp(42px,4.15vw,64px);line-height:.99;letter-spacing:-.052em;
}
body.region-pforzheim .pf-leverage-head .nbc-section-title,
body.region-pforzheim .pf-proof-main .nbc-section-title,
body.region-pforzheim .rx-close .nbc-section-title{
  font-size:clamp(40px,3.7vw,58px);line-height:1;letter-spacing:-.05em;
}

@media (prefers-reduced-motion:no-preference){
  body.region-pforzheim .pfz-flow-branch{animation:pfzDash 8s linear infinite}
  body.region-pforzheim .pfz-flow-friction circle{animation:pfzPulse 3.8s ease-in-out infinite}
  @keyframes pfzDash{to{stroke-dashoffset:-56}}
  @keyframes pfzPulse{0%,100%{opacity:.72}50%{opacity:1}}
}

@media (max-width:1023px){
  body.region-pforzheim .pfz-stream-visual{min-height:420px}
  body.region-pforzheim .pfz-flow-svg{left:20px;right:20px;width:calc(100% - 40px);top:52px;height:230px}
}
@media (max-width:760px){
  body.region-pforzheim .rx-statement,
  body.region-pforzheim .rx-folio,
  body.region-pforzheim .pf-leverage,
  body.region-pforzheim .pf-proof,
  body.region-pforzheim .rx-close{padding-block:76px!important}
  body.region-pforzheim .pfz-stream-visual{min-height:365px}
  body.region-pforzheim .pfz-flow-svg{left:12px;right:12px;width:calc(100% - 24px);top:48px;height:196px}
  body.region-pforzheim .pfz-flow-labels text{font-size:7px}
  body.region-pforzheim .pfz-flow-friction text{font-size:7px}
  body.region-pforzheim .pfz-flow-break text{font-size:7px}
  body.region-pforzheim .pfz-callout{left:20px;right:20px;bottom:18px}
  body.region-pforzheim .pfz-callout strong{font-size:20px;max-width:23ch}
  body.region-pforzheim .pfm-after-hero .nbc-section-title{font-size:clamp(36px,10vw,48px)}
}

/* v7.078 · final visual reduction / collision cleanup */
body.region-pforzheim .pfz-flow-ghost{
  fill:none;stroke:rgba(196,216,203,.055);stroke-width:1;stroke-linecap:round;
}
body.region-pforzheim .pfz-flow-ghost--a{stroke-dasharray:1 10}
body.region-pforzheim .pfz-flow-ghost--b{stroke-dasharray:1 13;opacity:.62}
body.region-pforzheim .pfz-flow-svg{height:264px;top:48px}
body.region-pforzheim .pfz-flow-labels text{font-size:7.6px;letter-spacing:.065em}
body.region-pforzheim .pfz-flow-friction text{font-size:7.6px;letter-spacing:.07em}
body.region-pforzheim .pfz-callout strong{max-width:21ch;font-size:clamp(19px,1.42vw,23px)}
body.region-pforzheim .pfz-hero-artifact>p{max-width:42ch;color:rgba(247,245,242,.60)}
@media(max-width:760px){
  body.region-pforzheim .pfz-flow-svg{top:44px;height:205px}
  body.region-pforzheim .pfz-flow-labels text,
  body.region-pforzheim .pfz-flow-friction text{font-size:6.7px}
  body.region-pforzheim .pfz-callout strong{max-width:19ch}
}
body.region-pforzheim .pfz-flow-labels text,
body.region-pforzheim .pfz-flow-friction text,
body.region-pforzheim .pfz-flow-break text{font-size:10px;letter-spacing:.06em}
@media(max-width:760px){
  body.region-pforzheim .pfz-flow-labels text,
  body.region-pforzheim .pfz-flow-friction text,
  body.region-pforzheim .pfz-flow-break text{font-size:9.5px}
}

/* v7.078 · service-family geometry parity */
@media(min-width:1024px){
  body.region-pforzheim .pfm-hero-copy .nbc-unified-hero-lead{line-height:1.52!important}
  body.region-pforzheim .pfz-stream-visual{min-height:402px}
  body.region-pforzheim .pfz-flow-svg{top:42px;height:230px}
  body.region-pforzheim .pfz-stream-visual::before{inset:18px 20px 102px}
  body.region-pforzheim .pfz-grid{inset:38px 34px 118px}
  body.region-pforzheim .pfz-scan{top:26px;bottom:102px}
  body.region-pforzheim .pfz-callout{bottom:18px}
}

/* v7.079 · signature instrument authority pass — layout geometry unchanged */
body.region-pforzheim .pfz-stream-visual{
  min-height:432px;
  background:
    radial-gradient(circle at 54% 36%,rgba(139,207,154,.095),transparent 24%),
    radial-gradient(circle at 60% 60%,rgba(237,192,120,.045),transparent 23%),
    linear-gradient(145deg,rgba(255,255,255,.023),rgba(139,207,154,.015) 50%,rgba(0,0,0,.13));
}
body.region-pforzheim .pfz-stream-visual::before{
  inset:14px 14px 92px;
  border-radius:20px;
  border-color:rgba(247,245,242,.075);
  background:linear-gradient(180deg,rgba(15,25,18,.56),rgba(7,14,10,.18));
}
body.region-pforzheim .pfz-grid{
  inset:28px 24px 105px;
  background-size:30px 30px;
  opacity:.23;
}
body.region-pforzheim .pfz-scan{
  left:49%;top:20px;bottom:92px;width:72px;opacity:.68;
  background:linear-gradient(180deg,transparent,rgba(226,236,229,.025) 16%,rgba(226,236,229,.105) 49%,transparent);
}
body.region-pforzheim .pfz-flow-svg{
  left:14px;right:14px;top:20px;width:calc(100% - 28px);height:320px;
}
body.region-pforzheim .pfz-flow-depth path{
  fill:none;stroke:rgba(168,203,179,.075);stroke-width:1.1;stroke-linecap:round;
}
body.region-pforzheim .pfz-flow-depth path:nth-child(2){opacity:.62}
body.region-pforzheim .pfz-flow-depth path:nth-child(3){opacity:.44}
body.region-pforzheim .pfz-flow-halo{stroke:rgba(139,207,154,.07);stroke-width:18}
body.region-pforzheim .pfz-flow-main{
  stroke-width:3.25;
  filter:drop-shadow(0 0 10px rgba(139,207,154,.34));
}
body.region-pforzheim .pfz-flow-branch{
  stroke-width:2.35;stroke-dasharray:7 9;
  filter:drop-shadow(0 0 9px rgba(237,192,120,.23));
}
body.region-pforzheim .pfz-flow-return{stroke-width:1.25;opacity:.72}
body.region-pforzheim .pfz-flow-nodes circle{
  fill:#07100a;stroke:rgba(227,238,230,.58);stroke-width:1.45;
}
body.region-pforzheim .pfz-flow-nodes circle.is-break{
  fill:rgba(237,192,120,.16);stroke:#efc477;stroke-width:1.8;
  filter:url(#pfzGlowStrong);
}
body.region-pforzheim .pfz-flow-break circle{
  fill:none;stroke:rgba(237,192,120,.18);stroke-width:1.1;
  filter:drop-shadow(0 0 11px rgba(237,192,120,.16));
}
body.region-pforzheim .pfz-flow-break line{
  stroke:rgba(237,192,120,.20);stroke-dasharray:2 8;
}
body.region-pforzheim .pfz-flow-labels text,
body.region-pforzheim .pfz-flow-friction text,
body.region-pforzheim .pfz-flow-break text{
  font-size:9.2px;letter-spacing:.065em;
}
body.region-pforzheim .pfz-flow-labels text{fill:rgba(239,241,236,.64)}
body.region-pforzheim .pfz-flow-break text{fill:#b79968}
body.region-pforzheim .pfz-flow-friction circle{
  fill:#efc477;stroke:rgba(237,192,120,.16);stroke-width:11;
  filter:url(#pfzGlowStrong);
}
body.region-pforzheim .pfz-flow-friction text{fill:#e3c188}
body.region-pforzheim .pfz-flow-note text{
  font-family:var(--font-mono,var(--mono),monospace);font-size:6.8px;font-weight:600;letter-spacing:.09em;
  fill:rgba(239,241,236,.28);
}
body.region-pforzheim .pfz-callout{
  left:22px;right:22px;bottom:16px;padding-top:13px;
}
body.region-pforzheim .pfz-callout>span{color:#829589}
body.region-pforzheim .pfz-callout strong{
  max-width:22ch;font-size:clamp(18px,1.25vw,21px);line-height:1.08;letter-spacing:-.025em;
}
body.region-pforzheim .pfz-hero-artifact>p{
  max-width:44ch;margin-top:11px;color:rgba(247,245,242,.58);font-size:12.5px;line-height:1.55;
}

@media(prefers-reduced-motion:no-preference){
  body.region-pforzheim .pfz-flow-main{animation:pfzMainGlow 4.8s ease-in-out infinite}
  body.region-pforzheim .pfz-flow-break circle{animation:pfzBreakHalo 3.4s ease-in-out infinite}
  @keyframes pfzMainGlow{0%,100%{opacity:.76}50%{opacity:1}}
  @keyframes pfzBreakHalo{0%,100%{r:25;opacity:.45}50%{r:31;opacity:.9}}
}

@media(max-width:1023px){
  body.region-pforzheim .pfz-stream-visual{min-height:410px}
  body.region-pforzheim .pfz-flow-svg{left:12px;right:12px;top:18px;width:calc(100% - 24px);height:295px}
}
@media(max-width:760px){
  body.region-pforzheim .pfz-stream-visual{min-height:338px}
  body.region-pforzheim .pfz-stream-visual::before{inset:12px 12px 78px;border-radius:17px}
  body.region-pforzheim .pfz-grid{inset:22px 18px 88px;background-size:25px 25px}
  body.region-pforzheim .pfz-scan{top:14px;bottom:78px;width:54px}
  body.region-pforzheim .pfz-flow-svg{left:7px;right:7px;top:10px;width:calc(100% - 14px);height:250px}
  body.region-pforzheim .pfz-flow-labels text,
  body.region-pforzheim .pfz-flow-friction text,
  body.region-pforzheim .pfz-flow-break text{font-size:8px}
  body.region-pforzheim .pfz-flow-note text{font-size:5.4px}
  body.region-pforzheim .pfz-callout{left:16px;right:16px;bottom:13px;padding-top:10px}
  body.region-pforzheim .pfz-callout strong{font-size:18px;max-width:20ch}
  body.region-pforzheim .pfz-hero-artifact>p{font-size:12px;margin-top:9px}
}

/* v7.080 · mobile signature placement + stronger break focus */
body.region-pforzheim .pfz-flow-break .pfz-break-glow{
  fill:rgba(237,192,120,.035);stroke:rgba(237,192,120,.055);stroke-width:1;
  filter:drop-shadow(0 0 18px rgba(237,192,120,.14));
}
body.region-pforzheim .pfz-flow-break .pfz-break-ring{
  fill:none;stroke:rgba(237,192,120,.20);stroke-width:1.1;
  filter:drop-shadow(0 0 11px rgba(237,192,120,.16));
}
@media(prefers-reduced-motion:no-preference){
  body.region-pforzheim .pfz-flow-break .pfz-break-ring{animation:pfzBreakHalo 3.4s ease-in-out infinite}
  body.region-pforzheim .pfz-flow-break .pfz-break-glow{animation:pfzBreakGlow 3.4s ease-in-out infinite}
  @keyframes pfzBreakGlow{0%,100%{opacity:.48}50%{opacity:1}}
}

@media(max-width:760px){
  /* Regional mobile art direction: show the signature instrument before proof/CTA. */
  body.region-pforzheim .pfm-hero .nbc-hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
  }
  body.region-pforzheim .pfm-hero .pfm-hero-copy{display:contents}
  body.region-pforzheim .pfm-hero .nbc-hero-location{order:1;margin-bottom:18px}
  body.region-pforzheim .pfm-hero .nbc-unified-hero-title{order:2;margin-bottom:24px}
  body.region-pforzheim .pfm-hero .nbc-unified-hero-lead{order:3;margin-bottom:26px}
  body.region-pforzheim .pfm-hero .pfz-hero-artifact{order:4;margin:0 0 28px}
  body.region-pforzheim .pfm-hero .service-hero-proofline{order:5;margin-top:0!important}
  body.region-pforzheim .pfm-hero .hero-actions{order:6;margin-top:20px!important}
  body.region-pforzheim .pfz-hero-artifact figcaption{margin-bottom:9px}
  body.region-pforzheim .pfz-stream-visual{min-height:318px}
  body.region-pforzheim .pfz-flow-svg{top:6px;height:236px}
  body.region-pforzheim .pfz-callout strong{font-size:17px}
  body.region-pforzheim .pfz-hero-artifact>p{display:none}
}

/* v7.081 · precision-to-friction signature motif */
body.region-pforzheim .pfz-turbulence path{
  fill:none;stroke:rgba(150,190,163,.15);stroke-width:1.15;stroke-linecap:round;
}
body.region-pforzheim .pfz-turbulence path:nth-child(2){stroke:rgba(185,218,195,.12)}
body.region-pforzheim .pfz-turbulence path:nth-child(3){stroke:rgba(237,192,120,.105)}
body.region-pforzheim .pfz-stream-visual{
  background:
    radial-gradient(circle at 55% 38%,rgba(139,207,154,.115),transparent 23%),
    radial-gradient(circle at 60% 60%,rgba(237,192,120,.055),transparent 23%),
    linear-gradient(145deg,rgba(255,255,255,.024),rgba(139,207,154,.016) 50%,rgba(0,0,0,.13));
}
@media(prefers-reduced-motion:no-preference){
  body.region-pforzheim .pfz-turbulence path:nth-child(1){animation:pfzTurbulenceA 6.2s ease-in-out infinite}
  body.region-pforzheim .pfz-turbulence path:nth-child(2){animation:pfzTurbulenceA 7.3s ease-in-out infinite reverse}
  body.region-pforzheim .pfz-turbulence path:nth-child(3){animation:pfzTurbulenceB 6.8s ease-in-out infinite}
  @keyframes pfzTurbulenceA{0%,100%{opacity:.42}50%{opacity:.92}}
  @keyframes pfzTurbulenceB{0%,100%{opacity:.25}50%{opacity:.72}}
}
@media(max-width:760px){
  body.region-pforzheim .pfm-hero .pfm-hero-copy{display:contents!important}
  body.region-pforzheim .pfm-hero .nbc-hero-location{order:1!important}
  body.region-pforzheim .pfm-hero .nbc-unified-hero-title{order:2!important}
  body.region-pforzheim .pfm-hero .nbc-unified-hero-lead{order:3!important}
  body.region-pforzheim .pfm-hero .pfz-hero-artifact{order:4!important}
  body.region-pforzheim .pfm-hero .service-hero-proofline{order:5!important}
  body.region-pforzheim .pfm-hero .hero-actions{order:6!important}
}

/* v7.086 · premium signal visual parity with Stuttgart while preserving Pforzheim logic */
body.region-pforzheim .pfz-stream-visual{
  min-height:500px;
  background:radial-gradient(circle at 50% 28%,rgba(139,207,154,.10),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.018),rgba(139,207,154,.012) 54%,rgba(0,0,0,.16));
  box-shadow:0 34px 110px rgba(0,0,0,.24);
}
body.region-pforzheim .pfz-stream-visual::before{display:none}
body.region-pforzheim .pfz-grid{
  inset:46px 28px 132px;opacity:.12;background-size:40px 40px;
  background-image:linear-gradient(rgba(247,245,242,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(247,245,242,.022) 1px,transparent 1px);
}
body.region-pforzheim .pfz-boundary-glow{
  position:absolute;z-index:1;left:48.5%;top:8px;bottom:108px;width:118px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(237,192,120,.04) 28%,rgba(237,192,120,.12) 50%,rgba(237,192,120,.04) 72%,transparent);filter:blur(4px)
}
body.region-pforzheim .pfz-flow-svg{left:14px;right:14px;top:26px;width:calc(100% - 28px);height:330px;overflow:visible}
body.region-pforzheim :is(.pfz-system-labels text,.pfz-end-labels text,.pfz-friction text,.pfz-process-label,.pfz-boundary-label){font-family:var(--font-mono,var(--mono),monospace);font-weight:600;letter-spacing:.09em}
body.region-pforzheim .pfz-guides line{stroke:rgba(247,245,242,.08);stroke-width:1}
body.region-pforzheim .pfz-system-labels text{font-size:8.3px;fill:rgba(239,241,236,.42)}
body.region-pforzheim .pfz-system-ticks line{stroke:rgba(239,241,236,.44);stroke-width:1.2}
body.region-pforzheim .pfz-process-label{font-size:8.5px;fill:rgba(239,241,236,.78)}
body.region-pforzheim .pfz-boundary-label{font-size:9.3px;fill:#dfbf87}
body.region-pforzheim .pfz-boundary{stroke:rgba(237,192,120,.52);stroke-width:1.3;stroke-dasharray:5 9}
body.region-pforzheim .pfz-main-glow{fill:none;stroke:rgba(164,229,182,.11);stroke-width:24;stroke-linecap:round;filter:drop-shadow(0 0 18px rgba(139,207,154,.22))}
body.region-pforzheim .pfz-main-line-1,body.region-pforzheim .pfz-main-line-2{fill:none;stroke:url(#pfzGreen86);stroke-width:3.1;stroke-linecap:round;filter:drop-shadow(0 0 10px rgba(139,207,154,.34))}
body.region-pforzheim .pfz-wave{fill:none;stroke:rgba(192,235,205,.72);stroke-width:1.65;stroke-linecap:round}
body.region-pforzheim .pfz-wave--2{opacity:.75}body.region-pforzheim .pfz-wave--3{opacity:.58}body.region-pforzheim .pfz-wave--4{opacity:.30}
body.region-pforzheim .pfz-side-route{fill:none;stroke:url(#pfzAmber86);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:8 8;filter:drop-shadow(0 0 8px rgba(237,192,120,.24))}
body.region-pforzheim .pfz-side-tail{fill:none;stroke:rgba(237,192,120,.56);stroke-width:1.7;stroke-linecap:round;stroke-dasharray:4 10}
body.region-pforzheim .pfz-micro-dots circle{fill:#d7f5de;opacity:.92;filter:drop-shadow(0 0 5px rgba(182,242,201,.18))}
body.region-pforzheim .pfz-node-end{fill:#09100c;stroke:rgba(235,244,237,.86);stroke-width:2.6;filter:drop-shadow(0 0 11px rgba(169,232,187,.34))}
body.region-pforzheim .pfz-node-break-outer{fill:rgba(237,192,120,.16);stroke:#edc078;stroke-width:2.6;filter:drop-shadow(0 0 14px rgba(237,192,120,.34))}
body.region-pforzheim .pfz-node-break-inner{fill:#2b2318;stroke:#f0cc87;stroke-width:1.4}
body.region-pforzheim .pfz-friction circle{fill:#f1d18d;stroke:rgba(237,192,120,.28);stroke-width:8;paint-order:stroke;filter:drop-shadow(0 0 10px rgba(237,192,120,.34))}
body.region-pforzheim .pfz-friction text{font-size:9px;fill:#dfbf87}
body.region-pforzheim .pfz-end-labels text{font-size:8px;fill:rgba(239,241,236,.58)}
body.region-pforzheim .pfz-callout{left:28px;right:28px;bottom:20px;padding-top:18px;border-top:1px solid rgba(247,245,242,.12)}
body.region-pforzheim .pfz-callout>span{font-size:8.4px;letter-spacing:.16em;color:#86998e}
body.region-pforzheim .pfz-callout strong{margin-top:10px;max-width:26ch;font-size:clamp(22px,1.6vw,28px);line-height:1.06;letter-spacing:-.03em}
body.region-pforzheim .pfz-hero-artifact>p{margin:13px 0 0;max-width:47ch;font-size:13px;line-height:1.56;color:rgba(247,245,242,.56)}
@media(prefers-reduced-motion:no-preference){
  body.region-pforzheim .pfz-main-line-1,body.region-pforzheim .pfz-main-line-2{stroke-dasharray:10 4;animation:pfz86Flow 8s linear infinite}
  body.region-pforzheim .pfz-side-route{animation:pfz86Branch 11s linear infinite}
}
@keyframes pfz86Flow{to{stroke-dashoffset:-78}}@keyframes pfz86Branch{to{stroke-dashoffset:-84}}
@media(max-width:760px){
  body.region-pforzheim .pfz-stream-visual{min-height:430px}
  body.region-pforzheim .pfz-grid{inset:30px 18px 116px;background-size:30px 30px}
  body.region-pforzheim .pfz-boundary-glow{top:10px;bottom:108px;width:86px}
  body.region-pforzheim .pfz-flow-svg{left:8px;right:8px;top:22px;width:calc(100% - 16px);height:255px}
  body.region-pforzheim .pfz-system-labels text{font-size:6.9px}
  body.region-pforzheim .pfz-end-labels text{font-size:6.6px}
  body.region-pforzheim .pfz-process-label{font-size:6.8px}
  body.region-pforzheim .pfz-boundary-label{font-size:7.2px}
  body.region-pforzheim .pfz-friction text{font-size:7px}
  body.region-pforzheim .pfz-callout{left:18px;right:18px;bottom:14px;padding-top:14px}
  body.region-pforzheim .pfz-callout strong{font-size:22px;max-width:13ch}
}
