@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#011b40;--navy2:#07182d;--teal:#0097b2;--cyan:#70cfdd;--off:#f5f6f3;--white:#fff;--ink:#112640;--muted:#657489;--line:#d9dee4;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--off);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.55}h1,h2,h3{font-family:"Manrope",Arial,sans-serif;letter-spacing:-.045em;line-height:1.03;margin:0}a{text-decoration:none;color:inherit}
.site-header{height:74px;background:#fff;border-bottom:1px solid #edf0f2;position:sticky;top:0;z-index:30}.nav-wrap{max-width:var(--max);height:100%;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand img{width:257.4px;display:block;mix-blend-mode:multiply}.nav{display:flex;align-items:center;gap:30px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--navy)}.nav a{opacity:.92}.nav a:hover{color:var(--teal)}.nav-cta{background:var(--navy);color:#fff!important;padding:11px 17px}.menu-toggle{display:none;background:var(--navy);color:#fff;border:0;padding:10px 14px;font-size:11px}
.hero{min-height:570px;display:grid;grid-template-columns:52% 48%;background:#fff}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px max(40px,calc((100vw - 1220px)/2)) 75px max(28px,calc((100vw - 1220px)/2));padding-right:70px}.eyebrow{margin:0 0 18px;color:var(--teal);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.2em}.hero h1{font-size:clamp(54px,6.2vw,84px);color:var(--navy)}.hero h1 span{display:inline-block}.hero-text{max-width:610px;margin:24px 0 28px;color:#5c697a;font-size:16px}.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:12px;padding:12px 17px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.button.dark{background:var(--navy);color:#fff}.button.outline{border:1px solid #aab5c2;color:var(--navy)}.button.light{border:1px solid rgba(255,255,255,.6);color:#fff;margin-top:22px}.hero-visual{position:relative;min-height:570px;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url("assets/wind-farm.jpg") center/cover no-repeat;filter:saturate(.75)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:75px 75px;opacity:.28}.map-label{position:absolute;top:36px;left:34px;color:rgba(255,255,255,.7);font-size:9px;letter-spacing:.13em;line-height:1.5}.route-map{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(255,255,255,.65);stroke-width:1;stroke-dasharray:5 7}.route-map circle{fill:#fff;stroke:none}
.section{max-width:var(--max);margin:auto;padding:70px 28px}.services{background:var(--off)}.section-head{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end;margin-bottom:35px}.section-head h2{font-size:clamp(35px,4vw,51px);max-width:720px}.section-head>p{margin:0;color:#657386;font-size:14px;max-width:430px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:#fff;border:1px solid #d5dbe1;padding:30px 38px 34px;min-height:420px}.service-card.navy{background:var(--navy);border-color:var(--navy);color:#fff}.card-top{display:flex;justify-content:space-between;align-items:center;color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.12em}.card-top img{width:58px;height:45px;object-fit:contain;object-position:left center}.navy .card-top img{filter:brightness(0) invert(1)}.service-card h3{font-size:34px;margin-top:46px}.service-label{margin:9px 0 21px;color:var(--teal);font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.service-desc{min-height:83px;color:#637084;font-size:14px}.navy .service-desc{color:rgba(255,255,255,.75)}.service-card ul{border-top:1px solid #9aa6b5;margin:18px 0 0;padding:17px 0 0;list-style:none;color:#56667b;font-size:12px}.navy ul{color:rgba(255,255,255,.78);border-color:rgba(255,255,255,.45)}.service-card li{margin:9px 0}.service-card li:before{content:"→";color:var(--teal);margin-right:10px}
.approach{background:#eef0ef;border-top:1px solid #e0e3e3;border-bottom:1px solid #e0e3e3}.approach-inner{max-width:var(--max);margin:auto;padding:36px 28px;display:grid;grid-template-columns:1fr 2.1fr;gap:60px;align-items:center}.approach-title h2{font-size:38px;max-width:410px}.approach-title .eyebrow{margin-bottom:8px}.process{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:18px;align-items:center}.process-step span{display:block;width:38px;height:38px;border:1px solid #8c9aab;border-radius:50%;display:grid;place-items:center;font-size:10px;margin-bottom:10px}.process-step strong{font-family:"Manrope";font-size:17px}.process-step p{margin:5px 0 0;color:#657386;font-size:11px;line-height:1.4}.process-arrow{font-size:22px;color:#52657a}
.founders{background:var(--navy);color:#fff;max-width:none;padding-left:max(28px,calc((100vw - 1164px)/2));padding-right:max(28px,calc((100vw - 1164px)/2))}.founder-intro{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;align-items:start}.founder-intro>div:first-child{padding-right:30px}.founder-intro .eyebrow{color:var(--cyan)}.founder-intro h2{font-size:clamp(36px,4vw,54px);max-width:430px}.founder-summary{color:rgba(255,255,255,.72);font-size:14px;max-width:390px;margin-top:18px}.founder{border-left:1px solid rgba(255,255,255,.2);padding-left:36px}.founder-photo{width:126px;height:126px;border-radius:50%;overflow:hidden;margin:0 0 20px;background:#1b2430}.founder-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none}.founder-copy{border-top:1px solid rgba(255,255,255,.25);padding-top:18px}.role{color:var(--cyan);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.founder h3{font-size:28px;margin:7px 0 12px}.founder p{font-size:12px;color:rgba(255,255,255,.72);margin:0}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.tags span{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:4px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.75)}
.contact{background:#00132e;color:#fff}.contact-inner{max-width:var(--max);margin:auto;padding:42px 28px;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.contact .eyebrow{color:var(--cyan)}.contact h2{font-size:clamp(17px,3vw,26px);max-width:700px}.contact-actions{display:grid;gap:9px}.contact-actions>a:not(.contact-button){display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.2);padding:9px 0;font-size:16px}.contact-actions a span{color:var(--cyan)}.contact-phones{display:flex;gap:20px;color:rgba(255,255,255,.65);font-size:10px;margin:4px 0}.contact-button{display:flex;justify-content:space-between;border:1px solid rgba(255,255,255,.65);padding:11px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-top:4px}
footer{background:#000c1d;color:rgba(255,255,255,.5);padding:20px 28px;display:flex;justify-content:space-between;align-items:center;font-size:10px}footer img{width:226.2px;opacity:.95;filter:none}footer a{color:#fff}
@media(max-width:900px){.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;padding:18px 24px 24px;flex-direction:column;align-items:flex-start;gap:18px;border-bottom:1px solid #ddd}.nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 28px 55px}.hero-visual{min-height:390px}.section-head,.approach-inner,.contact-inner{grid-template-columns:1fr;gap:28px}.service-grid{grid-template-columns:1fr}.founder-intro{grid-template-columns:1fr 1fr;gap:30px}.founder-intro>div:first-child{grid-column:1/-1}.process{grid-template-columns:1fr 1fr}.process-arrow{display:none}}
@media(max-width:620px){.nav-wrap{padding:0 18px}.brand img{width:234px}.hero h1{font-size:49px}.hero-text{font-size:15px}.hero-visual{min-height:330px}.section{padding:58px 20px}.service-card{padding:26px 28px}.approach-inner{padding:38px 20px}.founder-intro{grid-template-columns:1fr}.founder-intro>div:first-child{grid-column:auto}.founder{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:28px 0 0}.contact-inner{padding:38px 20px}.contact-phones{flex-direction:column;gap:4px}footer{flex-direction:column;align-items:flex-start;gap:12px}}

/* V8 additions */
.vision-strip{background:#fff;border-top:1px solid #e1e5e8;border-bottom:1px solid #e1e5e8}
.vision-inner{max-width:var(--max);margin:auto;padding:42px 28px;display:grid;grid-template-columns:240px 1fr;gap:65px;align-items:center}
.vision-label .eyebrow{margin:0}
.vision-statement h2{font-size:clamp(27px,3.5vw,36px);max-width:940px;color:var(--navy)}
.proven{background:var(--off)}
.proven-head{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end}
.proven-head h2{font-size:clamp(40px,5vw,62px);max-width:700px}
.proven-head>p{margin:0;color:#657386;font-size:14px;max-width:430px}
.proven-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:70px}
.proven-stat{border-top:2px solid var(--teal);padding-top:22px;min-height:100px}
.proven-stat strong{display:block;font-family:"Manrope";font-size:31px;color:var(--navy)}
.proven-stat span{display:block;color:#657386;font-size:11px;line-height:1.45;margin-top:7px}
.proven-principles{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:1px solid #d1d7dd}
.proven-principles>div{padding:28px 22px 12px 0;border-right:1px solid #d1d7dd;min-height:150px}
.proven-principles>div:not(:first-child){padding-left:22px}
.proven-principles>div:last-child{border-right:0}
.proven-principles span{color:var(--teal);font-size:9px;font-weight:800}
.proven-principles h3{font-size:20px;margin:25px 0 8px}
.proven-principles p{margin:0;color:#657386;font-size:12px;line-height:1.55}
.map-label{max-width:500px;line-height:1.55;font-size:15px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.88);top:34px;left:34px}
@media(max-width:900px){
  .vision-inner{grid-template-columns:1fr;gap:12px}
  .proven-head{grid-template-columns:1fr;gap:28px}
  .proven-stats{grid-template-columns:1fr 1fr}
  .proven-principles{grid-template-columns:1fr 1fr}
  .proven-principles>div,.proven-principles>div:not(:first-child){padding-left:0;padding-right:18px;border-right:0;border-bottom:1px solid #d1d7dd}
  .proven-principles>div:nth-child(even){padding-left:18px;border-left:1px solid #d1d7dd}
}
@media(max-width:620px){
  .vision-inner{padding:42px 20px}
  .vision-statement h2{font-size:29px}
  .proven-stats{grid-template-columns:1fr}
  .proven-principles{grid-template-columns:1fr}
  .proven-principles>div,.proven-principles>div:not(:first-child),.proven-principles>div:nth-child(even){padding:22px 0;border-left:0;border-right:0}
}

/* V9 refinements */
.map-label{letter-spacing:.01em}
@media(max-width:620px){.card-top img{width:52px;height:40px}}

/* V10 refinements */
.linkedin-link{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.2);padding:9px 0;font-size:16px;color:#fff}
.linkedin-link span{color:var(--cyan)}
.card-top img{flex:0 0 auto}

/* V12 refinements */
.map-label{white-space:normal}
footer img{filter:none}

/* Navigation anchors: place section headings just below the sticky header. */
:root{scroll-padding-top:82px}
section[id]{scroll-margin-top:82px}
#top{scroll-margin-top:0}

/* The mobile hero statement gets more usable width without changing its font size. */
@media(max-width:620px){
  .map-label{max-width:calc(100% - 40px);width:calc(100% - 40px)}
}

/* Remove extra bottom spacing left by the removed contact CTA. */

/* V13 refinements */
.map-label{font-size:15px;line-height:1.45}
footer img{filter:none}

/* V14 refinements — stronger turquoise accents */
.button.dark,.nav-cta{background:var(--teal);color:var(--navy)!important}
.button.dark:hover,.nav-cta:hover{background:var(--navy);color:#fff!important}
.linkedin-link:hover{color:var(--teal)}

/* V15 refinements */
.larger-eyebrow{font-size:12px}

/* V16 refinements */
.service-card.navy{
  background:var(--teal);
  color:#fff;
}
.service-card.navy .eyebrow,
.service-card.navy .card-top,
.service-card.navy .card-top span,
.service-card.navy li::before{
  color:#000;
}
.service-card.navy .card-top img{
  filter:none;
}
.service-card.navy p,
.service-card.navy li{
  color:#fff;
}
.service-card.navy .card-divider{
  border-color:rgba(0,0,0,.35);
}

/* Let's Talk section: turquoise background with black turquoise accents/arrows. */
.contact{
  background:var(--teal);
  color:#fff;
}
.contact .eyebrow,
.contact-actions>a:not(.contact-button) span,
.contact .linkedin-link span{
  color:#000;
}
.contact h2,
.contact-actions>a:not(.contact-button),
.contact .linkedin-link{
  color:#fff;
}
.contact-actions>a:not(.contact-button),
.contact .linkedin-link{
  border-color:rgba(0,0,0,.25);
}

/* V17 Ports colour refinement */
.service-card.navy{
  background:var(--teal);
  border-color:var(--teal);
  color:var(--navy);
}
.service-card.navy .card-top{
  color:#fff;
}
.service-card.navy .card-top span{
  color:#fff;
}
.service-card.navy .card-top img{
  filter:brightness(0) invert(1);
}
.service-card.navy h3{
  color:var(--navy);
}
.service-card.navy .service-label{
  color:var(--navy);
}
.service-card.navy .service-desc{
  color:var(--navy);
}
.service-card.navy ul{
  color:var(--navy);
  border-color:rgba(1,27,64,.35);
}
.service-card.navy li{
  color:var(--navy);
}
.service-card.navy li:before{
  color:#fff;
}

/* V18 refinements */
.contact .talk-eyebrow{
  color:var(--navy);
}

/* Ports: description and bullets white; arrows dark blue. */
.service-card.navy .service-desc{
  color:#fff;
}
.service-card.navy ul{
  color:#fff;
}
.service-card.navy li{
  color:#fff;
}
.service-card.navy li:before{
  color:var(--navy);
}

/* V19 refinements */
.nav-cta{color:#fff!important;background:var(--navy)}
.menu-toggle{background:var(--navy);color:#fff}

/* Our Services: white text, retain turquoise arrow. */
.hero-actions .button.dark{color:#fff}
.hero-actions .button.dark span{color:var(--teal)}

/* Footer bottom bar uses the same dark blue as the main logo. */
footer{background:var(--navy)}

/* Hero visual statement: two lines, slightly higher, improved contrast over the cloud. */
.map-label{
  top:27px;
  max-width:620px;
  color:#fff;
  text-shadow:0 1px 3px rgba(1,27,64,.65);
}

/* Keep the two-line statement readable on smaller screens without changing its size. */
@media(max-width:620px){
  .map-label{
    top:22px;
    max-width:calc(100% - 32px);
    width:calc(100% - 32px);
  }
}

/* V20 refinement — Ports label and bullet text */
.service-card.navy .ports-label{
  color:var(--navy);
}
.service-card.navy li{
  color:var(--navy);
}

/* V21 refinements */
.hero-actions .button.dark,
.hero-actions .button.dark:hover,
.hero-actions .button.dark:focus,
.hero-actions .button.dark:active{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.hero-actions .button.dark span,
.hero-actions .button.dark:hover span,
.hero-actions .button.dark:focus span,
.hero-actions .button.dark:active span{
  color:var(--teal);
}

/* Hero visual statement: 2px smaller and continuous on mobile. */
.map-label{
  font-size:13px;
}
@media(max-width:620px){
  .map-label{
    font-size:13px;
    max-width:calc(100% - 24px);
    width:calc(100% - 24px);
    white-space:normal;
  }
}

/* Top Contact button: turquoise background, white text, fixed on hover. */
.nav-cta,
.nav-cta:hover,
.nav-cta:focus,
.nav-cta:active{
  background:var(--teal);
  color:#fff!important;
  border-color:var(--teal);
}

/* V22 refinements */
.hero-actions .button.dark,
.hero-actions .button.dark:hover,
.hero-actions .button.dark:focus,
.hero-actions .button.dark:active{
  color:#fff!important;
}
