/* Chen Math Academy improvements — additive stylesheet.
   Loaded alongside the site's existing styles; nothing here overrides
   existing page layouts except the new components it styles. */

/* ---- Sticky site navigation ---- */
.cma-topnav{position:sticky;top:0;z-index:1000;display:flex;gap:6px;flex-wrap:wrap;
  align-items:center;justify-content:center;background:#173c4a;padding:10px 14px;
  font:600 15px/1.5 system-ui,sans-serif}
.cma-topnav a{color:#fff;text-decoration:none;text-transform:none;letter-spacing:0;
  padding:7px 12px;border-radius:6px}
.cma-topnav a:hover,.cma-topnav a:focus-visible{background:#2854c5;outline:none}
.cma-topnav .cma-brand{font-weight:800;margin-right:6px}
.cma-topnav .cma-nav-cta{background:#eaf4d8;color:#173c4a;font-weight:800}

/* ---- Homepage hero upgrade ---- */
.cma-hero-offer{max-width:640px;margin:14px auto 0;font:600 19px/1.55 system-ui,sans-serif;
  color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55);text-align:center}
.cma-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:18px 0 6px}
.cma-hero-ctas a{display:inline-block;padding:13px 22px;border-radius:8px;
  font:800 16px/1.4 system-ui,sans-serif;text-decoration:none;text-transform:none;letter-spacing:0}
.cma-cta-primary{background:#2854c5;color:#fff!important}
.cma-cta-secondary{background:rgba(255,255,255,.95);color:#173c4a!important}
.cma-cta-ghost{background:transparent;color:#fff!important;box-shadow:inset 0 0 0 2px #fff}
.cma-trustbar{display:flex;gap:8px 26px;flex-wrap:wrap;justify-content:center;
  max-width:860px;margin:22px auto 0;padding:14px 18px;border-radius:10px;
  background:rgba(23,60,74,.82);color:#fff;font:600 15px/1.6 system-ui,sans-serif;text-align:center}
.cma-trustbar strong{font-size:19px;display:block}

/* ---- Homepage strips (paths / why-teacher / FAQ teaser) ---- */
.cma-strip{max-width:980px;margin:0 auto;padding:44px 20px;text-align:center;
  font-family:system-ui,sans-serif;color:#222}
.cma-strip h2{font-size:28px;margin-bottom:8px}
.cma-strip>p{max-width:640px;margin:0 auto 22px;line-height:1.6;color:#444}
.cma-cards{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.cma-card{flex:1 1 260px;max-width:320px;text-align:left;background:#f4f7fb;
  border:1px solid #dbe4ee;border-radius:12px;padding:20px}
.cma-card h3{font-size:19px;margin-bottom:6px}
.cma-card p{line-height:1.6;color:#444;margin-bottom:14px}
.cma-card a{font-weight:700;color:#2854c5;text-decoration:none;text-transform:none;letter-spacing:0;padding:0}
.cma-compare{width:100%;max-width:820px;margin:0 auto;border-collapse:collapse;text-align:left;
  font-family:system-ui,sans-serif}
.cma-compare th,.cma-compare td{border:1px solid #dbe4ee;padding:11px 14px;line-height:1.5}
.cma-compare th{background:#173c4a;color:#fff}
.cma-compare td:first-child{font-weight:700}

/* ---- Feedback invitation (replaces placeholder quote cards) ---- */
.cma-feedback-invite{max-width:720px;margin:0 auto;padding:26px;background:#eaf4d8;
  border-radius:12px;text-align:center;line-height:1.65}
.cma-feedback-invite h3{font-size:21px;margin-bottom:8px}
.cma-feedback-invite a{font-weight:700;color:#125f56;text-decoration:none;text-transform:none;letter-spacing:0;padding:0}

/* ---- Generic new-page shell ---- */
.cma-page{max-width:900px;margin:0 auto;padding:34px 20px 60px;
  font-family:system-ui,sans-serif;color:#222;line-height:1.65}
.cma-page h1{font-size:32px;margin-bottom:6px}
.cma-page .cma-lede{font-size:18px;color:#444;margin-bottom:26px}
.cma-page h2{font-size:23px;margin:30px 0 10px}
.cma-back{font-weight:700;color:#2854c5;text-decoration:none}
.cma-footer{max-width:980px;margin:0 auto;padding:30px 20px 44px;border-top:1px solid #dbe4ee;
  text-align:center;font:500 15px/1.8 system-ui,sans-serif;color:#444}
.cma-footer a{color:#2854c5;text-decoration:none;font-weight:600}
.cma-footer nav{display:flex;gap:6px 18px;flex-wrap:wrap;justify-content:center;margin-bottom:8px}

/* ---- Learning paths ---- */
.cma-progress{position:sticky;top:52px;z-index:900;background:#eaf0ff;border-radius:8px;
  padding:10px 16px;font-weight:700;color:#203e7a;margin-bottom:22px}
.cma-progressbar{height:10px;background:#d5ddf0;border-radius:6px;margin-top:8px;overflow:hidden}
.cma-progressbar div{height:100%;background:#2854c5;width:0%}
ol.cma-steps{list-style:none;padding:0}
ol.cma-steps li{border:1px solid #dbe4ee;border-radius:10px;padding:14px 16px;margin-bottom:12px;background:#fff}
ol.cma-steps li.done{background:#f0f7ee;border-color:#bcd6b4}
ol.cma-steps label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
ol.cma-steps input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:#2854c5}
ol.cma-steps strong{font-size:17px}
ol.cma-steps p{color:#444;margin:4px 0 0}
ol.cma-steps a{color:#2854c5;font-weight:700;text-decoration:none}

/* ---- Search page ---- */
.cma-searchbox{width:100%;padding:14px 16px;font-size:17px;border:2px solid #2854c5;
  border-radius:8px;margin-bottom:14px}
.cma-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.cma-filters button{border:1px solid #2854c5;background:#fff;color:#2854c5;border-radius:20px;
  padding:7px 14px;font-weight:700;cursor:pointer}
.cma-filters button.active{background:#2854c5;color:#fff}
.cma-result{border:1px solid #dbe4ee;border-radius:10px;padding:14px 16px;margin-bottom:12px}
.cma-result h3{font-size:17px;margin-bottom:4px}
.cma-result p{color:#444;margin:0 0 8px}
.cma-result a{color:#2854c5;font-weight:700;text-decoration:none;margin-right:14px}

/* ---- FAQ ---- */
.cma-faq details{border:1px solid #dbe4ee;border-radius:10px;padding:14px 16px;margin-bottom:12px}
.cma-faq summary{font-weight:800;font-size:17px;cursor:pointer}
.cma-faq p{color:#444;margin-top:8px}

@media (max-width:640px){
  .cma-hero-offer{font-size:17px}
  .cma-strip{padding:30px 16px}
  .cma-topnav{justify-content:flex-start}
  .cma-page{padding:24px 16px 44px}
}
