:root{
  --ink:#171719;
  --navy:#09065f;
  --marian:#27227f;
  --marian-soft:#e9e8f3;
  --wine:#c8102e;
  --wine-dark:#95001d;
  --gold:#c8b783;
  --gold-dark:#8f7c48;
  --ivory:#f3f2ee;
  --parchment:#e8e2d5;
  --paper:#fff;
  --green:#166c4a;
  --red:#ae1730;
  --muted:#54545d;
  --line:#d7d4cb;
  --shadow:0 22px 60px rgba(9,6,95,.14);
}

html,body{overflow-x:hidden}
body{
  background:
    radial-gradient(circle at 12% 4%,rgba(200,183,131,.13),transparent 22rem),
    var(--ivory);
  color:var(--ink)
}

.topbar{background:#fff;border-top:7px solid var(--wine);border-bottom-color:#dedbd2}
.brand{color:var(--ink);text-transform:uppercase;letter-spacing:.025em}
.brand-monogram{
  width:54px;height:54px;border:2px solid var(--wine);border-radius:50%;
  color:var(--wine);box-shadow:0 0 0 5px rgba(200,16,46,.08)
}
.header-cta,.cta{
  border-radius:2px;background:var(--wine);color:#fff;box-shadow:none;
  letter-spacing:.055em
}
.header-cta:hover,.cta:hover{background:#a90023;color:#fff}
.cta.gold{background:var(--gold);color:#171719;box-shadow:none}
.cta.gold:hover{background:#ddcd9c;color:#111}

.hero{background:var(--ivory);padding:2.25rem 0 3.2rem}
.hero:before{content:"IHS";right:3vw;top:1.2rem;color:var(--wine);font-family:var(--serif);font-size:7rem;opacity:.055}
.hero-grid{
  position:relative;padding:clamp(2rem,4.5vw,4.8rem);background:#080808;color:#fff;
  border-top:6px solid var(--wine);box-shadow:0 28px 70px rgba(0,0,0,.2)
}
.eyebrow,.section-kicker{color:var(--wine)}
.eyebrow:before,.section-kicker:before{content:"◆";margin-right:.55rem;font-size:.7em}
.hero .eyebrow{color:var(--gold)}
.hero h1{color:#fff;font-weight:700;letter-spacing:-.045em}
.hero h1 span{color:var(--gold);text-decoration-color:var(--wine);text-decoration-thickness:.08em}
.hero-lead{color:#f3f1ea}
.hero-trust{color:#ece9df}
.hero-trust li:before{color:var(--gold)}
.hero-media{min-height:auto}
.hero-photo{display:none}
.hero-video{
  position:relative;left:auto;bottom:auto;width:100%;border:5px solid #fff;
  border-radius:2px;box-shadow:0 18px 45px rgba(0,0,0,.35)
}

.section{position:relative}
.section-heading h2{font-weight:700;letter-spacing:-.045em}
.proof-videos{background:#eeede9;border-color:#d9d6ce}
.video-card,.quote-card,.message-card{border-radius:2px}
.video-card{border-color:#d8d5cc;box-shadow:0 14px 35px rgba(17,17,25,.09)}
.video-card-copy strong{color:var(--navy)}
.carousel-arrow{border-radius:0;border-color:var(--navy);color:var(--navy)}
.carousel-arrow:hover{background:var(--navy)}
.play{border-radius:0;background:var(--wine)}

.proof-texts{background:var(--navy);color:#fff}
.proof-texts .section-heading h2{color:#fff}
.proof-texts .section-kicker{color:var(--gold)}
.proof-texts .quote-card{border-top-color:var(--wine)}
.proof-texts .quote-card strong{color:var(--wine)}
.comparison{background:#fff}
.compare-card{border-radius:2px}
.receive{background:var(--parchment)}
.feature-photo{border-radius:2px;border-color:#fff}
.receive-list li{border-radius:0;background:#f9f7f1}
.receive-list span{border-radius:0;background:var(--navy)}

.extras{background:var(--wine);color:#fff}
.extras .section-heading h2{color:#fff}
.extras .section-kicker{color:#fff0c4}
.extras-grid article{border-radius:0;border-top-color:var(--navy);box-shadow:0 12px 30px rgba(99,0,21,.16)}
.extras-grid h3{color:var(--navy)}

.steps{background:var(--navy);color:#fff}
.steps .section-heading h2{color:#fff}
.steps .section-kicker{color:var(--gold)}
.steps-grid li{border-radius:0;background:#fff;color:var(--ink);border:0;border-top:6px solid var(--wine)}
.steps-grid li>span{border-radius:0;background:var(--navy)}
.steps-grid h3{color:var(--navy)}

.audience{background:#0a0a0d;color:#fff}
.audience .section-heading h2{color:#fff}
.audience .section-kicker{color:var(--gold)}
.audience-list li{border-radius:0;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}
.audience-list li:before{color:var(--gold)}
.audience-photo{border-radius:2px;border-color:#fff}

.teacher{background:#fff}
.teacher figure{border-radius:2px;border-color:var(--navy);box-shadow:none}
.teacher h2{color:var(--navy)}
.teacher .section-kicker{color:var(--wine)}
.teacher blockquote{color:var(--navy);border-color:var(--wine)}

.enrollment{background:var(--wine)}
.enrollment-card{border-radius:2px;box-shadow:0 25px 70px rgba(75,0,18,.28)}
.price-copy{background:#fff}
.enrollment h2{color:var(--navy)}
.installments strong{color:var(--wine)}
.guarantee{background:#eae4d6}
.guarantee h3{color:var(--navy)}

.faq{background:var(--ivory)}
.faq details{border-radius:0;border-color:#d7d3c9}
.faq summary{color:var(--navy)}
.faq summary:after{color:var(--wine)}
footer{background:#080808;border-top-color:var(--wine)}
.footer-brand .brand-monogram{border-color:var(--gold);color:var(--gold);box-shadow:none}

@media(max-width:640px){
  .topbar{border-top-width:5px}
  .brand-monogram{width:46px;height:46px}
  .hero{padding:.75rem 0 1.8rem;background:var(--ivory)}
  .hero-grid{padding:1.15rem;gap:1rem;border-top-width:5px}
  .hero h1{color:#fff;font-size:clamp(1.72rem,7.5vw,2rem)}
  .hero .eyebrow{text-align:center;color:var(--gold)}
  .hero-video{border-width:4px}
  .hero-action-mobile{gap:1rem}
  .hero-lead-mobile{color:#f4f1e8}
  .hero-action-mobile>.cta{background:var(--wine);color:#fff;box-shadow:none;border-radius:2px;font-size:1.12rem}
  .section-heading h2{font-size:2.05rem}
  .carousel{max-width:100%}
  .teacher figure,.audience-photo,.feature-photo{border-radius:2px}
}
