
:root{--max:1240px;--radius:20px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 44px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:10px;z-index:9999;transform:translateY(-140%);padding:10px 16px;background:#fff;color:#000;border-radius:8px}.skip-link:focus{transform:none}.site-logo img{width:auto;height:64px;object-fit:contain}.site-logo{display:flex;align-items:center;flex:0 0 auto}.nav-links{display:flex;align-items:center;gap:26px}.nav-links>a,.services-trigger{border:0;background:none;padding:10px 0;font-weight:700;position:relative}.nav-links>a:after,.services-trigger:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;transition:right .25s var(--ease)}.nav-links>a:hover:after,.nav-links>a.is-active:after,.services-trigger:hover:after,.services-trigger[aria-expanded="true"]:after{right:0}.desktop-services-wrap{position:relative}.services-trigger{display:flex;gap:7px;align-items:center}.services-trigger svg{width:14px;transition:transform .2s}.services-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}.services-menu{position:absolute;right:-230px;top:calc(100% + 14px);width:min(760px,calc(100vw - 40px));padding:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.22s var(--ease);z-index:100}.services-menu.is-open{opacity:1;visibility:visible;transform:none}.services-menu a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;font-size:14px;font-weight:700}.services-menu a span{font-size:11px;opacity:.65;min-width:23px}.header-actions{display:flex;align-items:center;gap:10px}.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;border-radius:12px;align-items:center;justify-content:center}.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:"";display:block;width:21px;height:2px;background:currentColor;position:absolute}.menu-toggle:before{transform:translateY(-7px)}.menu-toggle:after{transform:translateY(7px)}.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:198;opacity:0;visibility:hidden;transition:.25s}.menu-overlay.is-open{opacity:1;visibility:visible}.mobile-menu{position:fixed;top:0;left:0;width:min(88vw,390px);height:100dvh;z-index:199;transform:translateX(-105%);transition:transform .32s var(--ease);overflow:auto;padding:20px}.mobile-menu.is-open{transform:none}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid currentColor}.mobile-menu-head img{height:48px;width:auto}.menu-close{width:44px;height:44px;border:0;border-radius:50%;font-size:26px}.mobile-links{display:grid;margin-top:20px}.mobile-links>a,.mobile-services-trigger{padding:15px 8px;border:0;background:none;text-align:left;font-weight:800;border-bottom:1px solid currentColor;display:flex;align-items:center;justify-content:space-between}.mobile-services{display:none;padding:8px 0 12px 12px}.mobile-services.is-open{display:grid}.mobile-services a{padding:10px 12px;font-size:14px;border-left:2px solid currentColor}.body-lock,.menu-open{overflow:hidden}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s}.button:hover{transform:translateY(-2px)}.button svg{width:18px;height:18px}.section{padding:92px 0}.section-title{font-size:clamp(34px,5vw,64px);line-height:.98;letter-spacing:-.045em;margin:0}.section-lead{font-size:18px;max-width:720px}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:900}.media-frame{overflow:hidden;position:relative}.media-frame>img{width:100%;height:100%;object-fit:cover}.hero-photo{animation:slowzoom 18s ease-in-out infinite alternate}@keyframes slowzoom{to{transform:scale(1.08)}}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}.wa-float{position:fixed;right:18px;bottom:18px;z-index:120;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:#20b858;color:#fff;font-weight:900;box-shadow:0 16px 38px rgba(0,0,0,.28)}.wa-float svg{width:24px;height:24px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:900}.field input,.field select,.field textarea{width:100%;border-radius:12px;border:1px solid;padding:14px 15px;background:transparent;color:inherit}.field textarea{min-height:140px;resize:vertical}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .9fr 1fr;gap:36px}.footer-logo{height:74px;width:auto;object-fit:contain}.footer h3{font-size:14px;text-transform:uppercase;letter-spacing:.14em}.footer a{display:block;margin:8px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:22px;margin-top:34px;border-top:1px solid}.contact-list{display:grid;gap:12px}.contact-row{display:flex;gap:12px;align-items:flex-start}.contact-row svg{width:20px;min-width:20px;margin-top:2px}.client-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.client-logo{min-height:116px;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}.client-logo img{max-height:75px;max-width:100%;object-fit:contain}.client-logo-fallback{font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px;text-align:center}.page-hero{padding:76px 0 64px}.page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center}.page-hero .media-frame{min-height:420px}.breadcrumb{font-size:13px;font-weight:800;margin-bottom:24px}.service-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:54px}.service-side{position:sticky;top:118px;align-self:start}.check-list{display:grid;gap:13px;padding:0;margin:26px 0;list-style:none}.check-list li{display:flex;gap:12px;align-items:flex-start}.check-list li:before{content:"✓";display:grid;place-items:center;width:24px;height:24px;min-width:24px;border-radius:50%;font-weight:900}.detail-photo{aspect-ratio:16/9;border-radius:22px;overflow:hidden;margin:34px 0}.detail-photo img{width:100%;height:100%;object-fit:cover}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-card{padding:22px;border-radius:16px}.related-card h3{margin:0 0 8px}.equipment-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0;list-style:none}.equipment-list li{padding:16px;border-radius:14px;font-weight:800}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.category-card{padding:28px;border-radius:22px}.category-card h3{margin-top:0}.category-card ul{columns:2;padding-left:20px}.piping-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.piping-step{padding:24px;border-radius:18px}.piping-step span{display:block;font-size:12px;font-weight:900;letter-spacing:.12em;margin-bottom:12px}.content-wrap{max-width:780px}.content-wrap h2{font-size:clamp(30px,4vw,48px);line-height:1.08}.content-wrap p,.content-wrap li{font-size:17px}.stack{display:grid;gap:20px}.pill-list{display:flex;gap:10px;flex-wrap:wrap}.pill{padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800}.notice{padding:18px 20px;border-radius:16px}.map-placeholder{min-height:370px;border-radius:22px;display:grid;place-items:center;padding:30px;text-align:center;position:relative;overflow:hidden}.map-placeholder:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 22px,currentColor 23px 24px);opacity:.06}.map-placeholder>*{position:relative}.mobile-cta{display:none}
@media(max-width:1080px){.nav-links{gap:16px}.site-logo img{height:54px}.footer-grid{grid-template-columns:1fr 1fr}.equipment-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:960px){.desktop-nav{display:none!important}.menu-toggle{display:flex;position:relative}.header-actions .button .button-label{display:none}.header-actions .button{width:44px;height:44px;padding:0}.section{padding:70px 0}.page-hero-grid,.service-detail-grid{grid-template-columns:1fr}.service-side{position:static}.page-hero .media-frame{min-height:360px}.client-grid{grid-template-columns:repeat(3,1fr)}.related-grid{grid-template-columns:1fr 1fr}.piping-grid{grid-template-columns:1fr 1fr}.category-grid{grid-template-columns:1fr}.equipment-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.container{width:min(100% - 28px,var(--max))}.site-logo img{height:46px;max-width:150px}.section{padding:56px 0}.section-title{font-size:38px}.section-lead{font-size:16px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr;gap:26px 18px}.footer-grid>.footer-brand{grid-column:1/-1}.footer-bottom{display:grid;font-size:13px}.client-grid{grid-template-columns:repeat(2,1fr)}.client-logo{min-height:92px}.related-grid,.piping-grid{grid-template-columns:1fr}.equipment-list{grid-template-columns:1fr 1fr}.category-card ul{columns:1}.page-hero{padding:52px 0 48px}.page-hero .media-frame{min-height:280px}.wa-float{width:52px;height:52px;padding:0;justify-content:center;border-radius:50%}.wa-float span{display:none}.mobile-cta{display:grid;position:fixed;left:10px;right:72px;bottom:10px;z-index:119}.mobile-cta .button{min-height:52px}.wa-float{right:10px;bottom:10px}.footer{padding-bottom:86px}.page-hero-grid{gap:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}[data-reveal]{opacity:1;transform:none}}
/* Cross-version overflow safety for long contact values and mobile drawers. */
html,body{max-width:100%;overflow-x:clip}.contact-row,.contact-row>*{min-width:0}.contact-row a,.contact-row span,.footer a,.footer span{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:1600px){.wa-float{width:56px;height:56px;padding:0;justify-content:center}.wa-float span{display:none}}
/* Keep the desktop Services mega-menu fully inside compact desktop viewports. */
@media (min-width:961px) and (max-width:1100px){.services-menu{right:-252px}}
