/* Homepage-only integration of the supplied exhibition art direction. */
.visual-home { --home-forest:#254e35; --home-paper:#f7f6f0; --home-ink:#223b2b; }
.visual-home .visual-hero { background:var(--home-paper); max-width:none; padding:58px max(40px,calc((100vw - 1264px)/2)) 28px; column-gap:52px; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
.visual-home .visual-hero-intro { padding-top:6px; }
.visual-home .visual-hero h1 { color:var(--home-forest); font-weight:650; letter-spacing:-.045em; font-size:clamp(2.5rem,3.55vw,3.45rem); margin:16px 0 22px; }
.visual-home .visual-hero h1 span { color:#243d2d; }
.visual-home .visual-hero .eyebrow { color:#49633f; }
.visual-home .visual-hero .growth-lead { color:#526052; line-height:1.7; font-size:1rem; max-width:460px; }
.visual-home .home-brand-art { border:0; border-radius:3px; background:transparent; overflow:visible; }
.visual-home .home-brand-art img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
.visual-home .home-brand-art figcaption { position:static; border:0; padding:11px 0 0; background:transparent; display:flex; justify-content:space-between; gap:18px; color:#465b47; font-size:.75rem; }
.visual-home .home-brand-art figcaption span { font-size:.6875rem; letter-spacing:0; margin:0; color:#617060; }
.visual-home .visual-hero-foot { margin-top:9px; font-size:.75rem; }
.visual-home .visual-hero-actions { padding-top:22px; }
.visual-home .visual-order-bar { margin-top:34px; padding-top:22px; }
.visual-home .visual-order-bar .growth-small { line-height:1.6; }
.visual-home .button.primary { background:var(--home-forest); border-color:var(--home-forest); }
.visual-home .visual-hero .button.secondary { background:transparent; }
.visual-home .visual-range { border:0; }
.visual-home .home-factory-story { background:#254c35; }
.home-factory-intro { display:grid; grid-template-columns:1.1fr 1fr; gap:65px; align-items:end; margin-bottom:34px; }
.home-factory-intro .eyebrow { color:#cfdec5; margin-top:0; }
.home-factory-intro h2 { font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.12; letter-spacing:-.04em; color:#fff; margin:12px 0 0; }
.home-factory-intro p:not(.eyebrow) { font-size:.9375rem; color:#e0e8d9; line-height:1.7; margin:0 0 10px; }
.home-factory-intro a { font-size:.8125rem; text-decoration:underline; text-underline-offset:5px; }
.home-factory-gallery { display:grid; grid-template-columns:1.6fr 1fr; gap:28px; }
.home-factory-gallery figure { min-width:0; margin:0; }
.home-factory-gallery .home-factory-main { grid-row:span 2; display:flex; flex-direction:column; }
.home-factory-gallery img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:2px; }
.home-factory-gallery .home-factory-main img { flex:1; min-height:0; height:0; aspect-ratio:auto; object-position:55% center; }
.home-factory-gallery figcaption { padding-top:12px; color:#d0ddc8; font-size:.75rem; line-height:1.55; }
.home-factory-gallery figcaption span { display:block; color:#f5f7ed; font-size:.625rem; letter-spacing:.1em; margin-bottom:3px; }
.home-factory-bottom { border-top:1px solid #708268; margin-top:28px; padding-top:22px; display:flex; justify-content:space-between; align-items:center; gap:32px; }
.home-factory-bottom p { font-size:.75rem; line-height:1.65; max-width:580px; color:#d4e0cc; margin:0; }
.home-factory-bottom .button.secondary { border:1px solid #bacbad; background:transparent; color:#fff; font-size:.8125rem; }
@media(max-width:1100px) and (min-width:761px) {
 .visual-home .visual-hero { padding:40px 32px 26px; gap:0 32px; grid-template-areas:"intro media" "actions actions" "order order"; }
 .visual-home .visual-hero h1 { font-size:clamp(2rem,3.4vw,2.55rem); }
}
@media(max-width:760px) {
 .visual-home .visual-hero { display:grid; grid-template-columns:1fr; grid-template-areas:"intro" "media" "actions" "order"; padding:26px 20px 24px; gap:0; }
 .visual-home .visual-hero-intro { padding:0; }
 .visual-home .visual-hero h1 { font-size:clamp(1.95rem,8.2vw,3rem); margin:12px 0 15px; }
 .visual-home .visual-hero .growth-lead { font-size:.9375rem; line-height:1.6; margin:0 0 20px; max-width:none; }
 .visual-home .home-brand-art figcaption { font-size:.6875rem; gap:10px; }
 .visual-home .home-brand-art figcaption span { font-size:.625rem; }
 .visual-home .visual-hero-foot { font-size:.6875rem; margin-top:7px; }
 .visual-home .visual-hero-actions { padding-top:18px; }
 .visual-home .visual-order-bar { margin-top:24px; }
 .home-factory-intro { grid-template-columns:1fr; gap:20px; margin-bottom:25px; }
 .home-factory-intro h2 { font-size:2rem; }
 .home-factory-intro p:not(.eyebrow) { font-size:.875rem; }
 .home-factory-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
 .home-factory-gallery .home-factory-main { grid-column:1/-1; grid-row:auto; }
 .home-factory-gallery .home-factory-main img { height:auto; aspect-ratio:4/3; flex:none; }
 .home-factory-gallery img { aspect-ratio:4/3; }
 .home-factory-gallery figcaption { font-size:.6875rem; padding-top:10px; }
 .home-factory-gallery figcaption span { font-size:.5625rem; letter-spacing:.04em; }
 .home-factory-bottom { flex-direction:column; align-items:flex-start; gap:18px; margin-top:24px; padding-top:22px; }
 .home-factory-bottom p { font-size:.6875rem; }
}

/* Product images stay still; texture and photographic detail provide the focus. */
.visual-home .visual-product-card, .visual-product-card figure img { transition:none; animation:none; }
.visual-product-card:hover figure img { transform:none; }

