:root {
  --navy: #071b2b;
  --navy-2: #102d42;
  --teal: #13b8a6;
  --teal-dark: #078c80;
  --mint: #dff8f4;
  --cream: #f6f5f0;
  --white: #ffffff;
  --text: #183042;
  --muted: #657885;
  --line: #dce6e9;
  --shadow: 0 24px 70px rgba(7, 27, 43, .13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "DM Sans", Arial, sans-serif;
  color: var(--text);
  line-height: 1.65;
  background: var(--white);
}
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }

.header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(220,230,233,.8);
}
.nav { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.logo { display: inline-flex; align-items: center; gap: 12px; }
.logo-symbol {
  width: 46px; height: 46px; display: grid; place-items: center;
  border-radius: 14px; background: linear-gradient(135deg,var(--teal),var(--teal-dark));
  color: white; font-family: "Manrope",sans-serif; font-weight: 800; letter-spacing: -.5px;
  box-shadow: 0 10px 24px rgba(19,184,166,.24);
}
.logo-text { display: flex; flex-direction: column; line-height: 1.25; }
.logo-text strong { font-family: "Manrope",sans-serif; font-size: 15px; color: var(--navy); }
.logo-text small { color: var(--muted); font-size: 11px; letter-spacing: .11em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 28px; font-weight: 600; font-size: 14px; }
.nav-links a:hover { color: var(--teal-dark); }
.nav-button { padding: 11px 18px; background: var(--navy); color: white!important; border-radius: 999px; }
.menu-button { display: none; border: 0; background: transparent; padding: 8px; }
.menu-button span { display: block; width: 25px; height: 2px; background: var(--navy); margin: 5px; }

.hero {
  min-height: 720px; position: relative; overflow: hidden;
  display: flex; align-items: center;
  background: linear-gradient(135deg,#f8fbfb 0%,#edf8f6 52%,#f8f6ef 100%);
}
.hero-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 70px; align-items: center; padding: 92px 0 100px; position: relative; z-index: 2; }
.kicker { margin: 0 0 16px; color: var(--teal-dark); text-transform: uppercase; letter-spacing: .17em; font-size: 12px; font-weight: 800; }
.kicker.light { color: #75e7d7; }
h1,h2,h3,h4 { font-family: "Manrope",sans-serif; margin-top: 0; line-height: 1.15; color: var(--navy); }
h1 { font-size: clamp(43px,5.7vw,72px); letter-spacing: -.055em; margin-bottom: 25px; }
h2 { font-size: clamp(34px,4vw,52px); letter-spacing: -.045em; margin-bottom: 22px; }
h3 { font-size: 23px; letter-spacing: -.025em; }
.lead { font-size: 19px; color: #536b78; max-width: 650px; margin: 0 0 32px; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 35px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 23px; border-radius: 999px; font-weight: 700; border: 1px solid transparent; cursor: pointer; font: inherit; }
.primary { color: white; background: linear-gradient(135deg,var(--teal),var(--teal-dark)); box-shadow: 0 13px 28px rgba(19,184,166,.24); }
.primary:hover { transform: translateY(-2px); }
.secondary { background: white; border-color: var(--line); color: var(--navy); }
.hero-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.hero-tags span { font-size: 12px; font-weight: 700; color: var(--navy-2); background: rgba(255,255,255,.75); border: 1px solid rgba(255,255,255,.9); padding: 8px 12px; border-radius: 999px; }

.hero-art { position: relative; min-height: 500px; }
.media-window { position: absolute; inset: 35px 15px 35px 35px; border-radius: 30px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); overflow: hidden; border: 1px solid rgba(255,255,255,.9); }
.window-bar { height: 62px; display: flex; align-items: center; gap: 8px; padding: 0 22px; border-bottom: 1px solid var(--line); font-size: 12px; color: var(--muted); font-weight: 700; }
.window-bar i { width: 9px; height: 9px; border-radius: 50%; background: #cad5d9; }
.window-bar span { margin-left: 10px; }
.visual-stage { height: 305px; position: relative; display: grid; place-items: center; background: radial-gradient(circle at 50% 48%,#d9faf5 0%,#edf7f6 40%,#f8faf9 72%); overflow: hidden; }
.visual-core { width: 126px; height: 126px; border-radius: 50%; display: grid; place-content: center; text-align:center; color:white; background: linear-gradient(145deg,var(--teal),#087d77); box-shadow: 0 22px 50px rgba(19,184,166,.32); z-index:3; }
.visual-core span { font-family:"Manrope"; font-size:42px; font-weight:800; line-height:1; }
.visual-core small { font-size:9px; letter-spacing:.2em; margin-top:7px; }
.pulse-ring { position:absolute; border-radius:50%; border:1px solid rgba(19,184,166,.28); }
.ring-a { width:205px; height:205px; }
.ring-b { width:290px; height:290px; }
.floating-label { position:absolute; z-index:4; padding:8px 12px; border-radius:10px; background:white; box-shadow:0 9px 23px rgba(7,27,43,.1); font-size:11px; font-weight:700; color:var(--navy); }
.label-one { top:56px; left:38px; }
.label-two { top:125px; right:24px; }
.label-three { bottom:38px; left:45px; }
.window-stats { height:97px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; text-align:center; }
.window-stats div { display:flex; flex-direction:column; border-right:1px solid var(--line); }
.window-stats div:last-child { border:0; }
.window-stats strong { color:var(--navy); font-size:13px; }
.window-stats span { color:var(--muted); font-size:10px; }
.mini-card { position:absolute; z-index:5; display:flex; gap:12px; align-items:center; background:white; padding:14px 17px; border-radius:16px; box-shadow:0 18px 40px rgba(7,27,43,.13); }
.mini-one { left:0; bottom:22px; }
.mini-two { right:-20px; top:5px; }
.mini-icon { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--mint); color:var(--teal-dark); font-weight:800; font-size:12px; }
.mini-card div { display:flex; flex-direction:column; line-height:1.35; }
.mini-card strong { font-size:12px; color:var(--navy); }
.mini-card small { font-size:10px; color:var(--muted); }
.hero-orb { position:absolute; border-radius:50%; filter:blur(5px); }
.orb-one { width:390px; height:390px; background:rgba(19,184,166,.10); top:-170px; right:-100px; }
.orb-two { width:280px; height:280px; background:rgba(223,188,93,.10); bottom:-100px; left:34%; }

.trust-strip { background:var(--navy); color:white; }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:27px 0; }
.trust-grid div { padding:0 30px; border-right:1px solid rgba(255,255,255,.15); display:flex; flex-direction:column; }
.trust-grid div:first-child { padding-left:0; }
.trust-grid div:last-child { border:0; }
.trust-grid strong { font-size:14px; }
.trust-grid span { font-size:12px; color:#9eb2be; }

.section { padding:105px 0; }
.light-section { background:var(--cream); }
.split-heading { display:grid; grid-template-columns:.92fr 1.08fr; gap:100px; align-items:start; }
.body-copy { font-size:18px; color:#526b78; }
.body-copy p:first-child { margin-top:7px; }
.section-title { display:flex; align-items:end; justify-content:space-between; gap:70px; margin-bottom:48px; }
.section-title>div { max-width:700px; }
.section-title>p { max-width:430px; color:var(--muted); margin-bottom:25px; }

.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card { position:relative; background:white; border:1px solid #e1e8e9; border-radius:22px; padding:31px; min-height:430px; transition:.25s ease; }
.service-card:hover { transform:translateY(-6px); box-shadow:0 20px 45px rgba(7,27,43,.09); }
.accent-card { background:var(--navy); color:white; border-color:var(--navy); }
.accent-card h3 { color:white; }
.accent-card p,.accent-card li { color:#b8cad3; }
.service-number { position:absolute; top:24px; right:25px; color:#a6b8c0; font-size:11px; font-weight:800; letter-spacing:.15em; }
.service-icon { width:54px; height:54px; border-radius:16px; background:var(--mint); color:var(--teal-dark); display:grid; place-items:center; font-weight:800; font-size:12px; margin-bottom:25px; }
.accent-card .service-icon { background:rgba(117,231,215,.12); color:#75e7d7; }
.service-card p { color:var(--muted); }
.service-card ul { padding-left:18px; margin:22px 0 0; color:#4c6673; }
.service-card li { margin:7px 0; font-size:14px; }

.team-section { background:white; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.team-card { border:1px solid var(--line); border-radius:24px; overflow:hidden; background:white; box-shadow:0 14px 36px rgba(7,27,43,.055); }
.portrait-wrap { height:390px; overflow:hidden; background:#e9edef; }
.portrait-wrap img { height:100%; object-fit:cover; object-position:center top; transition:transform .45s ease; }
.team-card:hover img { transform:scale(1.035); }
.team-copy { padding:28px; }
.team-copy .role { color:var(--teal-dark); font-size:11px; text-transform:uppercase; letter-spacing:.11em; font-weight:800; margin:0 0 9px; }
.team-copy h3 { font-size:28px; margin-bottom:15px; }
.team-copy p { color:var(--muted); font-size:14px; }

.regions-section { background:var(--navy); color:white; }
.regions-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center; }
.regions-copy h2 { color:white; }
.regions-copy>p:not(.kicker) { color:#afc1ca; font-size:18px; }
.inline-link { display:inline-flex; gap:10px; color:#75e7d7; font-weight:700; margin-top:16px; }
.region-list { display:flex; flex-direction:column; }
.region-list article { display:grid; grid-template-columns:50px 1fr; gap:20px; padding:27px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.region-list article:last-child { border:0; }
.region-list article>span { color:#75e7d7; font-size:12px; font-weight:800; }
.region-list h3 { color:white; margin-bottom:8px; }
.region-list p { color:#9fb4bf; margin:0; }

.process-section { background:#f8fbfb; }
.process-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.process-grid article { padding:26px 23px; border-top:3px solid var(--teal); background:white; border-radius:0 0 18px 18px; }
.process-grid span { color:var(--teal-dark); font-weight:800; font-size:12px; }
.process-grid h3 { margin:18px 0 10px; font-size:20px; }
.process-grid p { color:var(--muted); font-size:13px; margin:0; }

.contact-section { background:linear-gradient(135deg,#082134,#0d3448); color:white; padding:105px 0; }
.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }
.contact-copy h2 { color:white; }
.contact-copy>p:not(.kicker) { color:#b3c5ce; font-size:18px; }
.contact-details { display:flex; flex-direction:column; gap:24px; margin-top:42px; }
.contact-details a,.contact-details>div { display:flex; flex-direction:column; }
.contact-details small { color:#75e7d7; text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:800; margin-bottom:5px; }
.contact-details strong { font-size:15px; font-weight:600; }
.contact-form { background:white; color:var(--text); padding:34px; border-radius:24px; box-shadow:var(--shadow); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.contact-form label { display:flex; flex-direction:column; font-weight:700; font-size:12px; margin-bottom:17px; color:var(--navy); }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; margin-top:8px; border:1px solid var(--line); border-radius:11px; padding:13px 14px; font:inherit; color:var(--text); background:#fbfcfc; outline:none; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(19,184,166,.1); }
.consent { flex-direction:row!important; align-items:flex-start; gap:10px; font-weight:500!important; color:var(--muted)!important; }
.consent input { width:auto; margin:4px 0 0; }
.full-button { width:100%; border:0; }
.form-note { text-align:center; color:var(--muted); font-size:11px; margin:12px 0 0; }

.footer { background:#051522; color:#a8bbc5; padding:70px 0 25px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:55px; }
.footer-logo .logo-text strong { color:white; }
.footer-intro p { max-width:330px; font-size:14px; }
.footer h4 { color:white; font-size:13px; margin-bottom:18px; }
.footer-grid>div:not(.footer-intro) { display:flex; flex-direction:column; gap:9px; font-size:13px; }
.footer a:hover { color:#75e7d7; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); margin-top:50px; padding-top:22px; display:flex; justify-content:space-between; font-size:11px; }

.thank-you-page { background:linear-gradient(135deg,#edf8f6,#f7f5ef); min-height:100vh; }
.thank-you-wrap { min-height:100vh; display:grid; place-items:center; padding:30px; }
.thank-you-card { max-width:650px; background:white; border-radius:28px; padding:65px; text-align:center; box-shadow:var(--shadow); }
.thank-logo { margin:0 auto 28px; width:62px; height:62px; }
.thank-you-card h1 { font-size:44px; }
.thank-you-card p:not(.kicker) { color:var(--muted); font-size:17px; margin-bottom:30px; }

@media (max-width: 980px) {
  .hero-grid,.split-heading,.regions-grid,.contact-grid { grid-template-columns:1fr; gap:55px; }
  .hero { min-height:auto; }
  .hero-art { max-width:650px; width:100%; margin:auto; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid { grid-template-columns:1fr; max-width:700px; margin:auto; }
  .team-card { display:grid; grid-template-columns:.8fr 1.2fr; }
  .portrait-wrap { height:100%; min-height:420px; }
  .process-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:2fr 1fr 1fr; }
  .footer-grid>div:last-child { grid-column:2/4; }
}
@media (max-width: 760px) {
  .container { width:min(100% - 28px,1160px); }
  .menu-button { display:block; }
  .nav-links { display:none; position:absolute; top:78px; left:0; right:0; background:white; padding:20px; flex-direction:column; align-items:stretch; gap:5px; box-shadow:0 18px 30px rgba(7,27,43,.1); }
  .nav-links.open { display:flex; }
  .nav-links a { padding:11px; }
  .nav-button { text-align:center; }
  .logo-text strong { font-size:13px; }
  .hero-grid { padding:70px 0 78px; }
  h1 { font-size:44px; }
  .hero-art { min-height:430px; }
  .media-window { inset:25px 0; }
  .mini-two { right:-4px; }
  .mini-one { left:-3px; }
  .trust-grid { grid-template-columns:1fr; padding:10px 0; }
  .trust-grid div { padding:15px 0!important; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .section { padding:78px 0; }
  .section-title { display:block; }
  .service-grid,.process-grid,.footer-grid { grid-template-columns:1fr; }
  .team-card { display:block; }
  .portrait-wrap { height:440px; min-height:0; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .footer-grid>div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; gap:8px; }
}
@media (max-width: 480px) {
  h1 { font-size:38px; }
  h2 { font-size:33px; }
  .hero-tags { display:none; }
  .hero-art { min-height:390px; }
  .visual-stage { height:265px; }
  .window-stats { height:78px; }
  .mini-card { display:none; }
  .media-window { inset:15px 0; }
  .service-card { min-height:auto; }
  .portrait-wrap { height:390px; }
  .contact-form { padding:23px; }
  .thank-you-card { padding:40px 25px; }
}

/* Updated brand logo */
.brand-logo { display:flex; align-items:center; flex-shrink:0; }
.brand-logo img { display:block; width:230px; height:70px; object-fit:contain; object-position:left center; }
.footer-logo.brand-logo img { width:250px; height:90px; background:#fff; border-radius:12px; padding:5px 10px; object-position:center; }
@media (max-width:760px){ .brand-logo img{width:175px;height:58px;} .footer-logo.brand-logo img{width:220px;height:82px;} }

.thank-brand-logo{width:300px;max-width:100%;height:auto;margin:0 auto 28px;display:block;}
