/* Photex webfonts — self-hosted woff2 (SIL OFL). Barlow = Latin UI/headings, Heebo = Hebrew (variable 300–900). */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/barlow-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/barlow-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('./fonts/barlow-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('./fonts/barlow-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/barlow-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/barlow-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url('./fonts/barlow-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url('./fonts/barlow-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:800;font-display:swap;src:url('./fonts/barlow-800-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:800;font-display:swap;src:url('./fonts/barlow-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Heebo';font-style:normal;font-weight:300 900;font-display:swap;src:url('./fonts/heebo-300-900-hebrew.woff2') format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'Heebo';font-style:normal;font-weight:300 900;font-display:swap;src:url('./fonts/heebo-300-900-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Heebo';font-style:normal;font-weight:300 900;font-display:swap;src:url('./fonts/heebo-300-900-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Photex colour tokens. ONLY the approved logo red, logo charcoal, and neutrals. No other hues. */
:root{
/* Brand — verified digital values from the supplied logo PNG */
--px-red:#ED1C24;/* logo red · CMYK 0/100/100/0 in print */
--px-charcoal:#231F20;/* logo charcoal · CMYK 0/0/0/100 in print */
/* Red ramp — tints/shades of #ED1C24 for states only */
--px-red-50:#FDEDED;--px-red-100:#FBD4D5;--px-red-200:#F6A8AB;--px-red-300:#F2777C;--px-red-400:#EF4950;--px-red-500:#ED1C24;--px-red-600:#C8161D;--px-red-700:#A01218;--px-red-800:#770E12;--px-red-900:#4F090C;
/* Neutrals — true greys converging on logo charcoal */
--px-white:#FFFFFF;--px-grey-25:#FAFAFA;--px-grey-50:#F4F4F4;--px-grey-100:#EBEBEB;--px-grey-200:#DCDCDC;--px-grey-300:#C4C4C4;--px-grey-400:#9E9E9E;--px-grey-500:#737373;--px-grey-600:#575757;--px-grey-700:#3D3B3B;--px-grey-800:#2C2829;--px-grey-900:#231F20;--px-black:#000000;

/* Semantic roles */
--brand-primary:var(--px-red-500);/* bars, rules, large text only — white on it is 4.38:1 */
--action-primary:var(--px-red-600);/* button fills + small red text: white on it = 5.9:1 */
--action-primary-hover:var(--px-red-700);--action-primary-press:var(--px-red-800);
--action-strong:var(--px-charcoal);--action-strong-hover:var(--px-grey-700);--action-strong-press:var(--px-black);

--surface-page:var(--px-white);--surface-product:#F2F1F1;/* exact backdrop of catalogue product photos — wells merge seamlessly */--surface-card:var(--px-white);--surface-sunken:var(--px-grey-50);--surface-muted:var(--px-grey-100);--surface-inverse:var(--px-charcoal);--surface-overlay:rgba(35,31,32,.56);--surface-accent:var(--px-red-50);
--text-strong:var(--px-charcoal);--text-body:var(--px-grey-800);--text-muted:var(--px-grey-600);/* 7.2:1 on white, 6.6:1 on grey-50 */
--text-subtle:var(--px-grey-500);/* 4.7:1 on white only */
--text-disabled:var(--px-grey-400);--text-inverse:var(--px-white);--text-on-primary:var(--px-white);--text-brand:var(--px-red-600);
--text-link:var(--px-red-600);--text-link-hover:var(--px-red-700);
--line:var(--px-grey-200);/* table rules, dividers — use sparingly */
--line-strong:var(--px-grey-300);--line-field:var(--px-grey-500);/* 3:1+ non-text contrast for field edges */
--field-bg:var(--px-grey-50);--field-bg-hover:var(--px-grey-100);--field-bg-focus:var(--px-white);

/* Status — never colour alone; always icon + text. Success stays neutral. */
--status-error:var(--px-red-600);--status-error-soft:var(--px-red-50);--status-error-line:var(--px-red-500);
--status-warning:var(--px-charcoal);--status-warning-soft:var(--px-grey-100);--status-warning-line:var(--px-red-500);
--status-success:var(--px-charcoal);--status-success-soft:var(--px-grey-50);--status-success-line:var(--px-charcoal);
--status-info:var(--px-grey-700);--status-info-soft:var(--px-grey-50);--status-info-line:var(--px-grey-400);
}

:root{
--font-en:'Barlow','Heebo',system-ui,sans-serif;
--font-he:'Heebo','Barlow',system-ui,sans-serif;
--font-sans:var(--font-en);
--font-num:'Barlow','Heebo',system-ui,sans-serif;/* SKUs, dimensions, packs — tabular figures */

--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;

--text-display:64px;--lh-display:1;/* @kind other */
--text-h1:48px;--lh-h1:1.05;/* @kind other */
--text-h2:36px;--lh-h2:1.1;/* @kind other */
--text-h3:28px;--lh-h3:1.2;/* @kind other */
--text-h4:22px;--lh-h4:1.25;/* @kind other */
--text-lg:18px;--lh-lg:1.55;/* @kind other */
--text-md:16px;--lh-md:1.55;/* @kind other */
--text-sm:14px;--lh-sm:1.5;/* @kind other */
--text-xs:12px;--lh-xs:1.4;/* @kind other */
--text-label:12px;--lh-label:1.2;/* @kind other */
--tracking-tight:-0.01em;--tracking-normal:0;--tracking-label:0.08em;
--label-transform:uppercase;/* @kind other */
}
[dir="rtl"],:lang(he){--font-sans:var(--font-he);--tracking-tight:0;--tracking-label:0;--label-transform:none;/* @kind other */--lh-display:1.08;/* @kind other */--lh-h1:1.12;/* @kind other */--lh-h2:1.15;/* @kind other */}

:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
--container-max:1280px;--grid-columns:12;/* @kind other */--gutter:24px;--margin-page:40px;--margin-page-mobile:20px;
--control-h-sm:32px;--control-h-md:44px;--control-h-lg:52px;
--bar-thin:4px;--bar-thick:8px;/* rectangular red/charcoal colour bars */
}

:root{
/* Square geometry — Photex frames are 0-radius. Only native radio dots are round. */
--radius-none:0;--radius-control:0;--radius-card:0;--radius-dialog:0;--radius-round:50%;/* radio indicator only */

/* Soft, diffuse, neutral (charcoal-based) shadows */
--shadow-xs:0 1px 2px rgba(35,31,32,.06);
--shadow-sm:0 2px 6px rgba(35,31,32,.06),0 1px 2px rgba(35,31,32,.04);
--shadow-md:0 8px 24px rgba(35,31,32,.08),0 2px 6px rgba(35,31,32,.04);
--shadow-lg:0 18px 44px rgba(35,31,32,.10),0 4px 10px rgba(35,31,32,.05);
--shadow-xl:0 30px 70px rgba(35,31,32,.16),0 8px 18px rgba(35,31,32,.06);
/* Focus: white gap + charcoal ring — visible on white, grey and red */
--ring-focus:0 0 0 2px #FFFFFF,0 0 0 4px #231F20;
--ring-error:0 0 0 2px #FFFFFF,0 0 0 4px #C8161D;

--ease-out:cubic-bezier(.2,.7,.2,1);/* @kind other */--ease-in-out:cubic-bezier(.65,0,.35,1);/* @kind other */
--dur-fast:120ms;/* @kind other */--dur-base:200ms;/* @kind other */--dur-slow:320ms;/* @kind other */
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--lh-md);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--text-strong);margin:0;text-wrap:balance;font-weight:700}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--text-link-hover)}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
::selection{background:var(--px-charcoal);color:var(--px-white)}
img{max-width:100%}
.px-num,[data-num]{font-family:var(--font-num);font-variant-numeric:tabular-nums lining-nums}
bdi.px-ltr,.px-ltr{direction:ltr;unicode-bidi:isolate}
[dir="rtl"] .px-icon-dir{transform:scaleX(-1)}


/* Photex — redesign prototype stylesheet. Built only on the Photex DS tokens (ds/photex/styles.css):
   logo red + charcoal + true greys, 0 radius, rectangular colour bars, Heebo (HE) / Barlow (numerals). */

.ps{container-type:inline-size;container-name:ps;font-family:var(--font-he);color:var(--text-body);background:var(--surface-page);font-size:16px;line-height:1.6}
.ps *{box-sizing:border-box}
.ps :is(button,a[data-event]){font:inherit;color:inherit}
.ps img{display:block;max-width:100%}
.ps .num{font-family:var(--font-num);font-variant-numeric:tabular-nums lining-nums;direction:ltr;unicode-bidi:isolate}
.ps .wrap{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--margin-page)}
.ps .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ps svg.ic{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}
.ps svg.ic.sm{width:16px;height:16px}
.ps svg.ic.lg{width:24px;height:24px}
.ps [dir=rtl] .px-icon-dir,.ps .px-icon-dir{transform:scaleX(-1)}
.ps :focus-visible{outline:none;box-shadow:var(--ring-focus)}

/* ---------- labels / type ---------- */
.ps .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--text-brand);line-height:1.2}
.ps .eyebrow::before{content:"";width:24px;height:var(--bar-thin);background:var(--brand-primary);flex:none}
.ps .lbl{font-size:13px;font-weight:600;color:var(--text-muted);line-height:1.3}
.ps h1,.ps h2,.ps h3,.ps h4{margin:0;color:var(--text-strong);text-wrap:balance}
.ps p{margin:0;text-wrap:pretty}
.ps .h-display{font-size:clamp(40px,6.2cqi,80px);line-height:1.02;font-weight:800;letter-spacing:-.01em}
.ps .h1{font-size:clamp(32px,4.2cqi,52px);line-height:1.1;font-weight:800}
.ps .h2{font-size:clamp(26px,3cqi,38px);line-height:1.15;font-weight:800}
.ps .h3{font-size:22px;line-height:1.3;font-weight:700}
.ps .lead{font-size:clamp(17px,1.5cqi,20px);line-height:1.6;color:var(--text-body)}
.ps .muted{color:var(--text-muted)}

/* ---------- buttons ---------- */
.ps .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h-md);padding:0 20px;border:0;border-radius:0;font-size:15px;font-weight:700;line-height:1.15;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),color var(--dur-fast)}
.ps .btn-lg{min-height:var(--control-h-lg);padding:0 26px;font-size:16px}
.ps .btn-sm{min-height:36px;padding:0 14px;font-size:14px}
.ps .btn-primary{background:var(--action-primary);color:#fff;box-shadow:var(--shadow-sm)}
.ps .btn-primary:hover{background:var(--action-primary-hover);color:#fff;box-shadow:var(--shadow-md)}
.ps .btn-primary:active{background:var(--action-primary-press)}
.ps .btn-strong{background:var(--action-strong);color:#fff}
.ps .btn-strong:hover{background:var(--action-strong-hover);color:#fff}
.ps .btn-secondary{background:#fff;color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--px-grey-300)}
.ps .btn-secondary:hover{background:var(--px-grey-50);color:var(--text-strong)}
.ps .btn-ghost{background:transparent;color:var(--text-strong)}
.ps .btn-ghost:hover{background:var(--px-grey-100)}
.ps .btn-done{background:var(--px-grey-100);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--px-grey-300)}
.ps .btn-block{width:100%}
.ps .btn[disabled]{opacity:.42;cursor:not-allowed}
.ps .link{display:inline-flex;align-items:center;gap:6px;color:var(--text-link);font-weight:700;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-size:15px}
.ps .link:hover{color:var(--text-link-hover);text-decoration:underline;text-underline-offset:4px}
.ps .iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;cursor:pointer;position:relative;color:var(--text-strong)}
.ps .iconbtn:hover{background:var(--px-grey-100)}

/* ---------- header ---------- */
.ps .topbar{height:var(--bar-thin);background:var(--brand-primary)}
.ps .util{background:var(--px-grey-50);font-size:13px;color:var(--text-muted)}
.ps .util .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px}
.ps .util a{color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.ps .util a:hover{color:var(--text-strong)}
.ps .util .group{display:flex;gap:20px;align-items:center}
.ps .hdr{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 1px 0 var(--line)}
.ps .hrow{display:flex;align-items:center;gap:24px;min-height:76px}
.ps .logo{display:flex;align-items:center;border:0;background:none;padding:6px 0;cursor:pointer;flex:none}
.ps .logo img{height:36px;width:auto}
.ps .nav{display:flex;align-items:stretch;gap:2px;flex:1;min-width:0}
.ps .nav-i{position:relative;display:inline-flex;align-items:center;gap:6px;height:76px;padding:0 12px;border:0;background:none;font-size:16px;font-weight:600;color:var(--text-strong);cursor:pointer;text-decoration:none;white-space:nowrap}
.ps .nav-i:hover{color:var(--text-brand)}
.ps .nav-i.on{color:var(--text-brand)}
.ps .nav-i.on::after{content:"";position:absolute;inset-inline:12px;bottom:0;height:var(--bar-thin);background:var(--brand-primary)}
.ps .nav-i svg{transition:transform var(--dur-base) var(--ease-out)}
.ps .nav-i.open svg.chev{transform:rotate(180deg)}
.ps .hsearch{display:flex;align-items:stretch;height:44px;width:clamp(200px,22cqi,300px);background:var(--field-bg);box-shadow:inset 0 -1px 0 var(--line-field)}
.ps .hsearch:focus-within{background:#fff;box-shadow:inset 0 -2px 0 var(--px-charcoal),var(--ring-focus)}
.ps .hsearch input{flex:1;min-width:0;border:0;background:transparent;padding:0 14px;font:inherit;font-size:15px;color:var(--text-strong);outline:none}
.ps .hsearch button{width:44px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-strong)}
.ps .quote-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border:0;background:var(--px-charcoal);color:#fff;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap}
.ps .quote-btn:hover{background:var(--px-grey-700)}
.ps .count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:var(--action-primary);color:#fff;font-family:var(--font-num);font-size:13px;font-weight:700}
.ps .iconbtn .count{position:absolute;top:2px;inset-inline-end:0;min-width:18px;height:18px;font-size:11px}
.ps .m-only{display:none}

/* mega menu */
.ps .mega{position:absolute;inset-inline:0;top:100%;background:#fff;box-shadow:var(--shadow-lg);border-top:1px solid var(--line);z-index:41}
.ps .mega .wrap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;align-items:start;padding-block:28px 32px}
.ps .mega-col{padding-inline:16px;border-inline-start:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.ps .mega-col:first-child{border-inline-start:0;padding-inline-start:0}
.ps .mega-h{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border:0;background:none;padding:0 0 10px;cursor:pointer;text-align:start}
.ps .mega-h .well{width:100%;aspect-ratio:4/3;background:var(--surface-product);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ps .mega-h .well img{width:78%;height:78%;object-fit:contain;mix-blend-mode:multiply;transition:transform var(--dur-slow) var(--ease-out)}
.ps .mega-h:hover .well img{transform:scale(1.05)}
.ps .mega-h span{font-size:17px;font-weight:800;color:var(--text-strong)}
.ps .mega-h:hover span{color:var(--text-brand)}
.ps .mega-l{border:0;background:none;padding:3px 0;text-align:start;font-size:14px;color:var(--text-muted);cursor:pointer;line-height:1.35}
.ps .mega-l:hover{color:var(--text-brand);text-decoration:underline;text-underline-offset:3px}
.ps .mega-foot{grid-column:1/-1;display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.ps .scrim{position:fixed;inset:0;background:var(--surface-overlay);z-index:39;border:0;cursor:pointer}

/* mobile drawer */
.ps .drawer{position:fixed;inset:0;z-index:60;background:#fff;display:flex;flex-direction:column;overflow-y:auto}
.ps .drawer-top{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding-inline:var(--margin-page-mobile);border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.ps .drawer-top img{height:28px;width:auto}
.ps .drawer-body{padding:16px var(--margin-page-mobile) 32px;display:flex;flex-direction:column;gap:4px}
.ps .d-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;border:0;border-bottom:1px solid var(--line);background:none;font-size:19px;font-weight:700;color:var(--text-strong);text-align:start;cursor:pointer;padding:0;text-decoration:none}
.ps .d-sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 0 16px}
.ps .d-tile{display:flex;flex-direction:column;gap:6px;align-items:flex-start;border:0;background:var(--px-grey-50);padding:10px;text-align:start;cursor:pointer;font-weight:700;font-size:15px;color:var(--text-strong)}
.ps .d-tile img{width:100%;aspect-ratio:4/3;object-fit:contain;mix-blend-mode:multiply}
.ps .d-foot{margin-top:20px;display:flex;flex-direction:column;gap:10px}

/* ---------- generic sections ---------- */
.ps .sec{padding-block:var(--space-20)}
.ps .sec-tight{padding-block:var(--space-12)}
.ps .sec-grey{background:var(--px-grey-50)}
.ps .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.ps .sec-head .t{display:flex;flex-direction:column;gap:12px;max-width:720px}
.ps .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;color:var(--text-muted);padding-block:18px 0}
.ps .crumbs :is(button,a){border:0;background:none;padding:0;cursor:pointer;color:var(--text-muted);font-size:14px}
.ps .crumbs :is(button,a):hover{color:var(--text-brand);text-decoration:underline;text-underline-offset:3px}
.ps .crumbs .sep{color:var(--px-grey-400)}
.ps .crumbs .cur{color:var(--text-strong);font-weight:600}
.ps .pagehead{background:var(--px-grey-50);border-bottom:1px solid var(--line)}
.ps .pagehead .inner{display:flex;flex-direction:column;gap:14px;padding-block:28px 40px;position:relative}
.ps .pagehead .bar{width:64px;height:var(--bar-thick);background:var(--brand-primary)}

/* ---------- hero ---------- */
.ps .hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.ps .hero .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center;padding-block:64px 72px}
.ps .hero-copy{display:flex;flex-direction:column;gap:26px}
.ps .quote{display:flex;flex-direction:column;gap:6px;padding-inline-start:18px;border-inline-start:var(--bar-thin) solid var(--px-charcoal);max-width:560px}
.ps .quote p{font-size:18px;line-height:1.55;color:var(--text-strong);font-weight:500}
.ps .quote span{font-size:14px;color:var(--text-muted)}
.ps .console{display:flex;flex-direction:column;gap:12px;max-width:620px}
.ps .console-row{display:flex;align-items:stretch;height:60px;background:#fff;box-shadow:inset 0 0 0 2px var(--px-charcoal)}
.ps .console-row:focus-within{box-shadow:inset 0 0 0 2px var(--px-charcoal),var(--ring-focus)}
.ps .console-row .ico{display:flex;align-items:center;padding-inline:16px 4px;color:var(--text-muted)}
.ps .console-row input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;font-size:18px;color:var(--text-strong)}
.ps .console-row .btn{min-height:auto;height:100%;padding:0 26px;box-shadow:none}
.ps .chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ps .chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;background:var(--px-grey-100);font-size:14px;font-weight:500;color:var(--text-strong);cursor:pointer;white-space:nowrap}
.ps .chip:hover{background:var(--px-grey-200)}
.ps .chip.on{background:var(--px-charcoal);color:#fff}
.ps .hero-cta{display:flex;gap:12px;flex-wrap:wrap}

/* hero "box" composition */
.ps .boxart{position:relative;aspect-ratio:1/1.04;width:100%;max-width:520px;justify-self:end}
.ps .boxart .frame{position:absolute;inset:8% 0 0 8%;box-shadow:inset 0 0 0 2px var(--px-charcoal)}
.ps .boxart .cells{position:absolute;inset:8% 0 0 8%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;padding:2px;background:transparent}
.ps .cell{position:relative;background:var(--surface-product);display:flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer;overflow:hidden}
.ps .cell img{width:74%;height:74%;object-fit:contain;mix-blend-mode:multiply;transition:transform var(--dur-slow) var(--ease-out)}
.ps .cell:hover img{transform:scale(1.06)}
.ps .cell .tag{position:absolute;inset-inline-start:0;bottom:0;background:#fff;padding:6px 10px;font-size:12px;font-weight:700;color:var(--text-strong);display:flex;gap:6px;align-items:baseline}
.ps .cell .tag .num{color:var(--text-muted);font-weight:600}
.ps .escape{position:absolute;width:44%;aspect-ratio:1;top:0;left:0;background:#fff;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer;z-index:2}
.ps .escape::before{content:"";position:absolute;inset-inline:0;top:0;height:var(--bar-thick);background:var(--brand-primary)}
.ps .escape img{width:70%;height:64%;object-fit:contain}
.ps .escape .cap{font-size:13px;font-weight:700;color:var(--text-strong);text-align:center;padding:0 10px;line-height:1.25}
.ps .escape .cap .num{display:block;color:var(--text-muted);font-weight:600;font-size:12px}
.ps .slogan{position:absolute;bottom:-2px;inset-inline-end:0;transform:translateY(100%);padding-top:12px;font-size:14px;font-weight:700;color:var(--text-muted)}

/* ---------- category index ---------- */
.ps .cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--line);box-shadow:0 0 0 1px var(--line)}
.ps .cat-tile{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:16px;align-items:stretch;background:#fff;border:0;padding:28px;text-align:start;cursor:pointer;min-height:236px;transition:box-shadow var(--dur-base) var(--ease-out)}
.ps .cat-tile::before{content:"";position:absolute;inset-inline-start:0;top:0;height:var(--bar-thin);width:0;background:var(--brand-primary);transition:width var(--dur-slow) var(--ease-out)}
.ps .cat-tile:hover{box-shadow:var(--shadow-lg);z-index:1}
.ps .cat-tile:hover::before{width:100%}
.ps .cat-tile .txt{display:flex;flex-direction:column;gap:10px;min-width:0}
.ps .cat-tile .idx{font-family:var(--font-num);font-weight:800;font-size:15px;color:var(--text-brand)}
.ps .cat-tile .nm{font-size:26px;font-weight:800;color:var(--text-strong);line-height:1.15}
.ps .cat-tile .subs{font-size:14px;color:var(--text-muted);line-height:1.5}
.ps .cat-tile .go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text-strong)}
.ps .cat-tile:hover .go{color:var(--text-brand)}
.ps .cat-tile .well{background:var(--surface-product);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ps .cat-tile .well img{width:86%;height:86%;object-fit:contain;mix-blend-mode:multiply;transition:transform var(--dur-slow) var(--ease-out)}
.ps .cat-tile:hover .well img{transform:scale(1.06)}

/* about split */
.ps .about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.ps .about .stmt{display:flex;flex-direction:column;gap:22px}
.ps .pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--line);box-shadow:0 0 0 1px var(--line)}
.ps .pillar{background:#fff;padding:26px;display:flex;flex-direction:column;gap:14px;min-height:150px}
.ps .pillar .n{font-family:var(--font-num);font-weight:800;color:var(--text-brand);font-size:15px}
.ps .pillar h3{font-size:20px;font-weight:800;line-height:1.3}
.ps .year{display:flex;align-items:baseline;gap:14px}
.ps .year b{font-family:var(--font-num);font-size:clamp(56px,7cqi,96px);font-weight:800;color:var(--px-red);line-height:.9;letter-spacing:-.02em}
.ps .year span{font-size:16px;font-weight:600;color:var(--text-strong);max-width:220px;line-height:1.4}

/* video feature */
.ps .feature{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center}
.ps .media{position:relative;aspect-ratio:16/9;background:var(--px-charcoal);display:flex;align-items:center;justify-content:center;text-decoration:none;overflow:hidden}
.ps .media .play{width:84px;height:84px;background:var(--action-primary);display:flex;align-items:center;justify-content:center;color:#fff;transition:background var(--dur-fast),transform var(--dur-base) var(--ease-out)}
.ps .media:hover .play{background:var(--action-primary-hover);transform:scale(1.04)}
.ps .media .mlabel{position:absolute;inset-inline-start:0;bottom:0;background:#fff;padding:10px 16px;font-size:14px;font-weight:700;color:var(--text-strong);display:flex;gap:8px;align-items:center}
.ps .media .logo-hold{position:absolute;top:20px;inset-inline-start:20px;background:#fff;padding:10px 14px}
.ps .media .logo-hold img{height:22px;width:auto}

/* downloads band */
.ps .docs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--line);box-shadow:0 0 0 1px var(--line)}
.ps .doc{display:flex;flex-direction:column;gap:12px;background:#fff;padding:22px;text-decoration:none;color:var(--text-body);position:relative;min-height:160px;border:0;text-align:start;cursor:pointer;font:inherit}
.ps .doc::before{content:"";position:absolute;inset-inline-start:0;top:0;height:var(--bar-thin);width:0;background:var(--brand-primary);transition:width var(--dur-slow) var(--ease-out)}
.ps .doc:hover{box-shadow:var(--shadow-lg);z-index:1;color:var(--text-body)}
.ps .doc:hover::before{width:100%}
.ps .doc .k{font-size:12px;font-weight:700;color:var(--text-muted);display:flex;align-items:center;gap:6px}
.ps .doc .t{font-size:18px;font-weight:800;color:var(--text-strong);line-height:1.3}
.ps .doc .a{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--text-link)}

/* ---------- article cards ---------- */
.ps .art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ps .art{display:flex;flex-direction:column;background:#fff;border:0;padding:0;text-align:start;cursor:pointer;position:relative;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-base) var(--ease-out);font:inherit;color:inherit}
.ps .art::before{content:"";position:absolute;inset-inline-start:0;top:0;height:var(--bar-thin);width:0;background:var(--brand-primary);transition:width var(--dur-slow) var(--ease-out);z-index:1}
.ps .art:hover{box-shadow:var(--shadow-lg)}
.ps .art:hover::before{width:100%}
.ps .art .cover{position:relative;aspect-ratio:16/10;background:var(--surface-product);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ps .art .cover img{width:62%;height:78%;object-fit:contain;mix-blend-mode:multiply;transition:transform var(--dur-slow) var(--ease-out)}
.ps .art:hover .cover img{transform:scale(1.05)}
.ps .art .cover .k{position:absolute;inset-inline-start:0;top:0;background:var(--px-charcoal);color:#fff;font-size:12px;font-weight:700;padding:6px 10px}
.ps .art .body{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;flex:1}
.ps .art .date{font-size:13px;color:var(--text-muted)}
.ps .art h3{font-size:20px;line-height:1.35;font-weight:800}
.ps .art p{font-size:15px;color:var(--text-muted);line-height:1.55}
.ps .art .more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text-link)}
.ps .art-feat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);box-shadow:var(--shadow-sm);background:#fff;border:0;padding:0;text-align:start;cursor:pointer;position:relative;font:inherit;color:inherit;margin-bottom:32px}
.ps .art-feat:hover{box-shadow:var(--shadow-lg)}
.ps .art-feat .cover{aspect-ratio:auto;min-height:340px}
.ps .art-feat .body{padding:40px;justify-content:center;gap:16px}
.ps .art-feat h3{font-size:clamp(24px,2.4cqi,32px);line-height:1.25}

/* ---------- forms ---------- */
.ps .form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.ps .form .full{grid-column:1/-1}
.ps .fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.ps .fld label{font-size:14px;font-weight:600;color:var(--text-strong)}
.ps .fld label .req{color:var(--text-brand);margin-inline-start:4px}
.ps .fld input,.ps .fld textarea{width:100%;min-height:var(--control-h-md);border:0;border-radius:0;background:var(--field-bg);box-shadow:inset 0 -1px 0 var(--line-field);padding:10px 14px;font:inherit;font-size:16px;color:var(--text-strong);outline:none;transition:background var(--dur-fast),box-shadow var(--dur-fast)}
.ps .fld textarea{min-height:120px;resize:vertical}
.ps .fld input:hover,.ps .fld textarea:hover{background:var(--field-bg-hover)}
.ps .fld input:focus,.ps .fld textarea:focus{background:#fff;box-shadow:inset 0 -2px 0 var(--px-charcoal),var(--ring-focus)}
.ps .fld.err input,.ps .fld.err textarea{box-shadow:inset 0 -2px 0 var(--status-error)}
.ps .fld .msg{display:flex;gap:6px;align-items:flex-start;font-size:13px;font-weight:600;color:var(--status-error)}
.ps .check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text-body);line-height:1.5}
.ps .check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--px-charcoal);flex:none}
.ps .notice{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:var(--px-grey-50);border-inline-start:var(--bar-thin) solid var(--px-charcoal);font-size:15px;line-height:1.55}
.ps .notice.warn{border-inline-start-color:var(--brand-primary)}
.ps .notice b{display:block;color:var(--text-strong);font-size:16px;margin-bottom:2px}
.ps .contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.ps .cdetails{display:flex;flex-direction:column;gap:0;box-shadow:0 0 0 1px var(--line)}
.ps .crow{display:flex;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text-body)}
.ps .crow:last-child{border-bottom:0}
.ps a.crow:hover{background:var(--px-grey-50);color:var(--text-body)}
.ps .crow .ci{width:44px;height:44px;background:var(--px-grey-100);display:flex;align-items:center;justify-content:center;color:var(--text-strong);flex:none}
.ps .crow .cl{display:flex;flex-direction:column;gap:2px;min-width:0}
.ps .crow .cl span{font-size:13px;color:var(--text-muted)}
.ps .crow .cl b{font-size:18px;color:var(--text-strong);font-weight:700}

/* ---------- footer ---------- */
.ps .ftr{background:var(--surface-inverse);color:var(--px-grey-200);margin-top:0}
.ps .ftr .wrap{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2.6fr));gap:40px;padding-block:64px 40px}
.ps .ftr .hold{background:#fff;padding:12px 16px;display:inline-flex;align-self:flex-start}
.ps .ftr .hold img{height:30px;width:auto}
.ps .ftr h4{color:#fff;font-size:15px;font-weight:700;margin-bottom:14px}
.ps .ftr .col{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.ps .ftr .fl{border:0;background:none;padding:3px 0;color:var(--px-grey-200);font-size:15px;cursor:pointer;text-align:start;text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.ps .ftr .fl:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.ps .ftr .brand{display:flex;flex-direction:column;gap:18px}
.ps .ftr .brand p{font-size:15px;line-height:1.6;color:var(--px-grey-300);max-width:380px}
.ps .ftr .bottom{border-top:1px solid var(--px-grey-700)}
.ps .ftr .bottom .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:18px;font-size:13px;color:var(--px-grey-300);grid-template-columns:none;flex-wrap:wrap}
.ps .social{display:flex;gap:8px}
.ps .social a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--px-grey-800);color:#fff}
.ps .social a:hover{background:var(--action-primary)}

/* ---------- catalogue / category ---------- */
.ps .layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;align-items:start;padding-block:36px 80px}
.ps .side{display:flex;flex-direction:column;gap:2px;position:sticky;top:96px}
.ps .side-h{font-size:13px;font-weight:700;color:var(--text-muted);padding:0 0 10px}
.ps .tree-i{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;padding:6px 12px;border:0;background:none;text-align:start;cursor:pointer;font-size:15px;color:var(--text-strong);position:relative}
.ps .tree-i:hover{background:var(--px-grey-50)}
.ps .tree-i.top{font-weight:700;font-size:16px}
.ps .tree-i.l2{padding-inline-start:26px;font-size:14px;color:var(--text-body)}
.ps .tree-i.l3{padding-inline-start:40px;font-size:14px;color:var(--text-muted)}
.ps .tree-i.l4{padding-inline-start:54px;font-size:13px;color:var(--text-muted)}
.ps .tree-i.on{background:var(--px-grey-100);font-weight:700;color:var(--text-strong)}
.ps .tree-i.on::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:var(--bar-thin);background:var(--brand-primary)}
.ps .tree-i .c{font-family:var(--font-num);font-size:12px;color:var(--text-muted);font-weight:600}
.ps .side-box{margin-top:20px;padding:20px;background:var(--px-grey-50);display:flex;flex-direction:column;gap:10px}
.ps .side-box b{font-size:16px;color:var(--text-strong)}
.ps .subtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:32px}
.ps .subtile{display:flex;align-items:center;gap:12px;padding:10px;border:0;background:var(--px-grey-50);text-align:start;cursor:pointer;min-height:72px;position:relative}
.ps .subtile:hover{background:var(--px-grey-100)}
.ps .subtile img{width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply;flex:none}
.ps .subtile .ph{width:52px;height:52px;background:#fff;flex:none;display:flex;align-items:center;justify-content:center;color:var(--px-grey-400)}
.ps .subtile span{font-size:15px;font-weight:700;color:var(--text-strong);line-height:1.3}
.ps .subtile small{display:block;font-size:12px;font-weight:500;color:var(--text-muted)}
.ps .toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.ps .toolbar .lf{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ps .infilter{display:flex;align-items:stretch;height:40px;background:var(--field-bg);box-shadow:inset 0 -1px 0 var(--line-field);width:260px;max-width:100%}
.ps .infilter:focus-within{background:#fff;box-shadow:inset 0 -2px 0 var(--px-charcoal),var(--ring-focus)}
.ps .infilter span{display:flex;align-items:center;padding-inline:12px 4px;color:var(--text-muted)}
.ps .infilter input{flex:1;min-width:0;border:0;background:transparent;outline:none;font:inherit;font-size:14px;color:var(--text-strong);padding-inline-end:10px}
.ps .seg{display:inline-flex;box-shadow:inset 0 0 0 1px var(--px-grey-300)}
.ps .seg button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:0;background:transparent;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-strong)}
.ps .seg button.on{background:var(--px-charcoal);color:#fff}
.ps .seg button:not(.on):hover{background:var(--px-grey-100)}
.ps .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.ps .pcard{position:relative;display:flex;flex-direction:column;background:#fff;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-base) var(--ease-out);min-width:0}
.ps .pcard::before{content:"";position:absolute;inset-inline-start:0;top:0;height:var(--bar-thin);width:0;background:var(--brand-primary);transition:width var(--dur-slow) var(--ease-out);z-index:1}
.ps .pcard:hover{box-shadow:var(--shadow-lg)}
.ps .pcard:hover::before{width:100%}
.ps .pcard .open{display:flex;flex-direction:column;border:0;background:none;padding:0;text-align:start;cursor:pointer;flex:1;font:inherit;color:inherit}
.ps .pwell{position:relative;aspect-ratio:1;background:var(--surface-product);display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%}
.ps .pwell img{width:80%;height:80%;object-fit:contain;transition:transform var(--dur-slow) var(--ease-out)}
.ps .pcard:hover .pwell img{transform:scale(1.05)}
.ps .plate{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--px-grey-400)}
.ps .plate .num{font-size:30px;font-weight:800;color:var(--px-grey-300);letter-spacing:.02em}
.ps .badge{position:absolute;top:10px;inset-inline-end:10px;display:inline-flex;align-items:center;height:24px;padding:0 8px;background:var(--action-primary);color:#fff;font-size:12px;font-weight:700}
.ps .pinfo{display:flex;flex-direction:column;gap:6px;padding:16px 16px 12px}
.ps .pinfo .sku{font-size:13px;color:var(--text-muted);display:flex;gap:6px}
.ps .pinfo .sku .num{color:var(--text-strong);font-weight:700}
.ps .pinfo h3,.ps .pinfo .pn{display:block;font-size:16px;font-weight:700;line-height:1.35;color:var(--text-strong)}
.ps .art .at{display:block;font-size:20px;line-height:1.35;font-weight:800;color:var(--text-strong)}
.ps .art-feat .at{font-size:clamp(24px,2.4cqi,32px);line-height:1.25}
.ps .art .ex{display:block;font-size:15px;color:var(--text-muted);line-height:1.55}
.ps .cat-tile .txt,.ps .cat-tile .well{display:flex}
.ps .mega-h .well{display:flex}
.ps .pact{padding:0 16px 16px}
.ps .plist{display:flex;flex-direction:column;box-shadow:0 0 0 1px var(--line)}
.ps .prow{display:grid;grid-template-columns:72px minmax(0,1fr) 120px 170px;gap:16px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);background:#fff}
.ps .prow:nth-child(even){background:var(--px-grey-25)}
.ps .prow .th{width:72px;height:72px;background:var(--surface-product);display:flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer}
.ps .prow .th img{width:84%;height:84%;object-fit:contain}
.ps .prow .nm{border:0;background:none;padding:0;text-align:start;font-weight:700;font-size:16px;color:var(--text-strong);cursor:pointer}
.ps .prow .nm:hover{color:var(--text-brand)}
.ps .prow .sk{font-weight:700;color:var(--text-strong)}
.ps .prow-h{background:var(--px-charcoal)!important;color:#fff;font-size:13px;font-weight:700;padding-block:10px}
.ps .empty{padding:48px;background:var(--px-grey-50);display:flex;flex-direction:column;gap:12px;align-items:flex-start}

/* catalog hub */
.ps .pdfhero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:32px;background:var(--px-charcoal);color:#fff}
.ps .pdfhero h2{color:#fff}
.ps .pdfhero p{color:var(--px-grey-200)}
.ps .fam{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;padding-block:32px;border-top:1px solid var(--line)}
.ps .fam-h{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ps .fam-h .well{width:100%;aspect-ratio:4/3;background:var(--surface-product);display:flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer}
.ps .fam-h .well img{width:80%;height:80%;object-fit:contain;mix-blend-mode:multiply}
.ps .fam-h .idx{font-family:var(--font-num);font-weight:800;color:var(--text-brand);font-size:15px}
.ps .fam-h h2{font-size:28px;font-weight:800}
.ps .fam-tree{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 24px;align-content:start}
.ps .ft-group{display:flex;flex-direction:column;gap:2px;padding-block:6px}
.ps .ft-l{border:0;background:none;padding:6px 0;text-align:start;cursor:pointer;font-size:16px;font-weight:700;color:var(--text-strong);display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}
.ps .ft-l:hover{color:var(--text-brand)}
.ps .ft-s{border:0;background:none;padding:4px 0 4px;padding-inline-start:14px;text-align:start;cursor:pointer;font-size:14px;color:var(--text-muted)}
.ps .ft-s:hover{color:var(--text-brand);text-decoration:underline;text-underline-offset:3px}
.ps .ft-s.l4{padding-inline-start:28px;font-size:13px}

/* product detail */
.ps .pd{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;padding-block:28px 64px;align-items:start}
.ps .gallery{display:flex;flex-direction:column;gap:12px;position:sticky;top:96px}
.ps .gmain{position:relative;aspect-ratio:1;background:var(--surface-product);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ps .gmain img{width:78%;height:78%;object-fit:contain}
.ps .gmain .zoomtag{position:absolute;bottom:0;inset-inline-start:0;background:#fff;padding:6px 12px;font-size:13px;font-weight:700}
.ps .thumbs{display:flex;gap:10px}
.ps .thumb{width:84px;height:84px;background:var(--surface-product);border:0;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px transparent}
.ps .thumb img{width:80%;height:80%;object-fit:contain}
.ps .thumb.on{box-shadow:inset 0 0 0 2px var(--px-charcoal)}
.ps .pinfo-d{display:flex;flex-direction:column;gap:22px}
.ps .skubig{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ps .skubig .k{font-size:14px;color:var(--text-muted);font-weight:600}
.ps .skubig .v{font-family:var(--font-num);font-size:28px;font-weight:800;color:var(--text-strong);letter-spacing:.01em}
.ps .feat{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.ps .feat li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;color:var(--text-body)}
.ps .feat li::before{content:"";width:10px;height:10px;background:var(--brand-primary);flex:none;margin-top:7px}
.ps .spec{width:100%;border-collapse:collapse;font-size:15px}
.ps .spec caption{text-align:start;font-size:13px;font-weight:700;color:var(--text-muted);padding-bottom:10px}
.ps .spec th,.ps .spec td{padding:11px 12px;text-align:start;vertical-align:top;box-shadow:inset 0 -1px 0 var(--line)}
.ps .spec th{width:38%;font-weight:500;color:var(--text-muted)}
.ps .spec td{color:var(--text-strong);font-weight:600}
.ps .spec tr:nth-child(even){background:var(--px-grey-25)}
.ps .vtable{width:100%;border-collapse:collapse;font-size:14px}
.ps .vtable th{background:var(--px-charcoal);color:#fff;font-weight:700;font-size:13px;padding:10px 12px;text-align:start;white-space:nowrap}
.ps .vtable td{padding:10px 12px;box-shadow:inset 0 -1px 0 var(--line);color:var(--text-strong)}
.ps .vtable tr.on td{background:var(--surface-accent)}
.ps .vtable tr.on td:first-child{box-shadow:inset 0 -1px 0 var(--line),inset calc(var(--bar-thin) * -1) 0 0 var(--brand-primary)}
.ps .vtable :is(button,a){border:0;background:none;padding:0;cursor:pointer;color:var(--text-link);font-weight:700;font-size:14px}
.ps .vtable :is(button,a):hover{text-decoration:underline}
.ps .scrollx{overflow-x:auto}
.ps .config{display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--px-grey-50)}
.ps .config .row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ps .config .row .lbl{min-width:72px}
.ps .opt{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:40px;padding:0 14px;border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--px-grey-300);cursor:pointer;font-weight:700;font-size:14px;color:var(--text-strong)}
.ps .opt:hover{background:var(--px-grey-100)}
.ps .opt.on{background:var(--px-charcoal);color:#fff;box-shadow:none}
.ps .opt[disabled]{opacity:.42;cursor:not-allowed}
.ps .buy{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.ps .stepper{display:inline-flex;align-items:stretch;height:52px;box-shadow:inset 0 0 0 1px var(--px-grey-300);background:#fff}
.ps .stepper button{width:48px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-strong)}
.ps .stepper button:hover{background:var(--px-grey-100)}
.ps .stepper output,.ps .stepper .q{min-width:52px;display:flex;align-items:center;justify-content:center;font-family:var(--font-num);font-weight:700;font-size:18px}
.ps .stepper.sm{height:40px}
.ps .stepper.sm button{width:38px}
.ps .stepper.sm .q{min-width:40px;font-size:16px}
.ps .rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}

/* article */
.ps .article{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;padding-block:40px 80px;align-items:start}
.ps .prose{display:flex;flex-direction:column;gap:22px;max-width:720px}
.ps .prose h2{font-size:26px;font-weight:800;line-height:1.3;margin-top:18px;display:flex;flex-direction:column;gap:12px}
.ps .prose h2::before{content:"";width:40px;height:var(--bar-thin);background:var(--brand-primary)}
.ps .prose p{font-size:18px;line-height:1.75;color:var(--text-body)}
.ps .artcover{aspect-ratio:21/9;background:var(--surface-product);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.ps .artcover img{height:84%;width:auto;object-fit:contain;mix-blend-mode:multiply}
.ps .meta{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--text-muted);align-items:center}
.ps .callout{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px;background:var(--px-grey-50)}
.ps .callout .th{width:96px;height:96px;background:var(--surface-product);display:flex;align-items:center;justify-content:center}
.ps .callout .th img{width:84%;height:84%;object-fit:contain;mix-blend-mode:multiply}
.ps .callout b{display:block;font-size:16px;color:var(--text-strong)}
.ps .callout span{font-size:14px;color:var(--text-muted)}
.ps .aside{display:flex;flex-direction:column;gap:20px;position:sticky;top:96px}
.ps .abox{padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 0 0 1px var(--line);background:#fff}
.ps .abox.dark{background:var(--px-charcoal);color:#fff;box-shadow:none}
.ps .abox.dark h3{color:#fff}
.ps .abox.dark p{color:var(--px-grey-200)}
.ps .alink{border:0;background:none;padding:10px 0;text-align:start;cursor:pointer;font-size:15px;font-weight:600;color:var(--text-strong);border-bottom:1px solid var(--line);line-height:1.4}
.ps .alink:hover{color:var(--text-brand)}

/* quote */
.ps .qgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start;padding-block:36px 80px}
.ps .qitem{display:grid;grid-template-columns:80px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.ps .qitem .th{width:80px;height:80px;background:var(--surface-product);display:flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer}
.ps .qitem .th img{width:84%;height:84%;object-fit:contain}
.ps .qitem .ctl{display:contents}
.ps .qitem .nm{border:0;background:none;padding:0;text-align:start;font-weight:700;font-size:16px;color:var(--text-strong);cursor:pointer;line-height:1.35}
.ps .qitem .nm:hover{color:var(--text-brand)}
.ps .qside{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px;padding:28px;box-shadow:var(--shadow-md);background:#fff}
.ps .qside::before{content:"";display:block;height:var(--bar-thick);background:var(--brand-primary);margin:-28px -28px 6px}

/* standards */
.ps .stdlist{display:flex;flex-direction:column;box-shadow:0 0 0 1px var(--line)}
.ps .std{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line);background:#fff}
.ps .std:last-child{border-bottom:0}
.ps .std .ico{width:72px;height:88px;background:var(--px-grey-50);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;font-family:var(--font-num);font-weight:800;font-size:13px;color:var(--text-strong)}
.ps .std .ico::before{content:"";position:absolute;inset-inline:0;top:0;height:var(--bar-thin);background:var(--brand-primary)}
.ps .std h3{font-size:20px;font-weight:800}
.ps .std p{font-size:14px;color:var(--text-muted)}
.ps .std .acts{display:flex;gap:10px;flex-wrap:wrap}

/* privacy */
.ps .toc{display:flex;flex-direction:column;gap:2px}
.ps .toc a{display:block;padding:8px 12px;font-size:14px;color:var(--text-body);text-decoration:none}
.ps .toc a:hover{background:var(--px-grey-50);color:var(--text-brand)}
.ps .psec{display:flex;flex-direction:column;gap:10px;padding-block:22px;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.ps .psec h2{font-size:22px;font-weight:800;display:flex;gap:12px;align-items:baseline}
.ps .psec h2 .num{color:var(--text-brand);font-size:18px}
.ps .psec p{font-size:17px;line-height:1.7}

/* about page */
.ps .timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--line);box-shadow:0 0 0 1px var(--line)}
.ps .tl{background:#fff;padding:28px;display:flex;flex-direction:column;gap:12px}
.ps .tl b{font-family:var(--font-num);font-size:44px;font-weight:800;color:var(--px-red);line-height:1}
.ps .tl p{font-size:16px;line-height:1.6}

/* toast */
.ps .toast{position:fixed;bottom:24px;inset-inline-start:24px;z-index:80;display:flex;gap:14px;align-items:center;padding:14px 16px;background:var(--px-charcoal);color:#fff;box-shadow:var(--shadow-xl);max-width:calc(100% - 48px);border-inline-start:var(--bar-thin) solid var(--brand-primary)}
.ps .toast .t{font-size:15px;line-height:1.4}
.ps .toast .t b{display:block}
.ps .toast .link{color:#fff;text-decoration:underline}
.ps .toast .iconbtn{color:#fff;width:36px;height:36px}
.ps .toast .iconbtn:hover{background:var(--px-grey-700)}

/* ---------- responsive (container queries on the page root) ---------- */
@container ps (max-width: 1180px){
  .ps .hsearch{width:200px}
  .ps .nav-i{padding:0 8px;font-size:15px}
  .ps .mega .wrap{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
  .ps .mega-col:nth-child(4){border-inline-start:0;padding-inline-start:0}
}
@container ps (max-width: 1023px){
  .ps .wrap{padding-inline:28px}
  .ps .nav,.ps .hsearch,.ps .util,.ps .d-only{display:none}
  .ps .m-only{display:flex}
  .ps .hrow{min-height:64px;gap:8px;justify-content:space-between}
  .ps .logo img{height:28px}
  .ps .quote-btn .qlbl{display:none}
  .ps .hero .wrap{grid-template-columns:1fr;gap:56px;padding-block:40px 64px}
  .ps .boxart{justify-self:center;max-width:460px}
  .ps .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps .about,.ps .feature,.ps .contact,.ps .qgrid,.ps .pd,.ps .article{grid-template-columns:1fr;gap:40px}
  .ps .docs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps .art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps .ftr .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps .layout{grid-template-columns:1fr;gap:24px}
  .ps .side{position:static;display:none}
  .ps .gallery,.ps .aside,.ps .qside{position:static}
  .ps .fam{grid-template-columns:1fr;gap:16px}
  .ps .fam-h{flex-direction:row;align-items:center}
  .ps .fam-h .well{width:120px;flex:none}
  .ps .art-feat{grid-template-columns:1fr}
  .ps .art-feat .cover{min-height:220px}
  .ps .timeline{grid-template-columns:1fr}
}
@container ps (max-width: 640px){
  .ps .wrap{padding-inline:var(--margin-page-mobile)}
  .ps .sec{padding-block:56px}
  .ps .sec-head{margin-bottom:24px}
  .ps .cat-grid{grid-template-columns:1fr}
  .ps .cat-tile{min-height:0;padding:18px;grid-template-columns:minmax(0,1fr) 38%}
  .ps .cat-tile .nm{font-size:22px}
  .ps .cat-tile .subs{display:none}
  .ps .pillars,.ps .docs,.ps .art-grid,.ps .form{grid-template-columns:1fr}
  .ps .ftr .wrap{grid-template-columns:1fr;gap:28px;padding-block:44px 28px}
  .ps .console-row{height:56px}
  .ps .console-row .btn{padding:0 16px}
  .ps .console-row .btn .bl{display:none}
  .ps .console-row input{font-size:16px}
  .ps .hero-cta .btn{flex:1}
  .ps .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ps .pinfo{padding:12px 12px 8px}
  .ps .pinfo h3,.ps .pinfo .pn{font-size:14px}
  .ps .pact{padding:0 12px 12px}
  .ps .pact .btn{padding:0 8px;font-size:13px}
  .ps .prow{grid-template-columns:56px minmax(0,1fr);row-gap:8px}
  .ps .prow .th{width:56px;height:56px}
  .ps .prow .sk{grid-column:2}
  .ps .prow .ac{grid-column:1/-1}
  .ps .prow-h{display:none!important}
  .ps .pdfhero{grid-template-columns:1fr;padding:24px}
  .ps .std{grid-template-columns:56px minmax(0,1fr);padding:18px}
  .ps .std .ico{width:56px;height:68px}
  .ps .std .acts{grid-column:1/-1}
  .ps .qitem{grid-template-columns:64px minmax(0,1fr);row-gap:10px}
  .ps .qitem .th{width:64px;height:64px}
  .ps .qitem .ctl{grid-column:2;display:flex;gap:8px;align-items:center}
  .ps .callout{grid-template-columns:72px minmax(0,1fr)}
  .ps .callout .th{width:72px;height:72px}
  .ps .callout .btn{grid-column:1/-1}
  .ps .art-feat .body{padding:22px}
  .ps .buy .btn{flex:1}
  .ps .toast{inset-inline:12px;bottom:12px;max-width:none}
  .ps .thumb{width:68px;height:68px}
  .ps .escape .cap{font-size:12px}
}


body{margin:0}
a{color:#C8161D}a:hover{color:#A01218}

/* Preserve paragraph breaks from recovered original content. */
.ps .prose p{white-space:pre-line}

/* V6: coherent V5 visual language, V4 alignment and simpler task flows. */
.ps .wrap{max-width:1320px;padding-inline:40px}
.ps .hrow{position:relative;justify-content:space-between;gap:24px;min-height:84px}
.ps .nav{position:absolute;left:50%;transform:translateX(-50%);flex:none;gap:18px;white-space:nowrap}
.ps .nav-i{padding-inline:4px;font-weight:500;font-size:15px}
.ps .header-actions{display:flex;align-items:center;gap:8px;margin-inline-start:auto}
.ps .header-actions .iconbtn{width:44px;height:44px;border:0;background:transparent;box-shadow:none}
.ps .menu-toggle{display:none}
.ps .global-search-panel{padding-block:12px 20px}
.ps .global-search-panel .console-row{max-width:720px;margin-inline:auto}
.ps .hero .wrap{padding-block:64px 72px;gap:56px}
.ps .hero-copy{gap:24px}
.ps .hero-subtitle{font-size:clamp(18px,1.8vw,24px);line-height:1.65;max-width:33ch;margin:0;color:var(--text-muted)}
.ps .hero-copy .hero-cta{margin-top:8px}
.ps .hero-copy .hero-cta .btn{min-height:52px;min-width:172px;padding:12px 24px;border:1px solid currentColor;border-radius:0;display:inline-flex;align-items:center;justify-content:center;gap:12px}
.ps .hero-copy .hero-cta .btn-primary{border-color:var(--brand-primary)}
.ps .hero-copy .hero-cta .btn-secondary{background:transparent;color:var(--text-strong)}
.ps .cat-tile{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0;border:0;box-shadow:none;min-height:216px;overflow:hidden}
.ps .cat-tile .txt{padding:28px;justify-content:center;gap:18px}
.ps .cat-tile .well{padding:0;background:transparent}
.ps .cat-tile .well img{width:100%;height:100%;max-height:260px;object-fit:contain;transform:none}
.ps .cat-tile:hover .well img{transform:none}
.ps .cat-tile .go{color:var(--text-brand);margin-top:0}
.ps .cat-tile::before{display:none}
.ps .cat-tile:hover{box-shadow:none;background:var(--surface-muted,#f7f7f7)}
.ps :is(button,a,input,textarea):focus:not(:focus-visible){outline:none;box-shadow:none}
.ps :is(button,a,input,textarea):focus-visible{outline:2px solid #231f20;outline-offset:4px;box-shadow:none}
.skip-link{position:fixed;top:-100px;right:20px;z-index:1000;background:#fff;color:#231f20;padding:12px 20px}
.skip-link:focus{top:12px}
.ps [role=status]{min-height:1em}
@container ps (max-width:1180px){.ps .nav{gap:12px}.ps .nav-i{font-size:14px}.ps .logo img{height:30px}}
@container ps (max-width:1080px){.ps .nav{display:none}.ps .menu-toggle{display:flex}.ps .hrow{min-height:72px}.ps .header-actions{gap:4px}}
@container ps (max-width:640px){.ps .wrap{padding-inline:20px}.ps .hrow{gap:12px}.ps .logo img{height:28px}.ps .hero .wrap{padding-block:36px 52px;gap:38px}.ps .hero-copy{gap:18px}.ps .hero-subtitle{font-size:18px}.ps .hero-copy .hero-cta{gap:10px}.ps .hero-copy .hero-cta .btn{min-width:0;padding:12px 14px;font-size:15px;flex:1}.ps .cat-tile{grid-template-columns:1fr 1fr;min-height:160px}.ps .cat-tile .txt{padding:20px 16px}.ps .cat-tile .nm{font-size:22px}.ps .cat-tile .well img{max-height:190px}.ps .global-search-panel .console-row{height:52px}}
@media(prefers-reduced-motion:reduce){.ps *,.ps *::before,.ps *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ps .p-actions .btn,.ps .form .btn,.ps .q-actions .btn{white-space:normal;text-align:center}
.ps .menu-toggle[aria-expanded=true]{background:var(--surface-muted,#f7f7f7)}
@container ps (min-width:1081px){.ps .nav{display:flex}}
.ps .cat-grid{gap:24px;background:transparent;box-shadow:none}
@container ps (max-width:640px){.ps .cat-grid{gap:16px}}

/* Gil article: original text, responsive comparison tables. */
.gil-article-body{display:flex;flex-direction:column;gap:22px;min-width:0}.gil-article-body p,.gil-article-body li{line-height:1.85;overflow-wrap:anywhere}.gil-article-body h2{margin-top:20px}.gil-article-body h3{margin-top:10px}.gil-article-body ol{padding-inline-start:26px}.gil-table{width:100%;min-width:580px;white-space:normal}.gil-table th,.gil-table td{text-align:start;white-space:normal;vertical-align:top;line-height:1.7;padding:14px}.gil-article-body .scrollx{max-width:100%;overflow-x:auto}.article>.prose{min-width:0}

/* V7: consistent clean links, soft lift surfaces and approved artwork. */
:root{--v7-shadow:0 12px 40px rgba(35,31,32,.09);--v7-shadow-hover:0 22px 54px rgba(35,31,32,.16)}
.ps a,.ps a:hover,.ps .link:hover,.ps .mega-l:hover,.ps .ftr .fl:hover{text-decoration:none}
.ps .prose p a,.ps .prose li a,.ps .check .link{text-decoration:underline;text-underline-offset:3px}
.ps .btn,.ps .hero-copy .hero-cta .btn{border:0}
.ps .btn-primary,.ps .btn-primary:hover,.ps .btn-primary:active,.ps a.btn-primary[data-event],.ps .count{color:#fff!important}
.ps .btn-primary svg,.ps .btn-primary span{color:#fff!important}
.ps .btn-secondary,.ps .btn-strong,.ps .hero-copy .hero-cta .btn-secondary{background:#fff;color:var(--text-strong);box-shadow:var(--shadow-md)}
.ps .btn-secondary:hover,.ps .btn-strong:hover,.ps .hero-copy .hero-cta .btn-secondary:hover{background:#fff;color:var(--text-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.ps .hrow{height:84px;min-height:84px}
.ps .nav{height:100%;align-items:stretch;top:0}
.ps .nav-i{height:100%;padding-inline:0}
.ps .nav-i.on::after{inset-inline:0;bottom:0;width:100%}
.ps .hero{position:relative;overflow:hidden;background:#d6dadd;isolation:isolate}
.ps .hero-artwork{position:absolute;inset:0;z-index:-2}
.ps .hero-artwork .hero-slide{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;opacity:0;transition:opacity .4s ease}
.ps .hero-artwork .hero-slide.is-active{opacity:1}
.ps .hero .wrap{display:flex;min-height:clamp(420px,33.35vw,660px);padding-block:48px;align-items:center}
.ps .hero-copy{width:42%;max-width:520px;gap:22px}
.ps .hero .h-display{font-size:clamp(36px,3.8vw,60px);line-height:1.14}
.ps .hero-subtitle{font-size:clamp(17px,1.6vw,22px);color:var(--text-strong)}
.ps .hero[data-theme=dark] .h-display,.ps .hero[data-theme=dark] .hero-subtitle{color:white}
.ps .hero-selector{display:flex;align-items:center;gap:4px;margin-top:8px;direction:rtl}
.ps .hero-dot{position:relative;background:transparent;border:0;padding:12px 6px;width:24px;height:36px;cursor:pointer;transition:width .25s ease;color:var(--text-strong)}
.ps .hero-dot::after{content:'';display:block;width:8px;height:8px;background:currentColor;opacity:.35;margin:auto;transition:width .25s ease,opacity .25s ease}
.ps .hero-dot.is-active{width:52px}.ps .hero-dot.is-active::after{width:40px;height:5px;opacity:1;background:var(--px-red)}
.ps .hero[data-theme=dark] .hero-dot{color:#fff}
.ps .cat-grid{gap:28px}
.ps .cat-tile{background:white;box-shadow:var(--v7-shadow);transition:box-shadow .25s ease,transform .25s ease}
.ps .cat-tile:hover{background:white;box-shadow:var(--v7-shadow-hover);transform:translateY(-5px)}
.ps .cat-tile .well{height:240px;padding:18px;background:#fff}
.ps .cat-tile .well img{width:100%;height:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.ps .cat-tile::before{display:block;content:'';position:absolute;top:0;inset-inline-start:0;width:0;height:4px;background:var(--px-red);transition:width .25s ease}.ps .cat-tile:hover::before{width:100%}
.ps .pillars{gap:22px;background:transparent;box-shadow:none}
.ps .pillar{border:0;box-shadow:var(--v7-shadow);gap:20px;padding:26px;transition:box-shadow .25s ease,transform .25s ease}
.ps .pillar:hover{box-shadow:var(--v7-shadow-hover);transform:translateY(-3px)}
.ps .pillar-icon{width:42px;height:42px;flex:none}
.ps .video-embed{background:#231f20;box-shadow:var(--v7-shadow)}
.ps .video-embed iframe{width:100%;height:100%;position:absolute;inset:0;border:0}
.ps .art,.ps .art-feat{box-shadow:var(--v7-shadow);transition:transform .25s ease,box-shadow .25s ease}
.ps .art:hover,.ps .art-feat:hover{transform:translateY(-4px);box-shadow:var(--v7-shadow-hover)}
.ps .art .cover img,.ps .art-feat .cover img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.ps .art .cover,.ps .art-feat .cover{background:var(--surface-product)}
.ps .docs{gap:24px;background:transparent;box-shadow:none}
.ps .doc{box-shadow:var(--v7-shadow);transition:box-shadow .25s ease,transform .25s ease}
.ps .doc:hover{box-shadow:var(--v7-shadow-hover);transform:translateY(-4px)}
.ps .contact-section{background:#fafafa;border-top:1px solid #ebebeb;padding-block:64px}
.ps .v7-contact{align-items:stretch;gap:72px}
.ps .v7-contact>div:first-child{gap:22px!important;justify-content:space-between}
.ps .cdetails{box-shadow:none;gap:0}
.ps .crow{padding:10px 0;border:0;gap:16px}
.ps .crow .ci{background:transparent;color:var(--text-brand);width:32px;height:38px}
.ps a.crow:hover{background:transparent;color:var(--text-brand)}
.ps .v7-contact .form{gap:16px 20px}
.ps .ftr .hold{background:transparent;padding:0}
.ps .ftr .hold img{height:40px}
@container ps (max-width:1080px){.ps .hrow{height:72px;min-height:72px}.ps .hero-copy{width:44%}.ps .hero .wrap{min-height:470px}}
@container ps (max-width:700px){
 .ps .hero .wrap{min-height:660px;align-items:flex-start;padding-top:36px;padding-bottom:260px}
 .ps .hero-copy{width:100%;max-width:none;gap:16px}.ps .hero .h-display{font-size:38px;max-width:15ch}.ps .hero-subtitle{max-width:30ch}
 .ps .hero-artwork .hero-slide{height:280px;top:auto;bottom:0;object-position:left center;object-fit:cover}
 .ps .hero[data-theme=light]{background:#d9d9d7}.ps .hero[data-theme=dark]{background:#30363b}
 .ps .hero-selector{margin-top:0}.ps .cat-tile .well{height:180px;padding:12px}.ps .cat-grid{gap:20px}
 .ps .pillars{gap:18px}.ps .pillar{min-height:130px}.ps .docs{gap:20px}.ps .v7-contact{gap:36px}
}
@media(prefers-reduced-motion:reduce){.ps .hero-slide,.ps .cat-tile,.ps .pillar,.ps .doc,.ps .art{transition:none!important;transform:none!important}}
.ps .fbrand img{width:147px;height:25px;object-fit:contain}
.ps .ftr .hold img{width:147px;height:25px;object-fit:contain}
.ps .nav{gap:24px}
.ps .art .cover,.ps .art-feat .cover{aspect-ratio:16/9}
.ps .art .cover img[src*="article-"],.ps .art-feat .cover img[src*="article-"]{object-fit:cover;mix-blend-mode:normal}

/* V7 correction: visual fit-to-frame for homepage and mega-menu only.
   Original photo pixels unchanged; SVG viewBox removes only empty baked-in margins. */
.ps .cat-tile .category-media{padding:14px;height:240px;overflow:hidden}
.ps .mega-h .category-media{padding:7px;overflow:hidden}
.ps .category-media .category-frame{display:block;width:100%;height:100%;max-width:none;flex:1;overflow:hidden}
.ps .category-media .category-frame image{image-rendering:auto}
.ps .mega-catalog-download,.ps .mega-catalog-download:hover,.ps .mega-catalog-download svg{color:#fff!important}
.ps .nav{gap:36px}
@container ps (max-width:1180px){.ps .nav{gap:18px}}
@container ps (max-width:700px){.ps .cat-tile .category-media{height:180px;padding:10px}}
@container ps (max-width:1180px){.ps .nav{display:none}.ps .menu-toggle{display:flex}}
/* Header search retains its disclosure behavior with a soft inset field. */
.ps .global-search-panel .console-row{border:0;outline:0;background:#f7f7f7;box-shadow:inset 0 2px 7px rgba(35,31,32,.13)}
.ps .global-search-panel .console-row:focus-within{outline:0;box-shadow:inset 0 2px 7px rgba(35,31,32,.13),inset 0 -2px 0 rgba(200,22,29,.48)}
.ps .global-search-panel .console-row input,.ps .global-search-panel .console-row input:focus-visible{border:0;outline:0;box-shadow:none}
/* Category product-card quotation CTA: user's final outlined treatment. */
.ps .btn.quote-card-add{background:#fff!important;border:1px solid #c9c9c9;color:#171717!important;box-shadow:none!important;transform:none}
.ps .btn.quote-card-add:hover,.ps .btn.quote-card-add:active{background:#fff!important;border-color:#c9c9c9;color:var(--text-brand)!important;box-shadow:none!important;transform:none}
.ps .btn.quote-card-add svg,.ps .btn.quote-card-add span{color:inherit!important}
/* Restore the original white card surround; gray belongs only to the inner viewport. */
.ps .cat-tile .category-media{padding:18px;background:#fff}
.ps .cat-tile .category-image-viewport{display:block;width:100%;height:100%;overflow:hidden}
@container ps (max-width:700px){.ps .cat-tile .category-media{padding:12px}}

/* V8: all category levels remain reachable without overflowing the viewport. */
.mega {max-height:calc(100dvh - 135px);overflow-y:auto;overscroll-behavior:contain}
.ps .mega-l.depth-2 {padding-inline-start:14px;font-size:12px;color:#626266}
.ps .mega-l.depth-3 {padding-inline-start:24px;font-size:12px;color:#626266}
.v8-categories {display:flex!important;flex-direction:column;gap:2px}
.d-category {display:block;padding:9px 12px;text-decoration:none;color:inherit;border-radius:5px}
.d-category.depth-0 {font-weight:800;background:#f4f4f5;margin-top:8px}
.d-category.depth-1 {padding-inline-start:22px}.d-category.depth-2 {padding-inline-start:34px}.d-category.depth-3 {padding-inline-start:46px}
.d-category:hover,.d-category:focus-visible {background:#fff0e5;color:#b94f00}
