/* Owner-approved logo and layout refinement. Existing product pixels stay intact. */
body.reference-style .header-inner { grid-template-columns: 300px minmax(0,1fr) auto; }
body.reference-style .brand { min-width: 0; }
.brand-lockup { display: flex; align-items: center; gap: 13px; background: transparent; min-width: 0; color: #202738; }
body.reference-style .brand-lockup .brand-symbol { display: block; width: 64px; height: 52px; flex: 0 0 64px; padding: 0; margin: 0; background: transparent; border-radius: 0; object-fit: contain; }
.brand-name { display: grid; gap: 5px; min-width: 0; }
.brand-name strong { font: 700 16px/1.25 "PingFang SC", "Microsoft YaHei", sans-serif; white-space: nowrap; }
.brand-name small { font: 600 9px/1.3 "Montserrat", Arial, sans-serif; letter-spacing: .035em; }
body.reference-style .footer-brand .brand-lockup-footer { color: white; margin-bottom: 32px; }
body.reference-style .footer-brand .brand-lockup-footer .brand-symbol { width: 76px; height: 62px; flex-basis: 76px; }
body.reference-style .footer-brand .brand-name strong { font-size: 15px; }
body.reference-style .footer-brand .brand-name small { font-size: 9px; color: #e3eafb; }

body.reference-style .catalog-sidebar { position: static; top: auto; max-height: none; overflow: visible; align-self: start; }
body.reference-style .catalog-category-menu[open] .product-family-nav { max-height: none; overflow: visible; }
body.reference-style .display-categories .section-header { grid-template-columns: minmax(0,1fr); width: min(100%,920px); margin-inline: auto; justify-items: center; text-align: center; gap: 22px; }
body.reference-style .display-categories .section-header > div { width: 100%; }
body.reference-style .display-categories .section-header h2 { max-width: 800px; margin-inline: auto; }
body.reference-style .display-categories .section-header p { max-width: 860px; margin-inline: auto; }

.fz-product-visual { display: block; position: relative; width: 100%; aspect-ratio: var(--fz-image-ratio); min-width: 0; min-height: 0; }
.fz-product-visual > img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; object-fit: contain; pointer-events: none; }
.fz-product-visual[data-brand-ready] > img { opacity: 0 !important; }
.fz-product-canvas { display: block; width: 100%; height: 100%; position: absolute; inset: 0; pointer-events: none; opacity: 0; }
.fz-product-visual[data-brand-ready] > .fz-product-canvas { opacity: 1; }
:is(.product-image,.category-row-image,.category-orbit-image,.featured-module-image,.gallery-thumb) > .fz-product-visual { height: 100%; aspect-ratio: auto; }
body.reference-style .featured-module-image > .fz-product-visual { position: relative; top: auto; right: auto; width: 100%; border-radius: 0; background: transparent; display: block; }
body.reference-style .company-product-stage > .fz-product-visual { height: 350px; aspect-ratio: auto; }
body.reference-style .catalog-hero-visual > .fz-product-visual { width: 34%; height: 100%; margin-left: -8%; aspect-ratio: auto; }
body.reference-style .catalog-hero-visual.single > .fz-product-visual { width: 74%; margin: 0; }
body.reference-style .gallery-main > .fz-product-visual { position: absolute; inset: 16px; width: auto; height: auto; aspect-ratio: auto; }
.image-dialog > .fz-product-visual { max-height: 75vh; }

@media (max-width: 1200px) and (min-width: 1001px) {
  body.reference-style .header-inner { grid-template-columns: 270px minmax(0,1fr) auto; gap: 16px; }
  body.reference-style .primary-nav { gap: 13px; }
  .brand-name strong { font-size: 14px; }
  body.reference-style .brand-lockup .brand-symbol { width: 58px; flex-basis: 58px; }
}
@media (max-width: 1000px) {
  body.reference-style .header-inner { grid-template-columns: minmax(0,1fr) auto auto; }
}
@media (max-width: 640px) {
  body.reference-style .header-inner { grid-template-columns: minmax(0,1fr) auto; }
  .brand-lockup { gap: 8px; }
  body.reference-style .brand-lockup .brand-symbol { width: 46px; height: 40px; flex-basis: 46px; }
  .brand-name { gap: 3px; }
  .brand-name strong { font-size: 12px; }
  .brand-name small { font-size: 7px; line-height: 1.3; letter-spacing: .015em; }
  body.reference-style .footer-brand .brand-lockup-footer .brand-symbol { width: 70px; height: 58px; flex-basis: 70px; }
  body.reference-style .company-product-stage > .fz-product-visual { height: 250px; }
}
