/* Shared by photomask-blank and substrate product detail pages. */
.product-datasheet { background:#f7f7f5; color:#181a1b; padding-top:12px; }
body:not(.home-glass) .product-datasheet .container { width:min(1600px,90%); }
body:not(.home-glass) .product-datasheet .section { padding-top:30px; padding-bottom:30px; }
body:not(.home-glass) .product-datasheet .soft-band { background:transparent; }
body:not(.home-glass) .product-datasheet h2 { color:#181a1b; font-size:22px; line-height:1.25; font-weight:500; letter-spacing:-.025em; margin-bottom:14px; }
.product-datasheet h3 { color:#181a1b; font-size:17px; font-weight:500; }
body:not(.home-glass) .product-datasheet p { color:#565b5c; font-size:14px; line-height:1.65; }
body:not(.home-glass) .product-datasheet .category-detail { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; }
.product-datasheet .category-detail > div > h2,.product-datasheet .category-detail > aside > h2 { padding-bottom:12px; border-bottom:1px solid #cacdcb; }
.product-datasheet .plain-list { padding-left:18px; margin:0; font-size:14px; line-height:1.7; color:#44494a; }
.product-datasheet .plain-list li { margin:0; padding:3px 0; }
.product-datasheet .requirements { padding:22px 24px; border:0; border-radius:0; background:#eeefed; box-shadow:none; }
.product-datasheet .product-section-nav { margin-block:8px 0; padding-block:16px; gap:12px 26px; border-block:1px solid #c9cdca; }
.product-datasheet .product-section-nav a { padding:0; background:none; border:0; border-radius:0; color:#343839; font-size:13px; }
.product-datasheet .product-section-nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.product-datasheet .published-specifications { border-bottom:1px solid #d6d8d5; }
.product-datasheet .published-specifications > p { max-width:90ch; margin-bottom:16px; }
.product-datasheet .published-specifications > .spec-scroll ~ p { font-size:12px; color:#686d6c; }
body:not(.home-glass) .product-datasheet .spec-scroll { margin:18px 0; }
body:not(.home-glass) .product-datasheet .spec-table { background:#fff; font-size:13px; line-height:1.5; font-variant-numeric:tabular-nums; }
body:not(.home-glass) .product-datasheet .spec-table caption { color:#353a3b; font-size:14px; font-weight:500; letter-spacing:0; margin:0 0 10px; }
body:not(.home-glass) .product-datasheet .spec-table th,body:not(.home-glass) .product-datasheet .spec-table td { padding:8px 12px; color:#3d4344; border-bottom:1px solid #e0e2df; vertical-align:middle; }
body:not(.home-glass) .product-datasheet .spec-table thead { background:#e2e4e1; }
body:not(.home-glass) .product-datasheet .spec-table thead th { color:#202425; font-size:12px; font-weight:600; padding-block:11px; }
body:not(.home-glass) .product-datasheet .spec-table tbody tr:nth-child(even) { background:#f0f1ee; }
.product-datasheet #material-selection { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr); gap:0 40px; align-items:start; }
.product-datasheet #material-selection > h2 { grid-column:1 / -1; }
.product-datasheet #material-selection > h2 + p { grid-column:1; grid-row:2; }
body:not(.home-glass) .product-datasheet #material-selection > .spec-scroll { grid-column:2; grid-row:2; min-width:0; margin-top:0; }
.product-datasheet #material-selection .spec-table { min-width:0; }
.product-datasheet #material-selection > .spec-scroll ~ p { grid-column:1 / -1; max-width:none; }
.product-datasheet .related-grid { gap:0 28px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-datasheet .related-link { min-width:0; border:0; border-bottom:1px solid #d2d5d1; background:none; border-radius:0; box-shadow:none; padding:13px 0; color:#252b2b; font-size:13px; }
.product-datasheet .related-link:hover { color:#111; text-decoration:underline; text-underline-offset:4px; }
body:not(.home-glass) .product-datasheet .faq .container { max-width:1600px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:0 40px; border-top:1px solid #c9cdca; padding-top:24px; }
.product-datasheet .faq h2 { grid-column:1; grid-row:1 / span 3; }
.product-datasheet .faq details { grid-column:2; border-bottom:1px solid #d2d5d1; }
.product-datasheet .faq summary { padding:15px 0; font-size:14px; }
body:not(.home-glass) .product-datasheet .rfq-band { padding:46px 0; background:#e9ebe7; border-top:1px solid #cdd1cb; }
.product-datasheet .rfq-band .container { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 40px; padding-right:0; }
body:not(.home-glass) .product-datasheet .rfq-band h2 { grid-column:1; grid-row:1 / span 2; font-size:clamp(25px,3vw,38px); max-width:16em; margin:0; }
.product-datasheet .rfq-band p { grid-column:2; margin:0; max-width:40em; }
.product-datasheet .rfq-band .button { grid-column:2; position:static; justify-self:start; background:#151818; border-color:#151818; border-radius:999px; padding:10px 20px; min-height:42px; font-size:13px; }
.product-datasheet .rfq-band .button:hover { background:#343a39; }
body:not(.home-glass) .site-footer.sheet-footer { padding-top:28px; background:#f0f1ed; border-color:#cbd0c9; }
body:not(.home-glass) .sheet-footer .container { width:min(1600px,90%); }
body:not(.home-glass) .sheet-footer .footer-grid { gap:32px; padding-top:20px; padding-bottom:28px; border-top:1px solid #cdd1cb; }
.sheet-footer .footer-grid h3 { font-size:12px; margin-bottom:14px; color:#252a28; }
.sheet-footer .footer-grid p,.sheet-footer .footer-grid a:not(.brand) { font-size:12px; line-height:1.5; }
.sheet-footer .footer-grid > div > a:not(.brand) { margin-bottom:8px; }
.sheet-footer .footer-bottom { padding-block:16px; }
@media (max-width:800px) {
 body:not(.home-glass) .product-datasheet .category-detail { grid-template-columns:1fr; gap:24px; }
 .product-datasheet #material-selection { display:block; }
 .product-datasheet .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body:not(.home-glass) .product-datasheet .faq .container { display:block; }
 .product-datasheet .rfq-band .container { grid-template-columns:1fr; gap:16px; }
 body:not(.home-glass) .product-datasheet .rfq-band h2,.product-datasheet .rfq-band p,.product-datasheet .rfq-band .button { grid-column:auto; grid-row:auto; }
}
@media (max-width:600px) {
 body:not(.home-glass) .product-datasheet .container,body:not(.home-glass) .sheet-footer .container { width:calc(100% - 36px); }
}
@media (max-width:520px) {
 .product-datasheet .related-grid { grid-template-columns:1fr; }
 body:not(.home-glass) .product-datasheet h2 { font-size:20px; }
 body:not(.home-glass) .product-datasheet .section { padding-block:24px; }
}

/* The same showcase layout with product-specific content and full specification tables. */
.blank-family-benefits .substrate-benefits-heading { flex-wrap:wrap; }
.blank-family-benefits .substrate-benefits-heading h2 { flex-basis:100%; }
.blank-family-benefits .substrate-benefits-heading .substrate-benefits-pills { justify-content:flex-start; }
.blank-family-benefits .blank-spec-content { max-height:360px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.blank-family-benefits .blank-spec-content:focus-visible { outline:2px solid #3585a5; outline-offset:-2px; }
.blank-family-benefits .blank-spec-content p,.blank-family-benefits .blank-spec-content li { font-size:13px; line-height:1.65; color:#565b5c; }
.blank-family-benefits .blank-spec-content .spec-scroll { margin:12px 0; }
.blank-family-benefits .blank-spec-content .spec-table { min-width:560px; }
.blank-family-benefits .blank-spec-content .spec-table th { width:auto; }
.blank-family-benefits .blank-spec-content .spec-table th,.blank-family-benefits .blank-spec-content .spec-table td { padding:8px 10px; }
.blank-family-benefits .blank-spec-content .spec-table caption { font-size:13px; text-align:left; margin-bottom:10px; }
.blank-family-benefits .substrate-benefits-copy { min-width:0; }
.blank-family-benefits .substrate-benefits-media > img { object-fit:cover; }
.product-datasheet .target-family-explanation {
 max-width:none;
 margin:0;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:32px 40px;
}
.product-datasheet .target-family-explanation > article { min-width:0; }
.product-datasheet .target-family-explanation > article > h2 {
 padding-bottom:12px;
 border-bottom:1px solid #cacdcb;
}
.product-datasheet .target-family-explanation > article:has(.target-guide-table-scroll) { grid-column:1 / -1; }
.product-datasheet .target-guide-list { font-size:14px; line-height:1.7; }
@media (max-width:800px) {
 .product-datasheet .target-family-explanation { grid-template-columns:1fr; gap:28px; }
}
/* Encoder and scale pages use the same top-aligned showcase as the
   precision-glass substrate page. The supplied portrait photos remain
   complete inside the media frame rather than being vertically centred. */
.encoder-product-layout .substrate-benefits-media {
 aspect-ratio:765 / 1024;
 min-height:0;
}
.encoder-product-layout .substrate-benefits-media > img { object-fit:contain; padding:0; }
/* The two hero columns have independent content heights. The showcase is
   sized by the portrait image, so its copy and quote share the same bottom
   baseline as the image instead of stretching with a long left accordion. */
.encoder-product-layout .substrate-benefits-layout { align-items:start; }
.encoder-product-layout .substrate-benefits-showcase {
 min-height:0;
 align-self:start;
 aspect-ratio:1.355;
}
.encoder-product-layout .substrate-benefits-story { min-height:0; }
/* Show the complete configuration in a compact window; the table itself
   remains scrollable so no specification is removed from the page. */
.encoder-product-layout .blank-spec-content { max-height:250px; overflow-y:auto; }
/* Keep the copy column visually balanced with the fixed showcase without
   adding another technical section to the hero. */
.encoder-product-layout .substrate-benefits-copy { min-height:100%; }
@media (max-width:1023px) {
 .encoder-product-layout .substrate-benefits-showcase { aspect-ratio:auto; }
}
@media (max-width:600px) {
 .blank-family-benefits .blank-spec-content { max-height:320px; }
}

/* Align product statements with the showcase's top edge throughout the family. */
body:not(.home-glass) .blank-heading-clean .substrate-benefits-heading h2 {
 flex:0 0 100%;
 max-width:11em;
 margin:0;
 font-size:clamp(40px,4vw,68px);
 line-height:1.06;
 font-weight:500;
 letter-spacing:-.04em;
}
.blank-heading-clean .substrate-benefits-heading { flex-wrap:wrap; align-items:flex-start; gap:24px; }
.blank-heading-clean .substrate-benefits-copy > .substrate-benefits-heading,
.blank-heading-clean .substrate-benefits-copy > .substrate-benefits-specs {
 width:100%;
 align-self:stretch;
}

/* Move only the photoresist showcase image within the upper card; the
   technical-specification column below keeps its original position. */
@media (min-width:1024px) {
 .photoresist-layout .substrate-benefits-showcase {
  grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);
 }
 .photoresist-layout .substrate-benefits-media { order:-1; }
}

.blank-heading-clean .substrate-benefits-heading h2,
.blank-heading-clean .substrate-benefits-heading .substrate-benefits-pills,
.blank-heading-clean .substrate-benefits-specs > .substrate-benefits-spec-label,
.blank-heading-clean .substrate-benefits-specs > details {
 margin-left:0;
 margin-right:0;
}
@media (max-width:600px) {
 body:not(.home-glass) .blank-heading-clean .substrate-benefits-heading h2 { font-size:36px; }
}

/* Product summaries and their topic links share the existing datasheet scale. */
.optical-reading-product .reading-use-list {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:28px 56px;
 margin:28px 0;
}
.optical-reading-product .reading-use-list h3 { margin:0 0 12px; font-size:22px; line-height:1.4; }
.optical-reading-product .reading-use-list p { margin:0; max-width:60ch; line-height:1.8; }
.optical-reading-product .reading-topic-link { display:inline-block; margin-top:24px; font-size:17px; line-height:1.6; }
.optical-reading-product .reading-selection-scroll { overflow-x:auto; margin-top:28px; }
.optical-reading-product .reading-selection-scroll .spec-table { width:100%; margin:0; }
.optical-reading-product .reading-selection-scroll th { width:26%; }
.optical-reading-product .reading-selection-scroll th,
.optical-reading-product .reading-selection-scroll td { vertical-align:top; line-height:1.8; font-size:17px; white-space:normal; }
.optical-reading-product .reading-distinction,
.optical-reading-product .reading-delivery-copy { max-width:80ch; line-height:1.8; }
.optical-reading-product .reading-distinction { margin:24px 0 0; }
.optical-reading-product .reading-delivery-copy p { margin-bottom:16px; }
.optical-reading-product .reading-anchor { display:block; height:0; scroll-margin-top:100px; }
.optical-reading-product .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.optical-reading-product .reading-selection-scroll:focus-visible { outline:2px solid #557a9c; outline-offset:4px; }
@media(max-width:760px) {
 .optical-reading-product .reading-use-list { grid-template-columns:1fr; gap:28px; }
 .optical-reading-product .reading-selection-scroll th { width:32%; }
 .optical-reading-product .reading-selection-scroll th,
 .optical-reading-product .reading-selection-scroll td { padding:14px 12px; font-size:16px; }
}
