
:root{
  --navy:#102236;
  --navy-2:#17324d;
  --blue:#255d8f;
  --gold:#c7a25b;
  --ink:#15202b;
  --muted:#607080;
  --line:#d9e1e8;
  --paper:#f5f7f9;
  --white:#ffffff;
  --shadow:0 20px 60px rgba(16,34,54,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.container{width:min(1160px,92%);margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(16,34,54,.08);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-mark{
  width:48px;height:48px;border-radius:12px;background:var(--navy);color:white;
  display:grid;place-items:center;font-weight:800;letter-spacing:.08em;font-size:.85rem;
  box-shadow:var(--shadow);
}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-text strong{font-size:.96rem}
.brand-text span{font-size:.67rem;color:var(--muted);margin-top:4px}
.nav{display:flex;align-items:center;gap:24px;font-size:.9rem;font-weight:600}
.nav a:hover{color:var(--blue)}
.nav-cta{
  background:var(--navy);color:white!important;padding:11px 16px;border-radius:10px;
}
.nav-toggle{display:none;border:0;background:none;font-size:1.6rem}

.hero{
  background:
    radial-gradient(circle at 85% 10%, rgba(199,162,91,.22), transparent 26%),
    linear-gradient(135deg,#edf2f6 0%,#ffffff 45%,#eef3f7 100%);
  padding:84px 0 90px;
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.eyebrow{
  display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;
  font-weight:800;color:var(--blue);margin-bottom:14px
}
.light-text{color:#d8e7f5}
h1,h2,h3{line-height:1.12;margin-top:0}
h1{
  font-family:Merriweather,serif;font-size:clamp(3rem,6vw,5.8rem);
  letter-spacing:-.045em;margin-bottom:24px;color:var(--navy)
}
h2{font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.035em;margin-bottom:18px}
h3{font-size:1.05rem}
.hero-lead{font-size:1.16rem;color:#435363;max-width:720px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}
.btn{
  display:inline-flex;align-items:center;justify-content:center;border-radius:10px;
  padding:14px 20px;font-weight:700;border:1px solid transparent;cursor:pointer
}
.btn-primary{background:var(--gold);color:#102236}
.btn-primary:hover{filter:brightness(.96)}
.btn-secondary{border-color:#b8c6d3;background:white;color:var(--navy)}
.hero-proof{display:flex;gap:36px;margin-top:28px;flex-wrap:wrap}
.hero-proof div{display:flex;flex-direction:column}
.hero-proof strong{font-size:1.6rem;color:var(--navy)}
.hero-proof span{font-size:.78rem;color:var(--muted)}
.hero-panel{
  background:var(--navy);color:white;padding:38px;border-radius:24px;box-shadow:var(--shadow)
}
.panel-kicker{color:#b9cee1;text-transform:uppercase;font-weight:800;letter-spacing:.1em;font-size:.72rem}
.hero-panel h2{font-size:2rem;margin-top:12px}
.hero-panel ul{padding-left:20px;color:#dbe6ef}
.hero-panel li{margin:10px 0}
.panel-quote{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);font-weight:700}

.section{padding:90px 0}
.light{background:var(--paper)}
.dark{background:var(--navy);color:white}
.section-heading{max-width:780px;margin-bottom:44px}
.section-heading p{font-size:1.08rem;color:var(--muted)}
.centered{text-align:center;margin-left:auto;margin-right:auto}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps article{
  background:white;border:1px solid var(--line);border-radius:18px;padding:26px
}
.steps article span{color:var(--gold);font-weight:800}
.steps article h3{margin:12px 0 8px}
.steps article p{font-size:.95rem;color:var(--muted)}

.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.big-copy{font-size:1.16rem;color:#d8e3ec}
.program-points{display:grid;gap:18px;margin-top:32px}
.program-points div{border-left:3px solid var(--gold);padding-left:16px}
.program-points h3{margin-bottom:6px}
.program-points p{margin:0;color:#c7d7e4}
.modules-card{
  background:white;color:var(--ink);border-radius:20px;padding:28px;box-shadow:var(--shadow)
}
.modules-header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:10px}
.modules-header span{font-weight:700;color:var(--navy)}
.modules-header strong{color:var(--blue)}
.modules-card ol{margin:0;padding:8px 0 8px 24px}
.modules-card li{padding:7px 0;border-bottom:1px solid #edf1f4}
.text-link{display:inline-block;margin-top:18px;color:var(--blue);font-weight:700}

.philosophy{background:#fff}
.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
blockquote{
  margin:0;padding:28px;border:1px solid var(--line);border-radius:18px;
  font-size:1.12rem;font-weight:600;background:#fbfcfd
}

.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
.about-card{
  min-height:380px;background:linear-gradient(150deg,var(--navy),var(--navy-2));
  color:white;border-radius:24px;padding:36px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:var(--shadow)
}
.initials{
  width:92px;height:92px;border-radius:22px;background:rgba(255,255,255,.1);
  display:grid;place-items:center;font-weight:800;font-size:1.5rem;letter-spacing:.08em
}
.about-card h2{font-size:2rem}
.about-copy p{font-size:1.05rem;color:#4b5d6d}
.about-note{
  margin-top:26px;padding:20px;background:#eef3f7;border-left:4px solid var(--gold);border-radius:10px
}

.faq-wrap{max-width:900px}
.faq-list{display:grid;gap:12px}
details{border:1px solid var(--line);border-radius:14px;background:white;padding:0 20px}
summary{cursor:pointer;font-weight:700;padding:20px 0;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--blue);font-size:1.3rem}
details[open] summary::after{content:"–"}
details p{margin-top:0;color:var(--muted);padding-bottom:18px}

.contact-section{background:linear-gradient(135deg,#0c1b2a,#163651);color:white}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.contact-grid p{color:#d4e0e9;font-size:1.06rem}
.contact-callout{margin-top:28px;padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#e8f0f6}
.contact-form{background:white;color:var(--ink);padding:28px;border-radius:18px;display:grid;gap:16px}
.contact-form label{display:grid;gap:7px;font-size:.85rem;font-weight:700}
.contact-form input,.contact-form textarea{
  width:100%;border:1px solid #cfd8e1;border-radius:9px;padding:12px;font:inherit
}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #b7d1e8;border-color:var(--blue)}
.full{width:100%;border:0}
.contact-form small{color:var(--muted);line-height:1.4}

.site-footer{background:#08131e;color:#dce7ef;padding:34px 0}
.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center}
.site-footer p{margin:4px 0 0;color:#9fb0bf;font-size:.82rem}
.footer-links{display:flex;gap:18px;font-size:.84rem}
.copyright{text-align:right;color:#9fb0bf;font-size:.8rem}

@media(max-width:980px){
  .nav-toggle{display:block}
  .nav{
    display:none;position:absolute;top:82px;left:0;right:0;background:white;
    padding:22px 4%;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)
  }
  .nav.open{display:flex}
  .hero-grid,.program-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .copyright{text-align:left}
}
@media(max-width:640px){
  .brand-text span{display:none}
  .hero{padding-top:58px}
  h1{font-size:2.8rem}
  .steps,.quote-grid{grid-template-columns:1fr}
  .hero-proof{gap:20px}
  .section{padding:68px 0}
}
