@charset "UTF-8";

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Zen Kaku Gothic New','Outfit',sans-serif;
  color:#23262e;
  background:#ffffff;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:#23262e;text-decoration:none}


#promoStrip{
  background:#1f3553;
  color:#fff;
  text-align:center;
  font-family:'Outfit',sans-serif;
  font-size:12.5px;
  letter-spacing:.4px;
  padding:9px 16px;
  font-weight:500;
  position:relative;z-index:120;
}
#promoStrip b{color:#ff5fa0;font-weight:700}


#siteHead{
  position:sticky;top:0;z-index:115;
  background:#ffffff;
  border-bottom:1px solid #ececf1;
}
.head_inner{
  max-width:1240px;margin:0 auto;
  padding:14px 1.75rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
}
.brand_box{display:flex;align-items:center;gap:12px}
.brand_mark{
  width:44px;height:44px;border-radius:13px;
  background:linear-gradient(135deg,#d6336c,#1f3553);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:21px;
}
.brand_txt b{
  font-family:'Outfit',sans-serif;
  font-size:19px;font-weight:700;letter-spacing:1px;
  display:block;line-height:1.1;color:#1f2530;
}
.brand_txt span{
  font-size:11px;color:#8a90a0;letter-spacing:2px;
}
.topNav{display:flex;align-items:center;gap:26px}
.topNav a{
  font-size:14px;font-weight:500;color:#3a4150;
  position:relative;padding:4px 0;
}
.topNav a:hover{color:#d6336c}
.topNav a.is_here:after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;
  height:2px;background:#d6336c;border-radius:2px;
}
.cart_pill{
  display:flex;align-items:center;gap:8px;
  background:#1f3553;color:#fff;
  border:none;cursor:pointer;
  padding:9px 16px;border-radius:30px;
  font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;
  position:relative;
}
.cart_pill i{font-size:16px}
.cart_pill:hover{background:#28456b}
.cart_count{
  background:#d6336c;color:#fff;
  min-width:20px;height:20px;border-radius:11px;
  font-size:11px;font-weight:700;
  display:none;align-items:center;justify-content:center;padding:0 5px;
}
.cart_count.on{display:inline-flex}

.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:#23262e;display:block;border-radius:2px}


#heroWrap{
  background:linear-gradient(180deg,#fbf7f9 0%,#ffffff 100%);
  overflow:hidden;
}
.hero_inner{
  max-width:1240px;margin:0 auto;
  padding:3.9rem 28px 70px;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:3.4rem;align-items:center;
}
.hero_eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:#fbe3ee;color:#c12a63;
  font-size:12.5px;font-weight:700;letter-spacing:.6px;
  padding:7px 15px;border-radius:30px;margin-bottom:1.35rem;
}
.hero_eyebrow i{font-size:15px}
.hero_inner h1{
  font-size:2.9rem;line-height:1.32;font-weight:700;
  color:#1c2230;letter-spacing:.5px;margin-bottom:20px;
}
.hero_inner h1 em{font-style:normal;color:#d6336c}
.hero_lead{
  font-size:16.5px;color:#525a6b;max-width:520px;margin-bottom:30px;
}
.hero_btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn_pink{
  background:#d6336c;color:#fff;
  font-family:'Outfit',sans-serif;font-weight:600;font-size:15px;
  padding:15px 30px;border-radius:10px;border:none;cursor:pointer;
  box-shadow:0 12px 26px -10px rgba(214,51,108,.6);
  transition:transform .15s,box-shadow .15s;
}
.btn_pink:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(214,51,108,.65)}
.btn_ghost{
  border:1.5px solid #cdd2dd;background:#fff;color:#2a3140;
  font-weight:600;font-size:15px;padding:14px 26px;border-radius:10px;cursor:pointer;
}
.btn_ghost:hover{border-color:#1f3553}
.hero_micro{
  margin-top:26px;display:flex;gap:26px;flex-wrap:wrap;
  font-size:13px;color:#6b7280;
}
.hero_micro b{color:#1f3553;font-family:'Outfit',sans-serif}

.hero_visual{position:relative}
.hero_photo{
  width:100%;border-radius:26px;
  box-shadow:0 30px 60px -28px rgba(31,53,83,.55);
}
.hero_badge{
  position:absolute;left:-26px;bottom:38px;
  background:#d6336c;color:#fff;
  border-radius:50%;width:128px;height:128px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;line-height:1.3;
  box-shadow:0 18px 34px -12px rgba(214,51,108,.7);
  border:5px solid #fff;
}
.hero_badge b{font-family:'Outfit',sans-serif;font-size:26px;display:block}
.hero_badge span{font-size:11px;letter-spacing:.5px}
.hero_chip{
  position:absolute;right:-14px;top:34px;
  background:#fff;border-radius:16px;padding:13px 17px;
  box-shadow:0 16px 30px -16px rgba(31,53,83,.4);
  display:flex;align-items:center;gap:11px;
  font-size:13px;font-weight:600;color:#1f3553;
}
.hero_chip i{color:#d6336c;font-size:22px}


.bandStats{background:#1f3553}
.stats_inner{
  max-width:1100px;margin:0 auto;padding:34px 28px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;
}
.stat_box b{
  font-family:'Outfit',sans-serif;font-size:38px;font-weight:700;color:#ff7ab0;
  display:block;line-height:1;
}
.stat_box span{font-size:13px;color:#c3ccdb;letter-spacing:.5px}


.sectionPad{max-width:1240px;margin:0 auto;padding:4.6rem 28px 78px}
.sec_head{text-align:center;max-width:640px;margin:0 auto 2.75rem}
.sec_kicker{
  font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;color:#d6336c;
}
.sec_head h2{
  font-size:33px;font-weight:700;color:#1c2230;margin:11px 0 13px;letter-spacing:.5px;
}
.sec_head p{font-size:15.5px;color:#5d6473}


.whyGrid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.why_card{
  border:1px solid #ececf1;border-radius:18px;padding:1.9rem 1.6rem 2rem;
  background:#fff;transition:border-color .18s,transform .18s;
}
.why_card:hover{border-color:#f3c5d8;transform:translateY(-4px)}
.why_ic{
  width:54px;height:54px;border-radius:15px;
  background:#fbe3ee;color:#d6336c;font-size:25px;
  display:flex;align-items:center;justify-content:center;margin-bottom:1.15rem;
}
.why_card:nth-child(3n+2) .why_ic{background:#e4ecf6;color:#1f3553}
.why_card h3{font-size:18px;font-weight:700;margin-bottom:9px;color:#222a36}
.why_card p{font-size:14px;color:#5d6473;line-height:1.8}


#courseZone{background:#f7f5f8}

.courseList{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.65rem;
}
.crs{
  background:#fff;border-radius:20px;overflow:hidden;
  border:1px solid #ececf1;
  display:flex;flex-direction:column;position:relative;
  transition:box-shadow .2s,transform .2s;
}
.crs:hover{box-shadow:0 26px 50px -26px rgba(31,53,83,.4);transform:translateY(-5px)}
.crs_imgwrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e9e6ee;cursor:pointer}
.crs_imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.crs:hover .crs_imgwrap img{transform:scale(1.05)}
.crs_idx{
  position:absolute;left:0;top:0;
  background:rgba(31,53,83,.86);color:#fff;
  font-family:'Outfit',sans-serif;font-weight:700;font-size:13px;
  padding:6px 13px;border-bottom-right-radius:14px;
}
.crs_tag{
  position:absolute;right:13px;top:13px;
  background:#fff;color:#d6336c;
  font-size:11px;font-weight:700;letter-spacing:.5px;
  padding:5px 12px;border-radius:30px;
}
.crs_sale{
  position:absolute;right:13px;bottom:13px;
  background:#d6336c;color:#fff;
  font-size:11px;font-weight:700;padding:5px 11px;border-radius:7px;
}
.crs_body{padding:22px 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.crs_body h3{font-size:17.5px;font-weight:700;color:#202733;margin-bottom:10px;line-height:1.5}
.crs_meta{
  display:flex;flex-wrap:wrap;gap:7px 14px;margin-bottom:14px;
  font-size:12.5px;color:#6b7280;
}
.crs_meta span{display:inline-flex;align-items:center;gap:5px}
.crs_meta i{font-size:15px;color:#a9aebb}
.crs_desc{font-size:13.5px;color:#5d6473;line-height:1.8;margin-bottom:18px;flex:1}
.crs_seats{
  font-size:12.5px;font-weight:600;color:#2f8a5b;margin-bottom:16px;
  display:flex;align-items:center;gap:6px;
}
.crs_seats i{font-size:15px}
.crs_seats.few{color:#d6336c}
.crs_foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.crs_price{display:flex;flex-direction:column;line-height:1.2}
.crs_price s{font-size:13px;color:#aeb3bf;font-weight:400}
.crs_price b{font-family:'Outfit',sans-serif;font-size:24px;font-weight:700;color:#1f3553}
.crs_price b small{font-size:13px;font-weight:500;color:#7b8190}
.crs_add{
  background:#d6336c;color:#fff;border:none;cursor:pointer;
  width:46px;height:46px;border-radius:13px;font-size:21px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background .15s,transform .15s;
}
.crs_add:hover{background:#bb275a;transform:scale(1.06)}
.crs_detail{
  background:none;border:none;color:#6b7280;font-size:12.5px;cursor:pointer;
  margin-top:14px;text-align:left;text-decoration:underline;text-underline-offset:3px;
}
.crs_detail:hover{color:#1f3553}


.stepFlow{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.step_c{position:relative;padding:6px}
.step_n{
  font-family:'Outfit',sans-serif;font-size:15px;font-weight:700;color:#fff;
  background:#d6336c;width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.step_c:nth-child(even) .step_n{background:#1f3553}
.step_c h3{font-size:16.5px;font-weight:700;margin-bottom:9px;color:#222a36}
.step_c p{font-size:14px;color:#5d6473;line-height:1.8}
.step_c:not(:last-child):after{
  content:"";position:absolute;top:18px;left:54px;right:-12px;height:2px;
  background:repeating-linear-gradient(90deg,#e2c9d6 0 8px,transparent 8px 16px);
}


.teacherGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.tch{border-radius:20px;overflow:hidden;background:#1f3553;position:relative}
.tch img{width:100%;aspect-ratio:7/8;object-fit:cover}
.tch_over{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(180deg,transparent,rgba(20,30,48,.92));
  padding:50px 24px 24px;color:#fff;
}
.tch_over b{font-size:19px;font-weight:700;display:block}
.tch_over span{font-size:13px;color:#ffb3d2;font-weight:600}
.tch_over p{font-size:13px;color:#d3d9e4;margin-top:9px;line-height:1.7}


#galleryZone{background:#1c2738}
#galleryZone .sec_head h2{color:#fff}
#galleryZone .sec_head p{color:#aab4c4}
#galleryZone .sec_kicker{color:#ff7ab0}
.galGrid{
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:170px;gap:.9rem;
}
.galGrid figure{overflow:hidden;border-radius:14px;background:#26344a;margin:0}
.galGrid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.galGrid figure:hover img{transform:scale(1.07)}
.galGrid figure.tall{grid-row:span 2}
.galGrid figure.wide{grid-column:span 2}


.revGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.rev{
  background:#fff;border:1px solid #ececf1;border-radius:18px;padding:1.75rem 1.6rem 1.7rem;
}
.rev_stars{color:#f0a000;font-size:15px;letter-spacing:2px;margin-bottom:14px}
.rev p{font-size:14.5px;color:#3f4654;line-height:1.9;margin-bottom:20px}
.rev_who{display:flex;align-items:center;gap:12px}
.rev_av{
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,#d6336c,#1f3553);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;
  font-family:'Outfit',sans-serif;
}
.rev_who b{font-size:14.5px;display:block;color:#222a36}
.rev_who span{font-size:12px;color:#8a90a0}


.faqWrap{max-width:840px;margin:0 auto}
.faq_q{
  border:1px solid #e7e3ec;border-radius:14px;margin-bottom:14px;
  background:#fff;overflow:hidden;transition:border-color .2s;
}
.faq_q.open{border-color:#d6336c;box-shadow:0 12px 30px -18px rgba(214,51,108,.5)}
.faq_top{
  display:flex;align-items:center;gap:16px;padding:20px 22px;cursor:pointer;
}
.faq_num{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:14px;color:#d6336c;
  flex-shrink:0;
}
.faq_top h3{font-size:16px;font-weight:700;color:#252c38;flex:1;line-height:1.5}
.faq_pm{
  width:30px;height:30px;border-radius:9px;background:#f4eef2;color:#d6336c;
  display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;
  transition:transform .25s,background .2s;
}
.faq_q.open .faq_pm{background:#d6336c;color:#fff;transform:rotate(45deg)}
.faq_a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq_a p{padding:0 22px 22px 54px;font-size:14.5px;color:#5d6473;line-height:1.9}
.faq_q.open .faq_a{max-height:340px}


#orderZone{background:#f7f5f8}
.order_grid{
  max-width:1080px;margin:0 auto;
  display:grid;grid-template-columns:1fr;gap:0;
  background:#fff;border-radius:24px;overflow:hidden;
  box-shadow:0 30px 70px -40px rgba(31,53,83,.45);
}
.order_summary{
  background:#1f3553;color:#fff;padding:2.1rem 36px 2rem;
}
.order_summary h3{
  font-size:14px;letter-spacing:1.5px;text-transform:uppercase;
  font-family:'Outfit',sans-serif;color:#9fb0c8;margin-bottom:20px;
}
#orderItems{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.oi_row{display:flex;justify-content:space-between;gap:14px;font-size:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.oi_row span:first-child{color:#dfe5ee}
.oi_row b{font-family:'Outfit',sans-serif;font-weight:600;white-space:nowrap}
.oi_empty{font-size:13.5px;color:#8fa0b8;padding:8px 0}
.oi_total{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:14px;font-size:15px;
}
.oi_total b{font-family:'Outfit',sans-serif;font-size:27px;font-weight:700;color:#ff8fbd}
.order_note{font-size:12px;color:#8fa0b8;margin-top:14px;line-height:1.7}

.order_form{padding:2.25rem 2.25rem 2.4rem}
.order_form h3{font-size:21px;font-weight:700;color:#1c2230;margin-bottom:6px}
.order_form .sub{font-size:13.5px;color:#6b7280;margin-bottom:24px}
.f_row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.f_field{margin-bottom:16px}
.f_field label{
  display:block;font-size:12px;font-weight:700;color:#3a4150;
  letter-spacing:.5px;margin-bottom:6px;
}
.f_field label em{color:#d6336c;font-style:normal}
.f_field input,.f_field textarea{
  width:100%;border:1.5px solid #dcd9e2;border-radius:10px;
  padding:12px 14px;font-family:inherit;font-size:14.5px;color:#23262e;
  background:#fff;outline:none;transition:border-color .15s;
}
.f_field input:focus,.f_field textarea:focus{border-color:#d6336c}
.f_field textarea{resize:vertical;min-height:84px}
.f_err{display:none;color:#d6336c;font-size:12px;margin-top:5px}
.f_field.bad input,.f_field.bad textarea{border-color:#d6336c;background:#fdf3f7}
.f_field.bad .f_err{display:block}

.pay_seg{display:flex;flex-direction:column;gap:10px;margin:8px 0 24px}
.pay_opt{
  display:flex;align-items:flex-start;gap:12px;
  border:1.5px solid #dcd9e2;border-radius:12px;padding:13px 16px;cursor:pointer;
  transition:border-color .15s,background .15s;
}
.pay_opt:hover{border-color:#bdc2cf}
.pay_opt.sel{border-color:#d6336c;background:#fdf3f7}
.pay_opt input{margin-top:4px;accent-color:#d6336c}
.pay_opt b{font-size:14px;font-weight:700;color:#262d39;display:block}
.pay_opt small{font-size:12px;color:#7b8190}
.order_submit{
  width:100%;background:#d6336c;color:#fff;border:none;cursor:pointer;
  font-family:'Outfit',sans-serif;font-weight:600;font-size:16px;
  padding:16px;border-radius:12px;
  box-shadow:0 14px 28px -12px rgba(214,51,108,.6);transition:transform .15s;
}
.order_submit:hover{transform:translateY(-2px)}


#cartScrim{
  position:fixed;inset:0;background:rgba(16,22,34,.55);
  z-index:200;opacity:0;visibility:hidden;transition:.28s;
}
#cartScrim.open{opacity:1;visibility:visible}
#cartDrawer{
  position:fixed;left:50%;bottom:0;
  width:min(640px,100%);
  transform:translate(-50%,102%);
  background:#fff;z-index:210;display:flex;flex-direction:column;
  max-height:82vh;
  border-radius:26px 26px 0 0;
  box-shadow:0 -18px 60px -18px rgba(16,22,34,.5);
  transition:transform .34s cubic-bezier(.22,1,.36,1);
}
#cartDrawer.open{transform:translate(-50%,0)}
.cd_grab{padding:11px 0 2px;display:flex;justify-content:center}
.cd_grab span{width:46px;height:5px;border-radius:5px;background:#dcd9e2}
.cd_head{
  padding:8px 26px 16px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid #f0eef3;
}
.cd_head b{font-family:'Outfit',sans-serif;font-size:1.05rem;letter-spacing:.5px;color:#1f2530}
.cd_head b i{color:#d6336c;margin-right:8px}
.cd_x{background:#f4eff2;border:none;color:#5d6473;width:34px;height:34px;border-radius:50%;font-size:21px;cursor:pointer;line-height:1}
.cd_x:hover{background:#ecdfe6}
.cd_body{flex:1;overflow-y:auto;padding:8px 26px 4px}
.cd_empty{text-align:center;color:#9aa0ac;font-size:14px;padding:46px 10px 54px}
.cd_empty i{font-size:44px;color:#e3dde7;display:block;margin-bottom:13px}

.ci{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:1rem;padding:15px 0;border-bottom:1px solid #f4f1f6;
}
.ci img{width:74px;height:56px;border-radius:12px;object-fit:cover}
.ci_mid{min-width:0}
.ci_mid b{font-size:.92rem;font-weight:700;color:#222a36;display:block;line-height:1.45;margin-bottom:3px}
.ci_mid .ci_pr{font-size:.78rem;color:#8a90a0;font-family:'Outfit',sans-serif}
.ci_right{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.ci_line{font-family:'Outfit',sans-serif;font-weight:700;font-size:.95rem;color:#1f3553;white-space:nowrap}
.ci_bottom{display:flex;align-items:center;gap:10px}
.ci_step{display:inline-flex;align-items:center;border:1px solid #e4e0ea;border-radius:30px;overflow:hidden;background:#faf8fb}
.ci_step button{width:30px;height:30px;border:none;background:transparent;color:#3a4150;cursor:pointer;font-size:16px}
.ci_step button:hover{color:#d6336c}
.ci_step span{min-width:26px;text-align:center;font-size:.82rem;font-weight:700;font-family:'Outfit',sans-serif}
.ci_rm{background:none;border:none;color:#c2c6d0;cursor:pointer;font-size:15px}
.ci_rm:hover{color:#d6336c}

.cd_foot{
  border-top:1px solid #ececf1;padding:1.1rem 26px calc(1.2rem + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  background:#fbfafc;
}
.cd_total{display:flex;flex-direction:column;line-height:1.2}
.cd_total span{font-size:.72rem;color:#8a90a0;letter-spacing:.5px}
.cd_total b{font-family:'Outfit',sans-serif;font-size:1.55rem;font-weight:700;color:#1f3553}
.cd_go{
  flex:1;min-width:180px;text-align:center;background:#d6336c;color:#fff;
  padding:15px 18px;border-radius:13px;font-weight:600;font-size:.95rem;cursor:pointer;border:none;
  font-family:'Outfit',sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  box-shadow:0 12px 24px -12px rgba(214,51,108,.6);
}
.cd_go:hover{background:#bb275a}
@media(max-width:680px){
  #cartDrawer{border-radius:22px 22px 0 0;max-height:88vh}
  .cd_foot{flex-direction:column;align-items:stretch}
  .cd_total{flex-direction:row;justify-content:space-between;align-items:baseline}
}


#toast{
  position:fixed;left:50%;bottom:-80px;transform:translateX(-50%);
  background:#1f3553;color:#fff;padding:13px 24px;border-radius:30px;
  font-size:13.5px;font-weight:600;z-index:300;
  display:flex;align-items:center;gap:9px;transition:bottom .3s;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.4);white-space:nowrap;
}
#toast i{color:#7af0a8;font-size:18px}
#toast.show{bottom:32px}


#crsModalScrim{
  position:fixed;inset:0;background:rgba(20,28,42,.6);z-index:250;
  display:none;align-items:center;justify-content:center;padding:20px;
}
#crsModalScrim.open{display:flex}
.crsModal{
  background:#fff;border-radius:22px;max-width:760px;width:100%;
  max-height:90vh;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;
}
.crsModal_img{position:relative;background:#e9e6ee}
.crsModal_img img{width:100%;height:100%;object-fit:cover;min-height:300px}
.crsModal_b{padding:34px 32px;position:relative}
.crsModal_x{position:absolute;top:14px;right:16px;background:#f3eef2;border:none;width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer;color:#5d6473}
.crsModal_b .mtag{font-size:11px;font-weight:700;letter-spacing:1px;color:#d6336c;text-transform:uppercase}
.crsModal_b h3{font-size:23px;font-weight:700;color:#1c2230;margin:8px 0 14px}
.crsModal_b .mmeta{font-size:13px;color:#6b7280;margin-bottom:14px;line-height:1.9}
.crsModal_b .mdesc{font-size:14.5px;color:#4f5666;line-height:1.9;margin-bottom:20px}
.crsModal_pr{display:flex;align-items:baseline;gap:10px;margin-bottom:18px}
.crsModal_pr s{color:#aeb3bf}
.crsModal_pr b{font-family:'Outfit',sans-serif;font-size:28px;color:#1f3553}
.crsModal_qty{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.crsModal_qty select{border:1.5px solid #dcd9e2;border-radius:9px;padding:9px 12px;font-size:14px}
.crsModal_add{width:100%;background:#d6336c;color:#fff;border:none;padding:14px;border-radius:11px;font-weight:600;font-size:15px;cursor:pointer;font-family:'Outfit',sans-serif}


#thanksScrim{
  position:fixed;inset:0;background:rgba(20,28,42,.62);z-index:400;
  display:none;align-items:center;justify-content:center;padding:20px;
}
#thanksScrim.open{display:flex}
.thanks_card{
  background:#fff;border-radius:22px;max-width:440px;width:100%;
  text-align:center;padding:46px 38px;
}
.thanks_ic{
  width:78px;height:78px;border-radius:50%;margin:0 auto 22px;
  background:#e7f7ee;color:#2f9e5e;display:flex;align-items:center;justify-content:center;font-size:42px;
}
.thanks_card h3{font-size:24px;font-weight:700;color:#1c2230;margin-bottom:13px}
.thanks_card p{font-size:14.5px;color:#5d6473;line-height:1.9;margin-bottom:24px}
.thanks_close{background:#1f3553;color:#fff;border:none;padding:13px 34px;border-radius:11px;font-weight:600;font-size:15px;cursor:pointer;font-family:'Outfit',sans-serif}


#siteFoot{background:#161f2e;color:#c2cad6}
.foot_top{
  max-width:1240px;margin:0 auto;padding:3.75rem 28px 2.5rem;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2.5rem 2.6rem;
}
.foot_brand .brand_txt b{color:#fff}
.foot_brand p{font-size:13.5px;color:#8b95a5;margin-top:16px;line-height:1.9;max-width:280px}
.foot_col h4{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:16px;font-family:'Outfit',sans-serif}
.foot_col a{display:block;font-size:13.5px;color:#9aa4b3;margin-bottom:11px}
.foot_col a:hover{color:#ff7ab0}
.foot_contact p{font-size:13.5px;color:#9aa4b3;margin-bottom:11px;display:flex;gap:10px;align-items:flex-start}
.foot_contact i{color:#ff7ab0;font-size:17px;margin-top:1px}
.foot_bottom{
  border-top:1px solid #27313f;
  max-width:1240px;margin:0 auto;padding:20px 28px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:12.5px;color:#7f8a99;
}
.foot_bottom .fb_links{display:flex;gap:20px;flex-wrap:wrap}
.foot_bottom a{color:#9aa4b3}
.foot_bottom a:hover{color:#ff7ab0}


#cookieBar{
  position:fixed;left:18px;right:18px;bottom:18px;z-index:500;
  background:#fff;border-radius:18px;box-shadow:0 24px 60px -20px rgba(0,0,0,.45);
  border:1px solid #ececf1;padding:22px 26px;
  display:none;align-items:center;gap:24px;max-width:980px;margin:0 auto;flex-wrap:wrap;
}
#cookieBar.show{display:flex}
.ck_txt{flex:1;min-width:260px;font-size:13px;color:#5d6473;line-height:1.8}
.ck_txt b{color:#1f3553}
.ck_txt a{color:#d6336c;text-decoration:underline}
.ck_btns{display:flex;gap:10px;flex-wrap:wrap}
.ck_btns button{
  font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;
  padding:11px 20px;border-radius:9px;cursor:pointer;border:1.5px solid transparent;
}
.ck_accept{background:#d6336c;color:#fff;border-color:#d6336c}
.ck_accept:hover{background:#bb275a}
.ck_rej{background:#fff;color:#2a3140;border-color:#cdd2dd}
.ck_set{background:#f4f1f6;color:#3a4150}

#cookiePrefScrim{position:fixed;inset:0;background:rgba(20,28,42,.6);z-index:510;display:none;align-items:center;justify-content:center;padding:20px}
#cookiePrefScrim.open{display:flex}
.ckpref{background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto}
.ckpref_h{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid #ececf1}
.ckpref_h b{font-size:18px;font-weight:700;color:#1c2230}
.ckpref_h button{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280}
.ckpref_body{padding:10px 26px}
.ckrow{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #f2f0f5}
.ckrow:last-child{border-bottom:none}
.ckrow b{font-size:14.5px;color:#262d39;display:block;margin-bottom:5px}
.ckrow p{font-size:12.5px;color:#7b8190;line-height:1.7}
.ckmeta{margin-top:9px;display:flex;flex-wrap:wrap;gap:5px}
.ckmeta code{
  font-family:'Outfit',monospace;font-size:10.5px;color:#5a4a55;
  background:#f4eef2;border:1px solid #ece3e8;border-radius:5px;padding:2px 7px;
}
.ckmeta em{font-style:normal;font-size:10.5px;color:#9098a6;align-self:center}
.tgl{position:relative;width:46px;height:25px;flex-shrink:0}
.tgl input{opacity:0;width:0;height:0}
.tgl .sl{position:absolute;inset:0;background:#d6d9e0;border-radius:25px;transition:.2s;cursor:pointer}
.tgl .sl:before{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.tgl input:checked+.sl{background:#d6336c}
.tgl input:checked+.sl:before{transform:translateX(21px)}
.tgl input:disabled+.sl{background:#9fb0c8;cursor:not-allowed}
.ckpref_f{padding:18px 26px;border-top:1px solid #ececf1;display:flex;gap:10px;flex-wrap:wrap}
.ckpref_f button{flex:1;font-family:'Outfit',sans-serif;font-weight:600;font-size:13.5px;padding:12px;border-radius:10px;cursor:pointer;border:none}
.ckpref_save{background:#1f3553;color:#fff}
.ckpref_all{background:#d6336c;color:#fff}


@media(max-width:980px){
  .hero_inner{grid-template-columns:1fr;gap:36px}
  .hero_inner h1{font-size:36px}
  .stats_inner{grid-template-columns:repeat(2,1fr);gap:26px}
  .whyGrid,.courseList,.teacherGrid,.revGrid,.stepFlow{grid-template-columns:repeat(2,1fr)}
  .step_c:not(:last-child):after{display:none}
  .galGrid{grid-template-columns:repeat(2,1fr)}
  .order_form .f_row{grid-template-columns:1fr}
  .crsModal{grid-template-columns:1fr}
  .crsModal_img img{min-height:200px;max-height:240px}
  .foot_top{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:680px){
  .topNav{display:none}
  .burger{display:flex}
  .head_inner{padding:12px 18px}
  .sectionPad{padding:52px 18px}
  .hero_inner{padding:42px 18px 54px}
  .hero_inner h1{font-size:29px}
  .whyGrid,.courseList,.teacherGrid,.revGrid,.stepFlow{grid-template-columns:1fr}
  .sec_head h2{font-size:26px}
  .hero_badge{width:104px;height:104px;left:-6px}
  .foot_top{grid-template-columns:1fr;gap:26px}
  .foot_bottom{flex-direction:column;align-items:flex-start}
}

#mobNav{position:fixed;inset:0;background:rgba(20,28,42,.5);z-index:130;display:none}
#mobNav.open{display:block}
.mobNav_panel{position:absolute;top:0;right:0;bottom:0;width:270px;background:#fff;padding:60px 28px;display:flex;flex-direction:column;gap:6px}
.mobNav_panel a{font-size:16px;font-weight:600;color:#2a3140;padding:12px 0;border-bottom:1px solid #f2f0f5}
.mobNav_x{position:absolute;top:18px;right:22px;font-size:28px;background:none;border:none;cursor:pointer}
.pageHero{
  background:linear-gradient(150deg,#1f3553 0%,#3a2a44 100%);
  color:#fff;padding:3.4rem 28px 3.7rem;
}
.pageHero_in{max-width:1240px;margin:0 auto}
.crumb{font-size:12.5px;color:#9fb0c8;margin-bottom:15px}
.crumb a{color:#cfd8e4}
.crumb a:hover{color:#ff7ab0}
.pageHero .sec_kicker{color:#ff7ab0}
.pageHero h1{font-size:2.45rem;font-weight:700;letter-spacing:.5px;margin:.55rem 0 .7rem;line-height:1.3}
.pageHero p{font-size:1rem;color:#c8d1df;max-width:640px;line-height:1.85}

.leadProse{max-width:720px;margin:0 auto 2.4rem;font-size:15.5px;color:#4f5666;line-height:1.95}
.leadProse p+p{margin-top:1.1em}

.adjList{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:920px;margin:0 auto}
.adjItem{display:flex;gap:1rem;padding:20px 22px;border:1px solid #ececf1;border-radius:15px;background:#fff}
.adjItem .adjNo{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.45rem;color:#d6336c;line-height:1;flex-shrink:0;width:38px;height:38px;border-radius:11px;background:#fbe3ee;display:flex;align-items:center;justify-content:center}
.adjItem b{display:block;font-size:15px;color:#222a36;margin-bottom:5px}
.adjItem p{font-size:13.5px;color:#5d6473;line-height:1.75}

.instrBig{display:grid;grid-template-columns:300px 1fr;gap:0;margin-bottom:2rem;border:1px solid #ececf1;border-radius:20px;overflow:hidden;background:#fff}
.instrBig:nth-child(even){grid-template-columns:1fr 300px}
.instrBig:nth-child(even) .instrBig_img{order:2}
.instrBig_img{background:#1f3553;min-height:300px}
.instrBig_img img{width:100%;height:100%;object-fit:cover}
.instrBig_body{padding:2rem 2.2rem}
.instrBig_body .role{color:#d6336c;font-weight:700;font-size:.78rem;letter-spacing:1px;text-transform:uppercase}
.instrBig_body h3{font-size:1.4rem;font-weight:700;color:#1c2230;margin:.4rem 0 .8rem}
.instrBig_body p{font-size:14.5px;color:#4f5666;line-height:1.9}
.instrBig_meta{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:1rem;font-size:12.5px;color:#6b7280}
.instrBig_meta span{display:inline-flex;align-items:center;gap:6px}
.instrBig_meta i{color:#d6336c}

.splitBlock{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center;max-width:1080px;margin:0 auto}
.splitBlock img{border-radius:18px;box-shadow:0 24px 48px -28px rgba(31,53,83,.5)}
.splitBlock h3{font-size:1.5rem;font-weight:700;color:#1c2230;margin-bottom:.8rem}
.splitBlock p{font-size:15px;color:#4f5666;line-height:1.9;margin-bottom:.8em}

.galWall{columns:3;column-gap:14px;max-width:1100px;margin:0 auto}
.galWall figure{break-inside:avoid;margin:0 0 14px;border-radius:14px;overflow:hidden;position:relative;background:#e9e6ee}
.galWall img{width:100%;display:block;transition:transform .4s}
.galWall figure:hover img{transform:scale(1.05)}
.galCap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(180deg,transparent,rgba(18,26,40,.92));color:#fff}
.galCap b{font-size:13.5px;display:block;line-height:1.4}
.galCap span{font-size:11.5px;color:#ffc2dc}

.schedNote{max-width:820px;margin:0 auto 1.8rem;text-align:center;font-size:13.5px;color:#6b7280}
.schedList{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:13px}
.schedItem{display:grid;grid-template-columns:128px 1fr auto;gap:1.3rem;align-items:center;border:1px solid #ececf1;border-left:4px solid #d6336c;border-radius:13px;padding:17px 22px;background:#fff}
.schedItem:nth-child(even){border-left-color:#1f3553}
.schedDate{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.05rem;color:#1f3553;line-height:1.25}
.schedDate small{display:block;font-size:11px;color:#8a90a0;font-weight:500;letter-spacing:.5px}
.schedBody b{display:block;font-size:15px;color:#222a36;margin-bottom:3px}
.schedBody span{font-size:12.5px;color:#6b7280}
.schedTag{font-size:12px;font-weight:700;padding:6px 14px;border-radius:30px;background:#eef3f8;color:#1f3553;white-space:nowrap;text-align:center}
.schedTag.few{background:#fbe3ee;color:#c12a63}
.schedTag.full{background:#f1f0f3;color:#9aa0ac}

.miniCta{max-width:760px;margin:2.4rem auto 0;text-align:center;background:#fff7fa;border:1px solid #f3d6e2;border-radius:20px;padding:2.2rem 1.6rem}
.miniCta h3{font-size:1.4rem;font-weight:700;color:#1c2230;margin-bottom:.6rem}
.miniCta p{font-size:14.5px;color:#5d6473;margin-bottom:1.3rem;line-height:1.85}
.miniCta .phone{font-family:'Outfit',sans-serif;font-weight:700;color:#1f3553;font-size:1.1rem;margin-top:.9rem}

@media(max-width:980px){
  .adjList{grid-template-columns:1fr}
  .galWall{columns:2}
  .splitBlock{grid-template-columns:1fr;gap:1.6rem}
  .instrBig,.instrBig:nth-child(even){grid-template-columns:1fr}
  .instrBig:nth-child(even) .instrBig_img{order:0}
  .instrBig_img{min-height:230px}
}
@media(max-width:680px){
  .pageHero{padding:2.4rem 18px 2.7rem}
  .pageHero h1{font-size:1.8rem}
  .galWall{columns:1}
  .schedItem{grid-template-columns:1fr;gap:.6rem}
  .schedTag{justify-self:start}
}
/* Стили для служебных страниц (privacy, terms, cookie-policy) */
.legalContent h3 {
  font-size: 1.3rem;
  font-weight: 700;
  color: #1c2230;
  margin: 1.8rem 0 0.8rem;
  padding-top: 0.5rem;
  border-bottom: 2px solid #fbe3ee;
  display: inline-block;
}
.legalContent h3:first-of-type {
  margin-top: 0;
}
.legalContent p, .legalContent li {
  margin-bottom: 0.75rem;
}
.legalContent ul, .legalContent ol {
  margin: 0.5rem 0 1rem 1.2rem;
}
.legalContent code {
  background: #f4f0f5;
  padding: 0.2rem 0.4rem;
  border-radius: 6px;
  font-family: monospace;
  font-size: 0.85rem;
  color: #c12a63;
}
@media (max-width: 680px) {
  .legalContent h3 {
    font-size: 1.15rem;
  }
}