:root{
  --blue:#168fe5;
  --blue2:#369fe3;
  --ink:#111216;
  --muted:#f6f6f6;
  --footer:#3d3d55;
  --red:#ef262b;
  --wrap:980px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-size:14px;line-height:1.35}
a{color:inherit}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.wrap{width:min(var(--wrap),calc(100% - 40px));margin:0 auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Header */
.topbar{height:54px;background:#fff;position:relative;z-index:50}
.navrow{height:54px;display:flex;align-items:center}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#17649b;font-weight:700;letter-spacing:1.1px;font-size:18px;white-space:nowrap}
.brand-mark{width:25px;height:34px;position:relative;display:inline-block}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;width:16px;height:16px;border-left:4px solid #17649b;border-bottom:4px solid #17649b;transform:rotate(45deg)}
.brand-mark:before{left:6px;top:0}
.brand-mark:after{left:0;top:12px}
.nav{margin-left:auto;display:flex;align-items:center;gap:31px;height:100%;font-weight:700;font-size:11px}
.nav>a,.dropdown>a{text-decoration:none;white-space:nowrap}
.dropdown{position:relative;height:100%;display:flex;align-items:center}
.drop{display:none;position:absolute;top:45px;left:-16px;min-width:210px;background:#fff;padding:8px 0;box-shadow:0 4px 16px rgba(0,0,0,.14);z-index:60}
.drop a{display:block;padding:9px 16px;text-decoration:none;font-size:12px;font-weight:600}
.drop a:hover{background:#f0f6fb;color:#147cc0}
.dropdown:hover .drop{display:block}
.mobile-toggle{display:none;margin-left:auto;width:34px;height:34px;border:0;background:transparent;padding:5px}
.mobile-toggle span{display:block;height:2px;background:#222;margin:5px 0}

/* common buttons */
.red-btn,.floating-quote{background:linear-gradient(#ff4448,#e6171c);color:white;text-decoration:none;font-weight:700;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.42);display:inline-block}
.red-btn{padding:9px 16px;font-size:24px}
.floating-quote{position:fixed;right:18px;top:48%;z-index:45;padding:7px 13px;font-size:18px}
.inline-quote{display:block;width:max-content;margin:70px auto 65px;font-size:22px;padding:6px 15px}
.blue-rule{width:50px;height:8px;background:var(--blue);margin:0 0 24px}

/* Home hero */
.hero-home{height:800px;position:relative;overflow:hidden;background:#f7f7f7}
.hero-home>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.25;filter:saturate(.55)}
.hero-home:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.18)}
.hero-copy{position:relative;z-index:2;width:540px;margin:0 auto;text-align:center;padding-top:175px}
.hero-copy h1{font-size:56px;line-height:.86;margin:0 0 55px;font-weight:800;letter-spacing:-1px}
.hero-copy h1 span{color:#2497e5}
.hero-copy p{font-style:italic;font-size:13px;margin:0 0 63px}
.certs{display:flex;justify-content:center;gap:16px}
.certs img{width:58px;height:58px;object-fit:contain}
.hero-mobile-contact{display:none}

/* Home sections */
.home-page .section{padding:75px 0}
#services{background:var(--blue2);color:#08101a;padding:78px 0 90px;min-height:1030px}
.section-title h2,.facts-head h2,.quote-section h2{font-size:58px;line-height:.82;margin:0;font-weight:800;letter-spacing:-2px}
#services .section-title:before,#works .section-title:before,#about .section-title:before,.quote-section .quote-grid>div:first-child:before{content:"";display:block;width:40px;height:7px;background:#fff;margin-bottom:23px}
#works .section-title:before,#about .section-title:before,.quote-section .quote-grid>div:first-child:before{background:var(--blue)}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:64px;margin-top:55px}
.service{text-align:left;font-size:12px;line-height:1.35}
.service:before{content:"";display:block;width:28px;height:5px;background:#fff;margin:0 auto 24px}
.service h3{text-align:center;font-size:14px;letter-spacing:1px;margin:0 0 24px}
.service h4{color:#ff7e00;margin:12px 0 2px;font-size:12px}
.service p{margin:0 0 7px}
#works{padding:85px 0 68px;background:#fff}
#works .section-title{margin-bottom:55px}
.work-copy{font-size:12px;line-height:1.45;margin-bottom:42px}
.work-copy h3{font-size:11px;color:#147dcc;margin:16px 0 5px}
.work-copy ul{margin:0;padding-left:20px}
.works-three{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:350px;overflow:hidden;gap:0}
.works-three img{width:100%;height:350px;object-fit:cover}
.works-links{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:42px}
.works-links a{background:#0b94ed;color:#fff;text-decoration:none;text-align:center;padding:12px 8px;font-size:11px}
.home-page #works+.section{background:#f5f5f5;padding:78px 0 85px}
.clients-copy{font-size:12px;line-height:1.55;margin:42px 0 45px;max-width:960px}
.client-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 35px;align-items:center}
.client-logos img{max-width:100%;height:70px;object-fit:contain;margin:auto}
#about{padding:82px 0 75px;background:#fff}
.about-grid{display:grid;grid-template-columns:1fr;gap:25px;margin-top:48px;font-size:12px;line-height:1.55}
.about-grid p{max-width:920px;margin:0}
.plain-btn{display:inline-block;background:#0e94eb;color:#fff;text-decoration:none;padding:12px 32px;font-size:12px;margin-left:300px}
.funfacts{background:var(--blue2);padding:72px 0 74px}
.funfacts .wrap{display:grid;grid-template-columns:260px 1fr;align-items:end}
.facts-head:before{content:"";display:block;width:40px;height:7px;background:#fff;margin-bottom:23px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-bottom:8px}
.fact b{display:block;color:#fff;font-size:30px;margin-bottom:10px}.fact span{font-size:11px;font-weight:700;letter-spacing:1px}
.quote-section{padding:80px 0 70px;background:#fff}
.quote-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:60px}
.quote-section h2{margin-bottom:38px}
.form{width:400px;max-width:100%}.form label{display:block;font-size:11px;margin-bottom:8px}.form input,.form textarea{display:block;width:100%;border:1px solid #111;background:white;padding:7px 8px;margin-top:3px}.form textarea{height:110px;resize:vertical}.form button{display:block;margin:15px auto 0;background:#0c95ed;color:#fff;border:0;padding:8px 32px;font-size:11px}.form .hp{position:absolute;left:-9999px}.form-status{font-size:11px;color:#555}
.contact-list{border-left:3px solid #177fd0;padding-left:38px;margin-top:77px;font-size:12px}.contact-list h3{font-size:13px;margin:0 0 5px}.contact-list p{margin:0 0 22px}

/* Common page heroes */
.page-hero{position:relative;overflow:hidden}
.image-hero{height:625px;background:#eee}
.image-hero>img:not(.hero-iso){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.image-hero:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.39)}
.hero-title{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-52%);text-align:center;width:min(900px,90%)}
.hero-title h1{font-size:62px;line-height:1.15;margin:0 0 38px;font-weight:800;letter-spacing:-1px}
.hero-title .dash,.hero-casting .dash{display:block;width:55px;height:10px;background:#111;margin:22px auto 0}
.hero-casting{height:625px;background:#f2f2f2}
.hero-casting>img{position:absolute;left:50%;top:0;transform:translateX(-50%);height:100%;width:auto;max-width:none;object-fit:contain}
.hero-casting .hero-title h1{font-size:62px}
.precision-parts-hero>img{filter:saturate(.55)}
.boat-hero-v4>img{filter:saturate(.65)}
.ball-hero-v4{height:600px;background:#8ba0af}.ball-hero-v4:after{background:rgba(77,107,126,.18)}.ball-hero-v4 .hero-title{top:44%}.ball-hero-v4 .hero-title h1{font-size:64px}.hero-iso{position:absolute;z-index:4;width:194px;height:auto;left:calc(50% + 180px);bottom:18px}
.valve-detail-hero{height:430px}.valve-detail-hero:after{background:rgba(255,255,255,.42)}.valve-detail-hero .hero-title h1{font-size:50px;line-height:1.25}.valve-detail-hero .hero-title{top:48%}
.virtual-hero-v4{height:720px}.virtual-hero-v4:after{background:rgba(255,255,255,.27)}
.screenshot-hero{background:#eee;text-align:center}.screenshot-hero picture,.screenshot-hero picture img{display:block;width:100%;height:100%}.screenshot-hero img{object-fit:cover;object-position:center}.polished-shot{height:626px}.polished-shot img{max-width:980px;margin:auto;object-fit:cover}.shot-hero-link{position:absolute;left:50%;top:72%;width:190px;height:60px;transform:translate(-50%,-50%)}
.machining-shot{height:650px;background:#242424}.machining-shot img{max-width:980px;margin:auto;object-fit:cover}

/* Gallery pages */
.gallery-intro{padding:65px 0 25px;background:#fff}
.gallery-intro h2{font-size:43px;line-height:1.12;margin:0 0 16px;font-weight:800;letter-spacing:-1px}
.gallery-intro p{font-size:18px;font-style:italic;font-weight:700;margin:0;max-width:930px;line-height:1.55}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:12px}
.gallery figure{margin:0;aspect-ratio:1;background:#eee;overflow:hidden}.gallery figure img{width:100%;height:100%;object-fit:cover}
.gallery figure.gallery-hidden{display:none}
.gallery-load-more{display:block;background:#0f96ef;color:#fff;border:0;border-radius:0;margin:42px auto 0;padding:12px 32px;font-weight:700}
.wide-gallery{grid-template-columns:1fr;gap:18px}.wide-gallery figure{aspect-ratio:auto}.wide-gallery figure img{width:100%;height:auto;object-fit:contain}

/* Ball valve intro + product strips */
.ball-intro{padding-top:55px}.ball-intro:before,.ball-products .product-group:before,.tech-section .wrap:before,.trusted-section .wrap:before,.product-groups>.product-group:before,.virtual-copy~*{content:""}
.ball-intro:before,.ball-products .product-group:before,.tech-section .wrap:before,.trusted-section .wrap:before,.product-groups>.product-group:before{display:block;width:50px;height:8px;background:var(--blue);margin-bottom:28px}
.ball-intro h3{font-size:23px;margin:0 0 26px}.ball-intro p{font-size:14px;max-width:900px;margin:0 0 18px}.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 80px;margin-top:32px;padding-bottom:58px}.spec h3{color:#0087e8;font-size:18px;margin:0 0 8px}.spec ul{margin:0;padding-left:20px;font-size:13px;font-style:italic;line-height:1.65}
.ball-products{background:#fafafa;padding:48px 0 20px}.ball-products .product-group{margin:0 0 55px}.ball-products .product-group h2{font-size:24px;text-decoration:underline;margin:0 0 22px;display:flex;align-items:center}.ball-products .more-link{margin-left:auto;text-decoration:none;background:#0f96ef;color:#fff;font-size:11px;padding:10px 58px}.ball-products .product-grid{display:flex;overflow:hidden;gap:3px;height:250px}.ball-products .product-grid img{height:250px;width:auto;min-width:250px;object-fit:cover}.tech-section{padding:45px 0 55px;background:#fff}.tech-section h2,.trusted-section h2{font-size:24px;margin:0 0 26px}.tech-grid{display:flex;overflow:hidden;gap:12px;height:250px}.tech-grid img{height:250px;width:auto;min-width:184px;object-fit:contain}.trusted-section{padding:46px 0 65px;background:#fff}.trusted-grid{display:flex;align-items:center;gap:30px;overflow:hidden}.trusted-grid img{height:110px;width:auto;max-width:210px;object-fit:contain}

/* Valve detail grids */
.product-groups{padding:48px 0 10px}.product-groups>.product-group{margin-bottom:55px}.product-groups>.product-group h2{font-size:27px;margin:0 0 16px}.product-groups .product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;align-items:start}.product-groups .product-grid img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff}

/* Virtual inspection */
.virtual-hero-v4 + .section{padding:55px 0 20px}.virtual-hero-v4 + .section .section-title:before{content:"";display:block;width:50px;height:8px;background:var(--blue);margin-bottom:24px}.virtual-hero-v4 + .section .section-title h2{font-size:44px}.virtual-copy{font-size:15px;line-height:1.55;max-width:850px;margin-top:18px}.virtual-copy p{margin:0 0 10px}


/* Footer */
.footer{background:var(--footer);color:#fff;padding:45px 0 25px}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:80px}.footer h4{font-size:13px;margin:0 0 7px}.footer a{display:block;color:#fff;font-size:11px;font-weight:700;line-height:1.35}.copyright{text-align:center;font-size:10px;margin-top:35px}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:88vw;max-height:88vh}.lightbox button{position:absolute;background:transparent;color:white;border:0;font-size:50px}.lightbox .close{right:25px;top:15px}.lightbox .prev{left:25px}.lightbox .next{right:25px}

@media(max-width:700px){
  body{font-size:14px}.wrap{width:calc(100% - 30px)}
  .topbar,.navrow{height:66px}.brand{font-size:15px;gap:7px;letter-spacing:.6px}.brand-mark{width:22px;height:28px;transform:scale(.8);transform-origin:left center}.mobile-toggle{display:block}.nav{display:none;position:absolute;top:66px;left:0;right:0;height:auto;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px 25px 20px;box-shadow:0 8px 20px rgba(0,0,0,.18)}.nav.open{display:flex}.nav>a,.dropdown>a{padding:11px 0}.dropdown{height:auto;display:block}.drop{position:static;box-shadow:none;padding:0 0 0 15px;display:none}.dropdown.open .drop{display:block}.dropdown:hover .drop{display:none}.dropdown.open:hover .drop{display:block}
  .floating-quote{display:none}
  .hero-home{height:500px}.hero-home>img{opacity:.25;object-position:center}.hero-copy{width:100%;padding:72px 18px 0}.hero-copy h1{font-size:30px;line-height:.9;margin-bottom:22px}.hero-copy p{font-size:8px;margin-bottom:12px}.certs{gap:6px}.certs img{width:33px;height:33px}.hero-mobile-contact{display:inline-block;background:linear-gradient(#ff4448,#e6171c);color:#fff;text-decoration:none;font-weight:700;padding:6px 14px;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.4);font-size:10px;margin-bottom:10px}
  #services{min-height:0;padding:35px 0 45px}.section-title h2,.facts-head h2,.quote-section h2{font-size:31px;line-height:.82;text-align:center;letter-spacing:-1px}.section-title:before,#services .section-title:before,#works .section-title:before,#about .section-title:before,.quote-section .quote-grid>div:first-child:before{margin-left:auto;margin-right:auto;width:34px;height:5px;margin-bottom:12px}.services{grid-template-columns:1fr;gap:36px;margin-top:26px}.service{text-align:left;font-size:10px;max-width:310px;margin:auto}.service:before{width:24px;height:4px;margin-bottom:12px}.service h3{font-size:12px;margin-bottom:14px}.service h4{font-size:10px}.service p{font-size:10px}
  #works{padding:38px 0 35px}.work-copy{font-size:10px;margin-bottom:22px}.works-three{height:120px;display:block;width:calc(100% + 30px);margin-left:-15px}.works-three img{display:none;height:120px}.works-three img:first-child{display:block;width:100%;object-fit:cover}.works-links{grid-template-columns:1fr;gap:5px;margin-top:18px}.works-links a{padding:8px;font-size:9px}.home-page #works+.section{padding:38px 0}.clients-copy{font-size:9px;margin:24px 0}.client-logos{grid-template-columns:repeat(2,1fr);gap:8px 15px}.client-logos img{height:42px}.about-grid{font-size:9px;margin-top:22px}.plain-btn{margin:8px auto 0;display:block;width:max-content;font-size:9px;padding:8px 24px}.funfacts{display:none}.quote-section{padding:38px 0 0}.quote-grid{grid-template-columns:1fr;gap:25px}.form{width:100%}.form label{font-size:8px}.form input,.form textarea{padding:3px 5px}.form textarea{height:70px}.contact-list{border-left:0;padding:0;margin:0;font-size:9px}.contact-list h3{font-size:10px}.footer{padding:35px 0 25px}.footer-grid{grid-template-columns:1fr;gap:26px}.footer h4{font-size:17px}.footer a{font-size:13px;line-height:1.45}.copyright{font-size:8px;text-align:left;margin-top:30px}

  .page-hero.image-hero,.hero-casting{height:435px}.hero-casting>img{height:100%;left:50%}.hero-title{width:92%;top:48%}.hero-title h1,.hero-casting .hero-title h1{font-size:39px;line-height:1.45;letter-spacing:0;margin-bottom:25px}.hero-title .dash,.hero-casting .dash{width:44px;height:8px;margin-top:14px}.red-btn{font-size:25px;padding:7px 13px}.precision-parts-hero{height:435px}.precision-parts-hero .hero-title h1{font-size:38px;line-height:1.45}.boat-hero-v4 .hero-title h1{font-size:42px}.ball-hero-v4{height:390px!important}.ball-hero-v4 .hero-title{top:43%}.ball-hero-v4 .hero-title h1{font-size:40px;line-height:1.2}.hero-iso{width:125px;left:50%;transform:translateX(-50%);bottom:10px}.valve-detail-hero{height:415px!important}.valve-detail-hero .hero-title h1{font-size:33px;line-height:1.35}.virtual-hero-v4{height:514px!important}.polished-shot{height:532px}.polished-shot img{object-fit:cover;max-width:none}.shot-hero-link{top:56%;width:200px;height:65px}.machining-shot{height:558px}.machining-shot img{max-width:none}

  .gallery-intro{padding:45px 0 20px}.gallery-intro .blue-rule{width:60px;height:7px;margin-bottom:18px}.gallery-intro h2{font-size:32px;line-height:1.18}.gallery-intro p{font-size:20px;line-height:1.6}.gallery{grid-template-columns:repeat(2,1fr);gap:2px;width:calc(100% + 30px);margin-left:-15px}.gallery figure:nth-child(n+9){display:none}.gallery figure.revealed{display:block}.gallery-load-more{border-radius:30px;padding:14px 35px;margin:42px auto 0}.inline-quote{margin:70px auto 25px;font-size:22px}.wide-gallery{display:block;width:100%;margin-left:0}.wide-gallery figure{display:block!important;margin-bottom:10px}.wide-gallery figure img{height:auto}

  .ball-intro{padding-top:22px}.ball-intro:before{width:42px;height:7px;margin-bottom:10px}.ball-intro h3{font-size:20px;margin-bottom:12px}.ball-intro p{font-size:12px;line-height:1.25}.specs{grid-template-columns:repeat(2,1fr);gap:15px 25px;margin-top:24px;padding-bottom:28px}.spec h3{font-size:14px}.spec ul{font-size:11px;line-height:1.55;padding-left:18px}.ball-products{padding:25px 0 10px}.ball-products .product-group{margin-bottom:28px}.ball-products .product-group:before,.tech-section .wrap:before,.trusted-section .wrap:before{width:42px;height:7px;margin-bottom:10px}.ball-products .product-group h2{font-size:20px;margin-bottom:12px}.ball-products .more-link{font-size:10px;padding:7px 18px}.ball-products .product-grid{height:156px;width:calc(100% + 30px);margin-left:-15px}.ball-products .product-grid img{height:156px;min-width:156px}.tech-section{padding:25px 0}.tech-section h2,.trusted-section h2{font-size:20px}.tech-grid{height:145px;width:calc(100% + 30px);margin-left:-15px;gap:5px}.tech-grid img{height:145px;min-width:108px}.trusted-section{padding:25px 0 35px}.trusted-grid{gap:18px;width:calc(100% + 15px);overflow:hidden}.trusted-grid img{height:60px;max-width:120px}

  .product-groups{padding:25px 0 5px}.product-groups>.product-group{margin-bottom:36px}.product-groups>.product-group:before{width:42px;height:7px;margin-bottom:8px}.product-groups>.product-group h2{font-size:18px;margin-bottom:10px}.product-groups .product-grid{grid-template-columns:repeat(2,1fr);gap:3px}

  .virtual-hero-v4 + .section{padding:32px 0 12px}.virtual-hero-v4 + .section .section-title:before{width:42px;height:7px;margin-bottom:12px}.virtual-hero-v4 + .section .section-title h2{font-size:30px;text-align:left}.virtual-copy{font-size:11px;margin-top:14px}

}

/* =========================================================
   V5 screenshot-matched corrections
   Source of truth: English Wix desktop/mobile screenshots.
   ========================================================= */
html,body{overflow-x:hidden}
:root{--blue2:#3d9be9}

/* ---------- HOME: desktop geometry and typography ---------- */
.home-v5 .hero-home{height:800px}
.home-v5 .hero-home>img{opacity:.20}
.home-v5 .hero-copy{width:760px;padding-top:145px}
.home-v5 .hero-copy h1{font-size:74px;line-height:.86;letter-spacing:-1.5px;margin-bottom:78px}
.home-v5 .hero-copy p{font-size:18px;margin-bottom:0}
.home-v5 .certs{position:absolute;left:calc(50% + 245px);top:650px;transform:translateX(-50%);gap:12px;white-space:nowrap}
.home-v5 .certs img{width:76px;height:76px}
.home-v5 #services{height:1033px;min-height:1033px;padding:78px 0 70px}
.home-v5 .section-title h2,.home-v5 .facts-head h2,.home-v5 .quote-section h2{font-size:72px;line-height:.82;letter-spacing:-2px}
.home-v5 .services{margin-top:90px;gap:64px}
.home-v5 .service{font-size:16px;line-height:1.42}
.home-v5 .service:before{margin-bottom:28px}
.home-v5 .service h3{font-size:18px;line-height:1.15;margin-bottom:34px;color:#2e3852}
.home-v5 .service h4{font-size:17px;color:#ff9300;margin:20px 0 3px}
.home-v5 .service p{font-size:16px;line-height:1.42;color:#fff;margin-bottom:9px}
.home-v5 #works{height:1131px;min-height:1131px;padding:84px 0 68px}
.home-v5 #works .section-title{margin-bottom:58px}
.home-v5 .work-copy{font-size:16px;line-height:1.5;margin-bottom:45px}
.home-v5 .work-copy h3{font-size:18px;margin:24px 0 8px}
.home-v5 .works-three{grid-template-columns:350fr 300fr 330fr;height:350px}
.home-v5 .works-three img{height:350px}
.home-v5 .works-links{margin-top:55px;gap:72px}
.home-v5 .works-links a{font-size:14px;padding:13px 8px}
.home-v5 #works + .section{height:762px;min-height:762px;padding:78px 0 70px}
.home-v5 .clients-copy{font-size:16px;line-height:1.55;margin:50px 0 55px}
.home-v5 .client-logos{gap:30px 38px}
.home-v5 .client-logos img{height:82px}
.home-v5 #about{height:639px;min-height:639px;padding:82px 0 70px}
.home-v5 .about-grid{font-size:16px;line-height:1.55;margin-top:55px}
.home-v5 .plain-btn{font-size:14px;padding:13px 34px;margin-left:330px;margin-top:20px}
.home-v5 .funfacts{height:511px;min-height:511px;padding:0}
.home-v5 .funfacts .wrap{height:100%;align-items:center}
.home-v5 .facts{align-items:center}
.home-v5 .fact b{font-size:32px}
.home-v5 .fact span{font-size:12px}
.home-v5 .quote-section{height:738px;min-height:738px;background:#f3f3f3;padding:92px 0 70px}
.home-v5 .quote-grid{gap:75px}
.home-v5 .form{width:400px}
.home-v5 .form label{font-size:12px;margin-bottom:10px}
.home-v5 .form input,.home-v5 .form textarea{padding:7px 8px}
.home-v5 .contact-list{font-size:14px;margin-top:86px}
.home-v5 .contact-list h3{font-size:14px}
.home-v5 + .floating-quote{font-size:15px}
.footer{min-height:205px}

/* ---------- Gallery / hero pages ---------- */
.casting-page .hero-casting{height:572px}
.casting-page .hero-casting>img{opacity:.58}
.casting-page .hero-casting:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.16)}
.machined-page .precision-parts-hero{height:600px}
.polished-page .polished-shot{height:600px}
.boat-page .boat-hero-v4{height:600px}
.gallery-intro{padding:58px 0 24px}
.gallery-intro h2{font-size:36px;line-height:1.15;margin-bottom:14px}
.gallery-intro p{font-size:17px;line-height:1.5}
.gallery-load-more{margin-top:38px;padding:11px 31px}

/* ---------- Ball valve ---------- */
.ball-valve-page .ball-hero-v4{height:600px}
.ball-valve-page .ball-hero-v4:after{background:rgba(255,255,255,.43)}
.ball-valve-page .hero-iso{left:auto;right:max(20px,calc((100% - 980px)/2 + 20px));bottom:12px}
.ball-intro-section{height:955px;min-height:955px;padding:0}
.ball-intro-section .wrap{padding-top:55px}
.ball-valve-page .ball-intro h3{font-size:25px;margin-bottom:36px}
.ball-valve-page .ball-intro p{font-size:18px;line-height:1.4;max-width:930px;margin-bottom:20px}
.ball-valve-page .specs{grid-template-columns:repeat(3,1fr);column-gap:92px;row-gap:50px;margin-top:48px;padding-bottom:0}
.ball-valve-page .spec h3{font-size:21px;margin-bottom:10px}
.ball-valve-page .spec ul{font-size:16px;line-height:1.62}
.ball-product-band{height:461px;min-height:461px;padding:47px 0 0;background:#fff}
.ball-product-band.alt{background:#fafafa}
.ball-product-band .product-group:before,.ball-tech-band .wrap:before,.ball-trusted-band .wrap:before{content:"";display:block;width:50px;height:8px;background:var(--blue);margin-bottom:26px}
.ball-product-band .product-group h2{font-size:22px;text-decoration:underline;margin:0 0 26px;display:flex;align-items:center}
.ball-product-band .more-link{margin-left:auto;text-decoration:none;background:#0f96ef;color:#fff;font-size:12px;padding:10px 58px}
.ball-product-band .product-grid{display:flex;overflow:hidden;gap:3px;height:250px}
.ball-product-band .product-grid img{height:250px;width:auto;min-width:250px;object-fit:cover}
.ball-tech-band{height:461px;min-height:461px;padding:47px 0 0;background:#fff}
.ball-tech-band h2{font-size:22px;margin:0 0 26px}
.ball-tech-band .tech-grid{height:250px;gap:12px}
.ball-tech-band .tech-grid img{height:250px;min-width:184px}
.ball-trusted-band{height:363px;min-height:363px;padding:47px 0 0;background:#fafafa}
.ball-trusted-band h2{font-size:22px;margin:0 0 30px}
.ball-trusted-band .trusted-grid{gap:34px}
.ball-trusted-band .trusted-grid img{height:128px;max-width:220px}

/* ---------- Valve detail pages ---------- */
.manual-valve-page .valve-detail-hero{height:388px}
.pneumatic-valve-page .valve-detail-hero,.electric-valve-page .valve-detail-hero{height:398px}
.manual-valve-page .product-groups,.pneumatic-valve-page .product-groups,.electric-valve-page .product-groups{background:#fafafa;padding-top:48px}
.product-groups>.product-group{margin-bottom:25px}
.product-groups .product-grid{gap:4px}

/* ---------- Virtual inspection ---------- */
.virtual-page .virtual-hero-v4{height:518px}
.virtual-page .virtual-content-section{height:1198px;min-height:1198px;background:#fafafa;padding:74px 0 0}
.virtual-page .virtual-content-section .section-title:before{width:50px;height:8px;margin-bottom:24px}
.virtual-page .virtual-content-section .section-title h2{font-size:44px;text-align:left;line-height:1.1}
.virtual-page .virtual-copy{font-size:15px;line-height:1.48;max-width:900px;margin-top:18px}
.virtual-monitor{margin-top:62px}
.virtual-main-image{display:block;width:980px;max-width:100%;height:auto;max-height:560px;object-fit:cover;margin:0 auto}
.virtual-thumbs{display:flex;gap:17px;overflow:hidden;margin-top:54px;height:108px;padding:0 8px}
.virtual-thumb{flex:0 0 108px;height:108px;border:0;padding:0;background:#ddd;cursor:pointer;opacity:.72}
.virtual-thumb.active{opacity:1;outline:2px solid #178fe5;outline-offset:2px}
.virtual-thumb img{width:100%;height:100%;object-fit:cover}

@media(max-width:700px){
  /* Home mobile: match the original Wix vertical rhythm. */
  .home-v5 .hero-home{height:487px}
  .home-v5 .hero-copy{width:100%;padding:88px 18px 0}
  .home-v5 .hero-copy h1{font-size:39px;line-height:.96;letter-spacing:0;margin:0 0 34px;color:#202238}
  .home-v5 .hero-copy h1 span{color:#202238}
  .home-v5 .hero-copy p{font-size:16px;line-height:1.2;margin:0}
  .home-v5 .hero-mobile-contact{position:absolute;display:block;left:50%;top:333px;transform:translateX(-50%);font-size:20px;padding:8px 19px;margin:0}
  .home-v5 .certs{position:absolute;left:50%;top:410px;transform:translateX(-50%);gap:5px}
  .home-v5 .certs img{width:52px;height:52px}
  .home-v5 #services{height:1783px;min-height:1783px;padding:52px 0 40px}
  .home-v5 .section-title h2,.home-v5 .facts-head h2,.home-v5 .quote-section h2{font-size:40px;line-height:.86;letter-spacing:-1px}
  .home-v5 .services{margin-top:54px;gap:72px}
  .home-v5 .service{max-width:330px;font-size:18px;line-height:1.42}
  .home-v5 .service:before{width:44px;height:8px;margin-bottom:28px}
  .home-v5 .service h3{font-size:27px;line-height:1.05;margin-bottom:20px;letter-spacing:1px}
  .home-v5 .service h4{font-size:20px;margin:25px 0 2px}
  .home-v5 .service p{font-size:18px;line-height:1.42;margin-bottom:9px}
  .home-v5 #works{height:1308px;min-height:1308px;padding:46px 0 35px}
  .home-v5 #works .section-title{margin-bottom:48px}
  .home-v5 .work-copy{font-size:17px;line-height:1.5;margin-bottom:40px}
  .home-v5 .work-copy h3{font-size:19px;margin:28px 0 10px}
  .home-v5 .work-copy ul{padding-left:28px}
  .home-v5 .works-three{height:225px;width:100vw;margin-left:calc(50% - 50vw)}
  .home-v5 .works-three img{height:225px}
  .home-v5 .works-links{grid-template-columns:1fr;gap:10px;margin:45px auto 0;width:78%}
  .home-v5 .works-links a{padding:14px 8px;font-size:16px}
  .home-v5 #works + .section{height:700px;min-height:700px;padding:48px 0 35px}
  .home-v5 .clients-copy{font-size:16px;line-height:1.48;margin:32px 0 38px}
  .home-v5 .client-logos{gap:14px 18px}
  .home-v5 .client-logos img{height:55px}
  .home-v5 #about{height:614px;min-height:614px;padding:50px 0 35px}
  .home-v5 .about-grid{font-size:16px;line-height:1.5;margin-top:34px}
  .home-v5 .plain-btn{font-size:13px;padding:10px 26px;margin:24px auto 0}
  .home-v5 .quote-section{height:841px;min-height:841px;background:#f3f3f3;padding:48px 0 35px}
  .home-v5 .quote-grid{gap:30px}
  .home-v5 .form label{font-size:11px;margin-bottom:8px}
  .home-v5 .form input,.home-v5 .form textarea{font-size:13px;padding:5px 6px}
  .home-v5 .form textarea{height:100px}
  .home-v5 .contact-list{font-size:12px;margin:0}
  .home-v5 .contact-list h3{font-size:13px}
  .home-v5 ~ .footer{min-height:376px;padding-top:36px}

  /* Gallery hero sizes are page-specific on Wix mobile. */
  .casting-page .hero-casting{height:374px}
  .machined-page .precision-parts-hero{height:383px}
  .polished-page .polished-shot{height:343px}
  .boat-page .boat-hero-v4{height:301px}
  .casting-page .hero-casting>img{opacity:.58}
  .gallery-intro{padding:38px 0 18px}
  .gallery-intro h2{font-size:30px;line-height:1.18}
  .gallery-intro p{font-size:18px;line-height:1.55}

  /* Ball valve mobile already had roughly the correct scale; keep it looser, not desktop-sized. */
  .ball-valve-page .ball-hero-v4{height:390px}
  .ball-valve-page .hero-iso{right:auto;left:50%;transform:translateX(-50%);bottom:10px}
  .ball-intro-section{height:auto;min-height:985px}
  .ball-intro-section .wrap{padding-top:22px}
  .ball-valve-page .ball-intro h3{font-size:20px;margin-bottom:12px}
  .ball-valve-page .ball-intro p{font-size:12px;line-height:1.25}
  .ball-valve-page .specs{grid-template-columns:repeat(2,1fr);column-gap:25px;row-gap:15px;margin-top:24px}
  .ball-valve-page .spec h3{font-size:14px}
  .ball-valve-page .spec ul{font-size:11px;line-height:1.55}
  .ball-product-band{height:auto;min-height:310px;padding:25px 0 18px}
  .ball-product-band .product-group:before,.ball-tech-band .wrap:before,.ball-trusted-band .wrap:before{width:42px;height:7px;margin-bottom:10px}
  .ball-product-band .product-group h2{font-size:20px;margin-bottom:12px}
  .ball-product-band .more-link{font-size:10px;padding:7px 18px}
  .ball-product-band .product-grid{height:156px;width:100vw;margin-left:calc(50% - 50vw)}
  .ball-product-band .product-grid img{height:156px;min-width:156px}
  .ball-tech-band{height:auto;min-height:250px;padding:25px 0}
  .ball-tech-band h2{font-size:20px}
  .ball-tech-band .tech-grid{height:145px;width:100vw;margin-left:calc(50% - 50vw);gap:5px}
  .ball-tech-band .tech-grid img{height:145px;min-width:108px}
  .ball-trusted-band{height:auto;min-height:250px;padding:25px 0 35px}
  .ball-trusted-band h2{font-size:20px}
  .ball-trusted-band .trusted-grid{gap:18px;width:100%;overflow:hidden}
  .ball-trusted-band .trusted-grid img{height:60px;max-width:120px}

  /* Valve detail pages */
  .manual-valve-page .valve-detail-hero{height:320px!important}
  .pneumatic-valve-page .valve-detail-hero,.electric-valve-page .valve-detail-hero{height:335px!important}
  .manual-valve-page .product-groups,.pneumatic-valve-page .product-groups,.electric-valve-page .product-groups{padding-top:25px}
  .product-groups>.product-group{margin-bottom:22px}

  /* Virtual Inspection */
  .virtual-page .virtual-hero-v4{height:326px!important}
  .virtual-page .virtual-content-section{height:592px;min-height:592px;padding:34px 0 0}
  .virtual-page .virtual-content-section .section-title:before{width:42px;height:7px;margin-bottom:12px}
  .virtual-page .virtual-content-section .section-title h2{font-size:30px;text-align:left}
  .virtual-page .virtual-copy{font-size:12px;line-height:1.45;margin-top:14px}
  .virtual-monitor{margin-top:20px}
  .virtual-main-image{width:100%;max-height:none}
  .virtual-thumbs{display:none}
}
/* V5 gallery cleanup: V4 had duplicate placeholder Load More / Back to Top controls. */
.inline-quote{margin:45px auto 45px}
@media(max-width:700px){.inline-quote{margin:55px auto 22px}}


/* =========================================================
   V6: screenshot-match refinements + restored Wix gallery logic
   ========================================================= */
/* Original logo mark is two separate angular chevrons, not the V5 crossed glyph. */
.brand-mark{width:35px;height:38px;flex:0 0 35px;background:url('/assets/ui/brand-mark.svg') center/contain no-repeat;position:relative;display:block}
.brand-mark:before,.brand-mark:after{display:none!important}
.brand{gap:9px}

/* Reusable horizontal gallery behavior. */
.scroll-track{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth}
.scroll-track::-webkit-scrollbar{display:none}
.works-rail-wrap{position:relative;width:min(var(--wrap),calc(100% - 40px));margin:0 auto}
.works-three{display:flex;grid-template-columns:none;width:100%;height:350px;overflow-x:auto;overflow-y:hidden;gap:0;scroll-snap-type:x mandatory}
.works-three img{flex:0 0 33.333333%;width:33.333333%;height:350px;object-fit:cover;scroll-snap-align:start;user-select:none;-webkit-user-drag:none}
.carousel-control{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:58px;border:0;background:rgba(255,255,255,.72);color:#1b6c9f;font-size:34px;line-height:1;cursor:pointer;z-index:4;opacity:0;transition:opacity .18s,background .18s;box-shadow:0 1px 6px rgba(0,0,0,.12)}
.works-rail-wrap:hover .carousel-control,.carousel-control:focus-visible{opacity:1}
.carousel-control:hover{background:rgba(255,255,255,.94)}
.carousel-prev{left:0}.carousel-next{right:0}

/* Ball valve: Wix galleries are horizontal rails. Keep the screenshot dimensions but restore swipe/scroll. */
.ball-product-band .product-grid,.ball-tech-band .tech-grid,.ball-trusted-band .trusted-grid{overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x proximity;cursor:grab}
.ball-product-band .product-grid:active,.ball-tech-band .tech-grid:active,.ball-trusted-band .trusted-grid:active{cursor:grabbing}
.ball-product-band .product-grid img,.ball-tech-band .tech-grid img,.ball-trusted-band .trusted-grid img{scroll-snap-align:start;flex-shrink:0;user-select:none;-webkit-user-drag:none}
.ball-trusted-band .trusted-grid{width:100%;padding:2px 0 8px}

/* Virtual Inspection: preserve one large image + original thumbnail strip, but allow the full 24-image set. */
.virtual-thumbs{overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x proximity;cursor:grab}
.virtual-thumb{scroll-snap-align:start;flex:0 0 108px}
.virtual-main-image{transition:opacity .16s ease}
.virtual-main-image.is-changing{opacity:.72}

@media(max-width:700px){
  /* The old V5 mark was visibly too small/wrong on mobile. */
  .brand{font-size:17px;letter-spacing:.35px;gap:7px}
  .brand-mark{width:32px;height:37px;flex-basis:32px;transform:none}
  .works-rail-wrap{width:calc(100% - 40px)}
  .home-v5 .works-three{width:100%;margin-left:0;height:225px}
  .home-v5 .works-three img{flex-basis:100%;width:100%;height:225px}
  .carousel-control{display:none}
  .ball-trusted-band .trusted-grid{width:100%;overflow-x:auto!important}
  /* Keep thumbnails visually absent like Wix mobile while auto/sweep changes the main image. */
  .virtual-thumbs{display:none!important}
}

/* =========================================================
   V7: interaction fixes + original valve gallery geometry
   ========================================================= */

/* hidden must beat the generic button display rule */
.gallery-load-more[hidden]{display:none!important}

/* Product / works images communicate the zoom interaction clearly. */
.zoomable-image{cursor:zoom-in!important}
body.lightbox-open{overflow:hidden}
.lightbox{z-index:10000}
.lightbox img{display:block;max-width:min(92vw,1600px);max-height:90vh;width:auto;height:auto;object-fit:contain;box-shadow:0 8px 38px rgba(0,0,0,.35)}
.lightbox button{cursor:pointer;z-index:2;text-shadow:0 1px 4px #000}
.lightbox .prev,.lightbox .next{top:50%;transform:translateY(-50%);padding:18px}

/* Horizontal rails can be dragged starting directly on their images/buttons. */
.scroll-track,.scroll-track *{user-select:none}
.scroll-track img{-webkit-user-drag:none}
.scroll-track.is-dragging{cursor:grabbing!important;scroll-behavior:auto}

/* Virtual Inspection: arrows + a fully draggable/wheel-scrollable thumbnail rail. */
.virtual-thumbs-shell{display:flex;align-items:center;gap:8px;margin-top:54px;width:100%;position:relative}
.virtual-thumbs-shell .virtual-thumbs{flex:1;min-width:0;margin-top:0;height:108px;padding:0 4px;cursor:grab;touch-action:pan-y}
.virtual-thumb{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.virtual-thumb img{pointer-events:none;-webkit-user-drag:none}
.virtual-thumb-nav{flex:0 0 36px;width:36px;height:72px;border:0;background:rgba(255,255,255,.92);box-shadow:0 1px 7px rgba(0,0,0,.16);color:#168bdd;font-size:34px;line-height:1;cursor:pointer;z-index:2}
.virtual-thumb-nav:hover{background:#fff;color:#0876c3}

/* The original Wix valve-detail galleries use compact square cells, not the
   intrinsic HTML height attributes. Explicit height here removes V6's giant
   white image boxes while preserving every original image. */
.manual-valve-page .product-groups,
.pneumatic-valve-page .product-groups,
.electric-valve-page .product-groups{padding-top:48px}
.product-groups>.product-group{margin-bottom:38px}
.product-groups .product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  justify-content:start;
  align-items:start;
  width:100%;
}
.product-groups .product-grid img{
  display:block;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  max-width:none!important;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#fff;
}

@media(max-width:700px){
  /* Match Wix mobile: headings remain padded, image cells run edge-to-edge in two columns. */
  .manual-valve-page .product-groups,
  .pneumatic-valve-page .product-groups,
  .electric-valve-page .product-groups{
    width:100%;
    max-width:none;
    padding:25px 0 5px;
  }
  .product-groups>.product-group{margin-bottom:38px}
  .product-groups>.product-group:before,
  .product-groups>.product-group>h2{margin-left:15px;margin-right:15px}
  .product-groups .product-grid{
    grid-template-columns:repeat(2,50vw);
    grid-auto-rows:50vw;
    gap:1px 0;
    width:100vw;
  }
  .product-groups .product-grid img{
    width:50vw!important;
    height:50vw!important;
    aspect-ratio:1/1;
  }

  .virtual-thumbs-shell{display:none!important}
  .lightbox .prev{left:2px}.lightbox .next{right:2px}
  .lightbox .close{right:8px;top:5px}
}

/* =========================================================
   V8: Wix screenshot fidelity pass
   Source of truth: English Wix screenshots + existing Wix gallery logic.
   ========================================================= */

/* Keep the browser from widening the mobile page because of a full-bleed rail. */
html,body{max-width:100%;overflow-x:clip}
.mobile-title-line{display:inline}

@media(min-width:701px){
  /* Header: Wix keeps the navigation close to the brand instead of pushing it to the far edge. */
  .brand{font-size:19px;letter-spacing:1px;gap:9px}
  .brand-mark{width:42px;height:44px;flex-basis:42px}
  .nav{margin-left:45px;gap:34px;font-size:12px}

  /* Home hero: V7 was too bold/large and the tagline/certificates sat too high. */
  .home-v5 .hero-copy{padding-top:148px}
  .home-v5 .hero-copy h1{font-size:66px;line-height:.89;letter-spacing:-1.4px;margin-bottom:112px}
  .home-v5 .hero-copy p{font-size:18px}
  .home-v5 .certs{top:686px}
  .home-v5 .certs img{width:78px;height:78px}

  /* Common large homepage headings are a little larger on the Wix source. */
  .home-v5 .section-title h2,.home-v5 .facts-head h2,.home-v5 .quote-section h2{font-size:76px}

  /* Services: preserve the fixed Wix section height, but match its larger copy. */
  .home-v5 .services{margin-top:88px}
  .home-v5 .service h3{font-size:20px;margin-bottom:32px}
  .home-v5 .service h4{font-size:18px;margin-top:22px}
  .home-v5 .service p{font-size:17px;line-height:1.45}

  /* Works: the rail geometry was already right; Wix text pushes it slightly lower. */
  .home-v5 .work-copy{font-size:17px;line-height:1.5;margin-bottom:54px}
  .home-v5 .work-copy h3{font-size:19px;margin-top:25px}

  /* Clients: V7 content was visibly too high within the correctly-sized section. */
  .home-v5 #works + .section{padding-top:94px}
  .home-v5 .clients-copy{font-size:16px;line-height:1.55;margin:70px 0 72px}
  .home-v5 .client-logos img{height:84px}

  /* About: whole block sits ~45px lower on Wix. */
  .home-v5 #about{padding-top:127px}

  /* FUN FACTS: Wix uses title on the upper-left and a second full-width row for metrics. */
  .home-v5 .funfacts .wrap{display:block;position:relative;height:100%;padding-top:64px}
  .home-v5 .facts-head{width:100%;margin:0}
  .home-v5 .facts-head:before{width:40px;height:7px;margin-bottom:22px}
  .home-v5 .facts-head h2{font-size:72px;line-height:.82;letter-spacing:-2px}
  .home-v5 .facts{grid-template-columns:repeat(4,1fr);gap:52px;align-items:start;margin-top:72px;padding:0}
  .home-v5 .fact b{font-size:46px;line-height:1;color:#fff;margin:0 0 25px}
  .home-v5 .fact span{display:block;color:#fff;font-size:14px;line-height:1.2;letter-spacing:3px;font-weight:800}

  /* Quote: Wix divider is near the center; V7's contact column was too far right/high. */
  .home-v5 .quote-grid{grid-template-columns:430px 1fr;gap:60px}
  .home-v5 .contact-list{margin-top:144px}

  /* Gallery-page intro typography is closer to the Wix original at the base 43px size. */
  .gallery-intro h2{font-size:43px}

  /* Valve detail galleries are NOT square tiles in Wix; rows follow natural image height. */
  .product-groups .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;align-items:start;gap:6px}
  .product-groups .product-grid img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain;background:#fff;align-self:start}

  /* Virtual Inspection hero is more washed out on Wix. */
  .virtual-page .virtual-hero-v4:after{background:rgba(255,255,255,.43)}
  .virtual-page .virtual-hero-v4>img{object-position:center 42%}
  .virtual-thumb-nav{opacity:0;transition:opacity .18s ease}
  .virtual-thumbs-shell:hover .virtual-thumb-nav,.virtual-thumb-nav:focus-visible{opacity:1}
}

@media(max-width:700px){
  /* Mobile brand in Wix is larger and clearer. */
  .brand{font-size:19px;letter-spacing:.35px;gap:7px}
  .brand-mark{width:34px;height:40px;flex-basis:34px}

  /* Each word becomes its own line only on mobile for the affected page heroes. */
  .hero-title .mobile-title-line{display:block}
  .hero-title .mobile-title-line + br{display:none}
  .casting-page .hero-title h1,.machined-page .hero-title h1,.boat-page .hero-title h1,.ball-valve-page .hero-title h1{line-height:1.34}

  /* Wix mobile gallery cells are landscape-ish (~195x158), not 195x195 squares. */
  .gallery{width:100vw;margin-left:calc(50% - 50vw);gap:2px}
  .gallery figure{aspect-ratio:1.23/1}
  .gallery figure img{width:100%;height:100%;object-fit:cover}

  /* The screenshot-backed polished hero must show the exact 343px Wix crop. */
  .polished-page .polished-shot{height:343px}
  .polished-page .polished-shot img{width:100%;height:100%;object-fit:cover;object-position:center;margin:0;max-width:none}

  /* Ball Valve mobile: two-line title, 3-ish photo tiles visible, More button below the rail. */
  .ball-valve-page .hero-title h1{font-size:38px;line-height:1.22}
  .ball-product-band{padding:25px 0 26px}
  .ball-product-band .product-group{position:relative;padding-bottom:46px}
  .ball-product-band .product-group h2{display:block;font-size:20px;margin-bottom:12px}
  .ball-product-band .more-link{position:absolute;left:50%;bottom:0;transform:translateX(-50%);margin:0;padding:7px 22px;font-size:11px;text-decoration:none}
  .ball-product-band .product-grid{height:128px}
  .ball-product-band .product-grid img{height:128px;min-width:128px}
  .ball-tech-band .tech-grid{height:128px}
  .ball-tech-band .tech-grid img{height:128px;min-width:96px}
  .ball-trusted-band .trusted-grid{gap:14px}
  .ball-trusted-band .trusted-grid img{height:48px;max-width:96px}

  /* Valve detail pages: natural image ratios, just like Wix's two-column responsive gallery. */
  .product-groups>.product-group{margin-bottom:32px}
  .product-groups>.product-group:before{width:58px;height:8px;margin-left:15px;margin-bottom:10px}
  .product-groups>.product-group>h2{font-size:23px;line-height:1.1;margin-left:15px;margin-right:15px;margin-bottom:16px}
  .product-groups .product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:1px 0;width:100vw}
  .product-groups .product-grid img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain;background:#fff}

  /* Virtual Inspection: lighter/correct crop, larger Wix-like copy and full-bleed main monitor. */
  .virtual-page .virtual-hero-v4:after{background:rgba(255,255,255,.43)}
  .virtual-page .virtual-hero-v4>img{object-position:38% center}
  .virtual-page .virtual-copy{font-size:15px;line-height:1.5;margin-top:14px}
  .virtual-page .virtual-main-image{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}

  /* Explicitly contain homepage rail; prevents a 390px viewport becoming wider in screenshots. */
  .home-v5 .works-rail-wrap,.home-v5 .works-three{max-width:100%;width:100%;margin-left:auto;margin-right:auto}
}

@media(max-width:700px){
  /* Let JS own gallery visibility; old nth-child rule prevented Load More items >8 from ever appearing. */
  .gallery:not(.wide-gallery) figure{display:block}
  .gallery:not(.wide-gallery) figure.gallery-hidden{display:none}

  /* Ball Valve Wix mobile sections are shorter than V7's min-height boxes. */
  .ball-product-band{min-height:270px}
  .ball-tech-band{min-height:220px}
  .ball-trusted-band{min-height:210px}
}
@media(max-width:700px){
  .virtual-page .virtual-content-section{padding-top:54px}
  .virtual-page .virtual-monitor{margin-top:36px}
}
@media(min-width:701px){
  /* Pixel positions measured from the Wix Fun Facts screenshot: rule ~67px, title ~97-249px,
     numbers ~335px, labels ~411px within the 511px band. */
  .home-v5 .funfacts .wrap{padding-top:67px;padding-left:20px;padding-right:20px}
  .home-v5 .facts-head:before{height:10px;margin-bottom:18px}
  .home-v5 .facts-head h2{font-size:96px;line-height:.80;letter-spacing:-3px}
  .home-v5 .facts{margin-top:74px;gap:46px}
  .home-v5 .fact b{font-size:46px;margin-bottom:36px}
  .home-v5 .fact span{font-size:14px;line-height:1.18;letter-spacing:3px}
}
@media(max-width:700px){
  .ball-valve-page .ball-intro p{font-size:13.5px;line-height:1.38}
  .ball-valve-page .spec ul{font-size:12px;line-height:1.52}
}

/* =========================================================
   V9 FINAL QA: only evidence-backed corrections.
   - Restore Wix's fixed cropped valve-detail gallery cells.
   - Match Virtual Inspection's much lighter Wix hero wash.
   - Hard-contain homepage horizontal overflow on mobile.
   ========================================================= */

@media(min-width:701px){
  /* Wix currently serves these valve-detail thumbnails as ~238x237 `fill`
     images. V8's intrinsic-height override made the pages 16-23% too long. */
  .manual-valve-page .product-groups .product-grid,
  .pneumatic-valve-page .product-groups .product-grid,
  .electric-valve-page .product-groups .product-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:4px;
    align-items:start;
  }
  .manual-valve-page .product-groups .product-grid img,
  .pneumatic-valve-page .product-groups .product-grid img,
  .electric-valve-page .product-groups .product-grid img{
    display:block;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    background:#fff;
  }
}

@media(max-width:700px){
  body.home-v5{width:100%;overflow-x:hidden}

  /* Wix mobile uses the same cropped gallery concept in two columns. */
  .manual-valve-page .product-groups .product-grid,
  .pneumatic-valve-page .product-groups .product-grid,
  .electric-valve-page .product-groups .product-grid{
    display:grid;
    grid-template-columns:repeat(2,50vw)!important;
    grid-auto-rows:50vw!important;
    width:100vw!important;
    gap:1px 0!important;
  }
  .manual-valve-page .product-groups .product-grid img,
  .pneumatic-valve-page .product-groups .product-grid img,
  .electric-valve-page .product-groups .product-grid img{
    width:50vw!important;
    height:50vw!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    background:#fff;
  }
}

/* Wix's satellite hero is substantially more washed out than V8. */
.virtual-page .virtual-hero-v4:after{background:rgba(255,255,255,.67)!important}

/* =========================================================
   V10 MOBILE UX FIXES
   - HOME returns to the true page top (HTML links are now /).
   - Parent menu text navigates; a separate chevron opens submenus.
   - Services can grow so Surface Treatment never overlaps OUR WORKS.
   - Home OUR WORKS remains a real swipeable/autoplay rail on mobile.
   ========================================================= */
.submenu-toggle{display:none}

@media(max-width:700px){
  .topbar,.navrow{height:56px}
  .topbar{border-bottom:1px solid #ededed}
  .navrow{width:100%;padding:0 10px}
  .mobile-toggle{width:38px;height:38px;padding:6px;margin-right:0}
  .mobile-toggle span{height:2px;margin:5px 0}

  .nav{
    top:56px;
    left:0;
    right:0;
    padding:12px 18px 18px;
    max-height:calc(100vh - 56px);
    overflow-y:auto;
    overscroll-behavior:contain;
    border-top:0;
    box-shadow:0 5px 14px rgba(0,0,0,.12);
  }
  .nav>a,.dropdown>a{
    display:flex;
    align-items:center;
    min-height:38px;
    padding:9px 0;
    font-size:12px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.05px;
  }
  .dropdown{position:relative;display:block;width:100%}
  .dropdown>a{padding-right:48px}
  .submenu-toggle{
    display:flex;
    position:absolute;
    right:-6px;
    top:0;
    width:44px;
    height:38px;
    padding:0;
    border:0;
    background:transparent;
    align-items:center;
    justify-content:center;
    color:#222;
    cursor:pointer;
  }
  .submenu-toggle span{display:block;font-size:20px;line-height:1;transition:transform .18s ease}
  .dropdown.open>.submenu-toggle span{transform:rotate(180deg)}
  .drop{
    position:static;
    display:none;
    min-width:0;
    margin:0 0 5px;
    padding:2px 0 4px 12px;
    background:#f8f8f8;
    box-shadow:none;
  }
  .dropdown.open>.drop{display:block}
  .dropdown:hover>.drop{display:none}
  .dropdown.open:hover>.drop{display:block}
  .drop a{padding:9px 10px;font-size:11px;line-height:1.25;font-weight:600}

  /* Do not let the final Surface Treatment copy spill into OUR WORKS. */
  .home-v5 #services{
    height:auto!important;
    min-height:1783px;
    padding-bottom:78px;
  }
  .home-v5 .services{padding-bottom:8px}
  .home-v5 .service:last-child{margin-bottom:0}

  /* Both native horizontal scrolling and explicit swipe logic are available. */
  .home-v5 .works-rail-wrap{overflow:hidden}
  .home-v5 .works-carousel{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    touch-action:pan-x pan-y;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
  }
  .home-v5 .works-carousel img{scroll-snap-align:start}
}

@media(min-width:701px){
  .submenu-toggle{display:none!important}
}
@media(max-width:700px){
  /* V5's old mobile fallback hid every OUR WORKS image except the first.
     Explicitly undo it so the V6+ rail can actually swipe/auto-scroll. */
  .home-v5 .works-carousel img{
    display:block!important;
    flex:0 0 100%!important;
    width:100%!important;
    height:225px!important;
  }
}
