/* ═══════════════════════════════════════════════════════════════════
   PRODUCT PAGES — Thermal / VDP / Self-Adhesive (shared system)
   From the 3 design handoffs, harmonized to logo brand magenta.
   Fonts: Archivo (display/body) + IBM Plex Mono (eyebrows/stats).
   Prefix: pd-  (no clash with si-/ind- systems)
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --pd-m:#9b0571; --pd-m-hover:#7a0458; --pd-m-bright:#c4187e;
  --pd-pink:#E48BC8; --pd-tint:#F0B9DE; --pd-tint-2:#F8ECF4; --pd-tint-3:#E9D3E2;
  --pd-plum:#33092A; --pd-plum-2:#421236; --pd-plum-b:#5A2450; --pd-plum-b2:#431A39; --pd-plum-tx:#CBA9C2;
  --pd-dark:#1B1218; --pd-dark-b:#3A2C35; --pd-dark-b2:#2B1F29; --pd-dark-tx:#B5A9B0; --pd-dark-tx2:#9C8F96;
  --pd-green:#7BDCA0;
  --pd-bg:#FBF8FA; --pd-card:#FFFFFF; --pd-panel:#F6F1F4;
  --pd-ink:#1B1218; --pd-tx:#5C5158; --pd-mut:#8A7E85;
  --pd-line:#E9DDE4; --pd-line-2:#D9CDD4;
  --pd-sans:'Figtree',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --pd-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  --pd-ease:cubic-bezier(0.22,1,0.36,1);
}
.pd{font-family:var(--pd-sans);color:var(--pd-ink);background:var(--pd-bg);line-height:1.5}
.pd *,.pd *::before,.pd *::after{box-sizing:border-box}
.pd img{max-width:100%}
.pd-wrap{max-width:1240px;margin:0 auto;padding:0 32px}

/* ── Keyframes ─────────────────────────────────────────────────── */
@keyframes pdHeroIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes pdMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pdScan{0%,100%{top:6%}50%{top:90%}}
@keyframes pdFloaty{0%,100%{transform:rotate(3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-9px)}}
@keyframes pdSweep{from{background-size:0% .28em}to{background-size:100% .28em}}
@keyframes pdBlink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes pdFeed{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes pdLaser{0%,100%{top:4%}50%{top:92%}}
@keyframes pdGlow{0%,100%{box-shadow:0 32px 80px rgba(27,18,24,.28)}50%{box-shadow:0 32px 80px rgba(27,18,24,.28),0 0 28px 5px rgba(155,5,113,.22)}}
@keyframes pdSwatch{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-10px) rotate(var(--r,0deg))}}

/* ── Sector chip marquee (trusted-industries strip) ─────────────── */
.pd-sectors{border-top:1px solid var(--pd-line);border-bottom:1px solid var(--pd-line);background:#fff;padding:18px 0;display:flex;align-items:center;overflow:hidden}
.pd-sectors__label{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--pd-mono);font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--pd-m);background:var(--pd-tint-2);border:1px solid var(--pd-tint-3);border-radius:999px;padding:9px 16px;margin:0 22px 0 32px;white-space:nowrap}
.pd-sectors__label .dot{width:7px;height:7px;border-radius:50%;background:var(--pd-m);animation:pdBlink 1.6s infinite}
.pd-sectors__viewport{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.pd-sectors__track{display:flex;gap:12px;width:max-content;animation:pdMarquee 26s linear infinite;padding:2px 0}
.pd-sectors:hover .pd-sectors__track{animation-play-state:paused}
.pd-sector{display:inline-flex;align-items:center;gap:9px;border:1.5px solid var(--pd-line-2);background:#fff;border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:700;color:var(--pd-ink);text-decoration:none;white-space:nowrap;transition:border-color .25s,box-shadow .25s,transform .25s,color .25s}
.pd-sector:hover{border-color:var(--pd-m);color:var(--pd-m);transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(155,5,113,.35)}
.pd-sector em{font-style:normal;font-size:15px}
@media(max-width:820px){.pd-sectors__label{margin-left:20px;margin-right:14px}}
@media(max-width:560px){.pd-sectors{flex-direction:column;gap:12px;padding:16px 0}.pd-sectors__label{margin:0}}

/* ── Per-product hero motifs (each page gets a mechanic that matches
      the product: web run, pocket sealing, shrink-fit, fusion, water) ── */
.pd-fx-web{position:absolute;left:3%;right:3%;bottom:5%;height:16px;border-radius:4px;overflow:hidden;
  background:repeating-linear-gradient(90deg,var(--pd-m) 0 24px,rgba(155,5,113,.12) 24px 60px);
  box-shadow:0 2px 12px rgba(155,5,113,.35);animation:pdWebRun 1.5s linear infinite}
@keyframes pdWebRun{to{background-position:60px 0}}
.pd-fx-blister{position:absolute;left:5%;right:5%;bottom:5%;height:17%;display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.pd-fx-blister span{border:2px solid rgba(155,5,113,.6);border-radius:9px;background:rgba(255,255,255,.4);
  animation:pdPocketSeal 3.2s ease-in-out infinite;animation-delay:calc(var(--i)*.4s)}
@keyframes pdPocketSeal{0%,50%,100%{background:rgba(255,255,255,.4);box-shadow:none}
  60%,84%{background:rgba(155,5,113,.3);box-shadow:0 0 12px rgba(155,5,113,.55)}}
.pd-fx-shrink{position:absolute;inset:5% 12%;border:3px solid rgba(155,5,113,.6);pointer-events:none;
  border-radius:44% 44% 26% 26% / 16% 16% 9% 9%;animation:pdShrinkFit 3.4s cubic-bezier(.22,1,.36,1) infinite}
@keyframes pdShrinkFit{0%{transform:scale(1.12);opacity:0}16%{opacity:.95}48%{transform:scale(1)}
  74%{transform:scale(1);opacity:.95}100%{transform:scale(1);opacity:0}}
.pd-fx-fuse{position:absolute;inset:0;pointer-events:none}
.pd-fx-fuse::before{content:'';position:absolute;inset:7%;border:2px dashed rgba(155,5,113,.75);border-radius:12px;
  animation:pdFuse 3.6s ease-in-out infinite}
.pd-fx-fuse::after{content:'FUSED ✓';position:absolute;right:5%;bottom:5%;font-family:var(--pd-mono);font-size:11px;
  font-weight:600;letter-spacing:.1em;color:#fff;background:var(--pd-m);padding:6px 11px;border-radius:6px;
  animation:pdFuseTag 3.6s ease-in-out infinite}
@keyframes pdFuse{0%{transform:scale(1.08);opacity:.9}42%{transform:scale(1);border-style:dashed;box-shadow:none}
  56%,82%{transform:scale(1);opacity:.95;border-style:solid;border-color:var(--pd-m);box-shadow:0 0 20px rgba(155,5,113,.45)}
  100%{transform:scale(1);opacity:0}}
@keyframes pdFuseTag{0%,48%{opacity:0;transform:translateY(8px)}60%,84%{opacity:1;transform:none}100%{opacity:0}}
.pd-fx-drops{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:10px}
.pd-fx-drops span{position:absolute;top:-10%;left:calc(14% + var(--i)*20%);width:11px;height:15px;
  border-radius:50% 50% 62% 62%;background:linear-gradient(180deg,rgba(133,196,255,.95),rgba(62,138,216,.8));
  box-shadow:inset -2px -3px 4px rgba(255,255,255,.65);animation:pdDrop 2.8s ease-in infinite;
  animation-delay:calc(var(--i)*.6s)}
@keyframes pdDrop{0%{top:-10%;transform:scale(.85);opacity:0}10%{opacity:1}86%{opacity:1}100%{top:102%;transform:scale(1.08);opacity:0}}

/* ── Reveal helpers (JS-driven) ───────────────────────────────── */
.pd [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--pd-ease),transform .7s var(--pd-ease)}
.pd [data-reveal].pd-in{opacity:1;transform:none}
.pd [data-stagger]>*{opacity:0;transform:translateY(26px) scale(.97)}
.pd [data-stagger].pd-in>*{opacity:1;transform:none;transition:opacity .6s var(--pd-ease) var(--d,0ms),transform .6s var(--pd-ease) var(--d,0ms)}

/* ── Buttons ──────────────────────────────────────────────────── */
.pd-btn{display:inline-flex;align-items:center;gap:8px;background:var(--pd-m);color:#fff;font-weight:700;font-size:16px;padding:15px 30px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;font-family:var(--pd-sans);box-shadow:0 8px 24px rgba(155,5,113,.28);transition:background .25s,transform .25s,box-shadow .25s;white-space:nowrap}
.pd-btn:hover{background:var(--pd-m-hover);transform:translateY(-2px);color:#fff}
.pd-btn--sm{font-size:14px;padding:11px 22px}
.pd-btn--dark{background:var(--pd-plum);box-shadow:none}
.pd-btn--dark:hover{background:var(--pd-m)}
.pd-btn--ghost{background:transparent;color:var(--pd-ink);border:1.5px solid var(--pd-line-2);font-size:15px;font-weight:600;padding:15px 22px;box-shadow:none}
.pd-btn--ghost:hover{border-color:var(--pd-m);color:var(--pd-m);background:transparent;transform:none}

/* ── Breadcrumb ───────────────────────────────────────────────── */
.pd-crumb{font-family:var(--pd-mono);font-size:12px;color:var(--pd-mut);display:flex;gap:8px;align-items:center;padding:16px 0 0;flex-wrap:wrap}
.pd-crumb a{color:var(--pd-mut);text-decoration:none}
.pd-crumb a:hover{color:var(--pd-m)}
.pd-crumb b{color:var(--pd-m);font-weight:600}

/* ── Hero ─────────────────────────────────────────────────────── */
.pd-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:48px 0 72px}
.pd-hero--even{grid-template-columns:1fr 1fr}
.pd-hero--wide{grid-template-columns:1.1fr .9fr;padding-bottom:80px}
.pd-hero__l{animation:pdHeroIn .7s var(--pd-ease) both}
.pd-hero__r{position:relative;animation:pdHeroIn .7s .15s var(--pd-ease) both}
.pd-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--pd-mono);font-size:12px;font-weight:600;color:var(--pd-m);background:var(--pd-tint-2);border:1px solid var(--pd-tint-3);border-radius:999px;padding:6px 14px;margin-bottom:20px}
.pd-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--pd-m);display:inline-block}
.pd-badge .dot--blink{animation:pdBlink 1.6s infinite}
.pd h1{font-size:52px;line-height:1.06;font-weight:800;letter-spacing:-.02em;margin:0 0 20px}
.pd h1 em{font-style:normal;color:var(--pd-m)}
.pd h1 em.sweep{background-image:linear-gradient(var(--pd-tint),var(--pd-tint));background-repeat:no-repeat;background-position:0 88%;background-size:0% .28em;animation:pdSweep .9s .9s var(--pd-ease) forwards}
.pd-hero__sub{font-size:18px;color:var(--pd-tx);margin:0 0 12px;max-width:56ch}
.pd-hero__sub2{font-size:15px;color:var(--pd-mut);margin:0 0 28px;max-width:56ch}
.pd-hero__cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.pd-trustrow{display:flex;gap:22px;margin-top:26px;font-family:var(--pd-mono);font-size:12px;color:var(--pd-tx);flex-wrap:wrap}

/* Thermal hero card w/ scanner line */
.pd-scancard{background:#fff;border:1px solid var(--pd-line);border-radius:16px;padding:28px;box-shadow:0 24px 64px rgba(27,18,24,.10)}
.pd-scancard__img{position:relative;border-radius:10px;overflow:hidden}
.pd-scancard__img img{width:100%;display:block}
.pd-scanline{position:absolute;left:3%;right:3%;height:3px;top:6%;background:linear-gradient(90deg,transparent,var(--pd-m),transparent);box-shadow:0 0 20px 5px rgba(155,5,113,.4);border-radius:3px;animation:pdScan 3.6s ease-in-out infinite}
.pd-scancard__stats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px dashed var(--pd-line-2);margin-top:22px;padding-top:18px;text-align:center}
.pd-scancard__stats>div+div{border-left:1px dashed var(--pd-line-2)}
.pd-statlabel{font-family:var(--pd-mono);font-size:11px;color:var(--pd-mut);letter-spacing:.08em}
.pd-statval{font-weight:800;font-size:22px}
.pd-chip-float{position:absolute;top:-14px;right:-14px;background:var(--pd-plum);color:#fff;font-family:var(--pd-mono);font-size:12px;font-weight:600;padding:10px 16px;border-radius:8px;animation:pdFloaty 4s ease-in-out infinite}

/* VDP serial feed widget */
.pd-feed{background:var(--pd-dark);border:1px solid var(--pd-dark-b);border-radius:16px;overflow:hidden;animation:pdGlow 3.5s ease-in-out infinite}
.pd-feed__head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px dashed var(--pd-dark-b);font-family:var(--pd-mono);font-size:12px;gap:10px;flex-wrap:wrap}
.pd-feed__head .l{color:var(--pd-dark-tx2)}
.pd-feed__head .r{color:var(--pd-green);display:inline-flex;align-items:center;gap:6px}
.pd-feed__head .r .dot{width:7px;height:7px;border-radius:50%;background:var(--pd-green);display:inline-block;animation:pdBlink 1.2s infinite}
.pd-feed__view{height:340px;overflow:hidden;position:relative}
.pd-laser{position:absolute;left:0;right:0;height:2px;top:4%;z-index:2;background:linear-gradient(90deg,transparent,var(--pd-pink),transparent);box-shadow:0 0 16px 3px rgba(228,139,200,.5);animation:pdLaser 4.2s ease-in-out infinite;pointer-events:none}
.pd-feed__track{display:flex;flex-direction:column;animation:pdFeed 14s linear infinite}
.pd-feed__row{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--pd-dark-b2)}
.pd-qr{width:56px;height:56px;border-radius:8px;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);padding:6px;gap:2px;flex-shrink:0}
.pd-qr span{border-radius:1px;background:#fff}
.pd-qr span.on{background:var(--pd-dark)}
.pd-feed__info{flex:1;min-width:0}
.pd-feed__prod{font-weight:700;font-size:14px;color:#F3EEF1}
.pd-feed__meta{font-family:var(--pd-mono);font-size:11px;color:var(--pd-dark-tx2)}
.pd-feed__sn{font-family:var(--pd-mono);font-size:11px;color:var(--pd-pink)}
.pd-feed__ok{font-family:var(--pd-mono);font-size:11px;color:var(--pd-green);border:1px solid #2E4A38;border-radius:6px;padding:4px 8px;white-space:nowrap}
.pd-feed__stats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px dashed var(--pd-dark-b);text-align:center;padding:16px 0}
.pd-feed__stats>div+div{border-left:1px dashed var(--pd-dark-b)}
.pd-feed__stats b{display:block;font-weight:800;font-size:22px;color:#fff}
.pd-feed__stats small{font-family:var(--pd-mono);font-size:10px;color:var(--pd-dark-tx2);letter-spacing:.08em}

/* Self-adhesive swatch collage */
.pd-swatches{position:relative;height:420px}
.pd-swatch{position:absolute;border-radius:12px;overflow:hidden;box-shadow:0 20px 44px rgba(27,18,24,.18);border:4px solid #fff;animation:pdSwatch var(--dur,5s) ease-in-out var(--del,0s) infinite;transform:rotate(var(--r,0deg))}
.pd-swatch img{width:100%;height:100%;object-fit:cover;display:block}

/* ── Marquee ──────────────────────────────────────────────────── */
.pd-marq{border-top:1px solid var(--pd-line);border-bottom:1px solid var(--pd-line);background:#fff;padding:20px 0;overflow:hidden}
.pd-marq__label{max-width:1240px;margin:0 auto 12px;padding:0 32px;font-family:var(--pd-mono);font-size:11px;letter-spacing:.14em;color:var(--pd-mut);text-align:center}
.pd-marq__track{display:flex;width:max-content;animation:pdMarquee 36s linear infinite;align-items:center}
.pd-marq__track:hover{animation-play-state:paused}
.pd-marq__track img{height:42px;margin:0 34px;opacity:.75;filter:grayscale(1);object-fit:contain;transition:transform .3s var(--pd-ease),opacity .3s,filter .3s;transform:scale(1)}
.pd-marq__track img:hover{filter:none;opacity:1;transform:scale(1.22);position:relative;z-index:2}

/* ── Section scaffolding ──────────────────────────────────────── */
.pd-sec{padding:88px 0}
.pd-sec--tight{padding:64px 0}
.pd-eyebrow{font-family:var(--pd-mono);font-size:12px;letter-spacing:.14em;color:var(--pd-m);font-weight:600;margin-bottom:12px;text-transform:uppercase}
.pd-eyebrow--pink{color:var(--pd-pink)}
.pd h2{font-size:36px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}
.pd-lead{color:var(--pd-tx);font-size:16px;margin:0}
.pd-sechead{max-width:680px;margin-bottom:44px}
.pd-answer{background:var(--pd-tint-2);border:1px solid var(--pd-tint-3);border-left:4px solid var(--pd-m);border-radius:12px;padding:20px 24px;margin:18px 0 22px;font-size:15.5px;line-height:1.7;color:var(--pd-ink);max-width:760px}
.pd-answer b{color:var(--pd-m)}
.pd-sechead--center{margin-left:auto;margin-right:auto;text-align:center}
.pd-sechead-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px;flex-wrap:wrap}
.pd-link{color:var(--pd-m);font-weight:700;font-size:15px;text-decoration:none;border-bottom:2px solid var(--pd-m);padding-bottom:2px;white-space:nowrap}

/* ── SKU cards (thermal) ──────────────────────────────────────── */
.pd-skus{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pd-sku{background:#fff;border:1px solid var(--pd-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.pd-sku:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(27,18,24,.12)}
/* white stage + multiply blend so roll photos' white backgrounds vanish */
.pd-sku__img{position:relative;background:#fff;padding:28px;display:flex;justify-content:center;border-bottom:1px solid var(--pd-line)}
.pd-sku__img img{height:220px;object-fit:contain;mix-blend-mode:multiply;filter:brightness(1.04) contrast(1.03)}
.pd-sku__badge{position:absolute;top:16px;left:16px;background:var(--pd-m);color:#fff;font-family:var(--pd-mono);font-size:11px;font-weight:600;padding:6px 12px;border-radius:6px}
.pd-sku__body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:14px;flex:1}
.pd-sku__body h3{font-size:22px;font-weight:800;margin:0;letter-spacing:-.01em}
.pd-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:14px;color:var(--pd-tx)}
.pd-specs>div{display:flex;gap:8px}
.pd-specs .c{color:var(--pd-m);font-weight:700}
.pd-sku__use{font-size:14px;color:var(--pd-mut);margin:0}
.pd-sku__body .pd-btn--dark{margin-top:auto;align-self:flex-start;font-size:14px;padding:12px 24px}

/* ── Size matrix ──────────────────────────────────────────────── */
.pd-sizes{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.pd-size{background:#fff;border:1px solid var(--pd-line);border-radius:12px;padding:16px 12px 14px;text-align:center;transition:transform .25s,border-color .25s,box-shadow .25s}
.pd-size:hover{transform:translateY(-4px);border-color:var(--pd-m);box-shadow:0 12px 28px rgba(155,5,113,.12)}
.pd-size img{width:100%;height:78px;object-fit:contain;margin-bottom:10px;mix-blend-mode:multiply}
.pd-size__dim{font-family:var(--pd-mono);font-weight:600;font-size:14px}
.pd-size__core{font-family:var(--pd-mono);font-size:11px;color:var(--pd-mut)}

/* ── Dark (plum) sections + tables ────────────────────────────── */
.pd-darksec{background:var(--pd-plum);color:#F3EEF1;padding:88px 0}
.pd-darksec h2{color:#fff}
.pd-darksec .pd-lead{color:var(--pd-plum-tx)}
.pd-darksec .pd-lead strong{color:#fff}
.pd-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pd-table{width:100%;border-collapse:collapse;font-size:15px;min-width:720px}
.pd-table thead tr{font-family:var(--pd-mono);font-size:12px;letter-spacing:.1em;color:var(--pd-plum-tx)}
.pd-table th{text-align:left;padding:14px 18px;border-bottom:1px solid var(--pd-plum-b)}
.pd-table td{padding:14px 18px;border-bottom:1px solid var(--pd-plum-b2)}
.pd-table td.k{color:var(--pd-plum-tx);font-weight:600}
.pd-table .hl{background:rgba(155,5,113,.16)}
.pd-table--light{min-width:720px}
.pd-table--light thead tr{color:var(--pd-mut)}
.pd-table--light th{border-bottom:1px solid var(--pd-line)}
.pd-table--light td{border-bottom:1px solid #F0E8ED}
.pd-table--light td.k{color:var(--pd-tx)}
.pd-table--light .hl{background:var(--pd-tint-2)}
.pd-tablenote{font-family:var(--pd-mono);font-size:13px;color:var(--pd-plum-tx);margin:22px 0 0}

/* ── Why direct / arrow list + stat tiles ─────────────────────── */
.pd-2col{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.pd-2col--start{align-items:start}
.pd-arrows{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;font-size:15px;color:var(--pd-ink)}
.pd-arrows li{display:flex;gap:12px}
.pd-arrows .a{color:var(--pd-m);font-weight:800}
.pd-arrows--grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}
.pd-arrows a{color:var(--pd-ink);text-decoration:underline;text-decoration-color:var(--pd-tint-3);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.pd-arrows a:hover{color:var(--pd-m);text-decoration-color:var(--pd-m)}
.pd-lead a{color:var(--pd-m);font-weight:600;text-decoration:underline;text-decoration-color:var(--pd-tint-3);text-underline-offset:3px}
.pd-lead a:hover{text-decoration-color:var(--pd-m)}
.pd-imgtiles{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pd-imgtiles__img{background:#fff;border:1px solid var(--pd-line);border-radius:14px;padding:24px;grid-column:span 2}
.pd-imgtiles__img img{width:100%;border-radius:8px;display:block}
.pd-stattile{background:var(--pd-tint-2);border:1px solid var(--pd-tint-3);border-radius:14px;padding:22px}
.pd-stattile b{display:block;font-weight:800;font-size:30px;color:var(--pd-m)}
.pd-stattile span{font-size:13px;color:var(--pd-tx);font-weight:600}
.pd-stattile--white{background:#fff;border-color:var(--pd-line);border-radius:12px}
.pd-stattile--white b{font-size:28px}

/* ── Process steps ────────────────────────────────────────────── */
.pd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.pd-steps--5{grid-template-columns:repeat(5,1fr);gap:20px}
.pd-step{border-left:1px dashed var(--pd-line-2);padding-left:24px;padding-right:24px}
.pd-step__num{font-family:var(--pd-mono);font-size:13px;font-weight:600;color:var(--pd-m);margin-bottom:10px}
.pd-step__title{font-weight:700;font-size:18px;margin-bottom:6px}
.pd-step__desc{font-size:14px;color:var(--pd-tx)}

/* ── Numbered cards / industries / elements (VDP) ─────────────── */
.pd-cards3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
.pd-numcard{background:#fff;border:1px solid var(--pd-line);border-radius:14px;padding:30px;transition:transform .25s,border-color .25s,box-shadow .25s}
.pd-numcard:hover{transform:translateY(-5px);border-color:var(--pd-m);box-shadow:0 20px 44px rgba(27,18,24,.10)}
.pd-numcard__num{font-family:var(--pd-mono);font-size:34px;font-weight:600;color:var(--pd-m);margin-bottom:16px}
.pd-numcard h3{font-size:20px;font-weight:800;margin:0 0 10px}
.pd-numcard p{font-size:14px;color:var(--pd-tx);margin:0;line-height:1.65}
.pd-panelsec{background:var(--pd-panel);padding:88px 0}
.pd-inds{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pd-inds--3{grid-template-columns:repeat(3,1fr)}
.pd-ind{background:#fff;border:1px solid var(--pd-line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .25s,box-shadow .25s}
.pd-ind:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(27,18,24,.10)}
.pd-ind__top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pd-ind__name{font-weight:800;font-size:17px}
.pd-ind__tag{font-family:var(--pd-mono);font-size:10px;font-weight:600;color:var(--pd-m);background:var(--pd-tint-2);border-radius:6px;padding:4px 8px;white-space:nowrap}
.pd-ind p{font-size:13.5px;color:var(--pd-tx);margin:0;line-height:1.6}
.pd-els{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.pd-el{border:1px solid var(--pd-line);border-radius:14px;padding:26px;background:#fff;transition:border-color .25s,transform .25s}
.pd-el:hover{border-color:var(--pd-m);transform:translateY(-3px)}
.pd-el__code{font-family:var(--pd-mono);font-size:11px;color:var(--pd-m);letter-spacing:.1em;margin-bottom:10px}
.pd-el h3{font-size:18px;font-weight:800;margin:0 0 8px}
.pd-el p{font-size:14px;color:var(--pd-tx);margin:0;line-height:1.6}

/* DRS dark callout panel */
.pd-drs{background:var(--pd-dark);border:1px solid var(--pd-dark-b);border-radius:20px;padding:56px;display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;color:#F3EEF1}
.pd-drs h2{color:#fff;font-size:34px}
.pd-drs__lead{color:var(--pd-dark-tx);font-size:16px;margin:0 0 24px}
.pd-checks{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px;font-size:15px;color:#F3EEF1}
.pd-checks li{display:flex;gap:12px}
.pd-checks .c{color:var(--pd-green);flex-shrink:0}
.pd-drs__tiles{display:flex;flex-direction:column;gap:18px}
.pd-drs__tile{background:rgba(255,255,255,.04);border:1px dashed var(--pd-dark-b);border-radius:14px;padding:28px}
.pd-drs__tile b{display:block;font-weight:800;font-size:42px;color:var(--pd-pink)}
.pd-drs__tile p{font-size:14px;color:var(--pd-dark-tx);margin:6px 0 0}

/* ── Product lines / why-us tiles / custom options (self-adh) ─── */
.pd-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pd-line-card{background:#fff;border:1px solid var(--pd-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.pd-line-card:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(27,18,24,.12)}
.pd-line-card__img{background:var(--pd-panel);padding:22px;display:flex;justify-content:center}
.pd-line-card__img img{height:160px;object-fit:contain}
.pd-line-card__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.pd-line-card h3{font-size:19px;font-weight:800;margin:0}
.pd-line-card p{font-size:14px;color:var(--pd-tx);margin:0;line-height:1.6;flex:1}
.pd-line-card .pd-link{margin-top:6px;align-self:flex-start;font-size:14px}
.pd-whytiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pd-whytile{display:flex;gap:12px;align-items:flex-start;background:var(--pd-plum-2);border:1px solid var(--pd-plum-b);border-radius:12px;padding:18px}
.pd-whytile .c{color:var(--pd-green);font-weight:800;flex-shrink:0}
.pd-whytile span{font-size:14.5px;color:#F3EEF1}
.pd-opts{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.pd-opt{border:1px solid var(--pd-line);border-radius:14px;padding:24px 18px;text-align:center;background:#fff;transition:transform .25s,border-color .25s}
.pd-opt:hover{transform:translateY(-4px);border-color:var(--pd-m)}
.pd-opt__letter{width:48px;height:48px;border-radius:12px;background:var(--pd-tint-2);color:var(--pd-m);font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.pd-opt__name{font-weight:800;font-size:15px;margin-bottom:6px}
.pd-opt__desc{font-size:12.5px;color:var(--pd-tx)}

/* ── Testimonials ─────────────────────────────────────────────── */
.pd-tests{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pd-test{background:#fff;border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:14px}
.pd-test__stars{color:var(--pd-m);font-size:15px;letter-spacing:2px}
.pd-test p{font-size:14.5px;color:var(--pd-ink);margin:0;line-height:1.6}
.pd-test__who{font-size:13px;color:var(--pd-mut);font-weight:600}

/* ── FAQ ──────────────────────────────────────────────────────── */
.pd-faqwrap{max-width:900px;margin:0 auto;padding:88px 32px}
.pd-faqs{display:flex;flex-direction:column;gap:12px}
.pd-faq{background:#fff;border:1px solid var(--pd-line);border-radius:12px;overflow:hidden}
.pd-faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:none;padding:20px 24px;font-family:var(--pd-sans);font-size:17px;font-weight:700;color:var(--pd-ink);text-align:left;cursor:pointer}
.pd-faq__chev{color:var(--pd-m);transition:transform .3s;flex-shrink:0}
.pd-faq.open .pd-faq__chev{transform:rotate(180deg)}
.pd-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--pd-ease)}
.pd-faq.open .pd-faq__a{grid-template-rows:1fr}
.pd-faq__a>div{overflow:hidden;min-height:0}
.pd-faq__a p{margin:0;padding:0 24px 22px;font-size:15px;color:var(--pd-tx);line-height:1.65}

/* ── Quote band + form ────────────────────────────────────────── */
.pd-quote{background:linear-gradient(135deg,var(--pd-m-bright) -20%,var(--pd-m) 45%,var(--pd-m-hover) 120%);padding:88px 0}
.pd-quote__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.pd-quote__l{color:#fff}
.pd-quote__l h2{color:#fff;font-size:38px}
.pd-quote__bullets{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px;font-size:15px;color:#F3D6E9}
.pd-quote__bullets li{display:flex;gap:10px}
.pd-quote__contacts{display:flex;flex-direction:column;gap:10px;font-size:15px}
.pd-quote__contacts a{color:#fff;font-weight:600;text-decoration:none}
.pd-quote__contacts a:hover{text-decoration:underline}
.pd-formcard{background:#fff;border-radius:16px;padding:34px;box-shadow:0 32px 80px rgba(27,18,24,.3)}
.pd-form{display:flex;flex-direction:column;gap:13px}
.pd-form__title{font-weight:800;font-size:20px;margin-bottom:2px}
.pd-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pd-form__field{display:flex;flex-direction:column}
.pd-form__field label{font-family:var(--pd-mono);font-size:10.5px;font-weight:600;color:var(--pd-tx);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.pd-form input,.pd-form select,.pd-form textarea{width:100%;border:1.5px solid var(--pd-line-2);border-radius:8px;padding:12px 14px;font-family:var(--pd-sans);font-size:14px;color:var(--pd-ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.pd-form input:focus,.pd-form select:focus,.pd-form textarea:focus{border-color:var(--pd-m);outline:none;box-shadow:0 0 0 3px rgba(155,5,113,.12)}
.pd-form textarea{resize:vertical;min-height:74px}
.pd-form select{color:var(--pd-tx)}
.pd-form .iti{width:100%}
.pd-form__radios{display:flex;gap:18px}
.pd-form__radios label{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--pd-tx);cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--pd-sans)}
.pd-form__radios input[type="radio"]{width:auto;accent-color:var(--pd-m)}
.pd-form input[type="file"]{padding:8px 10px;border:1.5px dashed var(--pd-m);background:var(--pd-tint-2);cursor:pointer;font-size:12px}
.pd-form input[type="file"]::-webkit-file-upload-button{background:var(--pd-m);color:#fff;border:0;padding:6px 13px;border-radius:6px;font-size:12px;cursor:pointer;margin-right:8px}
.pd-form small{color:var(--pd-mut);font-size:11px;margin-top:4px}
.pd-form__submit{background:var(--pd-m);color:#fff;font-family:var(--pd-sans);font-weight:700;font-size:16px;padding:14px;border:none;border-radius:8px;cursor:pointer;transition:background .25s,transform .25s}
.pd-form__submit:hover{background:var(--pd-m-hover);transform:translateY(-1px)}
.pd-form__note{font-size:12px;color:var(--pd-mut);text-align:center}
.pd-hp{position:absolute;left:-9999px;opacity:0;height:0}

/* ── Related products ─────────────────────────────────────────── */
.pd-rel{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pd-rel a{display:block;background:#fff;border:1px solid var(--pd-line);border-radius:14px;padding:28px;text-decoration:none;transition:transform .25s,box-shadow .25s}
.pd-rel a:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(27,18,24,.10)}
.pd-rel__cat{font-family:var(--pd-mono);font-size:11px;color:var(--pd-m);font-weight:600;letter-spacing:.1em;margin-bottom:10px}
.pd-rel__title{font-weight:800;font-size:20px;color:var(--pd-ink);margin-bottom:8px}
.pd-rel p{color:var(--pd-tx);font-size:14px;margin:0 0 14px}
.pd-rel__go{color:var(--pd-m);font-weight:700;font-size:14px}

/* ── Sticky CTA pill ──────────────────────────────────────────── */
.pd-sticky{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(120px);z-index:90;background:var(--pd-plum);color:#fff;border-radius:999px;padding:10px 12px 10px 24px;display:flex;align-items:center;gap:18px;box-shadow:0 16px 48px rgba(27,18,24,.35);transition:transform .4s var(--pd-ease);max-width:calc(100vw - 24px)}
.pd-sticky.show{transform:translateX(-50%) translateY(0)}
.pd-sticky span{font-size:14px;font-weight:600;white-space:nowrap}
.pd-sticky a{background:var(--pd-m);color:#fff;font-weight:700;font-size:14px;padding:10px 20px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:background .25s}
.pd-sticky a:hover{background:var(--pd-m-bright)}

/* ═══ RESPONSIVE ═══════════════════════════════════════════════ */
@media(max-width:1080px){
  .pd h1{font-size:44px}
  .pd-hero{grid-template-columns:1fr;gap:44px}
  .pd-hero__r{max-width:560px}
  .pd-sizes{grid-template-columns:repeat(4,1fr)}
  .pd-inds,.pd-inds--3{grid-template-columns:1fr 1fr}
  .pd-2col{grid-template-columns:1fr;gap:40px}
  .pd-drs{grid-template-columns:1fr;padding:40px 28px}
  .pd-quote__grid{grid-template-columns:1fr;gap:44px}
  .pd-steps--5{grid-template-columns:repeat(3,1fr);row-gap:28px}
}
@media(max-width:820px){
  .pd-wrap{padding:0 20px}
  .pd-faqwrap{padding:64px 20px}
  .pd h1{font-size:36px}
  .pd h2{font-size:28px}
  .pd-sec,.pd-darksec,.pd-panelsec,.pd-quote{padding:64px 0}
  .pd-skus,.pd-cards3,.pd-els,.pd-rel{grid-template-columns:1fr}
  .pd-lines,.pd-tests{grid-template-columns:1fr 1fr}
  .pd-steps{grid-template-columns:1fr 1fr;row-gap:28px}
  .pd-opts{grid-template-columns:repeat(3,1fr)}
  .pd-whytiles{grid-template-columns:1fr}
  .pd-swatches{height:340px}
}
@media(max-width:560px){
  .pd h1{font-size:31px}
  .pd-hero{padding:32px 0 52px}
  .pd-sizes{grid-template-columns:repeat(2,1fr)}
  .pd-lines,.pd-tests,.pd-steps{grid-template-columns:1fr}
  .pd-steps--5{grid-template-columns:1fr}
  .pd-opts{grid-template-columns:1fr 1fr}
  .pd-inds,.pd-inds--3{grid-template-columns:repeat(2,1fr)}
  .pd-arrows--grid{grid-template-columns:1fr}
  .pd-form__row{grid-template-columns:1fr}
  .pd-formcard{padding:24px 20px}
  .pd-drs{padding:32px 20px}
  .pd-drs h2{font-size:26px}
  .pd-feed__view{height:300px}
  .pd-sticky span{display:none}
  .pd-sticky{padding:8px}
  .pd-scancard{padding:18px}
  .pd-swatches{height:300px}
  .pd-quote__l h2{font-size:29px}
}
@media(prefers-reduced-motion:reduce){
  .pd *,.pd *::before,.pd *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .pd [data-reveal],.pd [data-stagger]>*{opacity:1;transform:none}
  .pd h1 em.sweep{background-size:100% .28em}
}
