/* EPM Analytics AI — main.css — Phase 4 Batch 1 */
:root{--mango:#F57C00;--mango-dark:#E65100;--leaf:#2E7D32;--charcoal:#1A1A1A;--offwhite:#FAFAFA;--grey:#6B6B6B;--hairline:#E5E5E5;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--space-7:6rem;--radius:12px;--max-width:1100px;--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-system);font-size:16px;line-height:1.6;color:var(--charcoal);background:var(--offwhite);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--mango-dark);text-decoration:none}
a:hover{color:var(--leaf)}
h1,h2,h3,h4{font-weight:800;letter-spacing:-0.02em;line-height:1.15;margin:0 0 var(--space-2)}
p{margin:0 0 var(--space-2)}
ul{margin:0;padding:0;list-style:none}
.skip-link{position:absolute;top:-100px;left:0;background:var(--charcoal);color:#fff;padding:var(--space-1) var(--space-2);z-index:1000}
.skip-link:focus{top:0}
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-3)}
.site-header{position:sticky;top:0;z-index:100;background:var(--offwhite);border-bottom:1px solid var(--hairline)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:flex;align-items:center;gap:var(--space-1);color:var(--charcoal)}
.brand:hover{color:var(--charcoal)}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,var(--mango),var(--mango-dark));color:#fff;font-weight:800;font-size:0.85rem;letter-spacing:-0.02em;border-radius:8px}
.brand-name{font-weight:800;font-size:1.05rem;letter-spacing:-0.01em}
.nav-toggle{display:none}
.nav-toggle-label{display:flex;flex-direction:column;justify-content:space-between;width:28px;height:22px;cursor:pointer;padding:0}
.nav-toggle-label span{display:block;height:3px;background:var(--charcoal);border-radius:2px;transition:transform .25s,opacity .25s}
.site-nav{position:fixed;top:64px;left:0;right:0;bottom:0;width:100%;height:calc(100vh - 64px);background:var(--offwhite);transform:translateX(100%);transition:transform .25s ease;padding:var(--space-4);z-index:200;overflow-y:auto}
.site-nav ul{display:flex;flex-direction:column;gap:var(--space-2)}
.site-nav a{display:block;font-size:1.25rem;font-weight:700;color:var(--charcoal);padding:var(--space-2) 0;min-height:44px}
.site-nav a:hover{color:var(--mango-dark)}
.nav-cta{background:var(--mango);color:#fff !important;padding:var(--space-2) var(--space-3) !important;border-radius:var(--radius);text-align:center;margin-top:var(--space-2)}
.nav-cta:hover{background:var(--mango-dark)}
.nav-toggle:checked ~ .site-nav{transform:translateX(0)}
body:has(.nav-toggle:checked){overflow:hidden}
.nav-toggle:checked ~ .nav-toggle-label span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.nav-toggle:checked ~ .nav-toggle-label span:nth-child(2){opacity:0}
.nav-toggle:checked ~ .nav-toggle-label span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
.hero{position:relative;padding:var(--space-7) var(--space-3) var(--space-6);text-align:center;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(at 20% 20%,rgba(245,124,0,0.18) 0%,transparent 55%),radial-gradient(at 80% 30%,rgba(46,125,50,0.14) 0%,transparent 55%),radial-gradient(at 50% 90%,rgba(245,124,0,0.10) 0%,transparent 55%),var(--offwhite);animation:meshShift 18s ease-in-out infinite alternate}
@keyframes meshShift{0%{background-position:0% 0%,100% 0%,50% 100%}100%{background-position:10% 10%,90% 20%,60% 90%}}
.hero .eyebrow{display:inline-block;font-size:0.8rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--mango-dark);margin-bottom:var(--space-3)}
.hero h1{font-size:clamp(2rem,7vw,4rem);max-width:800px;margin:0 auto var(--space-3)}
.hero h1 .accent{color:var(--mango)}
.hero .lede{font-size:1.125rem;color:var(--grey);max-width:640px;margin:0 auto var(--space-4)}
.hero-cta{display:flex;flex-direction:column;gap:var(--space-2);align-items:center}
.btn{display:inline-block;min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-weight:700;text-align:center;transition:transform .15s,background .2s}
.btn-primary{background:var(--mango);color:#fff}
.btn-primary:hover{background:var(--mango-dark);color:#fff;transform:translateY(-1px)}
.btn-secondary{background:transparent;color:var(--charcoal);border:2px solid var(--charcoal)}
.btn-secondary:hover{background:var(--charcoal);color:#fff}
.section{padding:var(--space-6) 0}
.section-header{text-align:center;margin-bottom:var(--space-5)}
.section-header h2{font-size:clamp(1.75rem,5vw,2.5rem)}
.section-header p{color:var(--grey);max-width:600px;margin:0 auto}
.tracks{display:grid;gap:var(--space-3)}
.track-card{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--space-4);transition:border-color .2s,transform .2s}
.track-card:hover{border-color:var(--mango);transform:translateY(-2px)}
.track-card h3{font-size:1.35rem;margin-bottom:var(--space-2)}
.track-card .track-list{color:var(--grey);font-size:0.95rem}
.track-card .track-list li{padding:4px 0}
.track-card .track-link{display:inline-block;margin-top:var(--space-2);font-weight:700;color:var(--mango-dark)}
.offerings{display:grid;gap:var(--space-2)}
.offering-card{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--space-3)}
.offering-card h4{font-size:1.05rem;margin-bottom:var(--space-1)}
.offering-card p{font-size:0.9rem;color:var(--grey);margin:0}
.credibility{background:#fff;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.credibility .container{display:grid;gap:var(--space-3);align-items:center}
.credibility .stat{font-size:clamp(2rem,6vw,3rem);font-weight:800;color:var(--mango);letter-spacing:-0.03em}
.credibility p{color:var(--grey);margin:0}
.cta-band{background:var(--charcoal);color:#fff;padding:var(--space-6) var(--space-3);text-align:center}
.cta-band h2{font-size:clamp(1.75rem,5vw,2.5rem);color:#fff;margin-bottom:var(--space-3)}
.cta-band .btn-primary{background:var(--mango)}
.site-footer{background:#fff;border-top:1px solid var(--hairline);padding:var(--space-5) 0 var(--space-3)}
.footer-top{display:grid;gap:var(--space-4);margin-bottom:var(--space-4)}
.footer-brand{display:flex;gap:var(--space-2);align-items:center}
.footer-brand strong{display:block;font-size:1.05rem;color:var(--charcoal)}
.footer-brand .tagline{font-size:0.9rem;color:var(--grey);margin:4px 0 0}
.footer-cols{display:grid;gap:var(--space-3)}
.footer-cols h4{font-size:0.85rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--charcoal);margin-bottom:var(--space-1)}
.footer-cols a{color:var(--grey);font-size:0.95rem}
.footer-cols a:hover{color:var(--mango-dark)}
.footer-cols li{padding:4px 0}
.footer-fineprint{border-top:1px solid var(--hairline);padding-top:var(--space-2)}
.footer-fineprint p{font-size:0.8rem;color:var(--grey);text-align:center;margin:0}
@media(min-width:768px){
.nav-toggle-label{display:none}
.site-nav{position:static !important;height:auto !important;width:auto !important;background:transparent !important;transform:none !important;padding:0 !important;overflow:visible !important}
.site-nav ul{flex-direction:row;gap:var(--space-3);align-items:center}
.site-nav a{font-size:0.95rem;padding:var(--space-1) 0;min-height:auto}
.nav-cta{margin-top:0;padding:var(--space-1) var(--space-3) !important}
.hero-cta{flex-direction:row;justify-content:center}
.tracks{grid-template-columns:1fr 1fr;gap:var(--space-4)}
.offerings{grid-template-columns:repeat(2,1fr)}
.credibility .container{grid-template-columns:auto 1fr;gap:var(--space-5);padding-top:var(--space-5);padding-bottom:var(--space-5)}
.footer-top{grid-template-columns:1fr 2fr}
.footer-cols{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1100px){
.offerings{grid-template-columns:repeat(4,1fr)}
.hero{padding:var(--space-7) var(--space-3)}
}
.hero .container{position:relative;z-index:1}
.header-inner > .brand{flex:0 0 auto}
.header-inner > .site-nav{margin-left:auto}
/* ===== Contact form (Phase 5 Stage 3a) ===== */
.lead-form {
  max-width: 640px;
  margin: 32px 0 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.lead-form .field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.lead-form .field-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 768px) {
  .lead-form .field-row {
    grid-template-columns: 1fr 1fr;
  }
}
.lead-form label {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--charcoal);
}
.lead-form .req {
  color: var(--mango);
  font-weight: 700;
}
.lead-form input,
.lead-form textarea {
  font: inherit;
  color: var(--charcoal);
  background: #fff;
  border: 1px solid var(--hairline);
  border-radius: 8px;
  padding: 12px 14px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.lead-form input:focus,
.lead-form textarea:focus {
  outline: none;
  border-color: var(--mango);
  box-shadow: 0 0 0 3px rgba(245, 124, 0, 0.15);
}
.lead-form textarea {
  resize: vertical;
  min-height: 140px;
}
.lead-form .hp-field {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.lead-form .hp-field input,
.lead-form .hp-field label {
  position: absolute !important;
  left: -10000px !important;
}
.lead-form .form-actions {
  margin-top: 8px;
}
.lead-form .btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}
.lf-status {
  margin-top: 8px;
  padding: 0;
  font-size: 0.95rem;
  min-height: 1.4em;
}
.lf-status.lf-success {
  color: var(--leaf);
  font-weight: 600;
}
.lf-status.lf-error {
  color: #c62828;
  font-weight: 600;
}
.cf-turnstile {
  margin-top: 4px;
}
/* Leadership side-by-side cards — Chat 11 final, full container width for readability */
.leadership-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
  align-items: stretch;
}
.leadership-card {
  background: #FFFFFF;
  border: 1px solid var(--hairline);
  border-radius: 12px;
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
}
.leadership-card h3 {
  margin-top: var(--space-1);
  margin-bottom: var(--space-3);
}
.leadership-card p {
  line-height: 1.7;
  margin-bottom: var(--space-3);
}
.leadership-card p:last-child {
  margin-bottom: 0;
}
@media (max-width: 760px) {
  .leadership-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
}
