 :root {
  --navy: #09283a;
  --navy-deep: #061e2c;
  --blue: #16475c;
  --teal: #80d6d0;
  --ink: #102b3b;
  --muted: #667b86;
  --paper: #f5f7f6;
  --line: #dce5e6;
  --white: #fff;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
.site-header { height: 82px; padding: 0 6.2%; display:flex; align-items:center; justify-content:space-between; background:#fff; position:relative; z-index:5; }
.brand { display:flex; align-items:center; gap:12px; color:var(--navy); font-family:Manrope, sans-serif; font-weight:800; font-size:19px; letter-spacing:.08em; }
.brand-light { font-weight:500; color:#6b8791; }
.brand-logo { display:block; width:245px; max-width:100%; height:auto; object-fit:contain; }
.brand-mark { display:inline-flex; align-items:flex-end; gap:3px; height:24px; transform:skew(-20deg); }
.brand-mark span { display:block; width:5px; border-radius:3px; background:#1e6b7b; }
.brand-mark span:nth-child(1){height:12px}.brand-mark span:nth-child(2){height:19px}.brand-mark span:nth-child(3){height:24px}
.nav { display:flex; align-items:center; gap:34px; font-size:10px; letter-spacing:.12em; font-weight:700; }
.nav a { transition:color .2s; }.nav a:hover { color:#218c96; }
.nav-contact { border:1px solid #b9cbd0; padding:13px 16px; }.nav-contact span { margin-left:18px; font-size:14px; }
.menu-toggle { display:none; border:0; background:transparent; font-size:24px; color:var(--navy); }
.hero { min-height:640px; height:min(760px, calc(100vh - 82px)); position:relative; overflow:hidden; color:#fff; background:var(--navy); }
.hero-image { position:absolute; inset:0; background-image:url("https://images.unsplash.com/photo-1722413890417-67b8ce3f4005?auto=format&fit=crop&w=2200&q=85"); background-size:cover; background-position:center 53%; transform:scale(1.015); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,25,39,.92) 0%,rgba(5,30,45,.72) 44%,rgba(4,25,39,.16) 100%),linear-gradient(0deg,rgba(4,24,37,.35),transparent 40%); }
.hero-content { position:relative; z-index:1; padding:clamp(90px,12vw,160px) 10% 90px; max-width:900px; }
.eyebrow,.section-label { font-size:10px; letter-spacing:.17em; font-weight:700; }
.eyebrow { display:flex; align-items:center; gap:12px; color:#b8d4dc; margin:0 0 26px; }
.eyebrow-line { width:31px; height:1px; background:var(--teal); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Manrope, sans-serif; letter-spacing:-.055em; }
h1 { font-size:clamp(44px,6.2vw,83px); line-height:1.04; margin:0 0 24px; font-weight:600; }
h1 em,h2 em { color:var(--teal); font-style:normal; }
.hero-copy { max-width:490px; font-size:15px; line-height:1.8; color:#d2e0e4; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:34px; flex-wrap:wrap; }
.button { min-height:51px; display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:0 20px; font-size:10px; font-weight:700; letter-spacing:.1em; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-light { background:#fff; color:var(--navy); }.button-light:hover { background:var(--teal); }
.text-link { font-size:12px; color:#fff; }.text-link span { margin-left:10px; color:var(--teal); }
.hero-caption,.hero-index { position:absolute; bottom:27px; z-index:1; font-size:9px; letter-spacing:.13em; color:#d1e0e4; }
.hero-caption { left:6.2%; display:flex; gap:10px; align-items:center; }.caption-dot { width:6px;height:6px;background:var(--teal);border-radius:50%; }
.hero-index { right:6.2%; }.hero-index span { color:var(--teal); padding:0 7px; }
.section-wrap { width:min(1180px,87.6%); margin:0 auto; }
.intro { padding-top:120px; padding-bottom:125px; }
.section-label { color:#738993; margin-bottom:27px; }.section-label span { color:#18818b; margin-right:13px; }
.intro-content { display:grid; grid-template-columns:1.1fr .9fr; gap:9%; align-items:start; }
h2 { font-size:clamp(35px,4.3vw,57px); line-height:1.12; font-weight:600; margin-bottom:0; }
h2 span { color:#7e969e; }
.intro-text { padding-top:6px; max-width:480px; }.intro-text p,.experience-layout p { font-size:14px; line-height:1.9; color:#5f747e; }
.underlined-link { display:inline-flex; gap:25px; align-items:center; padding:0 0 12px; border-bottom:1px solid #8fa7ad; font-size:10px; letter-spacing:.12em; font-weight:700; margin-top:16px; }.underlined-link span { color:#178c95; font-size:15px; }
.services-section { background:var(--navy); color:#fff; padding:105px 0 78px; }
.light-label { color:#b5c9cf; }.light-label span { color:var(--teal); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:50px; }.section-heading h2 span { color:#8caab4; }
.section-heading > p { max-width:300px; margin-bottom:6px; color:#b9cbd1; font-size:13px; line-height:1.8; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.service-card { position:relative; min-height:270px; padding:25px 25px 30px; background:#10364a; border:1px solid rgba(198,226,231,.13); transition:background .2s,transform .2s; }
.service-card:hover { background:#16465a; transform:translateY(-4px); }
.service-number { color:#8fb0ba; font-size:9px; letter-spacing:.13em; }
.service-icon { color:var(--teal); font-size:32px; margin:30px 0 20px; }
.service-card h3 { font-family:Manrope,sans-serif; font-size:18px; font-weight:600; letter-spacing:-.025em; margin-bottom:12px; }
.service-card p { color:#b7cbd1; font-size:12px; line-height:1.8; max-width:290px; margin-bottom:0; }
.service-card > a { position:absolute; right:24px; bottom:24px; color:var(--teal); }
.service-note { margin:20px 0 0; color:#8faab3; font-size:10px; }
.experience { padding-top:118px; padding-bottom:110px; }
.experience-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:9%; align-items:center; }
.experience-layout h2 { margin-bottom:27px; }.experience-layout p { max-width:480px; }
.experience-photo { min-height:410px; position:relative; background:linear-gradient(0deg,rgba(4,26,39,.4),transparent 65%),url("https://images.unsplash.com/photo-1691591765923-3bd6f12f4209?auto=format&fit=crop&w=1300&q=80") center/cover; }
.photo-tag { position:absolute; right:0; bottom:0; background:var(--teal); padding:18px 22px; color:var(--navy); font-size:12px; line-height:1.8; }.photo-tag span { font-size:9px; letter-spacing:.13em; font-weight:700; }
.experience-strip { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:70px; padding:25px 0; }
.experience-strip div { display:flex; align-items:center; gap:16px; padding:0 22px; border-right:1px solid var(--line); }.experience-strip div:first-child { padding-left:0; }.experience-strip div:last-child { border:0; }
.experience-strip strong { font-family:Manrope,sans-serif; color:#17818b; font-size:24px; font-weight:500; }.experience-strip span { font-size:11px; color:#526c77; }
.disclaimer { margin:15px 0 0; font-size:10px; color:#84969c; }
.contact-section { position:relative; overflow:hidden; background:var(--navy-deep); color:#fff; padding:100px 0 110px; }
.contact-glow { position:absolute; width:500px;height:500px;right:-80px;top:-160px;border:1px solid rgba(128,214,208,.16);border-radius:50%; }.contact-glow:before,.contact-glow:after { content:"";position:absolute;border:1px solid rgba(128,214,208,.12);border-radius:50%;inset:45px; }.contact-glow:after { inset:100px; }
.contact-inner { position:relative; }.contact-inner h2 { font-size:clamp(43px,6vw,75px); margin-bottom:22px; }.contact-inner h2 em { color:var(--teal); }
.contact-inner > p { max-width:440px; color:#b8cbd1; font-size:14px; line-height:1.8; margin-bottom:28px; }.contact-small { margin-top:15px; color:#78949f; font-size:10px; }
.footer { padding:34px 6.2% 20px; background:#fff; display:grid; grid-template-columns:1fr 1.5fr 1fr; align-items:center; gap:15px; }
.footer-brand { font-size:15px; }.footer-brand .brand-logo { width:205px; }.footer > p { margin:0; font-size:11px; color:#738791; }.back-top { justify-self:end; font-size:9px; font-weight:700; letter-spacing:.12em; }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:15px; border-top:1px solid var(--line); padding-top:17px; margin-top:14px; font-size:9px; color:#8a9ba1; }
@media(max-width:800px) {
 .site-header{height:70px;padding:0 6%}.brand-logo{width:205px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;padding:20px 6%;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 20px #09283a14}.nav.open{display:flex}.nav a{padding:15px 0}.nav-contact{border:0;padding:15px 0}.nav-contact span{float:right}
 .hero{height:auto;min-height:650px}.hero-content{padding:110px 7% 110px}.hero-shade{background:linear-gradient(90deg,rgba(4,25,39,.88),rgba(4,25,39,.48)),linear-gradient(0deg,rgba(4,24,37,.4),transparent)}
 .hero-caption{left:7%}.hero-index{right:7%}.section-wrap{width:86%}.intro{padding:80px 0}.intro-content,.experience-layout{grid-template-columns:1fr;gap:28px}.intro-text{max-width:none}.services-section{padding:78px 0 60px}.section-heading{display:block}.section-heading>p{margin-top:22px}.service-grid{grid-template-columns:1fr}.service-card{min-height:245px}.service-icon{margin:24px 0 14px}.experience{padding:80px 0}.experience-photo{min-height:310px}.experience-strip{grid-template-columns:1fr;gap:16px;margin-top:40px}.experience-strip div,.experience-strip div:first-child{border:0;padding:0}.contact-section{padding:80px 0}.footer{grid-template-columns:1fr auto;padding:28px 7% 18px}.footer>p{grid-column:1/-1;grid-row:2}.back-top{grid-column:2;grid-row:1}.footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Company contact details */
.contact-details { max-width: 560px; margin-top: 32px; color: #d6e3e7; font-size: 13px; line-height: 1.8; }
.contact-company { color: #fff; font-family: Manrope, sans-serif; font-weight: 700; font-size: 20px; margin-bottom: 8px; }
.contact-details address { font-style: normal; color: #b8cbd1; margin-bottom: 20px; }
.contact-row { display: grid; grid-template-columns: 70px 1fr; gap: 12px; padding: 5px 0; border-bottom: 1px solid rgba(184,203,209,.18); }
.contact-row span { color: #80d6d0; font-weight: 700; }
.contact-row a:hover { color: #80d6d0; }
.contact-email-button { margin-top: 22px; }
.footer > p a { color: var(--blue); }
.footer > p a:hover { text-decoration: underline; }
@media(max-width:800px) {
  .contact-details { font-size: 12px; }
  .contact-company { font-size: 18px; }
}
