/* Scoped company photography and packaging galleries. Existing site tokens retained. */
body[data-page="about.html"] section.reveal,
body[data-page="oem.html"] section.reveal,
.company-section.reveal { opacity:1; transform:none; }
.company-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; }
.company-intro figure,.company-gallery figure { margin:0; min-width:0; }
.company-intro figure>img { width:100%; height:auto; border-radius:14px; }
.company-intro figcaption,.company-gallery figcaption { color:var(--text-secondary); font-size:14px; line-height:1.5; padding:12px 0; }
.company-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.company-feature { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.company-feature>img { width:100%; aspect-ratio:auto; object-fit:cover; height:auto; }
.company-feature:last-child>img { object-fit:contain; background:#fff; }
.company-feature>div { padding:24px; }
.company-feature h3 { margin-top:0; }
.company-text-link { display:inline-block; color:var(--text-primary); text-decoration:underline; text-underline-offset:5px; margin-top:12px; }
.company-process-photo { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:40px; margin-top:48px; }
.company-process-photo>img { width:100%; height:auto; object-fit:contain; border-radius:14px; }
.company-gallery { min-width:0; max-width:900px; margin:0 auto 32px; }
.company-gallery h3 { font-size:25px; margin:0 0 20px; }
.company-stage { display:flex; align-items:center; justify-content:center; aspect-ratio:auto; border-radius:12px; overflow:hidden; background:var(--bg-secondary); }
.company-stage img { width:100%; height:auto; object-fit:contain; }
.company-gallery--pack .company-stage { background:#fff; aspect-ratio:auto; max-height:none; }
.company-gallery-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; align-items:start; }
.company-gallery-pair>.company-gallery { width:100%; }
.company-pack-single { max-width:580px; margin:48px auto 0; }
.company-thumbs { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.company-thumbs a { width:64px; height:auto; align-self:flex-start; display:flex; background:#fff; border:2px solid transparent; border-radius:6px; overflow:hidden; }
.company-thumbs img { width:100%; height:auto; object-fit:contain; }
.company-thumbs [aria-current="true"] { border-color:var(--text-primary); }
.company-controls:not([hidden]) { display:flex; align-items:center; gap:16px; justify-content:flex-end; }
.company-controls button { width:44px; height:44px; border:1px solid var(--border-warm); border-radius:50%; background:var(--bg-card); color:var(--text-primary); cursor:pointer; font-size:22px; }
.company-controls span { min-width:50px; text-align:center; font-size:14px; }
.company-section a:focus-visible,.company-controls button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.company-addresses { display:grid; grid-template-columns:1fr 1fr; gap:48px; border-top:1px solid var(--border); padding-top:24px; }
.company-addresses p { max-width:55ch; }
.company-lightbox { border:0; border-radius:12px; padding:52px 16px 16px; background:var(--bg-card); max-width:96vw; max-height:94vh; }
.company-lightbox::backdrop { background:rgba(20,15,10,.78); }
.company-lightbox img { width:auto; height:auto; max-width:88vw; max-height:78vh; object-fit:contain; margin:auto; }
.company-lightbox button { position:absolute; right:12px; top:10px; padding:8px 16px; background:var(--bg-card); border:1px solid var(--border); cursor:pointer; color:var(--text-primary); }
.product-video video { display:block; max-width:100%; background:#fff; aspect-ratio:16/9; border-radius:12px; }
@media(max-width:900px){.company-intro{gap:28px}.company-feature-grid{gap:16px}.company-feature>div{padding:18px}.company-gallery-pair{gap:24px}}
@media(max-width:700px){.company-intro,.company-gallery-pair,.company-feature-grid,.company-addresses,.company-process-photo{grid-template-columns:1fr}.company-intro{gap:24px}.company-feature>img{aspect-ratio:4/3}.company-process-photo{gap:20px}.company-gallery h3{font-size:22px}.company-thumbs a{width:56px;height:auto}.company-gallery--pack .company-stage{max-height:none}.company-addresses{gap:20px}}

/* Home application photos and compact five-product row, 2026-09-16. */
#home-series-grid .home-card-body h3 {font-size:21px;line-height:1.25;overflow-wrap:normal;}
#home-series-grid .home-card-body .tag {font-size:10px;letter-spacing:.06em;}
#home-series-grid .card-subtitle {font-size:11px;}
#home-series-grid .home-card-body p {font-size:14px;line-height:1.55;}
#home-series-grid .home-card-body .btn {padding:10px 8px;font-size:13px;}
.home-watch-video {display:block;margin-top:12px;font-size:13px;text-decoration:underline;text-underline-offset:4px;}
.application-photo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;}
#applications .scene-photo-card {padding:0;overflow:hidden;text-align:left;min-width:0;}
.scene-photo-link {display:block;aspect-ratio:auto;}
.scene-photo-link img {width:100%;height:auto;aspect-ratio:auto;object-fit:contain;}
.scene-copy {padding:22px;}
#applications .scene-copy h3 {font-size:19px!important;margin-top:0;}
.scene-copy .company-text-link {font-size:14px;}
#applications .scene-bath-gallery {margin:0;}
#applications .scene-bath-gallery .company-stage {aspect-ratio:auto;border-radius:0;}
.scene-bath-gallery figcaption {padding:10px 20px;}
.scene-bath-gallery .company-controls {padding:0 20px;}
.scene-bath-gallery .company-thumbs {padding:0 20px;}
.scene-product-links {display:flex;flex-wrap:wrap;gap:16px;}
#product-video {scroll-margin-top:100px;}
#product-video .container {max-width:1000px;}
#product-video .video-intro {margin-bottom:24px;}
@media(max-width:960px){.application-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.application-photo-grid{grid-template-columns:1fr;}#home-series-grid .home-card-body{padding:20px;}#product-video{scroll-margin-top:80px;}}
#applications .scene-bath-gallery {position:relative;}
#applications .scene-bath-gallery figcaption {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);}
#applications .scene-bath-gallery .company-thumbs {display:none;}
#applications .scene-bath-gallery .company-controls {position:absolute;bottom:12px;right:12px;padding:5px 8px;gap:5px;background:rgba(255,253,248,.95);border-radius:28px;}
#applications .scene-bath-gallery .company-controls button {width:36px;height:36px;}
#applications .scene-bath-gallery .company-controls span {min-width:34px;}

.company-stage img,.company-feature>img,.scene-photo-link img{display:block;}
.packaging-examples{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/5);gap:18px;align-items:start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.packaging-examples::-webkit-scrollbar{display:none;}
.packaging-examples figure{scroll-snap-align:start;}
.packaging-examples figure{margin:0;min-width:0;}
.packaging-examples a{display:block;aspect-ratio:1;overflow:hidden;border-radius:12px;}
.packaging-examples img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;}
.packaging-examples figcaption{padding:12px 0;font-size:14px;line-height:1.5;text-align:center;color:var(--text-secondary);}
.packaging-controls:not([hidden]){display:flex;justify-content:center;align-items:center;gap:14px;margin-top:20px;}
.packaging-controls button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font:inherit;cursor:pointer;}
.packaging-controls button:focus-visible,.packaging-examples a:focus-visible{outline:2px solid var(--text-primary);outline-offset:-3px;}
@media(max-width:900px){.packaging-examples{grid-auto-columns:calc((100% - 36px)/3);}}
@media(max-width:700px){.packaging-examples{grid-auto-columns:calc((100% - 18px)/2);}}
@media(max-width:480px){.packaging-examples{grid-auto-columns:82%;}}
