/* Shared photographic presentation. Do not apply color filters to product evidence. */
:root { --photo-surface: #eef0f0; --editorial-rule: #dce1e2; }
main .section-pad { padding-block: clamp(40px, 4vw, 64px); }
main .section-heading { margin-bottom: 28px; }
main .section-heading h2 { font-size: clamp(28px, 3.2vw, 42px); line-height: 1.16; text-wrap: balance; }
main .section-intro { font-size: 1rem; line-height: 1.65; max-width: 720px; }
main .page-hero { min-height: 0; padding-block: 116px 48px; }
main .page-hero h1 { max-width: 760px; font-size: clamp(34px, 4vw, 54px); line-height: 1.1; text-wrap: balance; }
main .page-hero-content > p:not(.eyebrow) { max-width: 680px; font-size: 1rem; line-height: 1.65; }
main .cta { padding-block: clamp(40px, 4vw, 64px); }
main .cta h2, main .lead-band h2 { font-size: clamp(28px, 3.2vw, 42px); line-height: 1.2; }
main .lead-band { padding-block: clamp(40px, 4vw, 64px); }
/* Quiet cards: photo, product title, buying scope, action. */
.series-card, .official-product-card { border-radius: 0; box-shadow: none; border-color: var(--editorial-rule); }
.series-card:hover, .official-product-card[href]:hover { box-shadow: none; transform: none; }
.series-grid-lightbox { gap: 20px; }
.series-grid-lightbox .series-card > img,
.official-product-card > img,
.official-product-card.compact > img {
  width: 100%; height: 260px; aspect-ratio: auto;
  object-fit: contain; padding: 16px; background: var(--photo-surface);
}
.official-product-card > img.product-photo-dark { object-fit: contain; object-position: center; background: #111718; padding: 16px; }
.series-card-copy { display: flex; flex-direction: column; flex: 1; }
.series-card-copy h3 { font-size: 22px; line-height: 1.2; }
.series-card-copy p { font-size: 1rem; line-height: 1.55; }
.series-card-copy .series-link { margin-top: auto; padding-top: 12px; }
.official-product-card h3 { font-size: 22px; line-height: 1.2; }
.official-product-card p { font-size: 1rem; line-height: 1.6; }
.official-product-card dt { font-size: .875rem; text-transform: none; }
.official-product-card dd { font-size: 1rem; }
/* One consistent backdrop and whitespace across the buyer entry points. */
.home-compact .buyer-paths .product-card img,
.directory-compact .catalog-page-links img,
.product-compact .panel-family-grid img { background: var(--photo-surface); padding: 12px; border-radius: 0; }
.directory-compact .catalog-page-links img { height: 240px; }
.home-compact .buyer-paths .product-card:hover img { transform: none; }
.frameless-compact .buyer-sample-grid img,
.company-compact .factory-proof-grid img { padding: 12px; background: var(--photo-surface); }
.lightbox-structure-photo img { border: 1px solid var(--editorial-rule); }
.lead-image img { object-fit: contain; background: var(--photo-surface); }
/* Detail photos remain complete; no fake perspective, exposure or saturation corrections. */
.buyer-answers { align-items: start; gap: 16px 28px; }
.buyer-answers .faq-item { padding: 18px 20px; }
.buyer-answers .faq-item summary { font-size: 1.125rem; line-height: 1.4; }
.buyer-answers .faq-item p { font-size: 1rem; line-height: 1.6; margin: 12px 0 0; }
.buyer-process-photo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 24px; margin: 24px 0; }
.buyer-process-photo img { width: 100%; max-height: 240px; object-fit: contain; background: var(--photo-surface); }
.buyer-process-photo figcaption { font-size: 1rem; line-height: 1.6; color: var(--muted); }
@media (max-width: 760px) {
  .buyer-answers, .buyer-process-photo { grid-template-columns: 1fr; }
  .buyer-answers .faq-item { padding: 16px; }
}
.method-directory { margin-bottom: 0; padding: 28px; gap: 28px; }
.method-directory-heading h4 { font-size: 24px; line-height: 1.25; }
.method-directory p, .method-directory dd { font-size: 1rem; line-height: 1.6; }
/* Owner-approved blend: original product photography + compact preview hierarchy. */
.directory-compact .page-hero {
  background: linear-gradient(90deg, #101516 12%, rgba(16,21,22,.94) 42%, rgba(16,21,22,.2)),
    url('/static/media/hero-frameless-v2.webp') right center / auto 100% no-repeat #101516;
}
.directory-compact .page-hero-content { max-width: 680px; margin-inline: 0; }
.home-compact .buyer-paths .product-card,
.product-compact .panel-family-grid .product-card,
.series-card, .official-product-card { border-radius: 8px; box-shadow: none; }
.home-compact .buyer-paths .product-card:hover { box-shadow: none; transform: none; border-color: var(--cyan); }
.directory-compact .catalog-page-links { gap: 20px; border: 0; }
.directory-compact .catalog-page-links a:nth-child(n) {
  padding: 18px; border: 1px solid var(--editorial-rule); border-radius: 8px;
  background: #fff; color: var(--ink); transition: border-color .2s ease;
}
.directory-compact .catalog-page-links a:hover,
.directory-compact .catalog-page-links a:focus-visible { background: #fff; color: var(--ink); border-color: var(--cyan); }
.directory-compact .catalog-page-links a:hover span,
.directory-compact .catalog-page-links a:hover small { color: var(--muted); }
.directory-compact .catalog-page-links a:hover b { color: var(--cyan); }
.directory-compact .catalog-page-links a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.directory-compact .catalog-page-links img { height: auto; aspect-ratio: 4 / 3; padding: 0; }
.directory-compact .catalog-page-links strong { margin: 0 0 6px; }
.directory-compact .catalog-page-links strong { min-block-size: 2.5em; }
.directory-compact .catalog-page-links small { display: block; overflow: visible; -webkit-line-clamp: unset; }
.directory-compact .catalog-page-links .catalog-photo-note { order: 1; }
.directory-compact .catalog-page-links b { order: 2; }
.directory-compact .catalog-page-links a > * { min-inline-size: 0; overflow-wrap: anywhere; }
/* Contact groups size to their content; preserve readable, actionable information. */
main .contact-inline > * { min-inline-size: 0; overflow-wrap: anywhere; }
main .contact-buyer {
  width: min(1080px, 100%); grid-template-columns: 1.25fr 1fr 1.35fr;
  text-align: start; align-items: stretch;
}
main .contact-buyer > * {
  margin: 0; padding: 20px; font-size: 1rem; line-height: 1.6;
  font-weight: 500; font-style: normal;
}
main .contact-buyer > * + * { border-left: 0; border-inline-start: 1px solid var(--line); }
main .contact-buyer span { font-size: .8125rem; margin-bottom: 8px; }
main .contact-buyer .contact-action { display: block; width: fit-content; min-height: 44px; padding-top: 8px; color: var(--cyan); text-decoration: underline; text-underline-offset: 4px; }
main .contact-buyer a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
@media (min-width: 761px) and (max-width: 1100px) {
  .directory-compact .product-directory-compact .catalog-page-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  main .contact-buyer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  main .contact-buyer > address { grid-column: 1 / -1; border-inline-start: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 760px) {
  main .contact-buyer { grid-template-columns: 1fr; }
  main .contact-buyer > * + * { border-inline-start: 0; border-top: 1px solid var(--line); }
  .directory-compact .catalog-page-links strong { min-block-size: 0; }
  main .page-hero h1, main .section-heading h2, main .cta h2 { overflow-wrap: anywhere; }
  .page-hero-actions { flex-wrap: wrap; }
}
.home-compact .buyer-paths .product-card img { padding: 0; }
.home-compact .buyer-paths img.product-photo-original,
.directory-compact .catalog-page-links img.product-photo-original,
.product-compact .panel-family-grid img.product-photo-original { padding: 0; background: #09090b; object-fit: contain; }
.frameless-compact .buyer-split-hero { grid-template-columns: 1fr 1fr; gap: 40px; }
.frameless-compact .buyer-hero-photo img.product-photo-original { height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #09090b; }
@media (max-width: 1100px) and (min-width: 761px) {
  .series-grid-lightbox { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .directory-compact .page-hero { background: #101516; }
  .frameless-compact .buyer-split-hero { grid-template-columns: 1fr; gap: 24px; }
  main .page-hero { padding-block: 104px 36px; }
  main .page-hero h1 { font-size: 34px; }
  .series-grid-lightbox { grid-template-columns: 1fr; }
  .series-grid-lightbox .series-card > img,
  .official-product-card > img, .official-product-card.compact > img { height: 280px; }
  .directory-compact .catalog-page-links img { height: auto; max-height: 320px; }
  .method-directory { grid-template-columns: 1fr; padding: 24px; }
}
