/* Local preview product-photo showcases; scoped to avoid affecting other sections. */
.pm-section{box-sizing:border-box;padding:42px 20px;color:var(--pm-ink);background:var(--pm-bg);border-block:1px solid var(--pm-line)}
.pm-section *{box-sizing:border-box}.pm-wrap{max-width:1180px;margin:0 auto;min-width:0}
.pm-intro{min-width:0}.pm-kicker{font:700 .70rem/1.3 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .55rem}
.pm-intro h2{color:inherit;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.025em;margin:0 0 .75rem;max-width:23ch}
.pm-lead{font-size:1rem;line-height:1.55;margin:0;max-width:55ch}.pm-stage{min-width:0}
.pm-slide[hidden]{display:none!important}.pm-slide:not([hidden]){display:grid;grid-template-columns:minmax(180px, .95fr) minmax(0,1.05fr);gap:clamp(16px,2.4vw,30px);align-items:center}
.pm-image{display:block;overflow:hidden;border-radius:var(--pm-radius);background:white;color:var(--pm-ink);min-width:0}
.pm-image img{display:block;width:100%;height:clamp(190px,20vw,250px);object-fit:contain;object-position:center;background:#fff}
.pm-details{min-width:0;overflow-wrap:anywhere}.pm-details h3{font-size:clamp(1rem,1.3vw,1.22rem);line-height:1.35;margin:0 0 .55rem;color:inherit}
.pm-details h3 a{color:inherit;text-decoration:none}.pm-price{font-weight:700;margin:.5rem 0 .9rem;color:inherit}.pm-link{color:var(--pm-accent);font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.pm-controls{display:flex;align-items:center;gap:8px;margin-top:14px;color:inherit;font:600 .85rem system-ui,sans-serif}.pm-controls[hidden]{display:none}
.pm-controls button{display:inline-flex;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.45rem .7rem;border:1px solid var(--pm-line);border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.pm-controls button:hover{background:rgba(127,127,127,.13)}.pm-controls button:focus-visible,.pm-link:focus-visible,.pm-image:focus-visible,.pm-details a:focus-visible{outline:3px solid var(--pm-accent);outline-offset:3px}
.pm-count{min-width:3.1rem;text-align:center;font-variant-numeric:tabular-nums}
.pm--split .pm-intro{display:flex;flex-wrap:wrap;column-gap:2rem;align-items:end;margin-bottom:22px}.pm--split .pm-kicker{flex-basis:100%}.pm--split .pm-intro h2{flex:1 1 17rem;margin-bottom:0}.pm--split .pm-lead{flex:1 1 22rem}
.pm--split .pm-slide:not([hidden]){grid-template-columns:minmax(230px,1fr) minmax(0,1.3fr)}
.pm--editorial .pm-wrap,.pm--ribbon .pm-wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:clamp(24px,4vw,56px);align-items:center}
.pm--ribbon .pm-intro h2{font-family:inherit}.pm--ribbon .pm-image{border-radius:3px}
.pm--gallery .pm-wrap{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:clamp(26px,4vw,56px);align-items:center}.pm--gallery .pm-stage{grid-column:1;grid-row:1}.pm--gallery .pm-intro{grid-column:2;grid-row:1}
.pm--board .pm-intro{margin-bottom:20px}.pm--board .pm-slide:not([hidden]){grid-template-columns:minmax(230px,.85fr) minmax(0,1.4fr)}
@media(max-width:700px){.pm-section{padding:32px 18px}.pm--editorial .pm-wrap,.pm--ribbon .pm-wrap,.pm--gallery .pm-wrap{display:flex;flex-direction:column;align-items:stretch;gap:18px}.pm--gallery .pm-intro{order:0}.pm--gallery .pm-stage{order:1}.pm--split .pm-intro{display:block;margin-bottom:18px}.pm--split .pm-intro h2{margin-bottom:.65rem}.pm-section .pm-slide:not([hidden]){grid-template-columns:minmax(0,1fr);gap:14px}.pm-image img{height:205px}.pm-intro h2{font-size:1.9rem}.pm-controls{margin-top:12px}}
@media(max-width:700px){.pm-section.pm--gallery .pm-slide:not([hidden]),.pm-section.pm--split .pm-slide:not([hidden]){grid-template-columns:minmax(105px,.85fr) minmax(0,1fr);gap:14px}.pm-section.pm--ribbon .pm-slide:not([hidden]){grid-template-columns:minmax(0,1fr) minmax(105px,.85fr);gap:14px}.pm--ribbon .pm-image{grid-column:2;grid-row:1}.pm--ribbon .pm-details{grid-column:1;grid-row:1}.pm--gallery .pm-image img,.pm--split .pm-image img,.pm--ribbon .pm-image img{height:145px}.pm-details h3{font-size:1rem}.pm-price{margin:.35rem 0 .55rem}}
@media(prefers-reduced-motion:no-preference){.pm-slide:not([hidden]) .pm-image img{animation:pm-reveal .5s ease-out both}@keyframes pm-reveal{from{opacity:.72;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}}
