@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');

:root{
  --navy:#1A1F4B;
  --navy-light:#2A3168;
  --gold:#F4C430;
  --gold-dark:#D9A82B;
  --cream:#FAF8F4;
  --ink:#1A1F4B;
  --muted:#5C6079;
  --white:#ffffff;
  --border:#E5E2D9;
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Playfair Display',serif;
  color:var(--navy);
  line-height:1.15;
  font-weight:700;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}

/* ===== NAV ===== */
nav{
  position:sticky;top:0;z-index:100;
  background:var(--navy);
  border-bottom:1px solid rgba(244,196,48,0.2);
}
.nav-inner{
  max-width:var(--max);margin:0 auto;padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{font-family:'Playfair Display',serif;font-weight:700;font-size:1.3rem;color:var(--white);display:flex;align-items:center;gap:10px;white-space:nowrap;margin-right:32px;}
.logo-icon{height:38px;width:auto;display:block;flex-shrink:0;}
.logo span{color:var(--gold);}
.nav-links{display:flex;gap:22px;list-style:none;align-items:center;}
.nav-links a{color:rgba(255,255,255,0.85);font-size:0.9rem;font-weight:500;transition:color .2s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-cta{background:var(--gold);color:var(--navy)!important;padding:9px 18px;border-radius:4px;font-weight:700!important;white-space:nowrap;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;}
.hamburger span{width:24px;height:2px;background:var(--white);}

/* ===== HERO ===== */
.hero{background:var(--navy);color:var(--white);padding:90px 0 80px;text-align:center;}
.eyebrow{color:var(--gold);font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:16px;}
.hero h1{color:var(--white);font-size:2.7rem;max-width:820px;margin:0 auto 20px;}
.hero p{color:rgba(255,255,255,0.8);font-size:1.15rem;max-width:640px;margin:0 auto 34px;}

/* ===== BUTTONS ===== */
.btn-primary,.btn-secondary,.btn-secondary-light{
  display:inline-block;padding:14px 28px;border-radius:4px;font-weight:700;font-size:0.95rem;
  transition:transform .15s, box-shadow .15s;cursor:pointer;border:none;
}
.btn-primary{background:var(--gold);color:var(--navy);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(244,196,48,0.35);}
.btn-secondary{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.4);}
.btn-secondary:hover{border-color:var(--gold);color:var(--gold);}
.btn-secondary-light{background:var(--navy);color:var(--white);border:1px solid var(--navy);}
.btn-secondary-light:hover{background:var(--navy-light);border-color:var(--gold);}
.btn-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ===== SECTIONS ===== */
section{padding:80px 0;}
.section-alt{background:var(--white);}
.section-head{text-align:center;max-width:700px;margin:0 auto 50px;}
.section-head h2{font-size:2.1rem;margin-bottom:14px;}
.section-head p{color:var(--muted);font-size:1.05rem;}

/* ===== OUTCOME CARDS ===== */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.card{
  background:var(--white);border:1px solid var(--border);border-radius:8px;padding:32px 26px;
  transition:transform .2s, box-shadow .2s;
}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(26,31,75,0.08);}
.card .tag{color:var(--gold-dark);font-weight:700;font-size:0.75rem;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;display:block;}
.card h3{font-size:1.2rem;margin-bottom:10px;}
.card p{color:var(--muted);font-size:0.95rem;}
.card ul{margin-top:14px;padding-left:18px;color:var(--muted);font-size:0.92rem;}
.card ul li{margin-bottom:6px;}
.featured-card{
  background:var(--navy);border-radius:10px;padding:48px 40px;text-align:center;
  border:1px solid rgba(244,196,48,0.3);
}
.featured-card .tag{color:var(--gold);}
.featured-card h2{color:var(--white);font-size:1.8rem;margin-bottom:14px;}
.featured-card p{color:rgba(255,255,255,0.8);max-width:560px;margin:0 auto 26px;font-size:1.05rem;}
.group-label{
  text-align:center;font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;
  color:var(--gold-dark);margin:0 0 10px;
}
.group-heading{text-align:center;font-size:1.5rem;margin-bottom:34px;}

/* ===== ECOSYSTEM DIAGRAM STRIP ===== */
.ecosystem-strip{display:flex;justify-content:center;gap:0;flex-wrap:wrap;margin:40px 0;}
.eco-node{
  background:var(--navy);color:var(--white);padding:20px 28px;border-radius:6px;text-align:center;
  min-width:180px;margin:6px;
}
.eco-node.center{background:var(--gold);color:var(--navy);}
.eco-node .eco-label{font-size:0.7rem;letter-spacing:1px;text-transform:uppercase;opacity:0.75;}
.eco-node.center .eco-label{opacity:0.65;}
.eco-node .eco-name{font-family:'Playfair Display',serif;font-weight:700;font-size:1.05rem;margin-top:4px;}

/* ===== QUOTE / PHILOSOPHY ===== */
.philosophy{background:var(--navy);color:var(--white);text-align:center;padding:70px 0;}
.philosophy blockquote{font-family:'Playfair Display',serif;font-size:1.6rem;max-width:760px;margin:0 auto 18px;font-style:italic;}
.philosophy cite{color:var(--gold);font-style:normal;font-size:0.9rem;}

/* ===== FORM ===== */
.form-box{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:34px;max-width:560px;margin:0 auto;}
.form-box label{display:block;font-size:0.85rem;font-weight:600;margin:14px 0 6px;color:var(--navy);}
.form-box input,.form-box textarea,.form-box select{
  width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:5px;font-family:'DM Sans',sans-serif;font-size:0.95rem;
}
.form-box textarea{min-height:120px;resize:vertical;}
.form-status{margin-top:14px;font-size:0.9rem;display:none;padding:12px;border-radius:5px;}
.form-status.ok{display:block;background:#e8f5e9;color:#2d6a4f;}
.form-status.err{display:block;background:#fde8e8;color:#c1121f;}

/* ===== HEADSHOT ===== */
.headshot-circle{
  width:170px;height:170px;border-radius:50%;object-fit:cover;object-position:center;
  border:4px solid var(--gold);margin:0 auto 28px;box-shadow:0 12px 30px rgba(0,0,0,0.25);
}
.headshot-portrait{
  width:100%;max-width:340px;border-radius:8px;object-fit:cover;object-position:top center;
  box-shadow:0 16px 40px rgba(26,31,75,0.18);margin:0 auto;
}

/* ===== FOOTER ===== */
footer{background:var(--navy);color:rgba(255,255,255,0.65);padding:50px 0 26px;}
.footer-inner{max-width:var(--max);margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:26px;}
.footer-logo{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--white);font-weight:700;}
.footer-logo span{color:var(--gold);}
.footer-tagline{font-size:0.85rem;margin-top:6px;color:rgba(255,255,255,0.55);}
.footer-links{list-style:none;display:flex;gap:20px;flex-wrap:wrap;}
.footer-links a{font-size:0.85rem;color:rgba(255,255,255,0.7);}
.footer-links a:hover{color:var(--gold);}
.footer-bottom{max-width:var(--max);margin:30px auto 0;padding:20px 24px 0;border-top:1px solid rgba(255,255,255,0.1);font-size:0.75rem;color:rgba(255,255,255,0.35);}

@media(max-width:900px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-2{grid-template-columns:1fr;}
  .hero h1{font-size:2rem;}
}
@media(max-width:1150px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;padding:20px 24px;gap:16px;align-items:flex-start;}
  .nav-links a{white-space:normal;}
  .hamburger{display:flex;}
}
@media(max-width:700px){
  .grid-4{grid-template-columns:1fr;}
  .footer-inner{flex-direction:column;}
}
