:root{
  --navy: #213153; /* deep navy (matches logo background) */
  --accent: #78e0c7; /* mint/teal accent (matches logo green) */
  --muted: #9aa8bf;
  --bg: #f7fbff;
  --white: #ffffff;
  --shadow: 0 8px 24px rgba(33,49,83,0.12);
  --radius: 14px;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: linear-gradient(180deg,var(--bg),#f1f7fb 60%);
  color:#14202b;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
  font-size:16px;
}

/* layout helpers */
.container{
  width: min(1100px, 92%);
  margin: 0 auto;
}

/* Header */
.site-header{
  background: var(--white);
  border-bottom: 1px solid #e6eef6;
  position: sticky;
  top:0;
  z-index:60;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:inherit;
}
.brand-logo{ width:64px; height:64px; object-fit:contain; border-radius:10px; }
.brand-name{display:block; font-weight:700; font-size:18px}
.brand-tagline{display:block; font-size:12px; color:var(--muted)}

/* Nav */
.main-nav{
  display:flex;
  gap:18px;
  align-items:center;
}
.main-nav a{ color:#123; text-decoration:none; font-weight:600; padding:8px 12px; border-radius:8px;}
.main-nav a.cta{ background:var(--accent); color:var(--navy); box-shadow:var(--shadow);}

/* nav toggle for mobile */
.nav-toggle{
  display:none;
  background:transparent;
  border:0;
}
.nav-toggle span{
  display:block; width:22px; height:2px; background:#25364a; margin:4px 0; border-radius:2px;
}

/* Hero */
.hero{ padding:56px 0; background: linear-gradient(180deg, rgba(33,49,83,0.03), transparent 50%); }
.hero-grid{ display:grid; grid-template-columns: 1fr 360px; gap:32px; align-items:center; }

/* hero copy */
h1{ font-size:32px; margin:0 0 12px; color:var(--navy); font-weight:800; letter-spacing:-0.02em;}
.lead{ color:#31445a; margin:0 0 18px; max-width:56ch; }
.hero-ctas{ display:flex; gap:12px; margin:18px 0; }
.btn{ display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border-radius:10px; text-decoration:none; font-weight:700; cursor:pointer; border:1px solid transparent; }
.btn-primary{ background:var(--navy); color:var(--white); }
.btn-ghost{ background:transparent; border:1px solid rgba(33,49,83,0.08); color:var(--navy); }
.btn.small{ padding:8px 12px; font-size:14px; }

/* hero highlights */
.hero-highlights{ margin-top:18px; padding-left:18px; color:#234; }
.hero-highlights li{ margin-bottom:8px; }

/* hero card */
.hero-card{ background:var(--white); border-radius:16px; box-shadow:var(--shadow); overflow:hidden; display:flex; flex-direction:column; }
.card-top{ background:linear-gradient(90deg, rgba(33,49,83,0.04), rgba(120,224,199,0.06)); padding:22px; display:flex; align-items:center; justify-content:center; }
.hero-logo{ width:120px; height:120px; object-fit:contain; }
.card-body{ padding:18px; }
.card-body h3{ margin:0 0 8px; color:var(--navy) }

/* sections */
.section{ padding:48px 0; }
.section h2{ font-size:22px; margin:0 0 8px; color:var(--navy); }
.section-sub{ color:var(--muted); margin-bottom:20px; }

/* cards grid */
.cards{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:16px; }
.card{ background:var(--white); padding:18px; border-radius:12px; box-shadow: 0 6px 20px rgba(33,49,83,0.06); }

/* approach */
.approach-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:18px; }

/* about */
.about-grid{ display:grid; grid-template-columns: 1fr 260px; gap:24px; align-items:center; }
.stats{ display:flex; flex-direction:column; gap:12px; }
.stat{ background:var(--white); border-radius:10px; padding:12px; box-shadow:var(--shadow); text-align:center; }
.stat-value{ font-weight:800; color:var(--navy); font-size:20px; }
.stat-label{ font-size:13px; color:var(--muted); }

/* contact */
.contact-grid{ display:grid; grid-template-columns: 1fr 360px; gap:20px; align-items:start; }
.contact-card{ background:linear-gradient(180deg,var(--white),#fbfeff); border-radius:14px; padding:20px; box-shadow:var(--shadow); }
.form label{ display:block; margin-bottom:10px; font-size:13px; color:#234; }
.form input, .form textarea{
  width:100%; padding:10px 12px; margin-top:6px; border-radius:8px; border:1px solid #e3edf6; background:#fff; font-size:14px;
}
.form-ctas{ display:flex; gap:10px; margin-top:12px; align-items:center; }

/* footer */
.site-footer{ background:var(--navy); color:var(--white); padding:20px 0; margin-top:40px; }
.footer-inner{ display:flex; justify-content:space-between; align-items:center; gap:20px; }
.footer-logo{ width:44px; height:44px; object-fit:contain; border-radius:6px; }

/* responsive */
@media (max-width:900px){
  .hero-grid{ grid-template-columns: 1fr; }
  .about-grid, .contact-grid{ grid-template-columns: 1fr; }
  .header-inner{ gap:12px; }
  .main-nav{ display:none; }
  .nav-toggle{ display:block; }
  .container{ width:94% }
}
