:root{--navy:#292f51;--blue:#5eb2c0;--accent:#5eb2c0;--bg:#f4f7fb;--txt:#3b4656}
*{box-sizing:border-box}body{margin:0;font-family:"Plus Jakarta Sans",sans-serif;color:var(--txt);line-height:1.7}
img{max-width:100%;display:block}a{color:#5eb2c0;text-decoration:none}
h1,h2,h3,h4{color:#5eb2c0;line-height:1.25;margin:0 0 .6em}
.container{width:min(1180px,92%);margin:0 auto}.center{text-align:center}.small{font-size:.9rem}.narrow{max-width:900px}
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.header-in{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.logo img{height:56px}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px}
.main-nav a{color:rgba(0,0,0,.8);font-weight:600;padding:8px 0;display:block}
.main-nav a:hover{color:#5eb2c0}
.has-sub{position:relative}.has-sub ul{display:none;position:absolute;left:0;top:100%;background:#fff;flex-direction:column;gap:0;min-width:260px;box-shadow:0 8px 20px rgba(0,0,0,.12);padding:8px 16px}
.has-sub:hover ul{display:flex}.has-sub ul a{font-weight:500;padding:8px 0}
.menu-btn{display:none;background:none;border:0;padding:8px}.menu-btn span{display:block;width:26px;height:3px;background:var(--navy);margin:5px 0}
.hero{background-size:cover;background-position:center;color:#fff;padding:140px 0}
.hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4.32rem);max-width:800px}.hero-sub{font-size:.4167em}.hero p{max-width:640px;font-size:1.15rem}
.eyebrow{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.85rem;color:var(--accent);font-weight:700;margin-bottom:10px}.eyebrow.dark{color:#5eb2c0}
.btn{display:inline-block;background:#5eb2c0;color:#fff;border:0;padding:13px 32px;border-radius:4px;font-weight:700;cursor:pointer;font-size:1rem}
.btn:hover{background:#4a9aa8;color:#fff}
.page-banner{background:#5eb2c0;color:#fff;padding:70px 0;text-align:center}.page-banner h1{color:#fff;margin:0;font-size:2.6rem}
.section{padding:80px 0}.alt{background:var(--bg)}
.sec-head{text-align:center;margin-bottom:40px}.sec-head span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700;font-size:.85rem}.sec-head h2{font-size:clamp(1.5rem,3vw,2.2rem)}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.svc{position:relative;display:block;overflow:hidden;border-radius:6px;color:#fff}.svc img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .4s}
.svc:hover img{transform:scale(1.06)}.svc div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:linear-gradient(transparent 35%,rgba(0,0,0,.9))}
.svc h3{color:#fff;margin:0}.svc span{color:var(--accent);font-weight:600}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.two-col.rev .img{order:-1}
.img img{border-radius:6px;width:100%;object-fit:cover}
.logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;align-items:center}.logo-grid img{margin:auto;max-width:140px}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-bottom:40px}
.feat{background:#fff;padding:30px;border-radius:6px;box-shadow:0 4px 16px rgba(41,47,81,.08);text-align:center}.feat img{width:70px;margin:0 auto 14px}
.alt .feat{background:#fff}
.cert-grid{display:flex;gap:30px;justify-content:center;flex-wrap:wrap}.cert-grid img{width:240px}
.ticks{list-style:none;padding:0}.ticks li{padding-left:30px;position:relative;margin-bottom:12px}.ticks li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.nums li{margin-bottom:8px}
.exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:26px;margin-top:40px}.exp{background:var(--bg);padding:24px;border-left:4px solid var(--accent);border-radius:4px}.exp h4{margin-bottom:8px}.exp p{margin:0}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.g-item img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:4px;transition:.3s}.g-item:hover img{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:100}.lightbox[hidden]{display:none}.lightbox img{max-height:90vh;max-width:90vw}.lightbox button{position:absolute;top:20px;right:30px;background:none;border:0;color:#fff;font-size:2.5rem;cursor:pointer}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:60px}.info{text-align:center;background:var(--bg);padding:30px 16px;border-radius:6px}.info img{width:60px;margin:0 auto 10px}.info p{margin:0;font-weight:600}
form label{display:block;margin-bottom:16px;font-weight:600;color:#5eb2c0}form input,form textarea{width:100%;padding:12px;border:1px solid #cfd8e3;border-radius:4px;font:inherit;margin-top:6px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.site-footer{background:#5eb2c0;color:#fff;padding-top:60px}.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.4fr;gap:40px;padding-bottom:40px}
.site-footer h4{color:#fff}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:8px}.site-footer a{color:#fff}.site-footer a:hover{color:#fff}
.foot-logo{width:150px;margin-bottom:14px}.copy{border-top:1px solid rgba(255,255,255,.35);padding:18px 0;text-align:center;font-size:.9rem}
@media(max-width:900px){.two-col,.foot-grid{grid-template-columns:1fr}.two-col.rev .img{order:0}
.menu-btn{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:10px 4%;box-shadow:0 8px 16px rgba(0,0,0,.1)}
.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:0}.has-sub ul{display:flex;position:static;box-shadow:none;padding:0 0 0 14px}
.hero{padding:90px 0}.section{padding:50px 0}.row{grid-template-columns:1fr}}
.loc-top{padding-bottom:40px}.loc-head h2{font-size:clamp(1.8rem,4vw,2.8rem);color:#1a1a1a}.loc-head span{text-transform:uppercase}
.bar{display:block;width:110px;height:5px;background:var(--accent);margin:22px auto 0}
.locator{display:grid;grid-template-columns:320px 1fr;height:640px;border:1px solid #e2e6ec}
.loc-side{display:flex;flex-direction:column;min-height:0;background:#fff}
.loc-search{background:#000;padding:14px}.loc-search input{width:100%;padding:12px;border:0;border-radius:3px;font:inherit}
#loc-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}
#loc-list li{padding:16px 20px;border-bottom:1px solid #e2e6ec;cursor:pointer}#loc-list li:hover{background:var(--bg)}#loc-list li[hidden]{display:none}
#loc-list h4{margin:0;font-weight:500;color:#111}#loc-list span{color:#888;font-size:.9rem}
#map{height:100%;z-index:1}
.pin{background:#e53935;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #b71c1c;box-shadow:0 2px 4px rgba(0,0,0,.35)}
.pin:after{content:"";position:absolute;width:10px;height:10px;background:#8e1b1b;border-radius:50%;top:6px;left:6px}
.loc-adv{padding-top:40px}.adv-title{font-size:1.6rem;color:#1a1a1a;margin-bottom:24px}
.adv-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}.adv-cols p{margin:0 0 14px}
@media(max-width:900px){.locator{grid-template-columns:1fr;height:auto}.loc-side{max-height:300px}#map{height:420px}.adv-cols{grid-template-columns:1fr;gap:0}}
.logo-slider{position:relative;padding:0 48px}
.logo-track{display:flex;flex-wrap:nowrap;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab}
.logo-track::-webkit-scrollbar{display:none}
.logo-track img{flex:0 0 150px;width:150px;height:auto;scroll-snap-align:start;-webkit-user-drag:none;user-select:none}
.ls-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:#5eb2c0;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.ls-btn.prev{left:0}.ls-btn.next{right:0}.ls-btn:hover{background:#4a9aa8}
main{position:relative;overflow:hidden}
.wm-layer{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.wm-layer img{position:absolute;max-width:none}
main>section{position:relative;z-index:1}
.section.alt{background:rgba(244,247,251,.8)}
.lightbox button{background:none;border:0;color:#fff;cursor:pointer;z-index:2}
.lightbox .lb-close{position:absolute;top:20px;right:30px;font-size:2.5rem}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:3.5rem;padding:10px 18px}
.lightbox .lb-prev{left:10px;right:auto}.lightbox .lb-next{right:10px;left:auto}
.lightbox .lb-count{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#fff}
.g-item{cursor:zoom-in}

/* ===== MSC-inspired theme (overrides) ===== */
:root{--ink:#292f51;--navy:#292f51;--accent:#5eb2c0;--accent-d:#4a9aa8;--bg:#f2f2f2;--txt:#4a4a4a}
body{font-family:"Plus Jakarta Sans","Helvetica Neue",Arial,sans-serif;color:var(--txt);line-height:1.65;background:#fff}
h1,h2,h3,h4{color:var(--ink);font-weight:700;letter-spacing:-.01em}
a{color:var(--navy)}
.topbar{background:var(--accent);color:#fff;font-size:.82rem}
.topbar .container{display:flex;justify-content:flex-end;gap:26px;padding:7px 0;flex-wrap:wrap}
.topbar a{color:#fff;opacity:.95}.topbar a:hover{opacity:1;color:var(--ink)}
.site-header{box-shadow:none;border-bottom:1px solid #e4e4e4}
.header-in{padding:0}
.logo img{height:78px;margin:10px 0}
.main-nav ul{gap:0;height:100%}
.main-nav>ul>li>a{color:var(--ink);font-weight:500;font-size:.98rem;padding:10px 18px 4px;margin:0 2px;border-bottom:4px solid transparent;transition:.2s}
.main-nav>ul>li>a:hover,.main-nav>ul>li>a.active{color:var(--ink);border-bottom-color:var(--accent)}
.main-nav a:hover{color:var(--ink)}
.has-sub ul{border-top:4px solid var(--accent);border-radius:0;box-shadow:0 14px 28px rgba(0,0,0,.14);padding:10px 0;min-width:280px}
.has-sub ul a{padding:10px 22px;color:var(--ink)}.has-sub ul a:hover{background:var(--bg)}
.hero{position:relative;padding:190px 0 150px;background-position:center}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--accent)}
.hero .container{position:relative;z-index:1}
.hero h1{font-size:clamp(2.4rem,5.5vw,4.4rem);font-weight:900;text-transform:uppercase;line-height:1.08;max-width:900px}
.hero-sub{display:inline-block;margin-top:14px;font-size:.36em;letter-spacing:.2em;background:var(--accent);color:var(--ink);padding:6px 14px;font-weight:700}
.hero p{font-size:1.2rem;font-weight:300;margin:26px 0 32px}
.eyebrow,.eyebrow.dark{color:var(--accent);letter-spacing:.2em}.eyebrow.dark{color:var(--navy)}
.btn{background:var(--accent);color:var(--ink);border-radius:0;padding:15px 38px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;transition:.2s}
.btn:hover{background:var(--ink);color:#fff}
.page-banner{background:var(--navy);color:#fff;padding:80px 0;text-align:left;border-bottom:8px solid var(--accent)}
.page-banner h1{color:#fff;font-size:clamp(2rem,4vw,3.2rem);text-transform:uppercase;font-weight:900}
.section{padding:90px 0}.alt,.section.alt{background:var(--bg)}
.sec-head{text-align:left;margin-bottom:46px}
.sec-head span{color:var(--navy);letter-spacing:.2em;position:relative;padding-bottom:14px;margin-bottom:10px}
.sec-head span:after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;background:var(--accent)}
.sec-head h2{font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:900;max-width:820px}
.clients .sec-head,.certs .sec-head,.features .sec-head{text-align:center}
.clients .sec-head span:after,.certs .sec-head span:after,.features .sec-head span:after{left:50%;transform:translateX(-50%)}
.clients .sec-head h2,.certs .sec-head h2,.features .sec-head h2{margin-left:auto;margin-right:auto}
.svc{border-radius:0;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.svc div{background:linear-gradient(transparent 30%,rgba(41,47,81,.95));border-bottom:5px solid var(--accent)}
.svc h3{text-transform:uppercase;font-size:1.15rem}.svc span{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.img img,.g-item img{border-radius:0}
.feat{border-radius:0;box-shadow:none;border:1px solid #e4e4e4;border-top:5px solid var(--accent);text-align:left;transition:.25s}
.feat:hover{box-shadow:0 14px 30px rgba(0,0,0,.12);transform:translateY(-4px)}
.feat img{margin:0 0 16px;width:60px}
.exp{background:#fff;border-left:0;border-top:5px solid var(--accent);border-radius:0;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.info{background:#fff;border:1px solid #e4e4e4;border-bottom:5px solid var(--accent);border-radius:0;text-align:left;padding:28px 22px}
.info img{margin:0 0 12px;width:48px}.info a{color:var(--ink)}
form label{color:var(--ink);font-weight:500}
form input,form textarea{border:1px solid #c9c9c9;border-radius:0;background:#fff}form input:focus,form textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.ticks li:before{color:var(--navy)}
.logo-track img{filter:none;opacity:1}
.ls-btn{background:var(--ink);color:var(--accent);border-radius:0}.ls-btn:hover{background:var(--accent);color:var(--ink)}
.bar{background:var(--accent)}.loc-head h2,.adv-title{color:var(--ink)}
.locator{border-radius:0}.loc-search{background:var(--ink)}
.site-footer{background:var(--ink);color:#d6d6d6;border-top:8px solid var(--accent)}
.site-footer h4{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.9rem}
.site-footer a{color:#fff}.site-footer a:hover{color:var(--accent)}
.copy{border-top:1px solid rgba(255,255,255,.15);color:#999}
@media(max-width:900px){.main-nav{border-top:1px solid #e4e4e4}.main-nav>ul>li>a{padding:14px 0;border-bottom:1px solid #eee}.topbar .container{justify-content:center;gap:14px}.hero{padding:110px 0 90px}.sec-head{text-align:left}}

button,input,textarea,select{font-family:inherit}
a:hover{color:var(--navy)}.btn:hover,.svc:hover{color:#fff}
.eyebrow.dark,.sec-head span,.loc-head span{color:var(--navy)}
.hero .eyebrow,.page-banner .eyebrow{color:var(--accent)}
.hero h1,.page-banner h1,.svc h3{color:#fff}.hero-sub{color:#fff}
.svc span{color:var(--accent)}
.site-footer h4,.site-footer a:hover{color:var(--accent)}.site-footer a{color:#fff}
.svc,.svc img,.img img,.g-item img{border-radius:15pt}
.svc div{border-radius:0 0 15pt 15pt}
.btn,button[type=submit],form button{border-radius:5pt}
.btn,.btn:hover{color:#fff}.btn:hover{background:var(--ink)}
.has-sub ul a:hover,.main-nav a:hover{color:var(--accent)}
/* gray accents */
:root{--bg:#e9ebee;--gray:#dfe2e6}
.section.alt{background:var(--bg)}
.section.features{background:var(--bg)}
.section.certs{background:var(--gray)}
.section.clients{background:#fff;border-top:1px solid #e4e6e9}
.cert-grid img{background:#fff;padding:12px;border-radius:15pt;box-shadow:0 4px 14px rgba(41,47,81,.1)}
.info{background:var(--bg);border-color:var(--gray)}
.exp{background:var(--bg)}
.feat{background:#fff;border-color:var(--gray)}
.copy{background:#22274a}
.has-sub ul a:hover{background:var(--bg)}
.page-banner{background-size:cover;background-position:center;padding:150px 0 110px}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:100px}
section[id]:target .sec-head h2,section[id]:target>.container>h2,section[id]:target h2{position:relative}
section[id]:target h2:after{content:"";display:block;width:70px;height:4px;background:var(--accent);margin-top:12px}
.hero-sub{background:#292f51;color:#fff}
.btn,button[type=submit],form button{background:#292f51;color:#fff}
.btn:hover,button[type=submit]:hover,form button:hover{background:#5eb2c0;color:#fff}
.has-sub ul{background:#292f51;border-top-color:#5eb2c0}
.has-sub ul a,.main-nav .has-sub ul a{color:#fff}
.has-sub ul a:hover,.main-nav .has-sub ul a:hover{background:#5eb2c0;color:#fff}
.has-sub ul{background:#292f51;border-top:4px solid #5eb2c0}
.has-sub ul a,.main-nav .has-sub ul a{color:#fff}
.has-sub ul a:hover,.main-nav .has-sub ul a:hover{background:#5eb2c0;color:#fff}
@media(max-width:900px){.has-sub ul{padding:6px 0 6px 14px}}
.svc{display:flex;flex-direction:column;background:#292f51;overflow:hidden}
.svc img{aspect-ratio:4/3;border-radius:15pt 15pt 0 0}
.svc div{position:static;inset:auto;background:#292f51;border:0;border-radius:0 0 15pt 15pt;padding:22px 22px 24px;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.svc h3{color:#fff;font-size:1.2rem;line-height:1.3;margin:0}
.svc span{align-self:flex-start;background:#5eb2c0;color:#fff;padding:9px 20px;border-radius:5pt;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.2s}
.svc span:after{content:" \2192"}
.svc:hover span{background:#fff;color:#292f51}

/* ===== Kuehne+Nagel-inspired layout ===== */
.container{width:min(1280px,92%)}
.site-header{background:#fff;border-bottom:0;box-shadow:0 1px 0 #e1e4e8}
.main-nav>ul>li>a{font-weight:400;font-size:1rem;padding:10px 20px 4px}
.hero{padding:0;min-height:640px;display:flex;align-items:flex-end;background-size:cover;background-position:center}
.hero:after{display:none}
.hero .container{padding-bottom:0}
.hero-card{background:#292f51;color:#fff;padding:48px 52px 52px;max-width:680px;border-radius:15pt 15pt 0 0;margin-bottom:0}
.hero-card h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:700;text-transform:none;line-height:1.15;margin:0 0 6px}
.hero-card .hero-sub{margin-top:8px;font-size:.72rem;background:#5eb2c0}
.hero-card p{font-size:1.05rem;margin:22px 0 28px}
.hero-card .btn{background:#5eb2c0}.hero-card .btn:hover{background:#fff;color:#292f51}
.sec-head{text-align:left;margin-bottom:40px;border-top:1px solid #d9dde2;padding-top:22px}
.sec-head span{font-weight:500;letter-spacing:.14em}.sec-head span:after{display:none}
.sec-head h2{font-weight:700;font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.2}
.clients .sec-head,.certs .sec-head,.features .sec-head{text-align:left}
.clients .sec-head h2,.certs .sec-head h2,.features .sec-head h2{margin-left:0}
.section{padding:84px 0}
.two-col{gap:0;align-items:stretch}
.two-col .img img{height:100%;min-height:440px;object-fit:cover}
.two-col>div:not(.img){background:#fff;padding:52px 56px;margin:40px 0 40px -90px;position:relative;z-index:2;box-shadow:0 18px 40px rgba(41,47,81,.14);border-radius:15pt;align-self:center}
.two-col.rev>div:not(.img){margin:40px -90px 40px 0}
.section.alt .two-col>div:not(.img){background:#fff}
.two-col>div:not(.img) h2{font-size:clamp(1.6rem,2.8vw,2.3rem)}
.two-col .img{position:relative;z-index:1}
.svc-grid{gap:0;border:1px solid #d9dde2;border-radius:15pt;overflow:hidden}
.svc{border-radius:0;box-shadow:none;border-right:1px solid #d9dde2}
.svc:last-child{border-right:0}
.svc img{border-radius:0}
.svc div{border-radius:0}
.feat-grid{gap:0;border:1px solid #d9dde2;border-radius:15pt;overflow:hidden;background:#fff}
.feat{border:0;border-right:1px solid #e3e6ea;border-bottom:1px solid #e3e6ea;border-top:0;border-radius:0;box-shadow:none;padding:38px 34px}
.feat:hover{transform:none;box-shadow:inset 0 -4px 0 #5eb2c0}
.exp-grid{gap:0;border:1px solid #d9dde2;border-radius:15pt;overflow:hidden}
.exp{border-radius:0;border-top:0;box-shadow:none;border-right:1px solid #d9dde2;border-bottom:1px solid #d9dde2;padding:32px}
.info-grid{gap:0;border:1px solid #d9dde2;border-radius:15pt;overflow:hidden;background:#fff}
.info{border:0;border-right:1px solid #e3e6ea;border-radius:0;padding:34px 28px}
.site-footer{border-top:0;padding-top:72px;background:#292f51}
.foot-grid{border-bottom:1px solid rgba(255,255,255,.18)}
.site-footer h4{color:#5eb2c0}
@media(max-width:900px){
.hero{min-height:520px}.hero-card{padding:32px 26px;border-radius:15pt 15pt 0 0}
.two-col>div:not(.img),.two-col.rev>div:not(.img){margin:-40px 16px 0;padding:32px 26px}
.two-col .img img{min-height:260px}
.svc{border-right:0;border-bottom:1px solid #d9dde2}}
.has-sub:hover ul{display:none}
.has-sub.open ul{display:flex}
.has-sub>a:after{content:"";display:inline-block;margin-left:8px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.2s}
.has-sub.open>a:after{transform:rotate(225deg)}
/* Services dropdown: larger, clearer */
.has-sub ul{left:50%;transform:translateX(-30%);min-width:340px;padding:8px 0;border-top:4px solid #5eb2c0;border-radius:0 0 15pt 15pt;background:#292f51;box-shadow:0 20px 40px rgba(41,47,81,.35);z-index:60}
.has-sub ul li{list-style:none;border-bottom:1px solid rgba(255,255,255,.12)}
.has-sub ul li:last-child{border-bottom:0}
.main-nav .has-sub ul a{display:block;padding:16px 28px;font-size:1.05rem;font-weight:500;color:#fff;border:0;margin:0}
.main-nav .has-sub ul a:hover{background:#5eb2c0;color:#fff;padding-left:34px}
.has-sub ul a{transition:.2s}
@media(max-width:900px){.has-sub ul{position:static;transform:none;min-width:0;box-shadow:none;border-radius:0}}
.main-nav .has-sub ul{height:auto;flex-direction:column;gap:0}
section[id]{scroll-margin-top:130px}
/* Clean two-column structure (no overflow) */
.two-col{gap:56px;align-items:center}
.two-col>div:not(.img),.two-col.rev>div:not(.img),.section.alt .two-col>div:not(.img){margin:0;padding:0;background:transparent;box-shadow:none;border-radius:0;align-self:center}
.two-col .img img{height:auto;min-height:0;aspect-ratio:4/3;width:100%;object-fit:cover}
.two-col .img img+img{margin-top:16px}
.sec-head+.two-col{margin-top:0}
.exp-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:48px}
.exp-grid .exp:last-child:nth-child(3n+1){grid-column:1/-1}
@media(max-width:900px){.two-col{gap:28px}.two-col>div:not(.img),.two-col.rev>div:not(.img){margin:0;padding:0}.two-col .img img{min-height:0}}
.exp-grid{grid-template-columns:repeat(3,1fr)}
.exp-grid .exp:last-child:nth-child(3n+1){grid-column:1/-1}
@media(max-width:900px){.exp-grid{grid-template-columns:1fr}}
#sts-services .two-col>div:not(.img){align-self:start}#sts-services .two-col{margin-bottom:0}
/* Services: flat alternating layout with expertise accordion */
.acc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin-top:12px}
.acc{border-bottom:1px solid #c9ced4}
.acc summary{list-style:none;cursor:pointer;padding:12px 28px 12px 0;font-weight:500;color:#292f51;position:relative;font-size:.95rem}
.acc summary::-webkit-details-marker{display:none}
.acc summary:after{content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;border-right:2px solid #5eb2c0;border-bottom:2px solid #5eb2c0;transform:translateY(-70%) rotate(45deg);transition:.2s}
.acc[open] summary:after{transform:translateY(-30%) rotate(225deg)}
.acc p{margin:0 0 14px;font-size:.92rem}
.acc-grid{align-items:start}
@media(max-width:900px){.acc-grid{grid-template-columns:1fr}}
.two-col .img img{aspect-ratio:4/3}
.has-sub{display:flex;align-items:flex-start}
.has-sub>a:after{display:none}
.sub-toggle{background:none;border:0;cursor:pointer;width:22px;height:34px;margin-left:-14px;margin-right:6px;position:relative;padding:0}
.sub-toggle:after{content:"";position:absolute;left:6px;top:11px;width:7px;height:7px;border-right:2px solid #292f51;border-bottom:2px solid #292f51;transform:rotate(45deg);transition:.2s}
.has-sub.open .sub-toggle:after{transform:rotate(225deg);top:14px}
.has-sub>ul{top:100%}
@media(max-width:900px){.has-sub{flex-wrap:wrap}.has-sub>ul{flex-basis:100%}.sub-toggle{margin-left:auto}}
body,button,input,textarea,select{font-family:"Plus Jakarta Sans","Helvetica Neue",Arial,sans-serif}
.svc-pick{border:1px solid #c9c9c9;padding:14px 18px 6px;margin:0 0 16px;border-radius:5pt;background:#fff}
.svc-pick legend{font-weight:600;padding:0 6px;color:#292f51}
.chk{display:flex!important;align-items:center;gap:10px;margin:0 0 10px!important;font-weight:500!important;cursor:pointer}
.chk input{width:18px!important;height:18px;margin:0!important;accent-color:#5eb2c0;flex:none}
.enq-form{max-width:720px}
.svc p{color:rgba(255,255,255,.85);font-size:.92rem;line-height:1.55;margin:0}
.main-nav>ul>li>a:hover,.main-nav>ul>li>a.active{border-bottom-color:#5eb2c0!important}
.main-nav>ul>li>a:after,.main-nav>ul>li>a:before{border-color:#5eb2c0}

@media(min-width:901px){
body:has(.hero) .site-header{position:absolute;left:0;right:0;top:0;background:linear-gradient(rgba(20,25,45,.55),rgba(20,25,45,0));border:0;box-shadow:none}
body:has(.hero) .logo img{filter:brightness(0) invert(1)}
body:has(.hero) .main-nav>ul>li>a{color:#fff}
body:has(.hero) .main-nav>ul>li>a:hover,body:has(.hero) .main-nav>ul>li>a.active{color:#fff}
.hero{min-height:100vh;min-height:100svh;padding-top:140px}
}
@media(max-width:900px){.hero{min-height:85vh}}
@media(min-width:901px){body:has(.hero) .logo img{filter:none;background:#fff;border-radius:10px;padding:6px 14px;height:70px;margin:14px 0}}
@media(min-width:901px){body:has(.hero) .logo img{background:none;padding:0;border-radius:0;height:78px;margin:10px 0;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px rgba(255,255,255,.9))}}
.feat-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.feat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.feat-grid{grid-template-columns:1fr}}
@media(min-width:901px){body:has(.hero) .logo img{filter:none!important}}
@media(min-width:901px){body:has(.hero) .logo{background:#fff;border-radius:0 0 7pt 7pt;padding:10px 24px 12px;align-self:flex-start;display:block}body:has(.hero) .logo img{height:70px;margin:0}body:has(.hero) .header-in{align-items:flex-start}body:has(.hero) .main-nav{margin-top:18px}}
@media(min-width:901px){body:has(.hero) .logo{padding:14px 32px 16px}body:has(.hero) .logo img{height:92px}body:has(.hero) .main-nav{margin-top:28px}}
.hero{min-height:100vh;min-height:100svh;padding:0}
.hero-intro{background:#292f51;color:#fff;padding:56px 0}
.hero-intro-in{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.hero-intro h1{color:#fff;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;text-transform:none;line-height:1.15;margin:0}
.hero-intro .hero-sub{display:inline-block;margin-top:12px;font-size:.72rem;background:#5eb2c0;color:#fff;padding:6px 14px;letter-spacing:.2em;font-weight:700}
.hero-intro p{font-size:1.1rem;margin:0 0 26px}
@media(max-width:900px){.hero{min-height:60vh}.hero-intro-in{grid-template-columns:1fr;gap:20px}}
.btn,.hero-card .btn,button[type=submit],form button,.svc span{background:#5f6368;color:#fff}
.btn:hover,.hero-card .btn:hover,button[type=submit]:hover,form button:hover,.svc:hover span{background:#45494e;color:#fff}
#loc-map{height:520px;border-radius:15pt;overflow:hidden;z-index:1}
@media(max-width:700px){#loc-map{height:380px}}
