/* JC Fire Door preview1: original logo and caption separation, 2026-10-04. */
/* Preserve the original artwork: render the exact PNG without recolouring. */
.brand{width:108px;flex:0 0 108px}
.brand img[src*="jc-original-logo.png"]{width:auto;height:72px;max-width:100%;object-fit:contain}
.site-header.is-sticky .brand img[src*="jc-original-logo.png"]{height:60px}
.footer-brand img[src*="jc-original-logo.png"]{width:160px;height:auto;max-width:100%;padding:12px;background:#fff;box-sizing:content-box;margin-bottom:26px}
.mobile-nav-head img[src*="jc-original-logo.png"]{width:96px;height:auto;max-width:calc(100% - 70px);padding:10px;background:#fff;box-sizing:content-box}
/* Keep complete product artwork visible; category labels get their own strip. */
.product-visual{display:flex;flex-direction:column;aspect-ratio:auto!important;overflow:hidden}
.product-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;flex:none;transform:none!important}
.product-visual>span{position:static;display:block;width:100%;background:#fff;color:var(--ink);padding:12px 20px;line-height:1.5;letter-spacing:.1em;font-size:.72rem;white-space:normal;overflow-wrap:anywhere}
/* Product detail art and its identification are separate, with no clipped labels. */
.product-hero-art{height:auto;align-self:center;clip-path:none;display:flex;flex-direction:column;min-width:0}
.product-hero-art img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.product-hero-art .art-index{position:static;display:block;padding:14px 22px;background:#11161a;color:#fff;line-height:1.5;letter-spacing:.12em;overflow-wrap:anywhere}
/* Gallery captions sit below photographs rather than covering embedded text. */
.gallery-grid{grid-auto-rows:auto;align-items:stretch}
.gallery-item{display:flex;flex-direction:column;min-width:0;text-align:left}
.gallery-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;transform:none!important;flex:none}
.gallery-item>span{position:static;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 15px;padding:18px 22px;background:#11161a;color:#fff;text-align:left;flex:1}
.gallery-item small{font-size:.72rem;line-height:1.45;letter-spacing:.1em}
.gallery-item b{font-size:1.05rem;line-height:1.4;overflow-wrap:anywhere}
.gallery-item i{grid-column:2;grid-row:1/3}
/* Manufacturing artwork contains text already; keep the location card below it. */
.quality-image{aspect-ratio:auto;overflow:visible}
.quality-image img{width:100%;height:auto;object-fit:contain}
.quality-card{position:static;width:100%;margin:0;padding:22px 26px;line-height:1.5}
.quality-card span{font-size:.75rem;margin-bottom:7px}
/* Hero annotation cards now occupy a dedicated row below the door. */
.hero-stage{height:680px;padding-bottom:125px;min-width:0}
.hero-door-frame{width:min(300px,calc(100% - 150px));height:72%;margin-right:130px}
.hero-stage .spec-tag{position:absolute;top:auto;bottom:8px;display:block;width:calc(50% - 8px);min-width:0;min-height:98px;padding:14px 16px;backdrop-filter:none}
.hero-stage .tag-one{left:0;right:auto}
.hero-stage .tag-two{right:0;left:auto}
.hero-stage .spec-tag b{font-size:.75rem;line-height:1.45;letter-spacing:.06em;overflow-wrap:anywhere}
.hero-stage .spec-tag span{font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}
.hero-rating{right:0;top:40px;width:115px}
.hero-rating-note{right:0;top:165px;max-width:115px;font-size:.75rem;line-height:1.5;letter-spacing:0}
@media(max-width:960px){
 .brand{width:96px;flex-basis:96px}
 .brand img[src*="jc-original-logo.png"],.site-header.is-sticky .brand img[src*="jc-original-logo.png"]{height:62px}
 .hero-stage{height:680px;width:100%;max-width:650px;margin-inline:auto}
 .product-hero-art{width:100%}
}
@media(max-width:680px){
 .brand{width:90px;flex-basis:90px}
 .brand img[src*="jc-original-logo.png"],.site-header.is-sticky .brand img[src*="jc-original-logo.png"]{height:60px}
 .hero-stage{height:600px;padding-bottom:140px}
 .hero-door-frame{width:min(230px,calc(100% - 116px));height:72%;margin-right:106px;border-width:10px}
 .hero-rating{right:0;top:45px;width:95px}
 .hero-rating b{font-size:3.25rem}
 .hero-rating-note{right:0;top:145px;max-width:95px;font-size:.72rem}
 .hero-stage .spec-tag{min-height:112px;padding:12px;bottom:4px}
 .hero-stage .spec-tag b{font-size:.7rem}
 .hero-stage .spec-tag span{font-size:.72rem}
 .product-visual>span{padding:12px 16px}
 .gallery-grid{grid-auto-rows:auto}
 .gallery-item>span{padding:16px 18px}
 .product-hero-copy h1{font-size:clamp(2.7rem,10vw,4.2rem);line-height:1.06;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.hero-door-frame,.hero-door-leaf{animation:none}}
