/* Site-wide body line-height is 1.6; this page was designed with the browser default. */
.fp{line-height:normal}
/* SAT with Majd — For Parents page (Option C). Desktop: everything visible. Phone (<768px): long parts collapse into toggles. */
.fp{--maroon:#8B2D3D;--maroon-d:#6E2230;--ink:#171415;--body:#4A4245;--muted:#6B6064;--tint:#F6EDEF;--tint2:#F7EFF1;--line:#EADFE1;--soft:#EAD3D8;--gold:#F4B400;
  font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:#fff}
.fp *{box-sizing:border-box}
.fp a{color:var(--maroon);font-weight:600}
.fp a:hover{color:var(--maroon-d)}
.fp p{margin:0}
.fp .ic{flex:0 0 auto;color:var(--maroon);margin-top:2px}
.fp .stars{color:var(--gold);letter-spacing:1px}
.fp button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}

/* photo */
.fp-photo-band{background:linear-gradient(var(--tint) 0,var(--tint) 62%,#fff 62%)}
.fp-photo-wrap{max-width:1100px;margin:0 auto;padding:44px 24px 0}
.fp-photo{display:block;width:100%;height:auto;border-radius:24px;box-shadow:0 24px 60px rgba(80,30,40,.16)}

/* main column */
.fp-main{max-width:760px;margin:0 auto;padding:72px 24px 0}
.fp-eyebrow{font-size:14px;font-weight:600;color:var(--maroon)}
.fp-h1{margin:12px 0 0;font-size:60px;line-height:1.04;font-weight:800;letter-spacing:-.03em}
.fp-h1 span{color:var(--maroon)}
.fp-lead{margin-top:20px!important;font-size:19px;line-height:1.7;color:var(--body)}
.fp-glance{margin-top:28px;background:var(--tint);border-radius:20px;padding:30px}
.fp-checks{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 24px}
.fp-checks li{display:flex;gap:10px;font-size:15px;line-height:1.45;font-weight:500}
.fp-glance-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:22px;padding-top:20px;border-top:1px solid #E6D6DA}
.fp-glance-cta .fp-small{flex:1 1 220px}
.fp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 24px;border-radius:10px;background:var(--maroon);color:#fff!important;text-decoration:none;font-weight:600;font-size:16px}
.fp-btn:hover{background:var(--maroon-d)}
.fp-btn-lg{min-height:52px;padding:17px 28px;box-shadow:0 8px 20px rgba(139,45,61,.22)}
.fp-small{font-size:13.5px;line-height:1.5;color:var(--muted)}

/* table of contents */
.fp-toc{margin-top:56px}
.fp-toc-label{font-size:13px;font-weight:700;color:var(--muted)}
.fp-toc ol{margin:12px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--line)}
.fp-toc li{border-bottom:1px solid var(--line)}
.fp-toc a{display:flex;align-items:center;gap:12px;min-height:48px;text-decoration:none;color:var(--ink)!important;font-size:15px;font-weight:500}
.fp-toc .toc-n{font-size:13px;font-weight:700;color:var(--maroon)}
.fp-toc .toc-short{display:none}

/* sections */
.fp-sec{margin-top:96px;scroll-margin-top:24px}
.sec-head{display:block}
.sec-num{display:block;font-size:64px;line-height:1;font-weight:800;color:var(--soft)}
.sec-eyebrow{display:block;margin-top:10px;font-size:14px;font-weight:600;color:var(--maroon)}
.sec-title{margin:8px 0 0;font-size:40px;line-height:1.12;font-weight:800;letter-spacing:-.02em}
.fp-sec > p, .more > p{margin-top:18px;font-size:17px;line-height:1.75;color:var(--body)}
.fp-sec > p strong{color:var(--ink)}
.fp-sec > .sec-title + p{margin-top:20px}
.fp-strong{color:var(--ink)!important;font-weight:600}
.more > p.note{font-size:15px;line-height:1.7;color:var(--muted)}
.more-btn,.q-btn{display:none}
.fp .more-btn,.fp .q-btn{color:var(--maroon)}

/* instructors (desktop: side by side, always open) */
.ins-wrap{margin-top:28px;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-wrap:wrap}
.ins{flex:1 1 300px;min-width:0;padding:24px;border-bottom:1px solid var(--line)}
.ins .acc-h{margin:0}
.ins-btn{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}
.ins-name{display:block;font-size:20px;font-weight:700}
.ins-short{display:none}
.ins-right{display:none}
.ins-role{margin-top:2px;font-size:13px;font-weight:600;color:var(--maroon)}
.ins dl{margin:16px 0 0;display:flex;flex-direction:column;gap:10px}
.ins dt{font-size:15px;font-weight:700}
.ins dd{margin:1px 0 0;font-size:13.5px;color:var(--muted)}

/* accordions: desktop shows everything (except FAQ, which is a real accordion on all sizes) */
.acc-h{margin:0}
.acc-btn{width:100%;display:flex;align-items:center;gap:12px}
.acc-title{flex:1 1 auto}
.acc-sign{flex:0 0 auto;width:24px;text-align:center;color:var(--maroon);font-size:24px;font-weight:500;line-height:1}
.acc-sign::before{content:'+'}
.acc.is-open .acc-sign::before{content:'−'}
.acc:not(.always) .acc-btn{pointer-events:none}
.acc:not(.always) .acc-sign{display:none}

.acc-list.rows{margin-top:24px;border-top:1px solid var(--line)}
.acc.row{display:flex;flex-wrap:wrap;gap:4px 24px;padding:16px 0;border-bottom:1px solid var(--line)}
.acc.row .acc-h{flex:1 1 220px;font-size:16px;font-weight:700}
.acc.row .acc-body{flex:2 1 300px}
.acc.row .acc-body p,.acc.why .acc-body p{font-size:15px;line-height:1.6;color:var(--body)}

.acc-list.steps{margin-top:24px}
.acc.step{display:grid;grid-template-columns:40px 1fr;column-gap:18px;padding-bottom:22px}
.acc.step .acc-h{grid-column:1 / -1;font-size:18px;font-weight:700}
.acc.step .acc-btn{gap:18px}
.acc-num{flex:0 0 auto;width:40px;height:40px;border-radius:999px;background:var(--maroon);color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.acc.step .acc-body{grid-column:2;margin-top:4px}
.acc.step .acc-body p{font-size:16px;line-height:1.6;color:var(--body)}

.acc-list.whys{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 28px}
.acc.why{padding:18px 0;border-top:1px solid var(--line)}
.acc.why .acc-h{font-size:17px;font-weight:700}
.acc.why .acc-body{margin-top:6px}

.acc-list.faqs{margin-top:22px;border-top:1px solid var(--line)}
.acc.faq{border-bottom:1px solid var(--line)}
.acc.faq .acc-btn{min-height:60px;padding:16px 0;font-size:17px;font-weight:600;justify-content:space-between}
.acc.faq .acc-body{display:none}
.acc.faq.is-open .acc-body{display:block}
.acc.faq .acc-body p{padding:0 0 20px;font-size:16px;line-height:1.7;color:var(--body)}

/* progress */
.tracked{margin-top:24px;border:1px solid var(--line);border-radius:20px;padding:24px}
.tracked h3{margin:0;font-size:17px;font-weight:700}
.tracked ul{margin:14px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px}
.tracked li{display:flex;gap:10px;font-size:15px;line-height:1.45}

/* pull quotes */
.pull{margin:72px 0 0;padding:36px;background:var(--tint);border-radius:22px}
.pull-mark{font-size:64px;line-height:.6;font-weight:800;color:var(--maroon)}
.pull blockquote{margin:14px 0 0;font-size:21px;line-height:1.55;font-weight:500}
.pull .q-dots{display:none}
.pull figcaption{margin-top:16px;font-size:14px;color:var(--muted)}
.pull figcaption strong{color:var(--ink)}
#reviews .pull{margin-top:20px}

/* missed session */
.fp-missed{background:var(--maroon);color:#fff;border-radius:24px;padding:44px}
.fp-missed .sec-num{color:rgba(255,255,255,.28)}
.fp-missed .sec-eyebrow{color:#F3D9DE}
.fp-missed > p{color:#F8EAED!important}
.fp-missed ul{margin:20px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.fp-missed li{display:flex;gap:10px;font-size:15.5px;line-height:1.45;font-weight:500}
.fp-missed .ic{color:#fff}

/* rating */
.rating{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding:20px 24px;border:1px solid var(--line);border-radius:18px}
.rating-l{display:flex;align-items:center;gap:14px}
.rating-n{font-size:42px;font-weight:800;line-height:1}
.rating .stars{font-size:18px;letter-spacing:2px}
.rating-c{font-size:14px;color:var(--body)}
.rating a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
#reviews > .fp-small{margin-top:14px;font-size:13px}

/* closing CTA */
.fp-cta{margin-top:112px;background:var(--tint)}
.fp-cta-in{max-width:760px;margin:0 auto;padding:88px 24px}
.fp-cta h2{margin:0;font-size:46px;line-height:1.1;font-weight:800;letter-spacing:-.025em}
.fp-cta h2 span{color:var(--maroon)}
.fp-cta p{margin-top:16px;font-size:17px;line-height:1.6;color:var(--body)}
.fp-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:26px;font-size:15px;color:var(--body)}

/* ================= PHONE ================= */
@media (max-width:767px){
  .fp-photo-band{background:linear-gradient(var(--tint) 0,var(--tint) 66%,#fff 66%)}
  .fp-photo-wrap{padding:14px 12px 0}
  .fp-photo{border-radius:14px;box-shadow:0 14px 34px rgba(80,30,40,.16)}
  .fp-main{padding:30px 18px 0}
  .fp-eyebrow{font-size:13px}
  .fp-h1{margin-top:10px;font-size:34px;line-height:1.06;letter-spacing:-.025em}
  .fp-lead{margin-top:14px!important;font-size:15.5px;line-height:1.6}
  .fp-glance{margin-top:20px;border-radius:16px;padding:18px}
  .fp-checks{display:flex;flex-direction:column;gap:9px}
  .fp-checks li{font-size:14.5px}
  .fp-glance-cta{display:block;margin-top:16px;padding-top:0;border-top:0;text-align:center}
  .fp-glance-cta .fp-btn{display:flex;width:100%;min-height:50px;font-size:15.5px}
  .fp-glance-cta .fp-small{display:block;margin-top:10px;font-size:12.5px}

  .fp-toc{margin-top:28px}
  .fp-toc-label{font-size:12.5px}
  .fp-toc ol{display:flex;gap:8px;margin:10px -18px 0;padding:0 18px 4px;border-top:0;overflow-x:auto;scrollbar-width:none}
  .fp-toc ol::-webkit-scrollbar{display:none}
  .fp-toc li{flex:0 0 auto;border:0}
  .fp-toc a{min-height:40px;padding:0 14px;gap:6px;border:1px solid var(--line);border-radius:999px;font-size:13.5px;white-space:nowrap}
  .fp-toc .toc-n{font-size:12px}
  .fp-toc .toc-long{display:none}
  .fp-toc .toc-short{display:inline}

  .fp-sec{margin-top:40px}
  .sec-head{display:flex;align-items:baseline;gap:10px}
  .sec-num{display:inline;font-size:30px}
  .sec-eyebrow{display:inline;margin-top:0;font-size:13px}
  .sec-title{font-size:26px;line-height:1.15}
  .fp-sec > p, .more > p{margin-top:14px;font-size:15.5px;line-height:1.65}
  .fp-sec > .sec-title + p{margin-top:12px}
  .more > p.note{font-size:14px;line-height:1.65}

  /* "read more" blocks */
  .more{display:none}
  .more.is-open{display:block}
  .more-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:6px;font-size:14.5px;font-weight:600;color:var(--maroon)}

  /* instructors become tap cards */
  .ins-wrap{margin-top:10px;border:0;border-radius:0;overflow:visible;flex-direction:column;gap:10px}
  .ins{flex:none;padding:0;border:1px solid var(--line);border-radius:16px}
  .ins-btn{pointer-events:auto;align-items:center;min-height:64px;padding:14px 16px}
  .ins-name{font-size:16px}
  .ins-short{display:block;margin-top:1px;font-size:12.5px;font-weight:600;color:var(--maroon)}
  .ins-right{display:inline-flex;align-items:center;gap:10px}
  .ins-score{font-size:22px;font-weight:800;color:var(--maroon)}
  .ins .acc-sign{width:28px;height:28px;border-radius:999px;background:var(--tint2);font-size:18px;display:inline-flex;align-items:center;justify-content:center}
  .ins .acc-body{padding:0 16px 16px}
  .ins-role{margin-top:0;font-size:12.5px;font-weight:400;color:var(--muted)}
  .ins dl{margin-top:12px}
  .ins dl > div{padding-top:10px;border-top:1px solid #F0E9EA}
  .ins dt{font-size:14.5px}
  .ins dd{font-size:13px}

  /* every list becomes tap-to-open */
  .acc:not(.always) .acc-btn{pointer-events:auto}
  .acc:not(.always) .acc-sign{display:inline-block}
  .acc .acc-body{display:none}
  .acc.is-open .acc-body{display:block}

  .acc-list.rows,.acc-list.whys,.acc-list.steps{margin-top:16px;border-top:1px solid var(--line);display:block}
  .acc.row,.acc.why,.acc.step{display:block;padding:0;border-top:0;border-bottom:1px solid var(--line)}
  .acc.row .acc-btn,.acc.why .acc-btn{min-height:52px;padding:12px 0;font-size:15.5px;font-weight:600}
  .acc.row .acc-body p,.acc.why .acc-body p{padding:0 0 14px;font-size:14.5px}
  .acc.why .acc-body{margin-top:0}
  .acc.step .acc-btn{min-height:56px;padding:10px 0;gap:12px;font-size:15.5px;font-weight:600}
  .acc.step .acc-num{width:32px;height:32px;font-size:14px}
  .acc.step .acc-body{margin-top:0}
  .acc.step .acc-body p{padding:0 0 14px 44px;font-size:14.5px}
  .acc.faq .acc-btn{min-height:56px;padding:12px 0;font-size:15.5px}
  .acc.faq .acc-body p{padding:0 0 14px;font-size:14.5px;line-height:1.65}
  .acc-list.faqs{margin-top:16px}

  /* progress checklist becomes tags */
  .tracked{margin-top:14px;border:0;padding:0}
  .tracked h3{display:none}
  .tracked ul{margin:0;display:flex;flex-wrap:wrap;gap:8px}
  .tracked li{align-items:center;gap:6px;padding:8px 12px;background:var(--tint2);border-radius:999px;font-size:13px;font-weight:500}
  .tracked .ic{width:14px;height:14px;margin-top:0}
  #progress{display:flex;flex-direction:column}
  #progress .tracked{order:1}
  #progress .more,#progress .more-btn{order:2}
  .more-btn{align-self:flex-start}

  /* pull quotes: first sentence + "read the full review" */
  .pull{margin-top:28px;padding:20px;border-radius:18px}
  .pull-mark{font-size:46px}
  .pull blockquote{margin-top:10px;font-size:16px}
  .pull .q-rest{display:none}
  .pull .q-dots{display:inline}
  .pull.is-open .q-rest{display:inline}
  .pull.is-open .q-dots{display:none}
  .q-btn{display:inline-flex;align-items:center;min-height:40px;font-size:14px;font-weight:600;color:var(--maroon)}
  .pull figcaption{margin-top:8px;font-size:13px}
  #reviews .pull{margin-top:14px}

  .fp-missed{margin-top:36px;border-radius:20px;padding:22px 20px}
  .fp-missed .sec-title{font-size:24px}
  .fp-missed > p{font-size:15px!important;line-height:1.6!important}
  .fp-missed ul{margin-top:14px;gap:8px}
  .fp-missed li{font-size:14.5px}

  .rating{margin-top:16px;padding:14px 16px;border-radius:16px}
  .rating-n{font-size:34px}
  .rating .stars{font-size:15px}
  .rating-c{font-size:13px}
  .rating a{font-size:14px}
  #reviews > .fp-small{margin-top:10px;font-size:12.5px}

  .fp-cta{margin-top:48px}
  .fp-cta-in{padding:36px 18px 40px}
  .fp-cta h2{font-size:28px;line-height:1.12;letter-spacing:-.02em}
  .fp-cta p{margin-top:12px;font-size:15.5px}
  .fp-cta-row{display:block;margin-top:20px;text-align:center;font-size:14px}
  .fp-cta-row .fp-btn{display:flex;width:100%;margin-bottom:14px}
}
