.elementor-2932 .elementor-element.elementor-element-ba640b5{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-4fcf8fa *//* GLOBAL */
.math-page {
  background:#F9FAFB;
  color:#1F2A37;
  font-family: Inter, Roboto, sans-serif;
}

/* SECTION SPACING — REDUCED */
section {
  padding: 72px 20px; /* was 96px */
  max-width: 1120px;
  margin:auto;
  animation: sectionEnter .55s ease both;
}

@keyframes sectionEnter {
  from {opacity:0; transform:translateY(18px);}
  to {opacity:1; transform:translateY(0);}
}

/* HEADINGS */
h1, h2 {
  max-width:760px;
  margin:0 auto 40px; /* reduced */
  text-align:center;
  letter-spacing:-0.7px;
  color:#142B4F;
}

h1 {
  font-size:clamp(42px,5vw,58px);
  line-height:1.05;
}

h2 {
  font-size:clamp(30px,3.5vw,40px);
  line-height:1.15;
}

/* SUBHEAD */
.subhead {
  max-width:560px;
  margin:0 auto 32px;
  text-align:center;
  opacity:.85;
}

/* BUTTONS */
.btn {
  display:inline-block;
  padding:14px 30px;
  border:2px solid #142B4F;
  border-radius:12px;
  color:#1F2A37;
  text-decoration:none;
  transition:all .28s ease-out;
}

.btn:hover {
  border-color:#8BC53F;
  transform:scale(1.05);
  border-radius:16px;
}

/* BUTTON SPACING FIX */
.spaced-btn {
  margin-top: 36px;
}

.hero-ctas {
  display:flex;
  gap:24px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top: 40px;
}

.center {
  display:block;
  width:fit-content;
  margin-left:auto;
  margin-right:auto;
}

/* HERO GRAPHICS */
.hero {
  text-align:center;
  position:relative;
  overflow:hidden;
}

.hero-bg svg {
  position:absolute;
  font-size:140px;
  opacity:.035;
  animation: float 14s ease-in-out infinite alternate;
}

.hero-bg svg:nth-child(1){top:10%;left:10%}
.hero-bg svg:nth-child(2){top:45%;left:70%}
.hero-bg svg:nth-child(3){top:70%;left:30%}
.hero-bg svg:nth-child(4){top:20%;left:85%}

@keyframes float {
  from {transform:translateY(0);}
  to {transform:translateY(-40px);}
}

/* CARDS */
.card-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:32px; /* slightly tighter */
}

.card {
  position:relative;
  padding:44px;
  border:1px solid rgba(20,43,79,.14);
  border-radius:16px;
}

.card::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:0;
  background:#8BC53F;
  transition:width .25s ease;
}

.card:hover::before {
  width:4px;
}

.card-icon {
  margin-bottom:20px;
}

.card-icon svg {
  width:32px;
  height:32px;
  stroke:#142B4F;
  stroke-width:1.6;
  fill:none;
  opacity:.6;
}

/* ACCORDION */
details {
  border-bottom:1px solid rgba(20,43,79,.12);
  padding:16px 0;
}

summary {
  cursor:pointer;
  font-weight:600;
}

details p {
  opacity:0;
  transform:translateY(6px);
  transition:.3s ease;
}

details[open] p {
  opacity:1;
  transform:translateY(0);
}

/* JOURNEY */
.journey {
  display:flex;
  justify-content:space-between;
  border-top:1px solid rgba(20,43,79,.15);
  padding-top:40px;
  margin-bottom: 32px;
}

.step {
  flex:1;
  text-align:center;
  opacity:.75;
}

.step svg {
  display:block;
  margin:0 auto 12px;
  width:26px;
  height:26px;
  stroke:#142B4F;
  stroke-width:1.6;
  fill:none;
}

/* PROGRESS */
.progress-list {
  list-style:none;
  padding:0;
  margin-bottom: 32px;
}

.progress-list li {
  display:flex;
  align-items:center;
  gap:12px;
  margin:12px 0;
}

.progress-list svg {
  width:20px;
  height:20px;
  stroke:#8BC53F;
  stroke-width:2;
  fill:none;
}

/* FINAL CTA */
.final-cta {
  background:rgba(20,43,79,.04);
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(20,43,79,.08);
}/* End custom CSS */