
:root{
  --orange:#ff6400;
  --navy:#00396f;
  --teal:#00a8b8;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#000;font-family:Arial,Helvetica,sans-serif}
body{overflow-x:hidden}
.hero{
  position:relative;
  width:100vw;
  min-height:100vh;
  background-image:url('assets/hero-port.png');
  background-size:cover;
  background-position:center center;
  color:#fff;
  overflow:hidden;
}
.overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(0,43,91,.77) 0%,rgba(0,43,91,.64) 30%,rgba(0,43,91,.26) 58%,rgba(0,43,91,.05) 100%);
}
.topbar{
  position:absolute;left:0;top:0;width:100%;height:13%;
  background:rgba(0,59,112,.74);
  display:flex;align-items:center;
  z-index:3;
  padding:0 1.45%;
}
.brand{
  display:flex;align-items:center;
  width:22%;
  min-width:260px;
  color:#fff;
}
.brand-logo{
  width:4.8vw;height:4.8vw;min-width:54px;min-height:54px;max-width:78px;max-height:78px;
  object-fit:contain;margin-right:.65vw;
}
.brand-name{
  font-size:clamp(30px,2.45vw,46px);
  line-height:.95;font-weight:400;letter-spacing:.02em
}
.brand-strap{
  margin-top:.35vw;
  font-size:clamp(10px,.88vw,17px);
  white-space:nowrap
}
.brand-strap span{color:var(--orange)}
.nav{
  display:flex;align-items:center;gap:2.05vw;
  margin-left:auto;
  margin-right:2vw;
  padding-top:.1vw;
}
.nav a{
  color:#fff;font-size:clamp(14px,1.28vw,24px);
  font-weight:400;letter-spacing:.01em;
}
.cta{
  background:var(--orange);color:#fff;
  padding:1.05vw 1.35vw;
  font-size:clamp(13px,1.32vw,24px);
  white-space:nowrap;
  min-width:22.5%;
  text-align:center;
}
.copy{
  position:absolute;z-index:2;
  left:2.15%;top:18.8%;
  width:43%;
}
.eyebrow{
  color:var(--orange);
  font-size:clamp(18px,1.72vw,31px);
  letter-spacing:.115em;
  font-weight:300;
  margin-bottom:4.9vw;
}
h1{
  margin:0 0 4.15vw 0;
  font-size:clamp(40px,3.55vw,67px);
  line-height:1.23;
  font-weight:700;
  letter-spacing:.005em;
}
.lead,.bodycopy{
  margin:0;
  font-size:clamp(20px,1.88vw,35px);
  line-height:1.34;
  font-weight:300;
}
.lead{margin-bottom:2.4vw}
.footer{
  position:absolute;z-index:4;
  left:0;bottom:0;width:100%;height:7.7%;
  background:rgba(0,58,108,.80);
  display:grid;
  grid-template-columns:2.5fr 1.55fr 1.25fr .9fr;
  align-items:center;
  gap:1.3vw;
  padding:0 2.15%;
}
.footer-tag{
  font-size:clamp(12px,1.2vw,22px);
  font-weight:300;
}
.footer-contact,.footer-legal,.footer-social{
  font-size:clamp(6px,.5vw,9px);
  line-height:1.48;
  color:#72bac7;
}
.footer a{color:#72bac7}
.footer-legal b{color:#72bac7}
.footer-social{text-align:left}
.linkedin-row{display:flex;gap:1vw;margin-top:.35vw}
.linkedin-row span{
  display:flex;align-items:center;justify-content:center;
  width:2.35vw;height:2.35vw;min-width:28px;min-height:28px;
  border-radius:.28vw;
  background:#24b9c7;color:#fff;
  font-size:clamp(10px,.85vw,16px);
  font-weight:bold;
}
@media(max-width:1000px){
  .nav{gap:1.2vw}.nav a{font-size:12px}
  .cta{font-size:12px;min-width:23%}
  .brand{min-width:210px}
}

/* Stage 1: linked case-study cards */
.case-card-link{color:inherit;text-decoration:none;display:contents;}


/* Stage 3: Insights / Case Studies */
.cases-page{margin:0;background:#f3f5f6;color:#002B5B;font-family:Arial,Helvetica,sans-serif;min-height:100%;}
.cases-header{height:100px;background:#00396f;display:flex;align-items:center;padding:0 2.2vw;gap:24px;color:#fff;}
.cases-brand{display:flex;align-items:flex-end;gap:12px;color:#fff;text-decoration:none;min-width:300px;}
.cases-brand strong{font-size:34px;font-weight:400;line-height:1;}
.cases-brand span{font-size:12px;padding-bottom:2px;white-space:nowrap;}.cases-brand em{font-style:normal;color:#ff6400;}
.cases-nav{display:flex;gap:25px;margin-left:auto;align-items:center}.cases-nav a{color:#fff;text-decoration:none;font-size:15px}.cases-nav a.active{color:#8fd3dc}
.cases-cta{background:#ff6400;color:#fff;text-decoration:none;padding:16px 18px;white-space:nowrap;font-size:14px}
.cases-hero{position:relative;height:330px;background:url('assets/hero-port.png') center 54%/cover no-repeat;color:#fff;overflow:hidden}
.cases-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,43,91,.92),rgba(0,43,91,.60) 52%,rgba(0,43,91,.18))}
.cases-hero-copy{position:relative;z-index:1;max-width:820px;padding:62px 7vw}.cases-kicker{color:#ff6400;letter-spacing:.16em;font-size:13px;font-weight:700;margin-bottom:12px}.cases-kicker.dark{color:#006B7A}
.cases-hero-copy h1{font-size:44px;line-height:1.08;margin:0 0 16px;white-space:normal}.cases-hero-copy p{font-size:19px;line-height:1.5;max-width:720px;margin:0;color:#e4eef2}
.cases-main{max-width:1240px;margin:0 auto;padding:52px 32px 70px}.cases-intro{max-width:920px;margin-bottom:36px}.cases-intro h2{font-size:34px;margin:0 0 14px}.cases-intro p{font-size:17px;line-height:1.6;color:#334b63}
.cases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.case-card{background:#fff;border-top:5px solid #ff6400;padding:28px 30px 25px;box-shadow:0 5px 18px rgba(0,43,91,.08);min-height:245px;display:flex;flex-direction:column}.case-no{font-size:12px;letter-spacing:.12em;color:#006B7A;font-weight:700}.case-card h3{font-size:25px;line-height:1.15;margin:12px 0}.case-card p{font-size:16px;line-height:1.5;color:#40566b;margin:0 0 20px}.case-actions{margin-top:auto;display:flex;gap:20px;flex-wrap:wrap}.case-actions a{color:#006B7A;font-weight:700;text-decoration:none}.case-actions a:hover{text-decoration:underline}
.cases-footer{background:#00396f;color:#fff;min-height:92px;display:grid;grid-template-columns:2fr 1.6fr 1fr 1fr;gap:20px;align-items:center;padding:18px 4vw;font-size:12px}.cases-footer a{color:#8fd3dc;text-decoration:none}.cases-footer span{color:#8fd3dc}
@media(max-width:1050px){.cases-nav{gap:12px}.cases-nav a{font-size:12px}.cases-brand{min-width:220px}.cases-cta{font-size:12px}.cases-grid{grid-template-columns:1fr}.cases-footer{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.cases-header{height:auto;min-height:90px;flex-wrap:wrap;padding:18px}.cases-nav{order:3;width:100%;overflow:auto}.cases-cta{margin-left:auto}.cases-hero-copy{padding:50px 24px}.cases-hero-copy h1{font-size:34px}.cases-main{padding:40px 20px}.cases-footer{grid-template-columns:1fr}}

/* GSCI cookie consent */
.gsci-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:99999;background:rgba(0,43,91,.98);color:#fff;border-top:3px solid #FF6000;box-shadow:0 -6px 24px rgba(0,0,0,.25);font-family:inherit}
.gsci-cookie-inner{max-width:1600px;margin:0 auto;padding:18px 28px;display:flex;gap:28px;align-items:center;justify-content:space-between}
.gsci-cookie-copy{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:baseline;line-height:1.45;font-size:15px}
.gsci-cookie-copy strong{font-size:19px}.gsci-cookie-copy span{max-width:900px}.gsci-cookie-copy a{color:#fff;text-decoration:underline;font-weight:700}
.gsci-cookie-actions{display:flex;gap:12px;flex:0 0 auto}.gsci-cookie-btn{border:2px solid #FF6000;padding:11px 18px;font-weight:700;cursor:pointer;font:inherit}.gsci-cookie-btn.primary{background:#FF6000;color:#fff}.gsci-cookie-btn.secondary{background:transparent;color:#fff}
.gsci-cookie-btn:focus{outline:3px solid #00B3B3;outline-offset:2px}
.footer-cookie-settings{display:block;margin-top:3px;color:inherit;text-decoration:none}
@media(max-width:800px){.gsci-cookie-inner{align-items:stretch;flex-direction:column;padding:16px 18px;gap:14px}.gsci-cookie-actions{width:100%}.gsci-cookie-btn{flex:1}.gsci-cookie-copy{font-size:14px}}
