/* V20 — immersive industrial editorial system. Robust by design: no hidden content, full product imagery, one visual language. */
:root{--v20-ink:#0b1110;--v20-paper:#f5f4ee;--v20-green:#1f6d60;--v20-mint:#dcebe4;--v20-lime:#b8d66d;--v20-line:rgba(11,17,16,.16);--v20-dark:#071412}
body.v20-site{background:var(--v20-paper);color:var(--v20-ink);overflow-x:hidden}
body.v20-site .wrap{width:min(calc(100% - 72px),1520px)}
body.v20-site .site-header{background:rgba(245,244,238,.92);border-bottom:1px solid var(--v20-line);backdrop-filter:blur(16px);z-index:100}
body.v20-site .logo > span:not(.brand-wordmark){background:var(--v20-ink)}
body.v20-site .nav-cta{background:var(--v20-ink);border-color:var(--v20-ink);border-radius:999px}
body.v20-site .main-nav a:after{background:var(--v20-green)!important}
body.v20-site h1,body.v20-site h2,body.v20-site h3{font-weight:500}
/* Critical fix: old reveal wrappers must never make whole pages invisible. Motion happens on visible children only. */
body.v20-site [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
body.v20-site img{max-width:100%}
body.v20-site .section,body.v20-site .section-v6,body.v20-site .section-v7{padding:92px 0}
body.v20-site .eyebrow{color:#4d716a;font-weight:700;letter-spacing:.19em}
/* HOME — a cinematic product desk, not a generic landing page */
body.v20-site.v17-home{background:var(--v20-paper)}
body.v20-site.v17-home .v17-hero{min-height:calc(100svh - 76px);background:var(--v20-dark);overflow:hidden;position:relative;color:#fff}
body.v20-site.v17-home .v17-hero-bg{background:radial-gradient(circle at 72% 45%,rgba(55,130,112,.35),transparent 28%),linear-gradient(120deg,#071412 0%,#0b201c 54%,#102e27 100%);opacity:1}
body.v20-site.v17-home .v17-hero-grid{opacity:.16;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:72px 72px}
body.v20-site.v17-home .v17-hero-inner{min-height:calc(100svh - 76px);display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto 1fr auto;align-items:center;position:relative;z-index:4;padding-top:42px;padding-bottom:44px}
body.v20-site.v17-home .v17-hero-kicker{grid-column:1/-1;align-self:start;display:flex;gap:14px;align-items:center;font-size:9px;letter-spacing:.18em;color:#b8cbc4}
body.v20-site.v17-home .v17-hero-kicker i{width:54px;height:1px;background:var(--v20-lime)}
body.v20-site.v17-home .v17-hero-copy{max-width:760px;z-index:8}
body.v20-site.v17-home .v17-hero-copy h1{font-size:clamp(58px,7.8vw,126px);line-height:.83;letter-spacing:-.075em;margin:0 0 28px;max-width:820px}
body.v20-site.v17-home .v17-hero-copy p{font-size:14px;line-height:1.8;color:#b8c6c1;max-width:570px}
body.v20-site.v17-home .v17-actions{display:flex;gap:12px;align-items:center;margin-top:30px}
body.v20-site.v17-home .v17-actions .btn{border-radius:999px;padding:0 28px;min-height:50px;background:#fff;color:var(--v20-ink)}
body.v20-site.v17-home .v17-text-link{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
body.v20-site.v17-home .v17-hero-products{position:absolute;inset:0;z-index:2;pointer-events:none}
body.v20-site.v17-home .v17-hero-product{position:absolute;right:7%;top:14%;width:min(53vw,760px);height:min(72vh,720px);display:grid;place-items:center;opacity:0;transform:translate3d(80px,25px,0) scale(.92) rotate(3deg);transition:opacity .7s,transform 1.05s cubic-bezier(.16,1,.3,1)}
body.v20-site.v17-home .v17-hero-product.is-active{opacity:1;transform:none}
body.v20-site.v17-home .v17-hero-product:before{content:"";position:absolute;width:72%;height:72%;border:1px solid rgba(184,214,109,.35);border-radius:50%;box-shadow:0 0 0 35px rgba(184,214,109,.035),0 0 0 90px rgba(184,214,109,.018)}
body.v20-site.v17-home .v17-hero-product img{position:relative;width:auto;height:auto;max-width:88%;max-height:88%;object-fit:contain!important;filter:drop-shadow(0 35px 35px rgba(0,0,0,.38))}
body.v20-site.v17-home .v17-hero-data{grid-column:1;align-self:end;display:flex;gap:34px;color:#9eafa9;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
body.v20-site.v17-home .v17-hero-data div{display:flex;flex-direction:column;gap:7px;border-left:1px solid rgba(255,255,255,.16);padding-left:12px}
body.v20-site.v17-home .v17-hero-data strong{color:#fff;font-size:11px;font-weight:600}
body.v20-site.v17-home .v17-hero-counter{grid-column:2;align-self:end;justify-self:end;width:210px;display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;font-size:10px;color:#a5b7b0}
body.v20-site.v17-home .v17-hero-counter strong{font-size:32px;color:#fff;font-weight:500}
body.v20-site.v17-home .v17-hero-counter div{height:1px;background:rgba(255,255,255,.18)}
body.v20-site.v17-home .v17-hero-counter i{display:block;height:1px;width:35%;background:var(--v20-lime)}
body.v20-site.v17-home .v17-scroll-cue{z-index:8;color:#a7b9b2}
/* catalogue — vertical magazine, each spread locks into a viewport without opacity tricks */
body.v20-site.v17-home .v17-catalogue-sequence{height:280vh;background:#e9ece5}
body.v20-site.v17-home .v17-catalogue-sticky{height:100vh;position:sticky;top:76px;overflow:hidden;background:var(--v20-paper)}
body.v20-site.v17-home .v17-catalogue-bg{background:linear-gradient(120deg,#eef1eb,#dbe6df);opacity:1}
body.v20-site.v17-home .v17-catalogue-frame{inset:34px;position:absolute;border:1px solid rgba(11,17,16,.13);z-index:2;pointer-events:none}
body.v20-site.v17-home .v17-catalogue-inner{height:100%;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center;position:relative;z-index:4}
body.v20-site.v17-home .v17-catalogue-copy{max-width:540px;position:relative;z-index:10}
body.v20-site.v17-home .v17-catalogue-copy h2{font-size:clamp(48px,6vw,96px);line-height:.86;letter-spacing:-.07em;margin:18px 0 22px}
body.v20-site.v17-home .v17-catalogue-copy p{font-size:13px;line-height:1.8;color:#56625d;max-width:470px}
body.v20-site.v17-home .v17-catalogue-kicker{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.16em;color:#52716a;margin-top:26px}
body.v20-site.v17-home .v17-catalogue-kicker i{width:45px;height:1px;background:var(--v20-green)}
body.v20-site.v17-home .v17-catalogue-visual{height:min(76vh,760px);position:relative;display:grid;place-items:center}
body.v20-site.v17-home .v17-page-stack{width:min(75%,650px);height:100%;position:relative}
body.v20-site.v17-home .v17-page{position:absolute;inset:0;margin:0;display:grid;place-items:center;opacity:0;transform:translateY(45px) rotate(2deg) scale(.96);transition:opacity .55s,transform .8s cubic-bezier(.16,1,.3,1);pointer-events:none}
body.v20-site.v17-home .v17-page.is-active{opacity:1;transform:none;pointer-events:auto}
body.v20-site.v17-home .v17-page img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain!important;box-shadow:0 25px 55px rgba(12,28,24,.16)}
body.v20-site.v17-home .v17-page figcaption{position:absolute;left:10px;bottom:8px;background:rgba(7,20,18,.9);color:#fff;padding:8px 12px;font-size:9px;letter-spacing:.1em;display:flex;gap:12px}
body.v20-site.v17-home .v17-catalogue-progress{position:absolute;right:40px;bottom:35px;z-index:8;display:flex;align-items:center;gap:12px;font-size:9px}
body.v20-site.v17-home .v17-catalogue-progress i{display:block;width:180px;height:1px;background:#bbc7c1}.v20-site.v17-home .v17-catalogue-progress b{display:block;height:1px;width:33%;background:var(--v20-green)}
/* categories — oversized index with image revealed on hover */
body.v20-site.v17-home .v17-categories{padding:110px 0;background:var(--v20-paper)}
body.v20-site.v17-home .v17-section-top{display:grid;grid-template-columns:1fr 360px;gap:80px;align-items:end;margin-bottom:50px}
body.v20-site.v17-home .v17-section-top h2{font-size:clamp(58px,7vw,108px);line-height:.83;letter-spacing:-.075em;margin:14px 0 0}.v17-site.v17-home .v17-section-top p{font-size:13px;line-height:1.8;color:#65716d}
body.v20-site.v17-home .v17-category-stage{border-top:1px solid var(--v20-line)}
body.v20-site.v17-home .v17-category{display:grid;grid-template-columns:70px 1fr 180px;align-items:center;min-height:110px;border-bottom:1px solid var(--v20-line);color:inherit;position:relative;overflow:hidden}
body.v20-site.v17-home .v17-category:before{content:"";position:absolute;inset:0;background:#dfeae4;transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.16,1,.3,1)}
body.v20-site.v17-home .v17-category:hover:before{transform:scaleY(1)}
body.v20-site.v17-home .v17-category-image{position:absolute;right:185px;top:10px;width:120px;height:90px;z-index:1;opacity:0;transform:translateX(25px) scale(.85);transition:.45s cubic-bezier(.16,1,.3,1);display:grid;place-items:center}
body.v20-site.v17-home .v17-category:hover .v17-category-image{opacity:1;transform:none}.v20-site.v17-home .v17-category-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain!important}
body.v20-site.v17-home .v17-category-copy{position:relative;z-index:2;display:grid;grid-template-columns:70px 1fr 180px;grid-column:1/-1;align-items:center;width:100%;padding:0 18px}.v20-site.v17-home .v17-category-copy span{font-size:10px;color:#79908a}.v20-site.v17-home .v17-category-copy h3{font-size:30px;letter-spacing:-.04em;margin:0}.v20-site.v17-home .v17-category-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#65736e}
/* selected products — horizontal film strip */
body.v20-site.v17-home .v17-products{background:#0a1715;color:#fff;padding:110px 0 120px;overflow:hidden}
body.v20-site.v17-home .v17-products-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.v20-site.v17-home .v17-products-head h2{font-size:clamp(55px,6vw,96px);line-height:.84;letter-spacing:-.07em;margin:12px 0 0}.v20-site.v17-home .v17-products-head .eyebrow{color:#8fb2a8}
body.v20-site.v17-home .v17-product-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,24vw);gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:15px;cursor:grab}.v20-site.v17-home .v17-product{scroll-snap-align:start;color:#fff;display:block}.v20-site.v17-home .v17-product-visual{height:390px;background:#edf0e9;display:grid;place-items:center;position:relative;overflow:hidden}.v20-site.v17-home .v17-product-visual img{width:auto;height:auto;max-width:92%;max-height:92%;object-fit:contain!important;transition:transform .7s cubic-bezier(.16,1,.3,1)}.v20-site.v17-home .v17-product:hover img{transform:scale(1.055)}.v20-site.v17-home .v17-product-visual span{position:absolute;left:12px;top:12px;background:#0a1715;color:#fff;padding:5px 7px;font-size:9px}.v20-site.v17-home .v17-product-meta{padding:15px 0 5px;border-bottom:1px solid rgba(255,255,255,.16)}.v20-site.v17-home .v17-product-meta small{font-size:8px;color:#8aa49d;letter-spacing:.1em}.v20-site.v17-home .v17-product-meta h3{font-size:20px;margin:6px 0 8px}.v20-site.v17-home .v17-product-meta b{font-size:9px;color:var(--v20-lime);letter-spacing:.1em}
/* factory proof */
body.v20-site.v17-home .v17-custom-factory{display:grid;grid-template-columns:1.15fr .85fr;min-height:720px;background:#dce7e0}.v20-site.v17-home .v17-factory-image{min-height:720px;position:relative;overflow:hidden}.v20-site.v17-home .v17-factory-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.v20-site.v17-home .v17-factory-image:hover img{transform:scale(1.035)}.v20-site.v17-home .v17-image-label{position:absolute;left:24px;bottom:24px;background:#081613;color:#fff;padding:11px 13px;display:flex;gap:18px;font-size:8px;letter-spacing:.12em}.v20-site.v17-home .v17-factory-copy{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center}.v20-site.v17-home .v17-factory-copy h2{font-size:clamp(48px,5vw,82px);line-height:.86;letter-spacing:-.07em;margin:15px 0 24px}.v20-site.v17-home .v17-factory-copy p{font-size:13px;line-height:1.8;color:#56645f;max-width:580px}.v20-site.v17-home .v17-factory-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(11,17,16,.14);margin-top:35px}.v20-site.v17-home .v17-factory-facts div{background:#dce7e0;padding:18px 10px}.v20-site.v17-home .v17-factory-facts strong{display:block;font-size:25px}.v20-site.v17-home .v17-factory-facts span{font-size:8px;color:#6b7974;text-transform:uppercase;letter-spacing:.08em}.v20-site.v17-home .v17-factory-links{margin-top:35px;border-top:1px solid rgba(11,17,16,.15)}.v20-site.v17-home .v17-factory-links a{display:grid;grid-template-columns:35px 1fr 180px;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(11,17,16,.15);color:inherit}.v20-site.v17-home .v17-factory-links span{font-size:9px;color:#78928a}.v20-site.v17-home .v17-factory-links b{font-size:14px}.v20-site.v17-home .v17-factory-links small{font-size:9px;color:#6c7974}
/* proof */
body.v20-site.v17-home .v17-proof{padding:115px 0;background:#f6f4ec}.v20-site.v17-home .v17-proof-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.v20-site.v17-home .v17-proof-copy h2{font-size:clamp(52px,6vw,92px);line-height:.85;letter-spacing:-.07em;margin:15px 0 22px}.v20-site.v17-home .v17-proof-copy p{font-size:13px;line-height:1.8;color:#62706b}.v20-site.v17-home .v17-proof-docs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v20-site.v17-home .v17-proof-docs figure{margin:0;background:#e6e6de;padding:12px;position:relative}.v20-site.v17-home .v17-proof-docs img{width:100%;height:560px;object-fit:contain!important;background:#f1f1eb}.v20-site.v17-home .v17-proof-docs figcaption{display:flex;justify-content:space-between;padding:12px 2px 2px;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.v20-site.v17-home .v17-proof-docs figcaption span{color:#6c8880}.v20-site.v17-home .v17-final{background:#0a1715;color:#fff;min-height:600px;position:relative;overflow:hidden}.v20-site.v17-home .v17-final-art{position:absolute;inset:0;opacity:.8;background:radial-gradient(circle at 75% 50%,rgba(58,137,118,.38),transparent 35%)}.v20-site.v17-home .v17-final-inner{min-height:600px;display:grid;grid-template-columns:1fr 300px;gap:60px;align-items:center;position:relative;z-index:2}.v20-site.v17-home .v17-final h2{font-size:clamp(58px,7vw,112px);line-height:.82;letter-spacing:-.075em;margin:14px 0 22px}.v20-site.v17-home .v17-final p{max-width:600px;color:#b4c5bf;line-height:1.8;font-size:13px}.v20-site.v17-home .v17-final-actions{display:flex;flex-direction:column;gap:18px}.v20-site.v17-home .v17-final .btn-white{border-radius:999px;background:#fff;color:#0a1715;min-height:52px}
/* INTERIOR PAGES — new composition */
body.v20-site:not(.v17-home) .breadcrumb-wrap{padding:20px 0;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#66746f}
body.v20-site:not(.v17-home) .page-hero{padding:0;background:var(--v20-dark);color:#fff;min-height:570px;overflow:hidden}
body.v20-site:not(.v17-home) .page-hero-grid{min-height:570px;display:grid;grid-template-columns:.85fr 1.15fr;gap:0;align-items:stretch}
body.v20-site:not(.v17-home) .page-hero-grid>div:first-child{padding:90px 70px 70px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}
body.v20-site:not(.v17-home) .page-hero h1{font-size:clamp(58px,7vw,112px);line-height:.82;letter-spacing:-.075em;margin:14px 0 22px;max-width:720px}
body.v20-site:not(.v17-home) .page-hero p{font-size:13px;line-height:1.8;color:#b6c5c0;max-width:530px}
body.v20-site:not(.v17-home) .page-hero-art{position:relative;width:auto;height:auto;inset:auto;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#24594d 0,#0c2621 43%,#071412 100%);overflow:hidden}
body.v20-site:not(.v17-home) .page-hero-art:before{content:"";position:absolute;width:70%;aspect-ratio:1;border:1px solid rgba(184,214,109,.3);border-radius:50%;box-shadow:0 0 0 45px rgba(184,214,109,.025),0 0 0 105px rgba(184,214,109,.02)}
body.v20-site:not(.v17-home) .page-hero-art img{position:relative;width:auto;height:auto;max-width:88%;max-height:88%;object-fit:contain!important;padding:0;filter:drop-shadow(0 35px 38px rgba(0,0,0,.35))}
body.v20-site:not(.v17-home) .page-hero-meta{position:absolute;right:26px;bottom:24px;z-index:5;display:flex;gap:7px;padding:0;border:0!important}
body.v20-site:not(.v17-home) .page-hero-meta span{padding:9px 12px;border:1px solid rgba(255,255,255,.22);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#d0dbd7}
/* products */
body.v20-site .products-library{padding:65px 0 110px}
body.v20-site .filter-row{display:grid;grid-template-columns:350px 1fr;gap:30px;align-items:start;padding-bottom:22px;margin-bottom:30px;border-bottom:1px solid var(--v20-line)}
body.v20-site .search-box{height:52px}.v20-site .search-box input{border:1px solid var(--v20-line)!important;border-radius:0;background:#fff;padding:0 16px;font-size:12px}.v20-site .search-box button{background:var(--v20-ink);border:0;color:#fff;width:90px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
body.v20-site .category-pills{display:flex;gap:5px;flex-wrap:wrap}.v20-site .category-pills .pill{border:1px solid rgba(11,17,16,.17);background:transparent;border-radius:999px;padding:10px 13px;font-size:8px;letter-spacing:.07em;text-transform:uppercase}.v20-site .category-pills .pill.active{background:var(--v20-green);border-color:var(--v20-green);color:#fff}
body.v20-site .product-v6-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--v20-line)!important}
body.v20-site .product-v6-grid .product-v6-card{background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0 0 16px!important;overflow:hidden;min-width:0}
body.v20-site .product-v6-grid .product-photo{height:340px!important;aspect-ratio:auto!important;background:#ecebe4;display:grid;place-items:center;overflow:hidden;position:relative}
body.v20-site .product-v6-grid .product-photo img{width:auto!important;height:auto!important;max-width:92%!important;max-height:92%!important;object-fit:contain!important;padding:0!important;display:block;transition:transform .65s cubic-bezier(.16,1,.3,1)}
body.v20-site .product-v6-grid .product-v6-card:hover .product-photo img{transform:scale(1.045)}
body.v20-site .product-v6-grid .product-photo span{top:12px!important;left:12px!important;bottom:auto!important;background:var(--v20-ink)!important;border-radius:0!important;padding:5px 7px;font-size:8px}
body.v20-site .product-copy-v6{padding:15px 17px 4px!important;min-height:110px}.v20-site .product-copy-v6 small{font-size:8px;color:#72817b;letter-spacing:.11em;text-transform:uppercase}.v20-site .product-copy-v6 h3{font-size:19px;line-height:1.05;margin:7px 0 13px!important}.v20-site .product-spec-line{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#6b7772}.v20-site .product-spec-line b{font-size:8px;color:var(--v20-green);letter-spacing:.12em;text-transform:uppercase}
/* product detail — full frame, no cropping */
body.v20-site .product-detail-v6{padding:35px 0 105px}.v20-site .product-detail-v6-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:70px;align-items:start}
body.v20-site .gallery-main{height:min(760px,62vw);min-height:520px;background:#e9e8e1!important;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(11,17,16,.09)}
body.v20-site .gallery-main img{width:auto!important;height:auto!important;max-width:96%!important;max-height:96%!important;object-fit:contain!important;padding:0!important;display:block;transition:opacity .25s,transform .5s}
body.v20-site .gallery-thumbs{display:flex;gap:7px;overflow:auto;padding-top:8px}.v20-site .gallery-thumb{width:92px;height:76px;flex:0 0 auto;border:1px solid var(--v20-line)!important;border-radius:0!important;background:#ecebe4;padding:3px}.v20-site .gallery-thumb img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important}.v20-site .gallery-thumb.active{border:2px solid var(--v20-green)!important}
body.v20-site .product-info-v6{padding-top:30px}.v20-site .product-info-v6 h1{font-size:clamp(52px,6vw,94px);line-height:.84;letter-spacing:-.075em;margin:12px 0 25px}.v20-site .product-lead{font-size:15px;line-height:1.85;color:#65716c}.v20-site .spec-table{margin-top:32px;border-top:1px solid var(--v20-line)}.v20-site .spec-table>div{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:14px 0;border-bottom:1px solid var(--v20-line)}.v20-site .spec-table span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#73817b}.v20-site .spec-table b{font-size:12px}.v20-site .product-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.v20-site .product-actions .btn{border-radius:999px}.v20-site .whatsapp-link{border-radius:999px!important;min-height:50px;padding:0 20px;border:1px solid var(--v20-line);background:#fff}.v20-site .buyer-note-v6{background:var(--v20-mint);border-left:2px solid var(--v20-green);padding:16px;margin-top:25px}
body.v20-site .detail-story{background:#e7ece6}.v20-site .detail-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v20-site .detail-wall figure{margin:0;background:#f0efe8;border:0}.v20-site .detail-wall figure img{width:100%;height:440px;object-fit:contain!important;background:#ecebe4;padding:0}.v20-site .detail-wall figcaption{padding:11px 12px;font-size:9px;color:#64726d}
/* factory/about/oem/quality/contact/post common visual treatment */
body.v20-site .factory-hero,body.v20-site .about-hero{padding:0!important;background:var(--v20-dark);color:#fff;overflow:hidden}.v20-site .factory-hero>.wrap,.v20-site .about-hero>.wrap{padding-top:0;padding-bottom:0}.v20-site .factory-hero-grid,.v20-site .about-hero-grid{grid-template-columns:.9fr 1.1fr;min-height:650px;gap:0}.v20-site .factory-hero-grid>div:first-child,.v20-site .about-hero-grid>div:first-child{padding:75px 70px 75px 0;display:flex;flex-direction:column;justify-content:center}.v20-site .factory-hero h1,.v20-site .about-hero h1{font-size:clamp(58px,7vw,110px);line-height:.83;letter-spacing:-.075em}.v20-site .factory-hero-grid:after,.v20-site .about-hero-grid:after{min-height:650px;background:url('../assets/catalogue/2025/page-04.jpg') center/cover no-repeat;filter:none;content:"";display:block}
body.v20-site .factory-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--v20-line)}.v20-site .feature-panel{background:#fff!important;min-height:250px;border:0!important;border-radius:0!important;padding:28px!important;transition:background .35s,transform .35s}.v20-site .feature-panel:hover{background:#dfeae4!important;transform:translateY(-4px)}
body.v20-site .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--v20-line);border:0}.v20-site .process-grid>div{background:#fff;min-height:230px;padding:28px;border:0!important}.v20-site .quality-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--v20-line);border:0}.v20-site .quality-strip>div{background:#fff;min-height:170px;padding:24px;border:0!important}
body.v20-site .oem-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:1px;background:var(--v20-line)}.v20-site .oem-hero>img{height:660px;width:100%;object-fit:contain!important;background:#e9e9e2;padding:25px}.v20-site .oem-hero>div{background:var(--v20-dark);color:#fff;padding:65px;display:flex;flex-direction:column;justify-content:flex-end}.v20-site .oem-hero h2{font-size:clamp(50px,5.5vw,88px);line-height:.85;letter-spacing:-.075em}.v20-site .image-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--v20-line)}.v20-site .image-wall img{height:390px;width:100%;object-fit:contain!important;background:#ecebe4}
body.v20-site .cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--v20-line)}.v20-site .cert-card{background:#fff!important;border:0!important;border-radius:0!important}.v20-site .cert-card>img{height:400px;width:100%;object-fit:contain!important;background:#ecebe4}.v20-site .cert-card .pad{padding:20px}
body.v20-site .rfq-layout{display:grid;grid-template-columns:minmax(0,1.2fr) 350px;gap:45px}.v20-site .rfq-form-card,.v20-site .side-card{border-radius:0!important;box-shadow:none!important}.v20-site .rfq-form-card{background:#fff!important;border:1px solid var(--v20-line)!important;padding:35px}.v20-site .side-card{background:var(--v20-dark)!important;color:#fff;border:0!important;padding:30px}
body.v20-site .tiramisu-stage{background:radial-gradient(circle at 68% 45%,#20594c,#0a1c18 45%,#06100e);color:#fff;min-height:820px}.v20-site .tiramisu-wrap{padding:80px 0}.v20-site .tiramisu-stage-grid{grid-template-columns:.8fr 1.2fr;gap:50px}.v20-site .tiramisu-hero-media{height:620px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center}.v20-site .tiramisu-hero-media img{width:auto!important;height:auto!important;max-width:92%!important;max-height:92%!important;object-fit:contain!important;padding:0}
body.v20-site .site-footer{border-top:0}
/* subtle motion only on visual atoms */
body.v20-site main img{will-change:transform}
@media(max-width:1100px){body.v20-site .wrap{width:min(calc(100% - 44px),1480px)}body.v20-site.v17-home .v17-hero-inner{grid-template-columns:1fr}.v20-site.v17-home .v17-hero-products{opacity:.85}.v20-site.v17-home .v17-hero-product{right:0;top:16%;width:60vw;height:58vh}.v20-site.v17-home .v17-hero-copy{max-width:650px}.v20-site.v17-home .v17-hero-data{grid-column:1}.v20-site.v17-home .v17-hero-counter{grid-column:1;justify-self:start}.v20-site.v17-home .v17-catalogue-inner,.v20-site.v17-home .v17-proof-grid{grid-template-columns:1fr 1fr}.v20-site.v17-home .v17-catalogue-copy{max-width:430px}.v20-site.v17-home .v17-custom-factory{grid-template-columns:1fr}.v20-site.v17-home .v17-factory-image{min-height:520px}.v20-site.v17-home .v17-factory-copy{padding:65px}.v20-site:not(.v17-home) .page-hero-grid{grid-template-columns:1fr 1fr}.v20-site .product-v6-grid{grid-template-columns:repeat(3,1fr)}.v20-site .product-detail-v6-grid{grid-template-columns:1fr}.v20-site .gallery-main{height:70vw}.v20-site .detail-wall,.v20-site .cert-grid{grid-template-columns:repeat(2,1fr)}.v20-site .oem-hero{grid-template-columns:1fr}.v20-site .rfq-layout{grid-template-columns:1fr}}
@media(max-width:760px){body.v20-site .wrap{width:calc(100% - 28px)}body.v20-site.v17-home .v17-hero{min-height:calc(100svh - 68px)}body.v20-site.v17-home .v17-hero-inner{min-height:calc(100svh - 68px);padding-top:30px}.v20-site.v17-home .v17-hero-copy h1{font-size:55px}.v20-site.v17-home .v17-hero-products{opacity:.42}.v20-site.v17-home .v17-hero-product{right:-18%;top:22%;width:90vw;height:52vh}.v20-site.v17-home .v17-hero-data{display:none}.v20-site.v17-home .v17-catalogue-sequence{height:230vh}.v20-site.v17-home .v17-catalogue-sticky{top:68px}.v20-site.v17-home .v17-catalogue-inner{grid-template-columns:1fr;grid-template-rows:auto 1fr}.v20-site.v17-home .v17-catalogue-copy{padding-top:50px}.v20-site.v17-home .v17-catalogue-copy h2{font-size:52px}.v20-site.v17-home .v17-catalogue-visual{height:54vh}.v20-site.v17-home .v17-page-stack{width:82%;height:100%}.v20-site.v17-home .v17-catalogue-progress{right:20px;bottom:20px}.v20-site.v17-home .v17-section-top{grid-template-columns:1fr;gap:25px}.v20-site.v17-home .v17-category{min-height:92px;grid-template-columns:1fr}.v20-site.v17-home .v17-category-copy{grid-template-columns:40px 1fr 90px;padding:0 8px}.v20-site.v17-home .v17-category-copy h3{font-size:21px}.v20-site.v17-home .v17-category-image{display:none}.v20-site.v17-home .v17-products{padding:75px 0}.v20-site.v17-home .v17-product-rail{grid-auto-columns:75vw}.v20-site.v17-home .v17-product-visual{height:360px}.v20-site.v17-home .v17-factory-copy{padding:55px 28px}.v20-site.v17-home .v17-factory-facts{grid-template-columns:1fr 1fr}.v20-site.v17-home .v17-factory-links a{grid-template-columns:30px 1fr}.v20-site.v17-home .v17-factory-links small{display:none}.v20-site.v17-home .v17-proof-grid{grid-template-columns:1fr}.v20-site.v17-home .v17-proof-docs img{height:360px}.v20-site.v17-home .v17-final-inner{grid-template-columns:1fr;min-height:520px}.v20-site:not(.v17-home) .page-hero-grid{grid-template-columns:1fr}.v20-site:not(.v17-home) .page-hero-grid>div:first-child{padding:55px 0 35px}.v20-site:not(.v17-home) .page-hero-art{min-height:430px}.v20-site:not(.v17-home) .page-hero-meta{position:relative;right:auto;bottom:auto;padding:0 0 20px;flex-wrap:wrap}.v20-site .product-v6-grid{grid-template-columns:1fr 1fr}.v20-site .filter-row{grid-template-columns:1fr}.v20-site .gallery-main{height:88vw;min-height:340px}.v20-site .detail-wall,.v20-site .cert-grid,.v20-site .factory-feature-grid,.v20-site .process-grid,.v20-site .quality-strip,.v20-site .image-wall{grid-template-columns:1fr 1fr}.v20-site .factory-hero-grid,.v20-site .about-hero-grid{grid-template-columns:1fr}.v20-site .factory-hero-grid:after,.v20-site .about-hero-grid:after{min-height:390px}.v20-site .factory-hero-grid>div:first-child,.v20-site .about-hero-grid>div:first-child{padding:60px 0}.v20-site .oem-hero>img{height:430px}.v20-site .tiramisu-stage-grid{grid-template-columns:1fr}.v20-site .tiramisu-hero-media{height:480px}}
@media(max-width:520px){body.v20-site .product-v6-grid,.v20-site .detail-wall,.v20-site .cert-grid,.v20-site .factory-feature-grid,.v20-site .process-grid,.v20-site .quality-strip,.v20-site .image-wall{grid-template-columns:1fr}.v20-site .product-v6-grid .product-photo{height:330px!important}.v20-site .product-info-v6 h1{font-size:52px}.v20-site .page-hero h1{font-size:48px}.v20-site .page-hero-art{min-height:360px}.v20-site .detail-wall figure img{height:350px}.v20-site .cert-card>img{height:360px}}
@media(prefers-reduced-motion:reduce){body.v20-site .v17-hero-product,body.v20-site .v17-page{transition:none!important}.v20-site *{scroll-behavior:auto!important}}
/* V20 structural normalization for legacy page markup */
body.v20-site .section-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:60px;align-items:end;margin-bottom:42px}
body.v20-site .section-head h2{font-size:clamp(44px,5vw,78px);line-height:.88;letter-spacing:-.07em;margin:0;max-width:900px}
body.v20-site .section-head>p,body.v20-site .section-head>.section-intro{font-size:13px;line-height:1.8;color:#66736e;margin:0;max-width:560px}
body.v20-site .page-visual{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:0}
body.v20-site .page-visual img{width:100%;height:520px!important;object-fit:contain!important;background:#e9e8e1;border-radius:0!important;padding:0;box-shadow:none}
body.v20-site .page-visual img:first-child{height:610px!important}
body.v20-site .visual-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
body.v20-site .visual-strip img{width:100%;height:300px!important;object-fit:contain!important;background:#e9e8e1;border-radius:0!important}
body.v20-site .compact-visual{padding-top:45px!important;padding-bottom:70px!important}
body.v20-site .factory-location-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:12px;align-items:stretch}
body.v20-site .location-copy{padding:36px;background:#10201c;color:#fff}.v20-site .location-copy h3{font-size:32px;line-height:1;margin:14px 0}.v20-site .location-copy p{font-size:12px;line-height:1.8;color:#b6c4be}.v20-site .location-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);margin:28px 0}.v20-site .location-meta div{background:#10201c;padding:14px}.v20-site .location-meta span,.v20-site .location-meta strong{display:block}.v20-site .location-meta span{font-size:8px;color:#849b93;text-transform:uppercase;letter-spacing:.1em}.v20-site .location-meta strong{font-size:10px;margin-top:5px}.v20-site .map-frame{min-height:100%;border-radius:0!important;overflow:hidden}.v20-site .map-frame iframe{width:100%;height:100%;min-height:460px;border:0;display:block}
body.v20-site .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--v20-line)}.v20-site .team-card{background:#fff;border:0!important;border-radius:0!important;padding:28px}.v20-site .team-initial{border-radius:0!important;background:var(--v20-dark);color:#fff}.v20-site .team-card h3{font-size:24px}.v20-site .team-links{display:flex;gap:14px;margin-top:18px}
body.v20-site .factory-close{padding:110px 0!important}.v20-site .factory-close h2{font-size:clamp(52px,7vw,100px);line-height:.84;letter-spacing:-.075em;margin:15px 0}.v20-site .factory-close p{max-width:620px;margin:0 auto 26px;color:#b9c6c1;font-size:13px;line-height:1.8}
body.v20-site .section-dark .section-head h2{color:#fff}.v20-site .section-dark .section-head>p{color:#9faea8}.v20-site .section-dark .text-link{color:#fff}
body.v20-site .about-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v20-site .about-image{background:#e9e8e1}.v20-site .about-image img{width:100%;height:600px;object-fit:contain!important}.v20-site .about-hero-card{border-radius:0!important}
body.v20-site .policy-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:70px}.v20-site .policy-nav{position:sticky;top:98px;align-self:start}.v20-site .policy-content{max-width:900px}.v20-site .policy-content p{font-size:14px;line-height:1.9;color:#5e6b65}.v20-site .policy-content h2{font-size:32px;line-height:1.05;margin:40px 0 14px}
@media(max-width:900px){body.v20-site .section-head{grid-template-columns:1fr;gap:18px}.v20-site .page-visual,.v20-site .about-split,.v20-site .factory-location-grid{grid-template-columns:1fr}.v20-site .page-visual img,.v20-site .page-visual img:first-child{height:430px!important}.v20-site .visual-strip{grid-template-columns:1fr 1fr}.v20-site .team-grid{grid-template-columns:1fr 1fr}.v20-site .map-frame iframe{min-height:360px}}
@media(max-width:520px){body.v20-site .visual-strip,.v20-site .team-grid{grid-template-columns:1fr}.v20-site .page-visual img,.v20-site .page-visual img:first-child{height:360px!important}.v20-site .section-head h2{font-size:46px}.v20-site .location-meta{grid-template-columns:1fr}.v20-site .about-image img{height:400px}}


/* V21 — responsive integrity layer. Mobile is rebuilt as a natural document flow; desktop keeps the immersive editorial composition. */
body.v21-site{overflow-x:clip}
body.v21-site *,body.v21-site *::before,body.v21-site *::after{min-width:0}
body.v21-site img{max-width:100%;height:auto}
body.v21-site .wrap{width:min(calc(100% - 64px),1520px)}
body.v21-site .site-header{z-index:300}
body.v21-site .main-nav{min-width:0}
body.v21-site .page-hero-grid,.v21-site .factory-hero-grid,.v21-site .about-hero-grid,.v21-site .product-detail-v6-grid,.v21-site .rfq-layout,.v21-site .oem-hero,.v21-site .oem-band-grid,.v21-site .section-head,.v21-site .section-intro{min-width:0}
/* Never crop catalogue/document/product evidence. */
body.v21-site .page-visual img,
body.v21-site .visual-strip img,
body.v21-site .cert-card>img,
body.v21-site .detail-wall figure img,
body.v21-site .image-wall img,
body.v21-site .oem-hero>img,
body.v21-site .gallery-main img,
body.v21-site .gallery-thumb img,
body.v21-site .product-photo img,
body.v21-site .v17-product-visual img,
body.v21-site .v17-page img,
body.v21-site .tiramisu-hero-media img{object-fit:contain!important;object-position:center!important}
/* Remove legacy fixed-height traps from document-heavy pages. */
body.v21-site .page-visual img:first-child{height:520px!important}
body.v21-site .page-visual img{height:520px!important}
body.v21-site .visual-strip img{height:280px!important}
body.v21-site .product-detail-v6-grid{
  grid-template-columns:minmax(0,720px) minmax(0,1fr)!important;
  gap:48px!important;
  align-items:start!important;
}

body.v21-site .gallery-main{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  min-height:0!important;
  max-height:none!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

body.v21-site .gallery-main img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
}

body.v21-site .gallery-thumbs{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:12px 0 4px!important;
  margin:0!important;
  box-sizing:border-box!important;
  scrollbar-width:none!important;
}

body.v21-site .gallery-thumbs::-webkit-scrollbar{
  display:none!important;
}

body.v21-site .gallery-thumb{
  flex:0 0 82px!important;
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  min-height:82px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px solid #dfe2df!important;
  border-radius:0!important;
}

body.v21-site .gallery-thumb.active{
  border:2px solid #173f67!important;
}

body.v21-site .gallery-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:5px!important;
  margin:0!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Products: clean matrix, no invisible overlays. */
body.v21-site .product-v6-grid{align-items:stretch}
body.v21-site .product-v6-grid .product-v6-card{position:relative;z-index:1;visibility:visible!important;opacity:1!important;transform:none!important}
body.v21-site .product-v6-grid .product-photo{height:clamp(280px,25vw,390px)!important}
body.v21-site .product-v6-grid .product-photo img{max-width:94%!important;max-height:94%!important}
/* Common page hero: content always owns its column; artwork never covers text. */
body.v21-site:not(.v17-home) .page-hero-grid>div:first-child{min-width:0}
body.v21-site:not(.v17-home) .page-hero-art{min-width:0}
/* Admin visual refresh */
body.admin-v21{background:#eef0ec}
.admin-v21 .admin>main{background:#eef0ec}
.admin-v21 .admin-topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 14px;background:#eef0ec;border-bottom:1px solid #d9ddd9}
.admin-v21 .admin-topbar .admin-page-context{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7a8389}
.admin-v21 .admin-topbar .admin-user{font-size:10px;color:#5f686e}
.admin-v21 .admin>main h1{letter-spacing:-.065em}
.admin-v21 .cards{border:0;background:#d9ddd9}
.admin-v21 .cards>div{min-height:118px}
.admin-v21 .editor-card,.admin-v21 .data-card{border-color:#d9ddd9}
.admin-v21 .card-head{position:sticky;top:57px;z-index:20;background:#fff}
.admin-v21 .gallery-admin{grid-template-columns:repeat(5,minmax(0,1fr))}
.admin-v21 .gallery-admin img{height:120px}
.admin-v21 .crm-card{border-color:#d9ddd9}
.admin-v21 .crm-card:hover{border-color:#b9c1bc}
.admin-v21 .admin-nav a{border-left-width:3px}
.admin-v21 .admin-nav a.is-active{background:#1b2023;border-left-color:#b8d66d}

@media (max-width:1100px){
  body.v21-site .wrap{width:min(calc(100% - 44px),1480px)}
  body.v21-site .product-v6-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.v21-site .factory-feature-grid{grid-template-columns:1fr 1fr}
  body.v21-site .process-grid{grid-template-columns:1fr 1fr}
  body.v21-site .quality-strip{grid-template-columns:1fr 1fr}
  body.v21-site .cert-grid{grid-template-columns:1fr 1fr}
  body.v21-site .team-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  body.v21-site .nav{height:72px;gap:12px}
  body.v21-site .nav .main-nav{display:none!important}
  body.v21-site .nav.nav-open .main-nav{display:flex!important}
  body.v21-site .nav .mobile-toggle{display:flex!important;flex:0 0 44px}
  body.v21-site .nav .main-nav{position:absolute!important;left:0;right:0;top:72px!important;margin:0!important;padding:10px 14px 14px!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;background:rgba(248,248,245,.99);border:1px solid #dfe3df;border-top:0;box-shadow:0 22px 50px rgba(8,16,13,.16);z-index:290!important}
  body.v21-site .nav .main-nav a{min-height:48px;padding:0 6px;display:flex;align-items:center;border-bottom:1px solid #e7eae7}
  body.v21-site .nav .main-nav a:last-child{border-bottom:0}
  body.v21-site .nav .nav-cta{display:none}
}
@media (max-width:760px){
  body.v21-site .wrap{width:calc(100% - 28px)}
  body.v21-site .section,body.v21-site .section-v6,body.v21-site .section-v7{padding:64px 0}
  body.v21-site .nav{height:68px}
  body.v21-site .nav .main-nav{top:68px!important}
  body.v21-site .logo{margin-right:0}
  body.v21-site .logo b{font-size:12px}
  body.v21-site .logo i{font-size:8px}
  /* HOME */
  body.v21-site.v17-home .v17-hero{min-height:calc(100svh - 68px);height:auto}
  body.v21-site.v17-home .v17-hero-inner{min-height:calc(100svh - 68px);height:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:28px 0 32px;gap:0}
  body.v21-site.v17-home .v17-hero-kicker{font-size:8px;gap:9px;position:relative;z-index:10}
  body.v21-site.v17-home .v17-hero-kicker i{width:28px}
  body.v21-site.v17-home .v17-hero-copy{width:100%;max-width:none;position:relative;z-index:12;padding-top:24px}
  body.v21-site.v17-home .v17-hero-copy h1{font-size:clamp(45px,14.5vw,64px);line-height:.87;letter-spacing:-.075em;max-width:8.8em;margin-bottom:18px}
  body.v21-site.v17-home .v17-hero-copy p{font-size:12px;line-height:1.65;max-width:300px}
  body.v21-site.v17-home .v17-actions{margin-top:20px;gap:8px;flex-wrap:wrap}
  body.v21-site.v17-home .v17-actions .btn{min-height:44px;padding:0 18px}
  body.v21-site.v17-home .v17-hero-products{z-index:3;pointer-events:none}
  body.v21-site.v17-home .v17-hero-product{right:-8%;top:auto;bottom:5%;width:78vw;height:42svh;max-height:390px;opacity:0;transform:translate3d(28px,18px,0) scale(.96)}
  body.v21-site.v17-home .v17-hero-product.is-active{opacity:.34;transform:none}
  body.v21-site.v17-home .v17-hero-product img{max-width:86%;max-height:86%}
  body.v21-site.v17-home .v17-hero-data{display:none}
  body.v21-site.v17-home .v17-hero-counter{position:absolute;right:14px;bottom:20px;width:125px;z-index:12;grid-column:auto}
  body.v21-site.v17-home .v17-hero-counter strong{font-size:23px}
  body.v21-site.v17-home .v17-scroll-cue{display:none}
  /* Catalogue: mobile uses real document flow instead of a desktop sticky composition. */
  body.v21-site.v17-home .v17-catalogue-sequence{height:auto!important;background:#e9ece5;padding:0}
  body.v21-site.v17-home .v17-catalogue-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0;overflow:visible}
  body.v21-site.v17-home .v17-catalogue-frame{inset:14px;pointer-events:none}
  body.v21-site.v17-home .v17-catalogue-inner{height:auto;display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:70px 0 74px}
  body.v21-site.v17-home .v17-catalogue-copy{max-width:none;padding:0;z-index:10}
  body.v21-site.v17-home .v17-catalogue-copy h2{font-size:clamp(42px,12vw,58px);line-height:.88;margin:12px 0 18px;max-width:7.5em}
  body.v21-site.v17-home .v17-catalogue-copy p{font-size:12px;line-height:1.7;max-width:330px}
  body.v21-site.v17-home .v17-catalogue-visual{height:auto;display:block}
  body.v21-site.v17-home .v17-page-stack{width:100%;height:auto;display:grid;gap:12px}
  body.v21-site.v17-home .v17-page{position:relative;inset:auto;display:grid;opacity:1!important;transform:none!important;pointer-events:auto!important;height:auto;min-height:0}
  body.v21-site.v17-home .v17-page img{width:100%;height:auto!important;max-width:100%;max-height:none;box-shadow:0 16px 35px rgba(12,28,24,.14)}
  body.v21-site.v17-home .v17-page figcaption{left:7px;bottom:7px;font-size:8px;padding:6px 8px}
  body.v21-site.v17-home .v17-catalogue-progress{position:relative;right:auto;bottom:auto;margin-top:2px;justify-content:flex-end}
  body.v21-site.v17-home .v17-catalogue-progress i{width:90px}
  /* Home category/product/factory sections */
  body.v21-site.v17-home .v17-categories{padding:66px 0}
  body.v21-site.v17-home .v17-section-top{display:block;margin-bottom:28px}
  body.v21-site.v17-home .v17-section-top h2{font-size:clamp(46px,13vw,64px);line-height:.86}
  body.v21-site.v17-home .v17-section-top p{font-size:12px;margin-top:18px;max-width:340px}
  body.v21-site.v17-home .v17-category{min-height:72px;display:block;padding:0}
  body.v21-site.v17-home .v17-category-copy{display:grid;grid-template-columns:34px minmax(0,1fr) 70px;min-height:72px;padding:0 4px;gap:7px}
  body.v21-site.v17-home .v17-category-copy h3{font-size:19px;line-height:1.1}
  body.v21-site.v17-home .v17-category-copy small{font-size:7px;text-align:right}
  body.v21-site.v17-home .v17-category-image{display:none!important}
  body.v21-site.v17-home .v17-products{padding:68px 0 74px}
  body.v21-site.v17-home .v17-products-head{display:block;margin-bottom:26px}
  body.v21-site.v17-home .v17-products-head h2{font-size:clamp(48px,13vw,66px)}
  body.v21-site.v17-home .v17-product-rail{grid-auto-columns:82vw;gap:10px;overflow-x:auto}
  body.v21-site.v17-home .v17-product-visual{height:340px}
  body.v21-site.v17-home .v17-product-visual img{max-width:92%;max-height:92%}
  body.v21-site.v17-home .v17-custom-factory{grid-template-columns:1fr;min-height:0}
  body.v21-site.v17-home .v17-factory-image{min-height:0;height:auto;aspect-ratio:1/1.02}
  body.v21-site.v17-home .v17-factory-image img{width:100%;height:100%;object-fit:cover}
  body.v21-site.v17-home .v17-factory-copy{padding:48px 22px}
  body.v21-site.v17-home .v17-factory-copy h2{font-size:clamp(44px,12vw,62px)}
  body.v21-site.v17-home .v17-factory-facts{grid-template-columns:1fr 1fr}
  body.v21-site.v17-home .v17-factory-links a{grid-template-columns:28px minmax(0,1fr);gap:8px}
  body.v21-site.v17-home .v17-factory-links small{display:none}
  body.v21-site.v17-home .v17-proof{padding:70px 0}
  body.v21-site.v17-home .v17-proof-grid{grid-template-columns:1fr;gap:28px}
  body.v21-site.v17-home .v17-proof-copy h2{font-size:clamp(48px,13vw,68px)}
  body.v21-site.v17-home .v17-proof-docs{grid-template-columns:1fr 1fr;gap:8px}
  body.v21-site.v17-home .v17-proof-docs img{height:auto!important;max-height:none}
  body.v21-site.v17-home .v17-final{min-height:0}
  body.v21-site.v17-home .v17-final-inner{min-height:0;display:block;padding:74px 0 92px}
  body.v21-site.v17-home .v17-final h2{font-size:clamp(48px,13vw,70px)}
  body.v21-site.v17-home .v17-final-actions{margin-top:28px}
  /* INTERIOR */
  body.v21-site:not(.v17-home) .breadcrumb-wrap{padding:14px 0;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.v21-site:not(.v17-home) .page-hero{min-height:0}
  body.v21-site:not(.v17-home) .page-hero-grid{min-height:0;display:flex;flex-direction:column;gap:0}
  body.v21-site:not(.v17-home) .page-hero-grid>div:first-child{padding:54px 0 34px}
  body.v21-site:not(.v17-home) .page-hero h1{font-size:clamp(45px,13vw,64px);line-height:.88;max-width:9em;margin:10px 0 16px}
  body.v21-site:not(.v17-home) .page-hero p{font-size:12px;line-height:1.7;max-width:340px}
  body.v21-site:not(.v17-home) .page-hero-art{min-height:0;height:auto;aspect-ratio:1/1;order:2}
  body.v21-site:not(.v17-home) .page-hero-art img{max-width:84%;max-height:84%}
  body.v21-site:not(.v17-home) .page-hero-meta{position:relative;right:auto;bottom:auto;padding:0 0 18px;display:flex;flex-wrap:wrap;gap:6px}
  body.v21-site .products-library{padding:48px 0 80px}
  body.v21-site .filter-row{display:flex;flex-direction:column;gap:14px;padding-bottom:18px;margin-bottom:22px}
  body.v21-site .search-box{width:100%;height:48px}
  body.v21-site .category-pills{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;gap:6px}
  body.v21-site .category-pills .pill{flex:0 0 auto;padding:9px 11px}
  body.v21-site .product-v6-grid{grid-template-columns:1fr 1fr;gap:1px}
  body.v21-site .product-v6-grid .product-photo{height:calc((100vw - 29px)/2)!important;min-height:150px;max-height:260px}
  body.v21-site .product-copy-v6{padding:12px 10px 14px!important;min-height:100px}
  body.v21-site .product-copy-v6 h3{font-size:15px!important;line-height:1.08}
  body.v21-site .product-spec-line{font-size:9px}
  body.v21-site .product-spec-line b{font-size:7px}
  body.v21-site .product-detail-v6{padding:16px 0 70px}
  body.v21-site .product-detail-v6-grid{display:flex;flex-direction:column;gap:28px}
  body.v21-site .gallery-main{
    height:min(88vw,430px);
    min-height:280px;
  }
  body.v21-site .gallery-main img{
    width:auto!important;
    height:auto!important;
    max-width:calc(100% - 36px)!important;
    max-height:calc(100% - 36px)!important;
    padding:0!important;
    object-fit:contain!important;
  }
  body.v21-site .gallery-thumb{flex-basis:72px;height:60px}
  body.v21-site .product-info-v6 h1{font-size:clamp(42px,12vw,60px);line-height:.88}
  body.v21-site .product-lead{font-size:12px}
  body.v21-site .spec-table>div{grid-template-columns:100px minmax(0,1fr);gap:10px}
  body.v21-site .product-actions{display:grid;grid-template-columns:1fr;gap:8px}
  body.v21-site .product-actions .btn,body.v21-site .product-actions .whatsapp-link{width:100%}
  body.v21-site .detail-wall,body.v21-site .cert-grid,body.v21-site .factory-feature-grid,body.v21-site .process-grid,body.v21-site .quality-strip,body.v21-site .image-wall{grid-template-columns:1fr 1fr}
  body.v21-site .detail-wall figure img{height:auto!important;min-height:0;max-height:none}
  body.v21-site .cert-card>img{height:auto!important;min-height:0;max-height:none}
  body.v21-site .image-wall img{height:auto!important;min-height:0;max-height:none}
  body.v21-site .factory-hero-grid,body.v21-site .about-hero-grid{grid-template-columns:1fr;min-height:0}
  body.v21-site .factory-hero-grid>div:first-child,body.v21-site .about-hero-grid>div:first-child{padding:56px 0 38px}
  body.v21-site .factory-hero-grid:after,body.v21-site .about-hero-grid:after{min-height:0;height:auto;aspect-ratio:1/1;background-position:center;background-size:cover}
  body.v21-site .factory-location-grid{grid-template-columns:1fr}
  body.v21-site .location-copy{padding:30px 22px}
  body.v21-site .map-frame iframe{min-height:330px;height:330px}
  body.v21-site .team-grid{grid-template-columns:1fr 1fr}
  body.v21-site .team-card{padding:20px}
  body.v21-site .section-head{display:block;margin-bottom:26px}
  body.v21-site .section-head h2{font-size:clamp(42px,12vw,60px);max-width:9em}
  body.v21-site .section-head>p{margin-top:18px}
  body.v21-site .page-visual{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body.v21-site .page-visual img,.v21-site .page-visual img:first-child{height:auto!important;aspect-ratio:3/4;max-height:none}
  body.v21-site .visual-strip{grid-template-columns:1fr 1fr;gap:8px}
  body.v21-site .visual-strip img{height:auto!important;aspect-ratio:1/1;max-height:none}
  body.v21-site .oem-hero{grid-template-columns:1fr;gap:0}
  body.v21-site .oem-hero>img{height:auto!important;aspect-ratio:1/1;max-height:none;padding:14px}
  body.v21-site .oem-hero>div{padding:42px 24px}
  body.v21-site .tiramisu-stage{min-height:0}
  body.v21-site .tiramisu-wrap{padding:56px 0 68px}
  body.v21-site .tiramisu-stage-grid{grid-template-columns:1fr;gap:22px}
  body.v21-site .tiramisu-hero-media{height:auto;min-height:0;aspect-ratio:1/1}
  body.v21-site .tiramisu-hero-media img{max-width:88%!important;max-height:88%!important}
  body.v21-site .rfq-layout{grid-template-columns:1fr;gap:18px}
  body.v21-site .rfq-form-card{padding:22px!important}
  body.v21-site .form-grid,.v21-site .details-grid{grid-template-columns:1fr}
  body.v21-site .full-field{grid-column:auto}
  body.v21-site .post-grid{grid-template-columns:1fr}
  body.v21-site .post-card img{height:auto!important;aspect-ratio:16/10;object-fit:cover}
  body.v21-site .policy-layout{grid-template-columns:1fr;gap:30px}
  body.v21-site .policy-nav{position:relative;top:auto}
  body.v21-site .site-footer{padding-bottom:70px}
  /* Admin */
  .admin-v21 .admin-topbar{top:0;padding-top:8px}
  .admin-v21 .admin>main{padding:70px 14px 90px}
  .admin-v21 .cards{grid-template-columns:1fr 1fr}
  .admin-v21 .cards>div{min-height:104px;padding:16px}
  .admin-v21 .cards b{margin-top:26px;font-size:28px}
  .admin-v21 .page-head,.admin-v21 .top{display:block}
  .admin-v21 .page-head .admin-btn{margin-top:14px}
  .admin-v21 .editor-card,.admin-v21 .data-card{padding:16px}
  .admin-v21 .admin-form-grid,.admin-v21 .formgrid{grid-template-columns:1fr}
  .admin-v21 .wide-field,.admin-v21 .formgrid .full{grid-column:auto}
  .admin-v21 .gallery-admin{grid-template-columns:1fr 1fr 1fr}
  .admin-v21 .gallery-admin img{height:88px}
  .admin-v21 .crm-grid{grid-template-columns:1fr 1fr}
  .admin-v21 .crm-actions{grid-template-columns:1fr}
  .admin-v21 .menu-row,.admin-v21 .content-row{grid-template-columns:30px minmax(0,1fr);gap:8px}
  .admin-v21 .menu-row>.admin-btn,.admin-v21 .content-row>.admin-btn{grid-column:2}
  .admin-v21 .brand-upload-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  body.v21-site .detail-wall,body.v21-site .cert-grid,body.v21-site .factory-feature-grid,body.v21-site .process-grid,body.v21-site .quality-strip,body.v21-site .image-wall,body.v21-site .team-grid{grid-template-columns:1fr}
  body.v21-site .product-v6-grid{grid-template-columns:1fr 1fr}
  body.v21-site .product-v6-grid .product-photo{height:calc((100vw - 29px)/2)!important;max-height:220px}
  body.v21-site .page-visual{grid-template-columns:1fr}
  body.v21-site .page-visual img,body.v21-site .page-visual img:first-child{aspect-ratio:4/3}
  body.v21-site .visual-strip{grid-template-columns:1fr 1fr}
  body.v21-site .team-grid{grid-template-columns:1fr}
  body.v21-site .location-meta{grid-template-columns:1fr}
  .admin-v21 .cards{grid-template-columns:1fr 1fr}
  .admin-v21 .gallery-admin{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){body.v21-site *,body.v21-site *::before,body.v21-site *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (min-width:1101px){body.v20-site.v17-home .v17-hero-inner{display:block!important;position:relative!important;min-height:calc(100svh - 76px)!important;padding:70px 0 50px!important}.v20-site.v17-home .v17-hero-copy{width:48%!important;max-width:680px!important;position:relative!important;z-index:10!important}.v20-site.v17-home .v17-hero-copy h1{max-width:680px!important}.v20-site.v17-home .v17-hero-products{position:absolute!important;right:0!important;top:0!important;width:55%!important;height:100%!important;z-index:2!important;display:block!important}.v20-site.v17-home .v17-hero-product{position:absolute!important;inset:5% 2% 8% 5%!important;display:grid!important;place-items:center!important}.v20-site.v17-home .v17-hero-product img{width:100%!important;height:100%!important;object-fit:contain!important;padding:5%!important}.v20-site.v17-home .v17-hero-data{left:0!important;bottom:48px!important;z-index:10!important}.v20-site.v17-home .v17-hero-counter{right:0!important;bottom:48px!important;z-index:10!important}.v20-site.v17-home .v17-scroll-cue{right:18px!important;z-index:10!important}}


/* =========================================================
   PRODUCTS — MOBILE CATEGORY PILL RAIL
   ========================================================= */

@media (max-width:800px){

  body.v21-site:not(.v17-home) .category-pills{
    display:flex !important;
    flex-wrap:nowrap !important;

    width:calc(100% + 28px) !important;
    max-width:none !important;

    margin-left:-14px !important;
    margin-right:-14px !important;

    padding:4px 14px 11px !important;
    box-sizing:border-box !important;

    gap:8px !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;

    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;

    scroll-snap-type:none !important;
    scroll-padding-left:14px !important;
    scroll-padding-right:14px !important;

    scrollbar-width:none !important;

    touch-action:pan-x pan-y !important;
  }

  body.v21-site:not(.v17-home) .category-pills::-webkit-scrollbar{
    display:none !important;
    width:0 !important;
    height:0 !important;
  }

  body.v21-site:not(.v17-home) .category-pills .pill{
    flex:0 0 auto !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    white-space:nowrap !important;

    min-height:38px !important;

    padding:9px 14px !important;

    margin:0 !important;

    position:relative !important;
    z-index:2 !important;

    pointer-events:auto !important;

    -webkit-tap-highlight-color:transparent !important;

    touch-action:manipulation !important;
  }

  body.v21-site:not(.v17-home) .category-pills .pill:first-child{
    margin-left:0 !important;
  }

  body.v21-site:not(.v17-home) .category-pills .pill:last-child{
    margin-right:0 !important;
  }

}

/* =========================================================
   END PRODUCTS — MOBILE CATEGORY PILL RAIL
   ========================================================= */
