/* Native navigation, footer and responsive refinements. */
html{scroll-padding-top:24px}body{min-width:320px}#main-content{min-width:0}#main-content .e-con,#main-content .elementor-widget{min-width:0}#main-content img{max-width:100%}.site-header-v2{position:relative;z-index:200;display:flex;align-items:center;justify-content:space-between;background:#000;min-height:104px;padding:10px max(24px,calc((100vw - 1440px)/2));gap:36px;font-family:Anuphan,Nunito,sans-serif}.site-brand{flex-shrink:0}.site-brand img{width:160px;height:80px;object-fit:contain}.site-header-v2 ul{list-style:none;padding:0;margin:0}.site-header-v2 a{color:#fff;text-decoration:none;font-size:16px}.site-header-v2 a:hover,.site-header-v2 a[aria-current=page],.nav-label:has(>.nav-expand[aria-expanded=true])>a{color:#b0a1be}.nav-root{display:flex;align-items:center;gap:32px}.nav-item{position:relative}.nav-label{display:flex;align-items:center;gap:7px;min-height:42px}.site-header-v2 .nav-expand{background:transparent!important;border:0!important;padding:4px!important;border-radius:0!important;font-size:18px!important;color:#fff!important;line-height:1!important}.nav-item>.nav-label>.nav-expand{display:none}.nav-panel,.nav-products{display:none;position:absolute;background:#000;padding:12px 22px!important;min-width:250px;z-index:10}.nav-panel{top:100%;left:0}.nav-item.is-open>.nav-panel{display:block}.nav-group.is-open>.nav-products{display:block}.solutions-menu{position:static}.solutions-menu>.nav-panel{top:100%;left:auto;right:0;width:min(990px,100%);padding:0 20px!important;gap:24px;align-items:flex-start}.solutions-menu.is-open>.nav-panel{display:flex}.solutions-menu .nav-group{position:relative;flex:1;white-space:nowrap}.solutions-menu .nav-products{top:100%;left:0;min-width:290px}.solutions-menu .nav-group:last-child .nav-products{left:auto;right:0}.nav-products a{display:flex;gap:16px;align-items:center;padding:12px 0;white-space:normal;line-height:1.5}.nav-products a span{color:#a187b9}.nav-toggle{display:none!important}.csg-footer{display:block!important;visibility:visible!important;background:#000;color:#fff;border-top:1px solid #242424;padding:56px max(24px,calc((100vw - 1440px)/2)) 24px;font-family:Anuphan,Nunito,sans-serif;font-size:14px;line-height:1.6}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr .85fr;gap:44px}.csg-footer section{min-width:0}.csg-footer h2{display:table;color:#8d9097;font-family:inherit;font-size:17px;font-weight:400;border-bottom:1px solid #8d9097;padding-bottom:5px;margin:0 0 14px}.csg-footer p{margin:0 0 16px}.csg-footer address{font-style:normal}.csg-footer ul{padding:0;margin:0;list-style:none}.csg-footer li{margin:0 0 7px}.csg-footer a{color:#fff;text-decoration:none}.csg-footer a:hover{color:#b0a1be}.footer-solutions details{margin-bottom:8px}.footer-solutions summary{cursor:pointer;display:flex;align-items:center;gap:12px;list-style:none}.footer-solutions summary::-webkit-details-marker{display:none}.footer-solutions summary span{transition:transform .2s}.footer-solutions details[open] summary span{transform:rotate(180deg)}.footer-solutions details ul{padding:10px 0 6px 12px}.csg-footer .follow-heading{margin-top:30px}.footer-copyright{font-size:13px;color:#a0a0a0;margin-top:36px!important;padding-top:20px;border-top:1px solid #242424}
/* Certificates: compact and top aligned, without the inherited spacer. */
#cert{--min-height:0px!important;--padding-top:32px!important;--padding-bottom:40px!important;min-height:0!important;scroll-margin-top:20px}#cert>.e-con-inner{gap:12px!important;justify-content:flex-start!important;min-height:0!important}#cert .elementor-element-c7c9529{--min-height:0px!important;--justify-content:flex-start!important;--padding-top:0px!important;min-height:0!important;margin-top:8px!important;padding-top:0!important}#cert .elementor-element-d581d55,#cert .elementor-element-d581d55>.elementor-widget-container{margin:0!important;padding:0!important;width:100%!important}#cert .csg-gallery{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:14px!important;align-items:start!important}#cert .csg-gallery .e-gallery-item{aspect-ratio:3/4!important;max-height:180px!important;align-self:start!important}#cert .e-gallery-image{background-size:contain!important;background-position:center top!important;background-repeat:no-repeat!important;transform:none!important}#cert .elementor-gallery-item__content{display:none!important}#image-dialog[open]{margin:24px auto auto;max-height:calc(100dvh - 48px);inset:0 0 auto}#image-dialog img{max-height:calc(100dvh - 125px)}
/* Equal-height facility cards, with actions anchored to the bottom. */
.elementor-element-601780b{align-items:stretch!important}.elementor-element-de7baa4,.elementor-element-9bc225f{align-self:stretch!important;display:flex!important;flex-direction:column!important}.elementor-element-9e982d7,.elementor-element-c2796b1{display:flex!important;flex-direction:column!important;flex:1!important}.elementor-element-c95f480,.elementor-element-2dfb7d9{margin-top:auto!important;padding-top:24px!important}.elementor-element-de7baa4 img,.elementor-element-9bc225f img{height:320px!important;object-fit:cover!important}
/* Map uses a responsive viewBox; labels remain available through the country list. */
.elementor-element-cbf48f3{width:100%!important;max-width:1200px!important;transform:none!important;margin-inline:auto!important}.map-svg{display:block;width:50%!important;max-width:600px!important;height:auto!important;max-height:none!important;aspect-ratio:2/1.12;margin:auto}.map-point{cursor:pointer}.map-point:focus{outline:none;stroke:#fff;stroke-width:3}.map-country-label{fill:#ddd;font-size:12px;font-family:Anuphan,sans-serif;pointer-events:none}.map-tooltip{position:fixed;z-index:500;background:#fff;color:#171717;padding:8px 12px;border-radius:5px;font-size:14px;pointer-events:none}.map-location-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0 24px}.map-location-list button{font:14px Anuphan,sans-serif!important;padding:7px 12px!important;background:#171717!important;color:#fff!important;border:1px solid #655071!important;border-radius:6px!important}.map-location-list button[aria-pressed=true]{background:#7f689a!important}.map-error{padding:20px;text-align:center}
@media(max-width:1100px){.site-header-v2{flex-wrap:wrap;padding:10px 24px;gap:0}.site-brand img{width:140px;height:70px}.nav-toggle{display:block!important}#site-nav{display:none;width:100%;max-height:calc(100dvh - 110px);overflow:auto}#site-nav.is-open{display:block}.nav-root{display:block;padding-top:12px!important}.nav-item{border-top:1px solid #242424}.nav-label{justify-content:space-between;min-height:50px}.nav-item>.nav-label>.nav-expand{display:block}.nav-panel,.solutions-menu>.nav-panel{position:static;width:auto;min-width:0;padding:0 16px 12px!important}.solutions-menu.is-open>.nav-panel{display:block}.solutions-menu .nav-group{white-space:normal}.nav-products,.solutions-menu .nav-products{position:static;min-width:0;padding:0 14px 12px!important}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}#cert .csg-gallery{grid-template-columns:repeat(6,minmax(0,1fr))!important}.elementor-element-de7baa4 img,.elementor-element-9bc225f img{height:250px!important}.e-n-tabs-heading{gap:8px!important}.e-n-tab-title{white-space:normal!important;min-width:0!important}.map-country-label{display:none}}
@media(max-width:767px){.site-header-v2{padding:8px 18px;min-height:84px}.site-brand img{height:62px;width:124px}.csg-footer{padding:36px 20px 20px}.footer-grid{gap:28px 22px}.footer-company{grid-column:1/-1}.csg-footer .footer-grid>section:last-child{grid-column:1/-1}.csg-footer a{overflow-wrap:anywhere}#cert{--padding-left:20px!important;--padding-right:20px!important}#cert .csg-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}#cert .e-gallery-item{max-height:145px!important}#cert .elementor-heading-title{font-size:clamp(20px,6vw,30px)!important;line-height:1.3!important}.elementor-element-601780b{flex-direction:column!important}.elementor-element-de7baa4,.elementor-element-9bc225f{width:100%!important;max-width:100%!important}.elementor-element-de7baa4 img,.elementor-element-9bc225f img{height:auto!important;aspect-ratio:3/2}.elementor-element-c95f480,.elementor-element-2dfb7d9{padding-top:8px!important}.elementor-loop-container.elementor-grid{grid-template-columns:1fr!important}.elementor-form .elementor-col-50{width:100%!important}.map-location-list{gap:6px}.map-location-list button{font-size:13px!important;padding:6px 9px!important}.spec-table{font-size:14px}#main-content iframe{max-width:100%}.e-filter-item{font-size:14px!important;padding:9px 12px!important}}


#cert .elementor-widget{margin-block-end:0!important}@media(max-width:1100px){.site-header-v2 .nav-expand{min-width:44px;min-height:44px}.elementor-loop-container.elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.elementor-loop-container.elementor-grid{grid-template-columns:1fr!important}}

/* Bridge the header padding so pointer travel into the mega-menu is continuous. */
@media(min-width:1101px){.solutions-menu>.nav-panel::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px;background:transparent}.solutions-menu>.nav-panel{overflow:visible}.solutions-menu .nav-products::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px;background:transparent}}

/* Tables start at the same top edge as their comparison illustrations. */
.specification{margin:0!important}.elementor-element-dd1a018{align-items:flex-start!important;--align-items:flex-start!important}.elementor-element-dd1a018>.elementor-widget{align-self:flex-start!important;margin-top:0!important}.elementor-element-dd1a018>.elementor-widget>.elementor-widget-container{margin-top:0!important;padding-top:0!important}.elementor-element-7658c54 img{display:block;margin:0!important;object-fit:contain;object-position:top}
/* Native horizontal certificate rows: swipe, keyboard or arrow controls. */
.certificate-strip{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;width:100%;max-width:100%;min-width:0;margin:20px 0 32px}.certificate-track{display:flex;flex-wrap:nowrap;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b0a1be transparent;padding:8px 0 18px;min-width:0}.certificate-card{display:block;flex:0 0 190px;width:190px;height:270px;scroll-snap-align:start;text-decoration:none}.certificate-card img{display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:top center!important;border-radius:0!important;margin:0!important}.certificate-strip>button{display:flex;align-items:center;justify-content:center;padding:0!important;width:44px;min-height:52px;font-family:Arial,sans-serif!important;font-size:42px!important;line-height:1!important;border:0!important;background:transparent!important;color:#fff!important;border-radius:4px!important;cursor:pointer}.certificate-strip>button:disabled{opacity:.25;cursor:default}.certificate-strip>button:not(:disabled):hover{background:#ffffff18!important}@media(max-width:767px){.certificate-strip{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}.certificate-strip>button{width:32px;min-height:48px;font-size:34px!important}.certificate-card{flex-basis:150px;width:150px;height:215px}.certificate-track{gap:14px}.elementor-element-dd1a018{flex-direction:column!important}.elementor-element-dd1a018>.elementor-widget{width:100%!important;max-width:100%!important}}@media(prefers-reduced-motion:reduce){.certificate-track{scroll-behavior:auto}}

.hero-video-control{position:absolute!important;right:24px;bottom:24px;z-index:20!important;padding:10px 16px!important;background:#000a!important;border:1px solid #ffffff80!important;border-radius:6px!important;color:#fff!important;font:14px Anuphan,sans-serif!important;pointer-events:auto!important}@media(max-width:767px){.hero-video-control{right:16px;bottom:16px}}

/* Full-bleed hero media, independent of the legacy video positioning rules. */
.csg-home-hero{position:relative!important;isolation:isolate;overflow:hidden!important;width:100%!important;min-height:calc(100svh - 104px)!important;padding:0!important;--padding-top:0px;--padding-bottom:0px}.csg-home-hero::before,.csg-home-hero::after{content:none!important}.csg-home-hero>.hero-media{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;overflow:hidden;z-index:0;pointer-events:none}.csg-home-hero .hero-background-video{position:absolute!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;transform:none!important;display:block!important}.hero-media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.32)}.csg-home-hero>.e-con-inner{position:relative!important;z-index:1;min-height:inherit!important;width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:40px!important;padding:72px 24px!important}.csg-home-hero .elementor-widget-heading,.csg-home-hero .elementor-widget-button{position:relative!important;margin:0!important;transform:none!important;text-align:center}.csg-home-hero h1{font-size:clamp(42px,5vw,96px)!important;line-height:1.12!important;max-width:1300px;margin:0 auto!important}.csg-home-hero>.hero-video-control{z-index:2!important}@media(max-width:767px){.csg-home-hero{min-height:calc(100svh - 84px)!important}.csg-home-hero>.e-con-inner{padding:64px 20px 88px!important;gap:30px!important}}

/* Keep the hero CTA clear of the headline and anchored to the bottom center. */
.csg-home-hero .elementor-widget-button{position:absolute!important;inset:auto 20px 48px!important;top:auto!important;bottom:48px!important;left:20px!important;right:20px!important;width:auto!important;max-width:none!important;margin:0!important;transform:none!important;z-index:2;text-align:center!important}.csg-home-hero .elementor-widget-button>.elementor-widget-container{margin:0!important;padding:0!important;transform:none!important}.csg-home-hero .elementor-button-wrapper{display:flex;justify-content:center}.csg-home-hero .elementor-widget-heading{inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important}.csg-home-hero>.e-con-inner{padding-bottom:120px!important}.hero-video-control{display:none!important}@media(max-width:767px){.csg-home-hero .elementor-widget-button{bottom:32px!important;inset:auto 20px 32px!important}}

/* Blinking project markers. */
@keyframes project-marker-blink{0%,100%{opacity:1}50%{opacity:.15}}
.map-svg .map-point{animation:project-marker-blink 1.5s ease-in-out infinite!important}
.map-svg .map-point:hover,.map-svg .map-point:focus{animation:none!important;opacity:1}


/* Explicitly requested scroll effects take precedence over the inherited reset. */
html.csg-scroll-effects{scroll-behavior:smooth!important}
html.csg-scroll-effects #main-content .scroll-reveal{opacity:0!important;translate:0 22px;transition:opacity .65s ease,translate .65s ease!important}
html.csg-scroll-effects #main-content .scroll-reveal.is-visible{opacity:1!important;translate:0 0}

.seo-breadcrumbs{max-width:1500px;margin:0 auto;padding:16px 24px;font:14px Anuphan,sans-serif;color:#b0a1be}.seo-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.seo-breadcrumbs li+li:before{content:"/";padding-right:8px;color:#888}.seo-breadcrumbs a{color:#ccc;text-decoration:none}.seo-product-help{max-width:1440px;margin:40px auto;padding:32px 24px;border-top:1px solid #333}.seo-product-help h2{font-size:28px}.seo-product-help p{max-width:900px;font-size:17px;line-height:1.7}.seo-related{display:flex;flex-wrap:wrap;gap:14px 24px;list-style:none;padding:0}.seo-related a{color:#cdb9e3;text-decoration:underline}.seo-page-title{max-width:1440px;margin:32px auto;padding:0 24px;font-size:36px}

/* Targeted responsive fixes; original page styles control content layout. */
.seo-breadcrumbs,.seo-related,.seo-related-title,.seo-product-help:has(>h2.seo-related-title){display:none!important}
.hamburger-icon{display:flex;flex-direction:column;gap:5px;width:20px;margin:auto}
.hamburger-icon>span{display:block;width:20px;height:2px;background:currentColor}
@media(max-width:1100px){
 .site-header-v2{min-height:76px;padding:8px 16px;gap:0}
 .site-brand img{width:108px;height:60px;display:block}
 .site-header-v2 .nav-toggle{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;padding:10px!important;background:transparent!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 #site-nav{flex-basis:100%;max-height:calc(100svh - 76px)}
 .nav-root{padding:8px 0!important}
 .nav-label>a{padding:10px 0;flex:1}
 .nav-panel,.nav-products{box-sizing:border-box;max-width:100%}
 #main-content .map-svg{width:100%!important;max-width:100%!important;height:auto!important;margin:0 auto;aspect-ratio:auto}
 #main-content .elementor-element-cbf48f3{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}
 /* The original four-column breakage composition needs a linear reading order. */
 #main-content .elementor-element-ee7f82a,#main-content .elementor-element-30caf5e,#main-content .elementor-element-011b9e9{--width:100%!important;width:100%!important;max-width:100%!important;height:auto!important;padding:0!important}
 #main-content .elementor-element-08d53c5{display:none!important}
 #main-content .elementor-element-7bcca08,#main-content .elementor-element-88bff5e{width:100%!important;max-width:100%!important;position:static!important;margin:0!important;transform:none!important}
 #main-content .elementor-element-7bcca08>.elementor-widget-container,#main-content .elementor-element-88bff5e>.elementor-widget-container,#main-content .elementor-element-cff5180>.elementor-widget-container{margin:0!important;padding:0!important;height:auto!important}
 #main-content .elementor-element-7bcca08 img{display:block;width:100%;max-width:550px;height:auto!important;margin:0 auto}
 #main-content .elementor-element-011b9e9{margin-top:24px!important}
 #main-content .elementor-element-cff5180 br{display:none}
 #main-content .elementor-element-cff5180{margin-bottom:24px}
 .csg-home-hero{min-height:calc(100svh - 76px)!important}
 .csg-home-hero .elementor-heading-title{font-size:clamp(32px,6vw,64px)!important;line-height:1.15!important}
}
@media(max-width:767px){
 .csg-home-hero>.e-con-inner{padding:56px 20px 112px!important}
 #main-content .csg-home-hero .elementor-widget-heading .elementor-heading-title{font-size:clamp(30px,8vw,46px)!important}
 .csg-home-hero .elementor-widget-button{bottom:40px!important;inset:auto 20px 40px!important}
}

@media(max-width:1100px){#main-content .elementor-element-251eaee>.e-con-inner{flex-direction:column!important;gap:24px!important}#main-content .elementor-element-251eaee{height:auto!important}}

/* Homepage mobile/tablet type and consistent news artwork. */
@media(max-width:1100px){
 body.home #main-content .elementor-element-f0f6c36 .elementor-heading-title,body.home #main-content .elementor-widget-theme-post-title .elementor-heading-title{font-family:"Roboto Slab",Georgia,serif!important;font-size:24px!important;font-weight:600!important;line-height:1.4!important}
 body.home #main-content .csg-home-hero .elementor-heading-title{font-family:Anton,Impact,sans-serif!important;font-size:clamp(32px,6vw,64px)!important;font-weight:400!important;line-height:1.15!important}
 body.home #main-content .elementor-widget-theme-post-featured-image{width:100%!important;max-width:100%!important}
 body.home #main-content .elementor-widget-theme-post-featured-image>.elementor-widget-container{width:100%!important;aspect-ratio:2/1;height:auto!important;border-radius:20px!important;overflow:hidden;margin:0!important;padding:0!important}
 body.home #main-content .elementor-widget-theme-post-featured-image img{display:block!important;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:2/1!important;object-fit:cover!important;object-position:center!important;border-radius:20px!important}
 body.home #main-content .elementor-widget-theme-post-title{margin-top:16px!important}
 body.home #main-content .elementor-loop-container{gap:40px 28px!important}
 body.home #main-content .elementor-widget-post-info{font-family:Anuphan,Nunito,sans-serif;font-size:14px;line-height:1.5}
}
@media(max-width:767px){
 body.home #main-content .elementor-element-f0f6c36 .elementor-heading-title,body.home #main-content .elementor-widget-theme-post-title .elementor-heading-title{font-size:20px!important;line-height:1.4!important}
 body.home #main-content .csg-home-hero .elementor-heading-title{font-size:clamp(30px,8vw,46px)!important;line-height:1.15!important}
 body.home #main-content .elementor-loop-container{grid-template-columns:1fr!important;row-gap:44px!important}
}

/* Fit the whole world map, removing the inherited 2x inner-container zoom. */
@media(max-width:1100px){
 #main-content .elementor-292 .elementor-element-5bda7fb{--content-width:100%!important;--min-height:0px!important;min-height:0!important;height:auto!important;padding:0 12px!important}
 #main-content .elementor-292 .elementor-element-5bda7fb>.e-con-inner{width:100%!important;max-width:100%!important;min-height:0!important}
 #main-content .elementor-292 .elementor-element-cbf48f3{width:100%!important;max-width:100%!important;--container-widget-width:100%!important;transform:none!important}
 #main-content .elementor-292 .elementor-element-cbf48f3>.elementor-widget-container{--e-transform-scale:1!important;transform:none!important;scale:none!important;translate:none!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important}
 #main-content .elementor-292 .map-svg{display:block;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:980/540!important;transform:none!important}
}
