/* Scoped adjustments to licensed components. No global reset. */
.sp-adaptive-page { color:#1e293b;background:#fff; }
.sp-adaptive-page *, .sp-adaptive-page *::before, .sp-adaptive-page *::after { box-sizing:border-box; }
.sp-adaptive-page :where(h1,h2,h3,p,li,td,th,dd,a) { overflow-wrap:anywhere; }
.sp-adaptive-breadcrumb { display:flex;flex-wrap:wrap;gap:.5rem;padding-block:1.25rem;font-size:.875rem;line-height:1.6;color:#475569; }
.sp-adaptive-breadcrumb a { color:#1c4f7c; }
.sp-adaptive-breadcrumb [aria-current] { flex:1 1 12rem; }
.sp-adaptive-hero { border-block:1px solid #e2e8f0; }
.sp-adaptive-hero .sp-adaptive-hero-copy { padding-block:clamp(2rem,5vw,5rem); }
.sp-adaptive-hero h1 { margin:0;font-size:clamp(2rem,3.3vw,3.3rem);line-height:1.12;font-weight:700;color:#111827; }
.sp-adaptive-hero p { color:#475569;line-height:1.75; }
.sp-adaptive-hero a { display:inline-flex;align-items:center;min-height:44px;background:#f0a500;color:#111827;padding:.85rem 1.25rem;text-decoration:none; }
.sp-adaptive-hero a:hover { background:#ffc107;color:#111827; }
.sp-adaptive-hero a:focus-visible { outline:3px solid #1c4f7c;outline-offset:3px; }
.sp-adaptive-hero-media { background:#f8fafc; }
.sp-adaptive-hero-media img { object-fit:contain;padding:clamp(1rem,3vw,2rem); }
.sp-adaptive-hero[data-sp-image=absent] > div { display:block; }
.sp-adaptive-hero[data-sp-image=absent] .sp-adaptive-hero-copy > div { max-width:60rem; }
.sp-adaptive-title { padding-block:2rem; }
.sp-adaptive-title h1 { font-size:clamp(2rem,4vw,3rem);line-height:1.2; }
.sp-adaptive-body { min-width:0;container:sp-adaptive-content / inline-size; }
.sp-adaptive-body[data-sp-layout=contained] { max-width:80rem;margin-inline:auto;padding:clamp(1.25rem,3vw,2rem); }
.sp-adaptive-body[data-sp-layout=sectioned] { width:100%;max-width:100%;margin:0;padding:0; }
.sp-adaptive-body img,.sp-adaptive-body .sp-adaptive-media { max-width:100%; }
.sp-adaptive-body [data-sp-legacy=alibaba],.sp-adaptive-body [data-sp-legacy=goodlayers] { max-width:100%;min-width:0; }
.sp-adaptive-body :is(div,section,p)[data-sp-fixed-width=true]:not([data-sp-component]) { max-width:100%; }
.sp-adaptive-body :where(pre,code) { white-space:pre-wrap;overflow-wrap:anywhere; }
.sp-adaptive-body .sp-table-scroll { max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain; }
.sp-adaptive-body .sp-adaptive-table { height:auto; }
.sp-adaptive-page .sp-adaptive-tools,.sp-adaptive-page .sp-adaptive-inquiry,.sp-adaptive-page .sp-adaptive-specs,.sp-adaptive-page .sp-adaptive-downloads { margin-block:clamp(2rem,5vw,4rem); }
.sp-adaptive-inquiry .spr-quote-form { margin:0; }
.sp-adaptive-inquiry h2 { color:inherit;font-size:clamp(1.5rem,3vw,2rem); }
.sp-adaptive-downloads h2,.sp-adaptive-specs h2 { font-size:1.5rem;line-height:1.4;color:#1e293b; }
.sp-adaptive-download-actions { display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem; }
.sp-adaptive-download-actions button { min-height:44px; }
.sp-adaptive-specs dt,.sp-adaptive-specs dd { margin-inline:0; }
.sp-adaptive-anchor { display:block;scroll-margin-top:6rem; }
@media(max-width:63.99rem){.sp-adaptive-hero-media img{max-height:30rem;}.sp-adaptive-hero .sp-adaptive-hero-copy>div{max-width:none;}}
@media(max-width:39.99rem){.sp-adaptive-hero .sp-adaptive-hero-copy{padding-inline:1rem;}.sp-adaptive-body[data-sp-layout=contained]{padding-inline:1rem;}.sp-adaptive-page .sp-adaptive-tools{padding-inline:1rem;}.sp-adaptive-inquiry .spr-quote-form{padding:1.25rem;}}
@container sp-adaptive-content (max-width:40rem){.sp-adaptive-body .product-gallery{grid-template-columns:minmax(0,1fr)!important;}}

.sp-adaptive-specs { container:sp-adaptive-specs / inline-size; }
@container sp-adaptive-specs (max-width:40rem){.sp-adaptive-specs dl{grid-template-columns:minmax(0,1fr);}}

/* The adaptive container owns gutters; old mobile compatibility resets do not. */
body.sp-product-context .sp-adaptive-page .sp-adaptive-body[data-sp-layout=contained] {
  padding-inline:clamp(1rem,3vw,2rem) !important;
}
body.sp-product-context .sp-adaptive-page .sp-adaptive-body[data-sp-layout=sectioned] {
  padding-inline:0 !important;
}
/* Imported editor headings retain their original text/tags and gain hierarchy. */
body.sp-product-context .sp-adaptive-body [data-sp-text-role=heading] {
  margin:2.5rem 0 1rem !important;
  color:#172033;
  font-size:clamp(1.25rem,2vw,1.5rem);
  line-height:1.35;
  font-weight:700;
}
body.sp-product-context .sp-adaptive-body [data-sp-text-role=heading] :is(span,strong,b,a) {
  font-size:inherit !important;
  line-height:inherit;
  color:inherit;
}
.sp-adaptive-body[data-sp-layout=contained] > :is(p[data-sourcepos],ul[data-sourcepos],ol[data-sourcepos]) {
  max-width:80ch;
  line-height:1.75;
}
.sp-adaptive-body[data-sp-layout=contained] > :is(ul[data-sourcepos],ol[data-sourcepos]) > li + li {
  margin-top:.6rem;
}
/* A legacy 300px minimum must never exceed the available content column. */
.sp-adaptive-page .sp-adaptive-body .gdlr-core-portfolio-item-holder {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)) !important;
}

/* Content contracts v1.1: shape-based adaptation, never page ID / slug rules.
   Existing licensed Tailwind shells retain ownership of hero/specs/forms. */
body.sp-product-context .sp-adaptive-body [data-sp-content-type=prose],
body.sp-product-context .sp-adaptive-body [data-sp-content-type=prose] :is(span,strong,b,li,p):not(pre *,code *,form *,[data-sp-component] *) {
  white-space:normal !important;
}
body.sp-product-context .sp-adaptive-body [data-sp-content-type=prose]:is(p,ul,ol),
body.sp-product-context .sp-adaptive-body [data-sp-content-type=prose] li {
  text-align:start !important;text-indent:0 !important;
}
body.sp-product-context .sp-adaptive-body [data-sp-content-type=prose]:is(p,ul,ol) {
  line-height:1.8;margin-block:1rem !important;
}
body.sp-product-context .sp-adaptive-body [data-sp-content-type=prose][data-sp-content-variant=heading] {
  margin-block:2.25rem 1rem !important;
}
body.sp-product-context .sp-adaptive-body [data-sp-content-type=prose]:is(ul,ol) {
  padding-inline-start:1.5rem !important;list-style-position:outside;
}
body.sp-product-context .sp-adaptive-body [data-sp-content-type=prose] li + li {margin-block-start:.65rem;}
body.sp-product-context .sp-adaptive-body [data-sp-content-variant=legacy-story-groups][data-sp-mode=auto] {
  display:grid !important;grid-template-columns:minmax(0,1fr) !important;gap:2rem !important;
}
body.sp-product-context .sp-adaptive-body [data-sp-content-variant=legacy-story-groups][data-sp-mode=auto] > .gdlr-core-item-list {
  width:100% !important;max-width:100% !important;float:none !important;min-width:0;
}
body.sp-product-context .sp-adaptive-body [data-sp-content-variant=legacy-story-groups][data-sp-mode=auto] .gdlr-core-portfolio-content-wrap {
  width:100% !important;max-width:100% !important;
}
body.sp-product-context .sp-adaptive-body [data-sp-content-variant=legacy-story-groups][data-sp-mode=auto] .gdlr-core-portfolio-content {
  max-width:85ch;margin-inline:auto;white-space:normal !important;text-align:start;
}
body.sp-product-context .sp-adaptive-body [data-sp-empty-cell=true] {display:none !important;}
/* A source table used only for image/prose presentation is stacked without
   deleting/reordering its cells. Actual data/mixed tables keep table semantics. */
body.sp-product-context .sp-adaptive-body table[data-sp-content-variant=layout-table][data-sp-mode=auto] {
  display:block !important;min-width:0 !important;width:100% !important;max-width:100% !important;
  border:0 !important;background:transparent !important;height:auto !important;
}
body.sp-product-context .sp-adaptive-body table[data-sp-content-variant=layout-table][data-sp-mode=auto] :is(tbody,thead,tfoot,tr,td,th) {
  display:block !important;min-width:0 !important;width:auto !important;max-width:100% !important;
  height:auto !important;border:0 !important;background:transparent !important;
}
body.sp-product-context .sp-adaptive-body table[data-sp-content-variant=layout-table][data-sp-mode=auto] tr {margin-block:1rem !important;}
body.sp-product-context .sp-adaptive-body table[data-sp-content-variant=layout-table][data-sp-mode=auto] td {padding:.5rem 0 !important;max-width:85ch !important;margin-inline:auto !important;}
body.sp-product-context .sp-adaptive-body table[data-sp-content-variant=layout-table][data-sp-mode=auto] :is(p,div,span,strong,b) {
  min-width:0 !important;max-width:100% !important;height:auto !important;white-space:normal !important;text-align:start !important;
}
body.sp-product-context .sp-adaptive-body table[data-sp-content-variant=layout-table][data-sp-mode=auto] img {
  display:block;width:auto !important;max-width:100% !important;max-height:32rem;height:auto !important;object-fit:contain;margin-inline:auto;
}
/* Functional owners and preformatted examples are never normalized as prose. */
body.sp-product-context .sp-adaptive-body :is(pre,code)[data-sp-content-type=embed] {white-space:pre-wrap !important;text-align:start;}

body.sp-product-context .sp-adaptive-body [data-sp-content-variant=legacy-text] :is(div,span,strong,b) {white-space:normal !important;text-indent:0 !important;}

body.sp-product-context .sp-adaptive-body table[data-sp-content-variant=layout-table][data-sp-mode=auto] [data-sp-empty-cell=true] {display:none !important;}
/* Long narrative groups use a reading measure and bounded, uncropped media. */
body.sp-product-context .sp-adaptive-body [data-sp-content-variant=legacy-story-groups][data-sp-mode=auto] .gdlr-core-portfolio-thumbnail img {
  max-height:28rem !important;width:100% !important;height:auto !important;object-fit:contain !important;background:#f8fafc;
}
body.sp-product-context .sp-adaptive-body [data-sp-content-type=prose]:is(p,ul,ol):not(:has(img,video,iframe)) {max-width:85ch;}
/* Imported native headings often contain a 16px inline span. The heading,
   not that legacy span, owns the type scale. Preserve the h2/h3 semantic level. */
body.sp-product-context .sp-adaptive-body :is(h2,h3,h4,h5,h6)[data-sp-content-type=prose][data-sp-content-variant=heading] {
  font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.4;color:#172033;font-weight:700;
}
body.sp-product-context .sp-adaptive-body :is(h2,h3,h4,h5,h6)[data-sp-content-type=prose][data-sp-content-variant=heading] :is(span,strong,b,a) {
  font-size:inherit !important;line-height:inherit;color:inherit;
}
