*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --navy:#0b2545;
  --navy2:#1a3a5c;
  --accent:#2176c7;
  --accent-light:#7bbfd4;
  --text:#0d1b2a;
  --muted:#4a6070;
  --rule:#d0dde8;
  --bg:#f4f7fb;
  --white:#ffffff;
}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);background:var(--white);font-size:16px;line-height:1.7;}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',sans-serif;}
.wrap{max-width:1100px;margin:0 auto;width:100%;padding:0 5%;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;height:64px;display:flex;align-items:center;padding:0 5%;background:rgb(13, 34, 51);backdrop-filter:blur(8px);}
.nav-inner{max-width:1100px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{text-decoration:none;}
.nav-logo img{height:50px;width:auto;display:block;}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{color:rgba(255,255,255,0.7);text-decoration:none;font-size:0.84rem;font-weight:400;transition:color 0.2s;}
.nav-links a:hover{color:var(--white);}
.nav-cta{background:var(--accent);color:var(--white) !important;padding:0.42rem 1.15rem;font-weight:600 !important;}
.nav-cta:hover{background:var(--navy2) !important;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--white);transition:transform 0.3s,opacity 0.3s;}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
@media(max-width:700px){
  .hamburger{display:flex;}
  .nav-links{display:none;flex-direction:column;gap:0;position:absolute;top:64px;left:0;right:0;background:rgba(11,37,69,0.98);padding:0 5%;}
  .nav-links.open{display:flex;}
  .nav-links li{border-bottom:1px solid rgba(255,255,255,0.07);}
  .nav-links a{display:block;padding:0.9rem 0;font-size:0.95rem;}
  .nav-cta{background:none;color:var(--accent-light) !important;padding:0.9rem 0;}
}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:url('/img/hero.jpg') center 40%/cover no-repeat;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,37,69,0.95) 0%,rgba(11,37,69,0.6) 55%,rgba(11,37,69,0.2) 100%);}
.hero-inner{position:relative;z-index:1;width:100%;max-width:1100px;margin:0 auto;padding:0 5% 6rem;}
.hero-badge{display:inline-block;background:rgba(33,118,199,0.25);border:1px solid rgba(123,191,212,0.5);color:var(--white);font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;padding:0.3rem 0.9rem;margin-bottom:1.4rem;font-weight:500;}
.hero h1{font-size:clamp(2.6rem,5.5vw,4.5rem);color:var(--white);line-height:1.08;margin-bottom:1.4rem;font-weight:400;max-width:750px;}
.hero h1 em{font-style:italic;color:#7dd3fc;}
.hero-sub{font-size:1rem;color:rgba(255,255,255,0.7);max-width:520px;margin-bottom:2.5rem;font-weight:300;line-height:1.85;}
.btn-primary{background:var(--accent);color:var(--white);padding:0.82rem 2rem;text-decoration:none;font-weight:600;font-size:0.9rem;display:inline-block;transition:background 0.2s;}
.btn-primary:hover{background:var(--navy2);}

/* SECTIONS */
section{padding:6rem 5%;}
.section-eyebrow{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--accent);font-weight:600;margin-bottom:0.75rem;text-align:center;}
.section-h2{font-size:clamp(1.8rem,3.5vw,2.7rem);color:var(--navy);margin-bottom:1.1rem;line-height:1.22;font-weight:400;text-align:center;}
.section-intro{color:var(--muted);max-width:640px;margin:0 auto 3rem;font-size:0.97rem;line-height:1.8;text-align:center;}

/* PROBLEM */
.problem{background:var(--bg);}
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5px;background:var(--rule);border:1px solid var(--rule);}
@media(max-width:600px){.problem-grid{grid-template-columns:1fr;}}
.problem-card{background:var(--white);padding:2rem;}
.problem-card h3{font-size:1.1rem;color:var(--navy);margin-bottom:0.5rem;font-weight:400;}
.problem-card p{font-size:0.87rem;color:var(--muted);line-height:1.7;}

/* THERMAL */
.thermal-row{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:3rem;border:1px solid var(--rule);}
@media(max-width:600px){.thermal-row{grid-template-columns:1fr;}}
.thermal-item img{width:100%;height:220px;object-fit:cover;display:block;}
.thermal-cap{padding:0.75rem 1rem;background:var(--white);font-size:0.75rem;color:var(--muted);}
.thermal-cap strong{color:var(--navy);font-size:0.78rem;display:block;margin-bottom:0.15rem;}

/* WHO */
.who-help{background:var(--white);}
.segments{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);}
@media(max-width:500px){.segments{grid-template-columns:1fr 1fr;}}
.segment{background:var(--white);padding:1.5rem 1.25rem;}
.seg-num{font-size:1.4rem;color:var(--rule);margin-bottom:0.5rem;line-height:1;}
.segment h4{font-size:0.93rem;font-weight:600;color:var(--navy);margin-bottom:0.2rem;}
.segment p{font-size:0.78rem;color:var(--muted);line-height:1.5;}

/* SERVICES */
.services{background:var(--bg);}
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start;padding-top:3rem;border-top:1px solid var(--rule);margin-bottom:4.5rem;}
@media(max-width:768px){.svc-block{grid-template-columns:1fr;gap:2.5rem;}}
.svc-num{font-size:4.5rem;color:var(--rule);line-height:1;margin-bottom:0.4rem;}
.svc-block h3{font-size:1.5rem;color:var(--navy);margin-bottom:1rem;line-height:1.25;font-weight:400;}
.svc-block p{color:var(--muted);margin-bottom:1rem;font-size:0.93rem;line-height:1.75;}
.svc-list{list-style:none;display:flex;flex-direction:column;gap:0;}
.svc-list li{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.86rem;color:var(--muted);padding:0.55rem 0;border-top:1px solid var(--rule);}
.svc-list li::before{content:'→';color:var(--accent);font-size:0.8rem;flex-shrink:0;margin-top:0.1rem;}
.svc-photos{display:grid;grid-template-columns:1fr 1fr;gap:3px;}
.svc-photos img{width:100%;height:195px;object-fit:cover;display:block;}
.svc-photos img.full{grid-column:1/-1;height:260px;}
.photo-cap{font-size:0.71rem;color:var(--muted);margin-top:0.5rem;grid-column:1/-1;}

/* HOW */
.how{background:var(--white);}
.exec-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5px;background:var(--rule);border:1px solid var(--rule);}
@media(max-width:600px){.exec-grid{grid-template-columns:1fr;}}
.exec-card{background:var(--white);padding:2rem;}
.exec-card h3{font-size:1.05rem;color:var(--navy);margin-bottom:0.45rem;font-weight:600;}
.exec-card p{font-size:0.87rem;color:var(--muted);line-height:1.7;}

/* IMPACT */
.impact{background:var(--navy);}
.impact .section-eyebrow{color:rgba(255,255,255,0.4);text-align:center;}
.impact .section-h2{color:var(--white);text-align:center;}
.impact .section-intro{color:rgba(255,255,255,0.5);text-align:center;}
.impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.08);}
.impact-card{background:var(--navy);padding:2rem;}
.impact-eyebrow{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:#7dd3fc;margin-bottom:0.75rem;}
.impact-card h4{font-size:1.15rem;color:var(--white);margin-bottom:0.5rem;font-weight:400;}
.impact-card p{font-size:0.85rem;color:rgba(255,255,255,0.5);line-height:1.65;}

/* TEAM */
.team{background:var(--bg);}
.team-photo-wrap{margin-bottom:2.5rem;}
.team-photo-wrap img{width:100%;max-height:480px;object-fit:cover;object-position:center 30%;display:block;}
.team-names{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--rule);border:1px solid var(--rule);}
@media(max-width:600px){.team-names{grid-template-columns:1fr !important;}}
.team-name-card{background:var(--white);padding:1.5rem;}
.team-name-card h3{font-size:1.1rem;color:var(--navy);margin-bottom:0.15rem;font-weight:400;}
.team-role{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.09em;color:var(--accent);font-weight:600;margin-bottom:0.5rem;}
.team-name-card p{font-size:0.83rem;color:var(--muted);line-height:1.65;}

/* CONTACT */
.contact{background:var(--white);}
.contact-inner{max-width:640px;margin:0 auto;}
.contact h2{font-size:clamp(1.8rem,3vw,2.5rem);color:var(--navy);margin-bottom:0.5rem;font-weight:400;}
.contact-inner > p{color:var(--muted);margin-bottom:0.6rem;font-size:0.93rem;}
.contact-direct{font-size:0.84rem;color:var(--muted);margin-bottom:2.5rem;}
.contact-direct a{color:var(--accent);text-decoration:none;}
.form-group{margin-bottom:1.1rem;}
.form-group label{display:block;font-size:0.78rem;font-weight:600;color:var(--navy);margin-bottom:0.38rem;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.72rem 1rem;border:1.5px solid var(--rule);font-family:'Plus Jakarta Sans',sans-serif;font-size:0.9rem;color:var(--text);background:var(--white);outline:none;transition:border-color 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);}
.form-group textarea{resize:vertical;min-height:115px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:480px){.form-row{grid-template-columns:1fr;}}
.submit-btn{background:var(--accent);color:var(--white);border:none;padding:0.88rem 2.2rem;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.9rem;font-weight:600;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.submit-btn:hover{background:var(--navy);}

/* CTA */
.cta-section{background:var(--navy);padding:6rem 5%;text-align:center;border-top:3px solid var(--accent);}
.cta-section h2{font-size:clamp(2rem,4vw,3rem);color:var(--white);margin-bottom:1rem;line-height:1.15;max-width:580px;margin-left:auto;margin-right:auto;font-weight:400;}
.cta-section p{color:rgba(255,255,255,0.65);font-size:0.97rem;margin-bottom:2.5rem;max-width:460px;margin-left:auto;margin-right:auto;}
.btn-white{background:var(--accent);color:var(--white);padding:0.88rem 2.2rem;font-weight:700;font-size:0.9rem;text-decoration:none;display:inline-block;transition:background 0.15s;}
.btn-white:hover{background:var(--navy2);}

/* FOOTER */
footer{background:rgb(13, 34, 51);padding:2.5rem 5%;border-top:1px solid rgba(255,255,255,0.08);}
.footer-inner{max-width:1100px;width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.25rem;}
footer p{font-size:0.78rem;color:rgba(255,255,255,0.35);}
footer a{color:rgba(255,255,255,0.35);text-decoration:none;}
footer a:hover{color:rgba(255,255,255,0.65);}
.team-names-four{grid-template-columns:repeat(4,1fr);}
      @media(max-width:900px){.team-names-four{grid-template-columns:1fr 1fr !important;}}
      @media(max-width:480px){.team-names-four{grid-template-columns:1fr !important;}}
