@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Open+Sans:wght@400;600;700&display=swap');

:root { --navy:#08283d; --navy-2:#0f3a55; --teal:#38cbc7; --ink:#163447; --mist:#f2f6f7; --white:#fff; }
* { box-sizing:border-box; margin:0; }
html { scroll-behavior:smooth; }
body { color:var(--ink); font:16px/1.7 'Open Sans',sans-serif; }
img { display:block; max-width:100%; }
.container { width:min(1160px, calc(100% - 40px)); margin:auto; }
.site-header { position:absolute; inset:0 0 auto; z-index:10; color:#fff; }
.nav-wrap { min-height:106px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.logo{display:block;  width:220px;  height:100px;  }.logo img{width:220px;  height:96px;  max-width:none;  object-fit:contain;  mix-blend-mode:screen;}
.main-nav { display:flex; align-items:center; gap:25px; }
.main-nav a { color:inherit; text-decoration:none; font:700 12px/1 Montserrat,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.main-nav a:hover,.main-nav a.active { color:var(--teal); }
.nav-call { color:var(--teal); text-decoration:none; border:1px solid rgba(255,255,255,.38); padding:11px 15px; border-radius:3px; font:700 12px Montserrat,sans-serif; white-space:nowrap; }
.nav-toggle { display:none; border:0; background:none; color:#fff; font-size:28px; cursor:pointer; }
.hero { min-height:690px; position:relative; display:flex; align-items:flex-end; padding:170px 0 100px; color:#fff; background:var(--navy) center/cover no-repeat; isolation:isolate; }
.hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(2,22,35,.91),rgba(5,30,45,.58) 57%,rgba(5,30,45,.28)); }
.hero-content { max-width:735px; }
.eyebrow { color:var(--teal); font:700 12px Montserrat,sans-serif; letter-spacing:.17em; text-transform:uppercase; margin-bottom:20px; }
h1,h2,h3 { font-family:Montserrat,sans-serif; line-height:1.1; }
h1 { font-size:clamp(42px,6vw,76px); letter-spacing:-.045em; max-width:720px; }
h1 em { color:var(--teal); font-style:normal; display:block; }
.hero p:not(.eyebrow) { max-width:590px; font-size:18px; margin:25px 0 34px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:12px 22px; border-radius:3px; background:var(--teal); color:var(--navy); text-decoration:none; font:700 13px Montserrat,sans-serif; transition:transform .2s,background .2s; }
.button:hover { background:#72dfdb; transform:translateY(-2px); }
.button.outline { border:1px solid rgba(255,255,255,.75); background:transparent; color:#fff; margin-left:10px; }
.button.outline:hover { background:#fff; color:var(--navy); }
.section { padding:94px 0; }
.section.tint { background:var(--mist); }
.section-heading { max-width:700px; margin-bottom:44px; }
.section-heading h2,.content h2 { font-size:clamp(30px,4vw,46px); color:var(--navy); margin-bottom:15px; letter-spacing:-.035em; }
.section-heading p { color:#5d7380; }
.intro { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.intro-image { min-height:380px; object-fit:cover; width:100%; }
.intro-copy p + p { margin-top:15px; }
.kicker { color:#267e81; font:700 12px Montserrat,sans-serif; letter-spacing:.13em; text-transform:uppercase; margin-bottom:13px; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d5e2e4; margin-top:35px; padding-top:25px; }
.stats strong { display:block; font:800 27px Montserrat,sans-serif; color:var(--navy); }.stats span{font-size:13px;color:#637984}
.capabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.capability { padding:30px; border-top:4px solid var(--teal); background:#fff; box-shadow:0 10px 26px rgba(16,51,69,.07); }
.capability h3 { color:var(--navy); font-size:20px; margin-bottom:10px; }.capability p{font-size:14px;color:#647984}
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service-card { position:relative; min-height:390px; overflow:hidden; color:#fff; background:var(--navy); }
.service-card img { height:100%; width:100%; object-fit:cover; transition:transform .4s; }.service-card:hover img { transform:scale(1.045); }
.service-card::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 32%,rgba(4,25,38,.9)); }
.service-card div { position:absolute; z-index:1; inset:auto 27px 25px; }.service-card h3{font-size:25px;margin-bottom:7px}.service-card p{font-size:14px;line-height:1.5}
.safety { display:grid; grid-template-columns:1fr 1fr; background:var(--navy); color:#fff; }.safety-image{min-height:480px;background:center/cover no-repeat}.safety-copy{padding:86px min(8vw,110px);align-self:center}.safety-copy h2{font-size:clamp(31px,4vw,45px);margin-bottom:18px}.safety-copy p{color:#cfdee3}.safety-list{list-style:none;margin-top:25px}.safety-list li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.18)}.safety-list li::before{content:'✓';color:var(--teal);font-weight:bold;margin-right:12px}
.cta { padding:84px 20px; text-align:center; background:var(--teal); color:var(--navy); }.cta h2{font-size:clamp(31px,4vw,47px);margin-bottom:12px}.cta p{margin-bottom:25px}.cta .button{background:var(--navy);color:#fff}.cta .button:hover{background:#174963}
.page-hero { min-height:460px; padding:180px 0 80px; background:var(--navy) center/cover no-repeat; position:relative; color:#fff; isolation:isolate; }.page-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(3,29,45,.72)}.page-hero h1{font-size:clamp(42px,5vw,62px)}.page-hero p{margin-top:15px;font-size:18px}
.service-row { display:grid; grid-template-columns:1fr 1fr; min-height:410px; }.service-row:nth-child(even) .service-copy{order:-1}.service-row img{width:100%;height:100%;object-fit:cover}.service-copy{padding:80px min(8vw,110px);align-self:center;background:#fff}.service-copy h2{font-size:39px;color:var(--navy);margin-bottom:16px}.service-copy ul{margin:18px 0 0;padding-left:20px;color:#496876}.service-copy li{margin:5px 0}
.content { max-width:780px; }.content p + p{margin-top:17px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.values div{padding:27px;background:var(--mist);border-left:4px solid var(--teal)}.values h3{color:var(--navy);margin-bottom:9px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-details h2{font-size:38px}.contact-details a{color:var(--navy);font-weight:700}.contact-details p{margin:20px 0}.contact-form{display:grid;gap:15px}.contact-form label{font:700 12px Montserrat,sans-serif;letter-spacing:.05em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;margin-top:7px;border:1px solid #ccdadd;padding:13px;font:inherit}.contact-form textarea{min-height:140px;resize:vertical}.form-note{font-size:13px;color:#71828a}
.site-footer { background:#071f30; color:#c0d0d7; padding:42px 0; }.footer-wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-wrap img{width:125px;height:55px;object-fit:contain;mix-blend-mode:screen}.site-footer small{font-size:12px}.footer-links a{color:#c0d0d7;text-decoration:none;margin-left:18px;font-size:13px}
@media(max-width:800px){
  .nav-wrap{min-height:78px}
  .logo img{width:174px;height:72px}
  .nav-toggle{display:block}.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;padding:20px;background:var(--navy);flex-direction:column;align-items:flex-start;gap:19px}.main-nav.open{display:flex}.nav-call{display:none}.hero{min-height:650px;padding:140px 0 70px}.button.outline{margin:10px 0 0}.intro,.safety,.service-row,.contact-grid{grid-template-columns:1fr}.intro{gap:35px}.intro-image{min-height:270px}.capabilities,.service-grid,.values{grid-template-columns:1fr}.safety-image{min-height:300px}.safety-copy,.service-copy{padding:55px 30px}.service-row:nth-child(even) .service-copy{order:initial}.service-row img{height:280px}.section{padding:65px 0}.footer-wrap{flex-direction:column;text-align:center}.footer-links a{margin:0 8px}.stats{gap:13px}.stats strong{font-size:22px}}
.logo img{
  width:220px;
  height:auto;
  max-width:none;
  mix-blend-mode:screen;
}
/* Move the Contact page hero text down */
.page-hero .container{
  transform:translateY(55px);}
.hero .hero-content{
  transform:translateY(55px);
}
.logo{
  width:300px !important;
  flex:0 0 300px;
}

.logo img{
  width:300px !important;
  height:auto !important;
  max-width:none !important;
}
.stats{
  grid-template-columns:repeat(3, 1fr);
  gap:32px;
}

.stats div{
  text-align:center;
}
@media(max-width:800px){
  .logo{
    width:174px !important;
    flex:0 0 174px;
  }

  .logo img{
    width:174px !important;
    height:72px !important;
  }
}