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

:root{
  --ink:#101214;
  --muted:#5d626a;
  --paper:#f7f6f2;
  --white:#ffffff;
  --line:#deded8;
  --accent:#e86f3d;
  --accent-dark:#b84d24;
  --soft:#eeece5;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"DM Sans",system-ui,sans-serif;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{
  position:sticky;top:0;z-index:10;
  background:rgba(247,246,242,.9);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(222,222,216,.75);
}
.nav-wrap{min-height:76px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.brand-mark{
  width:38px;height:38px;border-radius:11px;
  display:grid;place-items:center;
  background:var(--ink);color:#fff;
  font-family:"Space Grotesk",sans-serif;font-weight:700;
}
.brand strong{display:block;font-family:"Space Grotesk",sans-serif;font-size:15px;line-height:1}
.brand small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.nav{display:flex;gap:22px;color:#43474e;font-size:14px}
.nav a:hover{color:var(--ink)}
.nav-cta{font-size:14px;font-weight:700;border:1px solid var(--ink);padding:10px 15px;border-radius:999px}
.hero{padding:90px 0 82px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--accent-dark);margin:0 0 18px}
.hero h1,.section h2{
  font-family:"Space Grotesk",sans-serif;
  letter-spacing:-.045em;
  line-height:1.02;
}
.hero h1{font-size:clamp(48px,6vw,76px);max-width:720px;margin:0}
.hero h1 span{color:var(--accent)}
.hero-text{max-width:625px;color:var(--muted);font-size:18px;margin:26px 0 32px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 19px;font-weight:700;font-size:14px}
.button.primary{background:var(--ink);color:#fff}
.button.secondary{border:1px solid var(--line);background:#fff}
.button.large{padding:16px 22px}
.trust-row{display:flex;gap:28px;margin-top:48px;flex-wrap:wrap}
.trust-row div{display:grid}
.trust-row strong{font-size:13px}
.trust-row span{font-size:12px;color:var(--muted)}
.hero-card{
  position:relative;min-height:480px;padding:28px;
  border-radius:28px;background:var(--ink);color:#fff;overflow:hidden;
  box-shadow:0 22px 60px rgba(16,18,20,.15)
}
.card-top{display:flex;gap:9px;align-items:center;font-size:12px;color:#b8bdc4;letter-spacing:.08em;text-transform:uppercase}
.status-dot{width:8px;height:8px;border-radius:50%;background:#83c57a}
.card-body{position:relative;z-index:2;margin-top:110px}
.mini-label{font-size:10px;letter-spacing:.18em;color:#9ea3ab}
.card-body h2{font-family:"Space Grotesk",sans-serif;font-size:39px;line-height:1.08;letter-spacing:-.04em;margin:13px 0 30px}
.progress{height:7px;background:#2d3034;border-radius:999px;overflow:hidden}
.progress span{display:block;height:100%;background:var(--accent);border-radius:999px}
.progress-meta{display:flex;justify-content:space-between;margin-top:9px;font-size:11px;color:#9ea3ab}
.progress-meta strong{color:#fff}
.orb{position:absolute;border-radius:50%;filter:blur(2px)}
.orb-a{width:230px;height:230px;background:rgba(232,111,61,.26);right:-70px;top:-55px}
.orb-b{width:180px;height:180px;background:rgba(255,255,255,.09);left:-80px;bottom:-60px}
.floating-note{
  position:absolute;right:24px;bottom:24px;left:24px;
  display:flex;gap:14px;align-items:flex-start;
  padding:16px;border-radius:18px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(10px)
}
.floating-note>span{font-family:"Space Grotesk";font-weight:700;color:var(--accent);font-size:13px}
.floating-note strong{display:block;font-size:13px}
.floating-note small{display:block;color:#b8bdc4;font-size:11px;margin-top:3px}
.section{padding:106px 0}
.section-alt{background:var(--soft)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.section h2{font-size:clamp(38px,4.5vw,62px);margin:0}
.section-copy{color:var(--muted);font-size:16px;max-width:590px}
.section-copy p{margin:0 0 18px}
.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}
.section-head h2{max-width:700px}
.section-lead{max-width:355px;color:var(--muted);margin:0}
.narrow{display:block;max-width:760px}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.program-card{
  min-height:270px;padding:27px;border:1px solid #d8d7cf;border-radius:22px;background:rgba(255,255,255,.5);
  display:flex;flex-direction:column
}
.program-card.featured{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-8px)}
.program-no{font-family:"Space Grotesk",sans-serif;font-size:12px;color:var(--accent);font-weight:700}
.program-card h3{font-family:"Space Grotesk",sans-serif;font-size:25px;margin:48px 0 9px}
.program-card p{color:var(--muted);font-size:14px;margin:0 0 25px}
.program-card.featured p{color:#b8bdc4}
.tag{margin-top:auto;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7b7f84}
.program-card.featured .tag{color:#d6dae0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.step{padding-top:22px;border-top:1px solid var(--line)}
.step span{font-family:"Space Grotesk";color:var(--accent);font-weight:700;font-size:12px}
.step h3{font-family:"Space Grotesk";font-size:26px;margin:34px 0 9px}
.step p{color:var(--muted);max-width:290px}
.contact-section{padding-top:42px}
.contact-card{
  background:var(--accent);
  color:#fff;border-radius:28px;padding:52px;
  display:flex;align-items:center;justify-content:space-between;gap:34px
}
.contact-card .eyebrow{color:#fff;opacity:.8}
.contact-card h2{font-size:43px;max-width:650px}
.contact-card p{opacity:.88;margin:16px 0 0}
.contact-card .button.primary{background:#fff;color:var(--ink);white-space:nowrap}
.site-footer{padding:42px 0 52px}
.footer-wrap{display:flex;justify-content:space-between;gap:20px;align-items:end;border-top:1px solid var(--line);padding-top:26px}
.footer-wrap strong{font-family:"Space Grotesk"}
.footer-wrap p,.footer-wrap span{margin:4px 0 0;color:var(--muted);font-size:12px}
@media (max-width: 900px){
  .nav{display:none}
  .hero-grid,.two-col{grid-template-columns:1fr}
  .hero-grid{gap:42px}
  .hero-card{min-height:400px}
  .section-head{display:block}
  .section-lead{margin-top:16px}
  .program-grid,.steps{grid-template-columns:1fr}
  .program-card.featured{transform:none}
  .contact-card{display:block}
  .contact-card .button{margin-top:24px}
}
@media (max-width: 600px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .hero{padding-top:62px}
  .hero h1{font-size:46px}
  .hero-text{font-size:16px}
  .hero-card{min-height:370px;padding:22px}
  .card-body{margin-top:78px}
  .card-body h2{font-size:33px}
  .contact-card{padding:34px 26px}
  .contact-card h2{font-size:36px}
  .footer-wrap{display:block}
  .footer-wrap>span{display:block;margin-top:18px}
}
