/* A restrained photo system: fixed frames, real samples, readable content. */
.visual-refresh { --page-gutter: max(24px, calc((100vw - 1240px) / 2)); background: #f7f8fa; }
.visual-refresh .section, .visual-refresh .section.compact,
.visual-refresh .split-section, .visual-refresh .page-hero,
.visual-refresh .home-hero, .visual-refresh .cta-band,
.visual-refresh .conversion-prompt, .visual-refresh .certificate-resource-band {
  padding-inline: var(--page-gutter);
}
.visual-refresh .section, .visual-refresh .section.compact { padding-block: 64px; }
.visual-refresh .section-head, .visual-refresh .section-heading { margin-bottom: 32px; gap: 32px; }
.visual-refresh .section-head h2, .visual-refresh .section-heading h2,
.visual-refresh .split-section h2, .visual-refresh .cta-band h2 {
  font-size: clamp(28px, 3.1vw, 40px); line-height: 1.18; letter-spacing: -.025em;
}
.visual-refresh .eyebrow, .visual-refresh .kicker { margin-bottom: 16px; font-size: 12px; letter-spacing: .13em; }
.visual-refresh .section-heading { grid-template-columns: 1.35fr 1fr; align-items: end; }
.visual-refresh .section-heading > p { max-width: 470px; }
.visual-refresh .section p, .visual-refresh .split-section p,
.visual-refresh .section li { font-size: 16px; line-height: 1.7; }
.visual-refresh .page-hero { min-height: 0; padding-block: 54px 60px; grid-template-columns: 1fr 1fr; gap: 48px; background: #0a233b; }
.visual-refresh .page-hero h1 { font-size: clamp(36px, 3.7vw, 52px); line-height: 1.12; letter-spacing: -.035em; max-width: 760px; }
.visual-refresh .page-hero .breadcrumbs { margin-bottom: 26px; font-size: 11px; color: #b2c3d3; letter-spacing: .04em; }
.visual-refresh .page-hero .breadcrumbs span { color: #d6e1eb; }
.visual-refresh .page-hero .eyebrow { color: #9dc9ed; }
.visual-refresh .page-hero .page-intro { display: block; margin-top: 22px; color: #c4d2df; font-size: 17px; line-height: 1.7; max-width: 620px; overflow: visible; }
.visual-refresh .page-hero .hero-actions { margin-top: 28px; flex-wrap: wrap; gap: 12px; }
.visual-refresh .page-hero.text-hero { grid-template-columns: 1fr; padding-block: 54px 60px; }
.visual-refresh .text-hero .page-hero-copy { max-width: 840px; }
.visual-refresh .text-hero .page-intro { max-width: 760px; }
.visual-refresh .page-hero.framed-hero > figure,
.visual-refresh .page-hero.has-image > figure:has(.real-photo) {
  display: grid; grid-template-rows: minmax(0, 1fr) auto; height: 368px; width: 100%; aspect-ratio: auto;
  margin: 0; overflow: hidden; border-radius: 8px; border: 1px solid #30465b;
  box-shadow: none; background: #e8ecef;
}
.visual-refresh .page-hero.framed-hero > figure > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; filter: none; }
.visual-refresh .page-hero.framed-hero > figure.product-photo-stage { background: #e5e9e8; }
.visual-refresh .page-hero.framed-hero > figure.product-photo-stage > img { object-fit: contain; }
.visual-refresh .page-hero.framed-hero > figure figcaption {
  position: static; inset: auto; padding: 12px 16px; background: #f1f4f6; color: #455766;
  font-size: 12px; font-weight: 500; letter-spacing: .02em; line-height: 1.5; text-transform: none;
}
.visual-refresh .button, .visual-refresh .header-cta { border-radius: 4px; box-shadow: none; }
.visual-refresh .button.primary:hover { box-shadow: none; }
.visual-refresh .video-hero { padding-block: 80px; min-height: 560px; }
.visual-refresh .home-hero::before { display: none; }
.visual-refresh .home-hero h1 { max-width: 850px; }
.visual-refresh .video-hero .home-hero-copy { max-width: 850px; }
.visual-refresh .product-market-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; border: 0; }
.visual-refresh .info-grid.product-market-grid article {
  min-height: 265px; padding: 28px; border: 1px solid #dce3e9; border-radius: 6px; background: #fff;
  box-shadow: none; transform: none; overflow: hidden;
}
.visual-refresh .info-grid.product-market-grid article:hover { border-color: #9bb5ca; background: #fafcfe; }
.visual-refresh .info-grid.product-market-grid article::before { display: none; }
.visual-refresh .info-grid.product-market-grid article > span { font-size: 12px; letter-spacing: .1em; }
.visual-refresh .info-grid.product-market-grid h3 { margin: 18px 0 12px; font-size: 23px; line-height: 1.25; }
.visual-refresh .info-grid.product-market-grid p { display: block; color: #546575; font-size: 15px; line-height: 1.65; overflow: visible; margin-bottom: 24px; }
.visual-refresh .info-grid.product-market-grid a { padding-top: 16px; font-size: 12px; }
.visual-refresh .example-products-grid { gap: 24px; }
.visual-refresh .example-product { border-radius: 6px; border-color: #dce3e9; }
.visual-refresh .example-product img { height: 244px; aspect-ratio: auto; object-fit: cover; object-position: center; background: #e5e9e8; filter: none; }
.visual-refresh .example-product-copy { padding: 24px; }
.visual-refresh .example-product-copy h3 { font-size: 23px; line-height: 1.25; }
.visual-refresh .example-product-copy p { font-size: 15px; }
.visual-refresh .product-quote-link { background: #fff5ec; border-color: #ead6c6; font-size: 14px; }
.visual-refresh .product-detail-links { padding-block: 24px; background: #fff; border-bottom: 1px solid #e0e6eb; }
.visual-refresh .product-detail-links .example-products-grid { display: block; }
.visual-refresh .product-detail-links .example-product { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 20px; border: 0; background: transparent; }
.visual-refresh .product-detail-links .example-product-copy { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 28px; padding: 0; }
.visual-refresh .product-detail-links .example-product-copy h3 { margin: 0; font-size: 19px; }
.visual-refresh .product-detail-links .text-link { font-size: 14px; }
.visual-refresh .product-detail-links .product-quote-link { padding: 12px 18px; border: 1px solid #ead6c6; border-radius: 4px; }
.visual-refresh .info-grid h3 { margin-top: 22px; }
.visual-refresh .info-grid article { min-height: 0; }
.visual-refresh .catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.visual-refresh .catalog-grid article, .visual-refresh .detail-grid article { min-height: 0; padding: 24px; }
.visual-refresh .catalog-grid h3, .visual-refresh .detail-grid h3 { margin: 14px 0 12px; font-size: 20px; line-height: 1.3; }
.visual-refresh .catalog-grid p, .visual-refresh .detail-grid p,
.visual-refresh .faq-list p, .visual-refresh .info-grid p,
.visual-refresh .split-copy > p:not(.kicker), .visual-refresh .matrix-list span {
  display: block; overflow: visible; -webkit-line-clamp: unset;
}
.visual-refresh .catalog-grid p, .visual-refresh .detail-grid p { font-size: 15px; line-height: 1.65; }
.visual-refresh .specification-grid dt { font-size: 15px; }
.visual-refresh .specification-grid dd { font-size: 15px; }
.visual-refresh .split-section { padding-block: 60px; gap: 48px; }
.visual-refresh .split-section.text-only { grid-template-columns: 1fr; }
.visual-refresh .split-section figure { height: 360px; max-height: 360px; border-radius: 6px; box-shadow: none; }
.visual-refresh .split-section figure img { object-fit: cover; }
.visual-refresh .factory-proof-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.visual-refresh .factory-proof-grid.two-photos { grid-template-columns: repeat(2,minmax(0,1fr)); }
.visual-refresh .factory-proof-grid figure { grid-column: auto; margin: 0; background: #fff; color: #112b41; box-shadow: none; border: 1px solid #dce3e9; border-radius: 6px; }
.visual-refresh .factory-proof-grid img, .visual-refresh .factory-proof-grid .real-photo { display: block; width: 100%; height: 250px; aspect-ratio: auto; object-fit: cover; }
.visual-refresh .factory-proof-grid figcaption { padding: 20px; }
.visual-refresh .factory-proof-grid figcaption strong { font-size: 18px; }
.visual-refresh .factory-proof-grid figcaption span { font-size: 14px; color: #536778; }
.visual-refresh .real-photo-note { font-size: 13px; }
.visual-refresh .case-evidence-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.visual-refresh .case-evidence-grid article,
.visual-refresh .case-evidence-grid article:nth-child(even) { display: flex; flex-direction: column; border: 1px solid #dce3e9; background: #fff; border-radius: 6px; overflow: hidden; }
.visual-refresh .case-evidence-grid figure,
.visual-refresh .case-evidence-grid article:nth-child(even) figure { order: 0; height: 220px; min-height: 0; margin: 0; }
.visual-refresh .case-evidence-grid img { height: 220px; object-fit: cover; }
.visual-refresh .case-evidence-grid article > div { padding: 24px; }
.visual-refresh .case-evidence-grid h3 { font-size: 24px; line-height: 1.25; }
.visual-refresh .case-evidence-grid p, .visual-refresh .case-evidence-grid li { font-size: 15px; line-height: 1.65; }
.visual-refresh .evidence-image-row.single-evidence { grid-template-columns: minmax(0,480px); }
.visual-refresh .evidence-image-row figure { margin: 0; }
.visual-refresh .evidence-image-row img { height: 300px; border-radius: 6px; }
.visual-refresh .featured-article img { height: 320px; border-radius: 6px; }
.visual-refresh .cta-band { padding-block: 56px; border-top: 1px solid #234159; }
.visual-refresh .conversion-prompt { margin: 0; padding-block: 30px; }
.visual-refresh .wa-inquiry { z-index: 140; }
/* Content is visible immediately; late animation setup must never resemble a missing image. */
.visual-refresh .js-reveal, .motion-ready .visual-refresh .stagger-item { opacity: 1; transform: none; }
.motion-ready .visual-refresh.is-ready .home-hero-copy > *,
.motion-ready .visual-refresh.is-ready .page-hero-copy > * { animation: none; }

@media (max-width: 1100px) {
  .visual-refresh .page-hero { gap: 32px; }
  .visual-refresh .page-hero h1 { font-size: 40px; }
  .visual-refresh .section-heading { grid-template-columns: 1fr; gap: 18px; }
  .visual-refresh .section-heading > p { max-width: 740px; }
}
@media (max-width: 980px) {
  .visual-refresh .page-hero { grid-template-columns: 1fr; padding-block: 44px; gap: 30px; }
  .visual-refresh .page-hero.framed-hero > figure,
  .visual-refresh .page-hero.has-image > figure:has(.real-photo) { height: 370px; max-width: 700px; aspect-ratio: auto; }
  .visual-refresh .product-market-grid, .visual-refresh .example-products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .visual-refresh .factory-proof-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
  .visual-refresh .factory-proof-grid img, .visual-refresh .factory-proof-grid .real-photo { height: 180px; }
  .visual-refresh .case-evidence-grid { grid-template-columns: 1fr; }
  .visual-refresh .case-evidence-grid article,
  .visual-refresh .case-evidence-grid article:nth-child(even) { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
  .visual-refresh .case-evidence-grid figure, .visual-refresh .case-evidence-grid img { height: 300px; }
  .visual-refresh .split-section { gap: 28px; }
}
@media (max-width: 680px) {
  .visual-refresh { --page-gutter: 22px; }
  .visual-refresh .wa-inquiry-panel { max-width: calc(100vw - 42px); }
  .visual-refresh .section, .visual-refresh .section.compact { padding-block: 42px; }
  .visual-refresh .section-head h2, .visual-refresh .section-heading h2,
  .visual-refresh .split-section h2, .visual-refresh .cta-band h2 { font-size: 30px; }
  .visual-refresh .page-hero, .visual-refresh .page-hero.text-hero { padding-block: 34px 40px; }
  .visual-refresh .page-hero h1 { font-size: clamp(32px,8.5vw,40px); }
  .visual-refresh .page-hero .page-intro { font-size: 16px; }
  .visual-refresh .page-hero.framed-hero > figure,
  .visual-refresh .page-hero.has-image > figure:has(.real-photo) { height: clamp(235px,72vw,340px); aspect-ratio: auto; }
  .visual-refresh .video-hero { min-height: 0; padding-block: 48px 70px; }
  .visual-refresh .product-market-grid, .visual-refresh .example-products-grid,
  .visual-refresh .factory-proof-grid, .visual-refresh .factory-proof-grid.two-photos,
  .visual-refresh .catalog-grid { grid-template-columns: 1fr; }
  .visual-refresh .info-grid.product-market-grid article { min-height: 0; padding: 24px; }
  .visual-refresh .example-product img { height: clamp(220px,64vw,310px); }
  .visual-refresh .product-detail-links { padding-block: 24px; }
  .visual-refresh .product-detail-links .example-product { display: flex; }
  .visual-refresh .product-detail-links .example-product-copy { display: block; }
  .visual-refresh .product-detail-links .text-link { margin-top: 10px; }
  .visual-refresh .factory-proof-grid img, .visual-refresh .factory-proof-grid .real-photo { height: clamp(220px,62vw,300px); }
  .visual-refresh .case-evidence-grid article,
  .visual-refresh .case-evidence-grid article:nth-child(even) { display: flex; flex-direction: column; }
  .visual-refresh .case-evidence-grid figure, .visual-refresh .case-evidence-grid img { width: 100%; height: clamp(220px,62vw,300px); }
  .visual-refresh .split-section { padding-block: 42px; grid-template-columns: 1fr; }
  .visual-refresh .split-section figure { height: 280px; }
  .visual-refresh .cta-band { padding-block: 42px; gap: 24px; }
  .visual-refresh .featured-article img, .visual-refresh .evidence-image-row img { height: 260px; }
}

/* Product concepts are confined to their category route; real photos have one page owner. */
.visual-refresh .text-product-links .example-product-copy { padding: 26px; }
.visual-refresh .text-case-records { grid-template-columns: repeat(3,minmax(0,1fr)); }
.visual-refresh .text-case-records article,
.visual-refresh .text-case-records article:nth-child(even) { display: block; }
.visual-refresh .text-case-records article > div { padding: 26px; }
.visual-refresh .featured-article.text-feature { grid-template-columns: 1fr; max-width: 850px; }
.visual-refresh .page-hero.framed-hero > figure.component-photo-stage > img { object-fit: contain; }
.visual-refresh .page-hero.category-concept-hero > figure {
  height: auto; max-width: 600px; aspect-ratio: auto; grid-template-rows: auto auto; background: #e7e9eb;
}
.visual-refresh .page-hero.category-concept-hero > figure > img {
  height: auto; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; filter: none;
}
.visual-refresh .page-hero.category-concept-hero figcaption { font-size: 12px; line-height: 1.5; }
@media (max-width: 680px) {
  .visual-refresh .text-case-records { grid-template-columns: 1fr; }
}

@media (min-width: 681px) and (max-width: 980px) {
  .visual-refresh .factory-proof-grid.two-photos { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .visual-refresh .text-case-records { grid-template-columns: 1fr; }
}
