/* Paramotif product reading: the framework determines media size and hierarchy. */
.pm-detail .pm-product :is(h1,h2,h3,p),.pm-detail .pm-product-capabilities :is(h2,h3,p) { margin:0; }
.pm-detail :is(.pm-product,.pm-product-capabilities) h2 { color:var(--tool-heading-ink); font-size:30px; line-height:1.35; font-weight:500; text-wrap:pretty; }
.pm-detail :is(.pm-product,.pm-product-capabilities) h3 { color:var(--tool-heading-ink); font-size:18px; line-height:1.5; font-weight:400; }
.pm-detail :is(.pm-product,.pm-product-capabilities) p { max-width:46em; color:var(--theme-body-ink); font-size:16px; line-height:1.7; }
.pm-detail .pm-product-flow > :is(article,details) + :is(article,details) { margin-top:calc(var(--pm-section-gap) / 2); padding-top:calc(var(--pm-section-gap) / 2); border-top:1px solid var(--line); }
.pm-detail .pm-product-heading { max-width:760px; margin-bottom:32px; }
.pm-detail .pm-product-heading h2 + p { margin-top:12px; }
.pm-detail .pm-product-narrative-heading { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:48px; max-width:none; align-items:start; }
.pm-detail .pm-product-prose { min-width:0; }
.pm-detail .pm-product-prose > p + p { margin-top:12px; }
.pm-detail .pm-product-technology .pm-product-heading { margin-bottom:0; }
.pm-detail .pm-product-technology h2 { font-size:24px; }
.pm-detail .pm-product-technology p { color:var(--muted); font-size:14px; }
.pm-detail .pm-product-section-number { display:block; color:var(--muted); font-size:13px; line-height:20px; margin-bottom:12px; font-variant-numeric:tabular-nums; }
.pm-detail .pm-product-intro { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(32px,3.2vw,56px); align-items:center; }
.pm-detail .pm-product-intro-copy { min-width:0; }
.pm-detail .pm-product-intro h1 { color:var(--ink); font-size:clamp(40px,3.4vw,56px); line-height:1.05; font-weight:500; letter-spacing:-.04em; }
.pm-detail .pm-product-intro .pm-product-lead { margin-top:24px; font-size:24px; line-height:1.5; max-width:18em; }
.pm-detail .pm-product-intro .pm-product-lead + p { margin-top:16px; font-size:15px; line-height:1.75; color:var(--muted); }
.pm-detail .tool-primary-button { background:var(--ink); border-color:var(--ink); color:var(--paper); transition:background-color var(--motion-duration-state,280ms) ease,color var(--motion-duration-state,280ms) ease; }
.pm-detail .tool-primary-button:hover { background:#505050; border-color:#505050; color:#fff; }
.pm-detail .pm-product-text-link { display:inline-flex; align-items:center; gap:16px; min-height:40px; padding:4px 0; border:0; border-bottom:1px solid var(--line); background:none; color:var(--tool-heading-ink); text-decoration:none; font:inherit; font-size:14px; line-height:24px; cursor:pointer; }
.pm-detail .pm-product-text-link span { transition:transform var(--motion-duration-state,280ms) var(--motion-ease-standard,ease); }
.pm-detail .pm-product-text-link:hover span { transform:translateX(4px); }
.pm-detail .pm-product-media { margin:0; min-width:0; }
.pm-detail .pm-product-carousel { min-width:0; }
.pm-detail .pm-product-carousel-stage { display:grid; grid-template-columns:minmax(0,1fr); aspect-ratio:3 / 2; }
.pm-detail .pm-product-slide { grid-area:1 / 1; min-width:0; opacity:0; visibility:hidden; transition:opacity 800ms cubic-bezier(.22,.61,.36,1),visibility 800ms; }
.pm-detail .pm-product-slide[aria-hidden="false"] { opacity:1; visibility:visible; }
.pm-detail .pm-product-carousel-controls { display:flex; justify-content:center; gap:8px; margin-top:16px; }
.pm-detail .pm-product-carousel-controls button { position:relative; min-width:44px; height:36px; border:0; padding:0 8px; background:transparent; color:var(--muted); font:inherit; font-size:12px; font-variant-numeric:tabular-nums; cursor:pointer; transition:color 400ms ease; }
.pm-detail .pm-product-carousel-controls button::after { content:''; position:absolute; inset:auto 8px 0; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform 500ms cubic-bezier(.22,.61,.36,1); }
.pm-detail .pm-product-carousel-controls button:is([aria-current="true"],:hover)::after { transform:scaleX(1); }
.pm-detail .pm-product-carousel-controls button:is([aria-current="true"],:hover) { color:var(--ink); }
.pm-detail .pm-product-console { scroll-margin-top:112px; }
.pm-detail .pm-product-console:focus { outline:none; }
.pm-detail .pm-product-console .pm-detail-workspace { width:100%; }

.pm-detail .pm-product-media > img { display:block; box-sizing:border-box; width:100%; aspect-ratio:3 / 2; background:var(--surface); }
.pm-detail .pm-product-media img { display:block; width:100%; height:100%; object-fit:contain; }
.pm-detail .pm-product-feature-intro h1 { color:var(--ink); font-size:32px; line-height:1.35; font-weight:500; text-wrap:balance; }
.pm-detail .pm-product-feature-intro h1 + p { margin-top:12px; }
.pm-detail .pm-product-capabilities h2 { font-size:24px; }
.pm-detail .pm-product-feature-intro { max-width:880px; margin-bottom:32px; }
.pm-detail .pm-product-feature-intro .pm-product-prose { margin-top:20px; }
.pm-detail .pm-product-feature-intro .pm-product-text-link { margin-top:16px; }
.pm-detail .pm-product-feature-intro .pm-product-text-link:hover span { transform:translateY(3px); }
.pm-detail[data-detail-mode="browse"] .pm-product-capabilities { margin-top:calc(var(--pm-section-gap) / 2); padding-top:calc(var(--pm-section-gap) / 2); border-top:1px solid var(--line); scroll-margin-top:100px; }
.pm-detail .pm-product-index { margin-bottom:40px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.pm-detail .pm-product-index > div { display:flex; flex-wrap:wrap; gap:8px; }
.pm-detail .pm-product-index button { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 16px; border:1px solid transparent; border-radius:0; background:var(--soft); color:var(--theme-body-ink); font:inherit; font-size:14px; cursor:pointer; transition:background-color var(--motion-duration-state,280ms) ease,color var(--motion-duration-state,280ms) ease; }
.pm-detail .pm-product-index button > span:first-child { color:inherit; opacity:.55; font-size:11px; font-variant-numeric:tabular-nums; }
.pm-detail .pm-product-index button:is([aria-selected="true"],:hover) { background:var(--ink); color:var(--paper); }
.pm-detail .pm-product-category-content { min-width:0; }
.pm-detail [data-pm-section] { scroll-margin-top:100px; }
.pm-detail [data-pm-section]:focus { outline:none; }
.pm-detail .pm-product-stage,.pm-detail .pm-product-specialty-stage { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:start; gap:48px; }
.pm-detail .pm-product-stage-copy h3 + p,.pm-detail .pm-product-specialty-stage h3 + p { margin-top:12px; }
.pm-detail .pm-product-stage > figure { min-width:0; }
.pm-detail .pm-product-tabs,.pm-detail .pm-product-specialty-choices { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.pm-detail :is(.pm-product-tabs,.pm-product-specialty-choices) button { padding:10px 16px; min-height:44px; border:1px solid var(--line); border-radius:var(--pm-control-radius); background:var(--pm-catalog-button,#e3e3e1); color:var(--theme-body-ink); font:inherit; font-size:14px; cursor:pointer; transition:background-color var(--motion-duration-state,280ms) ease,color var(--motion-duration-state,280ms) ease; }
.pm-detail :is(.pm-product-tabs,.pm-product-specialty-choices) button:is([aria-selected="true"],:hover) { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.pm-detail .pm-product-style-tabs { display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); margin-top:28px; }
.pm-detail .pm-product-style-tabs button { display:grid; gap:8px; padding:8px; border-radius:0; background:var(--surface); text-align:left; font-size:13px; }
.pm-detail .pm-product-style-tabs img { display:block; width:100%; aspect-ratio:3 / 2; object-fit:contain; background:#fff; }
.pm-detail .pm-product-expand-styles { margin-top:4px; }
.pm-detail .pm-product-style-source { width:min(240px,100%); margin-top:24px; }
.pm-detail .pm-product-style-source > img { aspect-ratio:3 / 2; }
.pm-detail .pm-product-parameters { margin:24px 0 0; }
.pm-detail .pm-product-parameters dt { color:var(--muted); font-size:13px; }
.pm-detail .pm-product-parameters dd { margin:4px 0 0; font-size:16px; }
.pm-detail .pm-product-composition-poster { margin-bottom:24px; }
.pm-detail .pm-product-disclosure { border-bottom:1px solid var(--line); padding-bottom:20px; }
.pm-detail .pm-product-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; padding:8px 0; list-style:none; cursor:pointer; font-size:16px; color:var(--tool-heading-ink); }
.pm-detail .pm-product-disclosure > summary::-webkit-details-marker { display:none; }
.pm-detail .pm-product-disclosure > p { margin:16px 0 24px; font-size:14px; }
.pm-detail .pm-product-disclosure-sign,.pm-detail .pm-product-disclosure summary > [aria-hidden] { transition:transform 280ms ease; }
.pm-detail .pm-product-disclosure[open] > summary > [aria-hidden] { transform:rotate(45deg); }
.pm-detail .pm-product-library-notes { margin-top:32px; }
.pm-detail .pm-product-library { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:24px; }
.pm-detail .pm-product-library-item { min-width:0; padding-top:20px; border-top:1px solid var(--line); }
.pm-detail .pm-product-library-item p { margin-top:8px; font-size:14px; }
.pm-detail .pm-product-library-item figure { margin-top:20px; }
.pm-detail .pm-product-production-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:0; margin:0 0 32px; list-style:none; }
.pm-detail .pm-product-number { display:block; margin-bottom:12px; color:var(--muted); font-size:13px; }
.pm-detail .pm-product-production-steps p { margin-top:8px; font-size:14px; }
.pm-detail .pm-product-application-samples { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.pm-detail .pm-product-application-samples h3 { margin-top:20px; }
.pm-detail .pm-product-application-samples p { margin-top:8px; font-size:14px; }
.pm-detail .pm-product-catalog { margin-top:64px; padding-top:32px; border-top:1px solid var(--line); }
.pm-detail[data-detail-mode="browse"] .pm-product-catalog { margin-top:0; }
.pm-detail .pm-product-catalog > .pm-product-heading { margin-bottom:24px; }
.pm-detail .pm-product-catalog .pm-product-heading h2 { font-size:24px; }
.pm-detail .pm-product-catalog .pm-catalog-heading { margin:0 0 16px; }
.pm-detail :is(.pm-product,.pm-product-capabilities) :is(a,button,summary,[role="tabpanel"]):focus-visible { outline:1px solid var(--ink); outline-offset:4px; }
.pm-detail .pm-pattern-gallery { margin-top:32px; }
.pm-detail .pm-pattern-gallery > header { max-width:var(--pm-article-width); margin-bottom:20px; }
.pm-detail .pm-pattern-gallery > header p { margin-top:8px; color:var(--muted); font-size:14px; line-height:23px; }
.pm-detail .pm-pattern-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.pm-detail .pm-pattern-filters button { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:8px 13px; border:1px solid var(--line); border-radius:var(--pm-control-radius,24px); background:var(--pm-catalog-button,#e3e3e1); color:var(--theme-body-ink); font:inherit; font-size:13px; line-height:20px; cursor:pointer; transition:background-color var(--motion-duration-state,280ms) ease,color var(--motion-duration-state,280ms) ease; }
.pm-detail .pm-pattern-filters button span { opacity:.65; font-variant-numeric:tabular-nums; }
.pm-detail .pm-pattern-filters button:is([aria-pressed="true"],:hover) { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.pm-detail .pm-pattern-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,120px),1fr)); gap:24px 16px; }
.pm-detail .pm-pattern-tile { min-width:0; margin:0; }
.pm-detail .pm-pattern-image { box-sizing:border-box; display:grid; place-items:center; width:100%; aspect-ratio:1; overflow:hidden; padding:10px; border:1px solid var(--line); background:#fff; font:inherit; }
.pm-detail .pm-pattern-tile img { display:block; width:100%; height:100%; object-fit:contain; }
.pm-detail .pm-pattern-tile figcaption { margin-top:12px; }
.pm-detail .pm-pattern-tile h4 { margin:0; color:var(--tool-label-ink); font-size:14px; line-height:22px; font-weight:var(--tool-control-weight); }
.pm-detail .pm-pattern-tile figcaption p { margin-top:3px; color:var(--muted); font-size:12px; line-height:19px; }
.pm-detail .pm-pattern-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:24px; }
.pm-detail .pm-pattern-footer > p { color:var(--muted); font-size:13px; line-height:20px; font-variant-numeric:tabular-nums; }
.pm-detail .pm-pattern-footer nav { display:flex; align-items:center; gap:12px; }
.pm-detail .pm-pattern-footer nav span { min-width:42px; text-align:center; color:var(--muted); font-size:13px; line-height:20px; font-variant-numeric:tabular-nums; }
.pm-detail .pm-pattern-footer button { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--line); background:var(--surface); color:var(--ink); font:inherit; cursor:pointer; transition:background-color var(--motion-duration-state,280ms) ease,color var(--motion-duration-state,280ms) ease; }
.pm-detail .pm-pattern-footer button:hover:enabled { background:var(--ink); color:var(--paper); }
.pm-detail .pm-pattern-footer button:disabled { opacity:.3; cursor:default; }
.pm-detail .pm-pattern-gallery button:focus-visible { outline:1px solid var(--ink); outline-offset:4px; }

@media(min-width:1024px) and (max-width:1199px) {
 .pm-detail .pm-product-intro,.pm-detail .pm-product-stage,.pm-detail .pm-product-specialty-stage,.pm-detail .pm-product-narrative-heading { gap:32px; }

}
@media(max-width:900px) {
 .pm-detail .pm-product-intro,.pm-detail .pm-product-stage,.pm-detail .pm-product-specialty-stage { grid-template-columns:minmax(0,1fr); gap:32px; }
 .pm-detail .pm-product-narrative-heading { grid-template-columns:minmax(0,1fr); gap:16px; }

 .pm-detail .pm-product-intro-copy { max-width:680px; }
 .pm-detail .pm-product-production-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .pm-detail .pm-product-intro h1 { font-size:40px; }
 .pm-detail .pm-product-intro .pm-product-lead { margin-top:20px; font-size:20px; }
 .pm-detail :is(.pm-product,.pm-product-capabilities) h2 { font-size:24px; }
 .pm-detail .pm-product-feature-intro h1 { font-size:28px; }
 .pm-detail .pm-product-heading { margin-bottom:24px; }
 .pm-detail .pm-product-index { margin-bottom:32px; }
 .pm-detail .pm-product-console { scroll-margin-top:148px; }
 .pm-detail .pm-product-index > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
 .pm-detail .pm-product-index button { justify-content:center; gap:6px; padding:10px 4px; font-size:13px; }
 .pm-detail .pm-product-index button > span:first-child { display:none; }
 .pm-detail .pm-product-style-tabs { grid-template-columns:repeat(auto-fill,minmax(88px,1fr)); }
 .pm-detail .pm-product-composition .pm-product-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pm-detail .pm-product-tabs button { padding:10px 12px; }
 .pm-detail .pm-product-library,.pm-detail .pm-product-application-samples { grid-template-columns:minmax(0,1fr); gap:28px; }
 .pm-detail .pm-pattern-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,72px),1fr)); gap:20px 8px; }
 .pm-detail .pm-pattern-image { padding:6px; }
 .pm-detail .pm-pattern-filters { gap:6px; }
 .pm-detail .pm-pattern-filters button { min-height:44px; padding:10px 12px; }
 .pm-detail .pm-pattern-footer button { width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) {
 .pm-detail .pm-product-slide,.pm-detail :is(.pm-product,.pm-product-capabilities) :is(button,a,span),.pm-detail :is(.pm-product,.pm-product-capabilities) :is(button,a,span)::after { transition:none; }
}
