.pz-page{--pz-navy:var(--n0,#0f2238);--pz-ink:var(--t1,#0f2238);--pz-text:var(--t2,#2d4762);--pz-line:var(--ln2,rgba(26,53,87,.18));--pz-soft:var(--bg,#f7f9fc);--pz-yellow:#ffd400;--pz-orange:var(--o2,#e5551a);background:var(--white,#fff);color:var(--pz-ink);font-family:var(--f-body,Inter,"Segoe UI",Arial,sans-serif)}
.pz-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.pz-section{padding:72px 0}.pz-section--soft{background:var(--pz-soft)}.pz-section--navy{background:var(--pz-navy);color:#fff}.pz-eyebrow{color:#cf4617;font:800 11px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em;text-transform:uppercase}.pz-head{max-width:820px;margin-bottom:30px}.pz-head h2,.pz-section h2{margin:10px 0 13px;font-size:clamp(30px,4vw,47px);line-height:1.04;letter-spacing:-.045em}.pz-head p,.pz-lead{margin:0;color:var(--pz-text);font-size:17px;line-height:1.68}.pz-section--navy .pz-eyebrow{color:#ffd866}.pz-section--navy h2,.pz-section--navy h3{color:#fff}.pz-section--navy p{color:#c7d5e2}.pz-page a:focus-visible{outline:3px solid #ff946e;outline-offset:4px}
.pz-hero{border-bottom:1px solid var(--pz-line);background:linear-gradient(110deg,#fff 0 62%,#f5f8fa 62%)}.pz-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:58px;align-items:center;min-height:620px;padding:70px 0}.pz-hero h1{margin:13px 0 18px;max-width:760px;font-size:clamp(45px,6vw,72px);line-height:.96;letter-spacing:-.06em}.pz-hero p{max-width:720px;margin:0;color:var(--pz-text);font-size:18px;line-height:1.7}.pz-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:27px}.pz-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 20px;border:1px solid var(--pz-navy);border-radius:7px;color:var(--pz-navy);font-size:14px;font-weight:800;text-decoration:none}.pz-button--primary{border-color:var(--pz-orange);background:var(--pz-orange);color:#fff}.pz-hero__visual{position:relative;min-height:410px;border:1px solid var(--pz-line);border-radius:18px;background:#fff;overflow:hidden}.pz-hero__visual img{width:100%;height:100%;min-height:410px;object-fit:cover}.pz-hero__caption{position:absolute;right:18px;bottom:18px;left:18px;padding:13px 15px;border-radius:9px;background:rgba(16,36,58,.9);color:#f5f8fb;font-size:12px;line-height:1.5}
.pz-local{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--pz-line);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.pz-local__inner{display:flex;overflow-x:auto}.pz-local a{padding:15px 16px;border-bottom:2px solid transparent;color:#496278;font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap}.pz-local a:hover{border-color:var(--pz-orange);color:var(--pz-orange)}
.pz-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pz-route{position:relative;display:flex;flex-direction:column;padding:25px;border:1px solid var(--pz-line);border-radius:15px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(16,36,58,.045);overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}.pz-route::before{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--pz-orange),var(--pz-yellow));content:""}.pz-route:hover{border-color:#df6a3f;box-shadow:0 16px 34px rgba(16,36,58,.1);transform:translateY(-3px)}.pz-route small{color:#6f8598;font:800 10px/1.2 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.pz-route h3{margin:14px 0 9px;font-size:22px;line-height:1.17;letter-spacing:-.025em}.pz-route p{margin:0;color:var(--pz-text);font-size:14px;line-height:1.62}.pz-route b{align-self:flex-end;margin-top:auto;padding-top:18px;color:var(--pz-orange);font-size:13px}.pz-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:45px;align-items:center;padding:34px;border:1px solid var(--pz-line);border-left:4px solid var(--pz-orange);border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(16,36,58,.055)}.pz-feature h2{margin:10px 0 14px;font-size:clamp(29px,3.6vw,44px)}.pz-feature p{margin:0;color:var(--pz-text);font-size:15px;line-height:1.7}.pz-feature__diagram{display:grid;gap:8px}.pz-feature__diagram span{padding:13px 15px;border:1px solid var(--pz-line);border-radius:8px;background:linear-gradient(135deg,#fff,#f4f7fa);font-size:12px;font-weight:800;box-shadow:0 4px 14px rgba(16,36,58,.04)}.pz-feature__diagram i{height:12px;color:var(--pz-orange);font-style:normal;text-align:center}.pz-feature__diagram i::after{content:"↓"}
.pz-chain{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.pz-chain article{position:relative;min-height:175px;padding:23px;border:1px solid var(--pz-line);border-radius:13px;background:#fff}.pz-chain article:not(:last-child)::after{position:absolute;right:-23px;top:42%;content:"→";color:var(--pz-orange);font-size:23px}.pz-chain small{color:#6c8297;font:800 10px/1.2 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.pz-chain h3{margin:13px 0 8px;font-size:19px}.pz-chain p{margin:0;color:var(--pz-text);font-size:13px;line-height:1.55}.pz-diagnostic{margin-top:18px;padding:15px 18px;border:1px dashed #b9c9d7;border-radius:10px;background:#f8fafc;color:#415d76;font-size:13px}.pz-diagnostic strong{color:var(--pz-ink)}
.pz-application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pz-application{padding:23px;border:1px solid var(--pz-line);border-top:3px solid var(--pz-orange);border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(16,36,58,.045)}.pz-application h3{margin:0 0 8px;font-size:19px}.pz-application p{margin:0;color:var(--pz-text);font-size:13px;line-height:1.62}.pz-rows{border:1px solid var(--pz-line);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(16,36,58,.045);overflow:hidden}.pz-row{display:grid;grid-template-columns:minmax(210px,.34fr) 1fr;gap:28px;padding:20px 22px;border-bottom:1px solid var(--pz-line);transition:background .18s}.pz-row:nth-child(even){background:#f8fafc}.pz-row:last-child{border-bottom:0}.pz-row:hover{background:#fff8f4}.pz-row strong{position:relative;padding-left:14px;font-size:14px}.pz-row strong::before{position:absolute;top:.25em;bottom:.25em;left:0;width:3px;border-radius:2px;background:var(--pz-orange);content:""}.pz-row span{color:var(--pz-text);font-size:14px;line-height:1.55}
.pz-workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pz-step{padding:23px;border:1px solid var(--pz-line);border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(16,36,58,.045)}.pz-step small{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#fff3ed;color:var(--pz-orange);font:800 10px/1 ui-monospace,monospace}.pz-step h3{margin:15px 0 8px;font-size:19px}.pz-step p{margin:0;color:var(--pz-text);font-size:13px;line-height:1.62}.pz-option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.pz-option{position:relative;padding:25px;border:1px solid var(--pz-line);border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(16,36,58,.045);overflow:hidden}.pz-option::before{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--pz-orange),var(--pz-yellow));content:""}.pz-option h3{margin:0 0 10px;font-size:21px}.pz-option p{margin:0 0 14px;color:var(--pz-text);font-size:14px;line-height:1.62}.pz-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.pz-tags li{padding:6px 8px;border:1px solid #cddae5;border-radius:5px;background:#f6f9fb;color:#3c5870;font-size:11px;font-weight:750}
.pz-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pz-product{display:flex;flex-direction:column;border:1px solid var(--pz-line);border-radius:15px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(16,36,58,.05);overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}.pz-product:hover{border-color:#df6a3f;box-shadow:0 16px 34px rgba(16,36,58,.11);transform:translateY(-3px)}.pz-product__media{display:grid;min-height:132px;place-items:center;padding:18px;background:linear-gradient(145deg,#f7f9fb,#edf3f7)}.pz-product__mark{display:grid;min-width:155px;min-height:78px;place-items:center;padding:14px;border-left:7px solid var(--pz-yellow);border-radius:7px;background:#fff;box-shadow:0 8px 24px rgba(16,36,58,.08);color:var(--pz-ink);font-size:20px;font-weight:900;text-align:center}.pz-product__body{display:flex;flex:1;flex-direction:column;padding:21px}.pz-product__body small{color:#6c8297;font:800 10px/1.2 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.pz-product h3{margin:11px 0 8px;font-size:21px}.pz-product p{margin:0;color:var(--pz-text);font-size:13px;line-height:1.6}.pz-product b{align-self:flex-end;margin-top:auto;padding-top:20px;color:var(--pz-orange);font-size:13px}
.pz-family-hero{padding:62px 0;border-bottom:1px solid var(--pz-line);background:linear-gradient(135deg,#fff 55%,#f2f6f9 55%)}.pz-family-hero__grid{display:grid;grid-template-columns:1fr 380px;gap:55px;align-items:center}.pz-family-hero h1{margin:12px 0 15px;font-size:clamp(43px,5.5vw,66px);line-height:.98;letter-spacing:-.055em}.pz-family-visual{display:grid;min-height:260px;place-items:center;border:1px solid var(--pz-line);border-radius:17px;background:#fff}.pz-family-visual .pz-product__mark{min-width:220px;min-height:130px;font-size:27px}.pz-fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pz-fact{padding:21px;border:1px solid var(--pz-line);border-radius:12px;background:#fff}.pz-fact strong{display:block;margin-bottom:6px}.pz-fact span{color:var(--pz-text);font-size:13px;line-height:1.55}.pz-related{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.pz-related a{display:flex;min-height:128px;flex-direction:column;padding:18px;border:1px solid var(--pz-line);border-radius:11px;background:#fff;color:inherit;text-decoration:none}.pz-related a:hover{border-color:var(--pz-orange)}.pz-related small{color:#75899b;font-size:10px;text-transform:uppercase}.pz-related strong{margin:10px 0 0}.pz-related span{align-self:flex-end;margin-top:auto;color:var(--pz-orange);font-size:12px;font-weight:800}.pz-source{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--pz-line);color:inherit;text-decoration:none}.pz-source:hover{color:var(--pz-orange)}
.pz-cta{border-bottom:3px solid var(--pz-orange);background:var(--pz-navy);color:#f7fafc}.pz-cta__grid{display:grid;grid-template-columns:1fr auto;gap:42px;align-items:center;padding:66px 0}.pz-cta .pz-eyebrow{color:#ffd8c8!important}.pz-cta h2,.pz-cta h3,.pz-cta strong{color:#fff!important}.pz-cta p,.pz-cta span{max-width:820px;margin:0;color:#d5e0e9!important;font-size:15px;line-height:1.68}.pz-cta .pz-button:not(.pz-button--primary){border-color:#a7b8c7;color:#fff;background:rgba(255,255,255,.04)}
@media(max-width:980px){.pz-hero__grid,.pz-family-hero__grid{grid-template-columns:1fr 360px;gap:35px}.pz-route-grid,.pz-product-grid{grid-template-columns:repeat(2,1fr)}.pz-chain{grid-template-columns:repeat(2,1fr)}.pz-chain article::after{display:none}.pz-application-grid,.pz-workflow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.pz-wrap{width:min(100% - 32px,1180px)}.pz-section{padding:56px 0}.pz-hero{background:#fff}.pz-hero__grid,.pz-family-hero__grid,.pz-feature,.pz-cta__grid{grid-template-columns:1fr}.pz-hero__grid{min-height:0;padding:48px 0}.pz-hero__visual{order:-1;min-height:270px}.pz-hero__visual img{min-height:270px}.pz-route-grid,.pz-product-grid,.pz-application-grid,.pz-workflow,.pz-option-grid,.pz-chain,.pz-fact-grid,.pz-related{grid-template-columns:1fr}.pz-row{grid-template-columns:1fr;gap:7px}.pz-actions{display:grid}.pz-button{width:auto}.pz-cta__grid{gap:23px}.pz-family-hero{padding:48px 0}.pz-family-visual{order:-1;min-height:210px}}
@media(prefers-reduced-motion:reduce){.pz-page *{scroll-behavior:auto!important;transition:none!important}}
.pz-page[data-pilz-family]>a.aw-skip{position:fixed!important;left:12px!important;top:-90px!important;z-index:9999!important}.pz-page[data-pilz-family]>a.aw-skip:focus{top:12px!important}.pz-breadcrumb{width:min(1180px,calc(100% - 48px));margin:auto;display:flex;align-items:center;gap:9px;padding:15px 0;color:#6b8093;font-size:12px;white-space:nowrap;overflow:hidden}.pz-breadcrumb a{color:#4b647c;text-decoration:none}.pz-breadcrumb strong{color:#10243a;overflow:hidden;text-overflow:ellipsis}.pz-page[data-pilz-family] .pz-family-hero{padding:64px 0;background:#10243a;color:#fff}.pz-page[data-pilz-family] .pz-family-hero h1{color:#fff}.pz-page[data-pilz-family] .pz-family-hero .pz-lead{color:#d5e1eb}.pz-page[data-pilz-family] .pz-family-visual{background:#edf3f7}.pz-key-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:26px 0 0;border:1px solid #476078;border-radius:11px;overflow:hidden}.pz-key-specs>div{min-height:82px;padding:14px;border-right:1px solid #476078}.pz-key-specs>div:last-child{border:0}.pz-key-specs small{display:block;color:#a9bdce;font:800 9px/1.2 ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}.pz-key-specs strong{display:block;margin-top:8px;color:#fff;font-size:14px;line-height:1.35}.pz-spec-section{background:#f3f7fa}.pz-spec-wrap{overflow-x:auto;border:1px solid #cad8e4;border-radius:14px;background:#fff}.pz-spec-wrap table{width:100%;min-width:700px;border-collapse:collapse}.pz-spec-wrap th,.pz-spec-wrap td{padding:18px 20px;border-bottom:1px solid #d7e1e9;text-align:left;vertical-align:top}.pz-spec-wrap thead th{background:#10243a;color:#fff;font-size:12px;text-transform:uppercase}.pz-spec-wrap tbody th{width:31%;color:#10243a;font-size:14px}.pz-spec-wrap td{color:#4b647c;font-size:14px;line-height:1.55}.pz-spec-wrap tr:last-child>*{border-bottom:0}.pz-page[data-pilz-family] .pz-section{padding:58px 0}.pz-page[data-pilz-family] .pz-related a{min-height:155px}.pz-page[data-pilz-family] .pz-related a span{margin-top:auto;text-align:right}
@media(max-width:780px){.pz-breadcrumb{width:calc(100% - 32px)}.pz-key-specs{grid-template-columns:1fr}.pz-key-specs>div{border-right:0;border-bottom:1px solid #476078}.pz-page[data-pilz-family] .pz-family-hero{padding:45px 0}.pz-page[data-pilz-family] .pz-section{padding:46px 0}}
.pz-product__media{min-height:170px;padding:14px}.pz-product__media img{width:100%;height:156px;object-fit:contain;mix-blend-mode:multiply}.pz-family-visual{grid-template-rows:1fr auto;overflow:hidden;padding:18px}.pz-family-visual img{width:100%;height:250px;object-fit:contain;mix-blend-mode:multiply}.pz-family-visual small{padding-top:10px;color:#60778d;font-size:11px;line-height:1.4;text-align:center}
.pz-product__media{box-sizing:border-box;height:184px;min-width:0;min-height:0;overflow:hidden}.pz-product__media img{display:block;min-width:0;min-height:0;max-width:100%;max-height:156px}
.pz-page[data-pilz-family] .pz-family-hero h1{color:#fff!important}.pz-page[data-pilz-family] .pz-family-hero .pz-lead{color:#d5e1eb!important}

/* Safety-function cards — machine-safety hub. Dedicated component so the
   six category pages keep their own .pz-product grid untouched. Media frames
   are a fixed 16:9 to match the normalised hub artwork in images/.../pilz/hub. */
.pz-fn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pz-fn{display:flex;flex-direction:column;border:1px solid var(--pz-line);border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 1px 2px rgba(16,36,58,.04),0 10px 28px rgba(16,36,58,.05);overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.pz-fn:hover{border-color:#df6a3f;transform:translateY(-3px);box-shadow:0 2px 4px rgba(16,36,58,.05),0 20px 40px rgba(16,36,58,.12)}
.pz-fn__media{position:relative;aspect-ratio:16/9;border-bottom:1px solid var(--pz-line);background:radial-gradient(120% 130% at 50% 12%,#fdfefe 0,#f4f7fa 55%,#eaf0f5 100%);overflow:hidden}
.pz-fn__media img{display:block;width:100%;height:100%;padding:16px 20px;box-sizing:border-box;object-fit:contain;transition:transform .35s ease}
.pz-fn:hover .pz-fn__media img{transform:scale(1.035)}
.pz-fn__media::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 72%,rgba(16,36,58,.045) 100%);content:"";pointer-events:none}
.pz-fn__body{display:flex;flex:1;flex-direction:column;padding:22px 23px 20px}
/* span, not <small>: css/homepage-palette.css forces small{color}!important site-wide. */
.pz-fn__role{display:block;color:#cf4617;font:800 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase}
.pz-fn h3{margin:11px 0 9px;font-size:20px;line-height:1.2;letter-spacing:-.025em}
.pz-fn p{margin:0;color:var(--pz-text);font-size:13.5px;line-height:1.62}
.pz-fn__fams{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0 0;padding:15px 0 0;border-top:1px solid rgba(26,53,87,.1);list-style:none}
/* li colour is owned by the global palette layer (--pm-text-primary, !important). */
.pz-fn__fams li{padding:4px 9px;border:1px solid rgba(26,53,87,.14);border-radius:999px;background:#f6f9fb;font:600 11px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}
/* #cf4617 rather than --pz-orange: 4.62:1 on white passes WCAG AA for 13px bold. */
.pz-fn__cta{align-self:flex-start;margin-top:auto;padding-top:18px;color:#cf4617;font-size:13px;font-weight:700}
.pz-fn:hover .pz-fn__cta span{display:inline-block;transform:translateX(3px);transition:transform .2s ease}
.pz-fn-note{max-width:940px;margin:30px 0 0;padding:16px 19px;border:1px solid var(--pz-line);border-left:3px solid var(--pz-yellow);border-radius:10px;background:#fff;color:var(--pz-text);font-size:13px;line-height:1.66}
.pz-fn-note strong{color:var(--pz-ink)}
@media(max-width:1080px){.pz-fn-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.pz-fn-grid{grid-template-columns:1fr}.pz-fn h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.pz-fn,.pz-fn__media img,.pz-fn__cta span{transition:none}.pz-fn:hover{transform:none}.pz-fn:hover .pz-fn__media img{transform:none}}

/* ---------------------------------------------------------------------------
   Dedicated Pilz family pages (body.pz-product-detail) use a dark navy hero.
   css/homepage-palette.css forces `small` and `strong` to light-background
   colours with !important, which rendered the key-spec text at 1.02:1 on the
   navy panel - effectively invisible. These declarations restore legibility on
   the dark surface only; the light category heroes are untouched.
   !important is required here solely to counter that existing palette layer.
   --------------------------------------------------------------------------- */
.pz-product-detail .pz-family-hero .pz-eyebrow{color:#ffd866}
.pz-product-detail .pz-family-hero .pz-key-specs{border-color:rgba(255,255,255,.22)}
.pz-product-detail .pz-family-hero .pz-key-specs>div{border-color:rgba(255,255,255,.22)}
.pz-product-detail .pz-family-hero .pz-key-specs small{color:#a9bdce!important}
.pz-product-detail .pz-family-hero .pz-key-specs strong{color:#fff!important}
.pz-product-detail .pz-family-hero .pz-button{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.07);color:#fff}
.pz-product-detail .pz-family-hero .pz-button:hover{border-color:#fff;background:rgba(255,255,255,.14)}
.pz-product-detail .pz-family-hero .pz-button--primary{border-color:#e5551a;background:#e5551a;color:#fff}
.pz-product-detail .pz-family-hero .pz-button--primary:hover{border-color:#c2410c;background:#c2410c}
/* Light stage behind the product shot: the artwork uses mix-blend-mode:multiply,
   which turns the product almost black when composited onto the navy hero. */
.pz-product-detail .pz-family-visual img{mix-blend-mode:normal}
.pz-product-detail .pz-family-visual small{color:#4b647c!important}
