.cmu-page{
  --cmu-ink:#251c31;
  --cmu-muted:#6d6275;
  --cmu-line:rgba(67,41,81,.12);
  --cmu-soft:#f8f5fb;
  --cmu-soft-2:#fff6fb;
  --cmu-purple:#7e3acb;
  --cmu-purple-dark:#4e256f;
  --cmu-pink:#d76aa3;
  --cmu-radius:24px;
  color:var(--cmu-ink);
  background:
    radial-gradient(circle at 8% 28%,rgba(126,58,203,.045),transparent 28%),
    radial-gradient(circle at 92% 58%,rgba(215,106,163,.04),transparent 24%),
    #fff;
}
.cmu-page *{box-sizing:border-box}
.cmu-shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}

/* HERO */
.cmu-hero{
  position:relative;
  overflow:hidden;
  padding:68px 0 62px;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.82),transparent 23%),
    radial-gradient(circle at 92% 82%,rgba(215,106,163,.12),transparent 27%),
    linear-gradient(135deg,#f3e7ff 0%,#fff4fa 58%,#fff 100%);
  border-bottom:1px solid rgba(126,58,203,.07);
}
.cmu-hero:before,.cmu-hero:after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  filter:blur(.2px);
}
.cmu-hero:before{
  width:240px;height:240px;
  right:-70px;top:-115px;
  background:rgba(126,58,203,.08);
}
.cmu-hero:after{
  width:145px;height:145px;
  left:47%;bottom:-95px;
  background:rgba(215,106,163,.08);
}
.cmu-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);
  gap:52px;
  align-items:center;
}
.cmu-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 15px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(126,58,203,.11);
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--cmu-purple);
}
.cmu-eyebrow:before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:linear-gradient(135deg,var(--cmu-purple),var(--cmu-pink));
}
.cmu-hero h1{
  font-size:clamp(2.45rem,5vw,4.85rem);
  line-height:.97;
  letter-spacing:-.052em;
  margin:0;
  max-width:850px;
}
.cmu-lead{
  font-size:clamp(1.04rem,1.6vw,1.25rem);
  line-height:1.66;
  color:#5e5265;
  max-width:760px;
  margin-top:24px;
}
.cmu-lead p{margin-bottom:0}

/* PRICE PANEL */
.cmu-price-panel{
  padding:24px;
  border:1px solid rgba(126,58,203,.12);
  border-radius:28px;
  background:rgba(255,255,255,.76);
  box-shadow:0 24px 60px rgba(70,39,84,.11);
  backdrop-filter:blur(12px);
}
.cmu-price-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  margin-bottom:14px;
  padding:0 2px;
}
.cmu-price-panel-kicker{
  font-size:1rem;
  font-weight:850;
  letter-spacing:-.015em;
}
.cmu-price-panel-note{
  font-size:.75rem;
  color:var(--cmu-muted);
}
.cmu-price-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.cmu-price-list--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.cmu-price-card{
  min-width:0;
  padding:18px;
  border:1px solid var(--cmu-line);
  border-radius:19px;
  background:#fff;
  box-shadow:0 9px 22px rgba(52,31,62,.045);
}
.cmu-price-name{
  display:block;
  min-height:2.65em;
  font-size:.83rem;
  line-height:1.35;
  color:var(--cmu-muted);
  margin-bottom:10px;
}
.cmu-price-main{
  display:block;
  font-size:1.65rem;
  line-height:1.05;
  font-weight:850;
  letter-spacing:-.045em;
}
.cmu-price-unit{
  display:block;
  margin-top:5px;
  font-size:.78rem;
  line-height:1.3;
  font-weight:750;
  color:var(--cmu-purple);
}
.cmu-price-note{
  display:block;
  margin-top:9px;
  font-size:.72rem;
  line-height:1.42;
  color:var(--cmu-muted);
}
.cmu-price-anchor{
  display:block;
  margin-top:7px;
  font-size:.72rem;
  line-height:1.4;
  color:#817486;
}

/* SINGLE PRICE
   One linked price is presented as a compact offer card rather than
   as a half-empty multi-price grid. */
.cmu-price-panel--single{
  padding:26px;
}
.cmu-price-panel--single .cmu-price-panel-head{
  margin-bottom:12px;
}
.cmu-price-panel--single .cmu-price-panel-kicker{
  font-size:.78rem;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cmu-muted);
}
.cmu-price-panel--single .cmu-price-list{
  display:block;
}
.cmu-price-panel--single .cmu-price-card{
  display:flex;
  flex-direction:column;
  padding:22px 22px 20px;
  border-radius:22px;
}
.cmu-price-panel--single .cmu-price-main{
  order:1;
  font-size:2.45rem;
  line-height:1;
  letter-spacing:-.055em;
}
.cmu-price-panel--single .cmu-price-name{
  order:2;
  min-height:0;
  margin:9px 0 0;
  font-size:.9rem;
  line-height:1.4;
  color:#625668;
}
.cmu-price-panel--single .cmu-price-anchor{
  order:3;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(126,58,203,.10);
  font-size:.72rem;
}
.cmu-price-includes{
  margin-top:17px;
  padding:0 2px;
}
.cmu-price-includes-label{
  display:block;
  margin-bottom:8px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:var(--cmu-muted);
}
.cmu-price-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.cmu-price-highlight{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 10px;
  border:1px solid rgba(126,58,203,.12);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  font-size:.75rem;
  font-weight:700;
  line-height:1.25;
  color:#5f5264;
}
.cmu-status{
  display:inline-flex;
  margin-top:22px;
  padding:11px 14px;
  border-radius:13px;
  background:#fff;
  border:1px solid var(--cmu-line);
  box-shadow:0 7px 18px rgba(52,31,62,.045);
  font-weight:700;
}
.cmu-status--waitlist,.cmu-status--closed{background:#fff4f6}
.cmu-status--limited{background:#fff9ec}

/* MAIN */
.cmu-content{padding:48px 0 76px}
.cmu-bento{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:16px;
}
.cmu-card{
  position:relative;
  padding:30px;
  border:1px solid var(--cmu-line);
  border-radius:var(--cmu-radius);
  background:#fff;
  box-shadow:0 12px 35px rgba(48,30,57,.045);
}
.cmu-card--soft{
  background:
    radial-gradient(circle at 90% 10%,rgba(126,58,203,.08),transparent 32%),
    var(--cmu-soft);
}
.cmu-card h2,.cmu-section h2{
  font-size:clamp(1.55rem,2.6vw,2.25rem);
  line-height:1.08;
  letter-spacing:-.038em;
  margin:0 0 18px;
}
.cmu-card p:first-child{margin-top:0}
.cmu-card p:last-child{margin-bottom:0}
.cmu-rich{
  font-size:1rem;
  line-height:1.72;
  color:#493e51;
}
.cmu-rich p{margin-top:0}
.cmu-rich p:last-child{margin-bottom:0}
.cmu-section{padding-top:42px}
.cmu-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  max-width:none;
  margin-bottom:18px;
}

/* PROCESS */
.cmu-process{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.cmu-step{
  position:relative;
  min-height:190px;
  padding:20px;
  border:1px solid var(--cmu-line);
  border-radius:20px;
  background:
    linear-gradient(180deg,rgba(248,245,251,.92),rgba(255,255,255,.98));
  box-shadow:0 8px 24px rgba(48,30,57,.035);
}
.cmu-step-num{
  display:grid;
  place-items:center;
  width:38px;height:38px;
  margin-bottom:18px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--cmu-purple),#9a5ad9);
  color:#fff;
  font-size:.88rem;
  font-weight:850;
  box-shadow:0 8px 18px rgba(126,58,203,.2);
}
.cmu-step h3,.cmu-topic h3{
  margin:0 0 8px;
  font-size:1.03rem;
  line-height:1.28;
}
.cmu-step p,.cmu-topic p{
  margin:0;
  color:var(--cmu-muted);
  line-height:1.55;
  font-size:.92rem;
}

/* EXPERT */
.cmu-expert-card{
  overflow:hidden;
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  border:1px solid rgba(126,58,203,.12);
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 14%,rgba(215,106,163,.09),transparent 26%),
    linear-gradient(135deg,#f8f2ff,#fff);
  box-shadow:0 15px 40px rgba(49,29,62,.055);
}
.cmu-expert-photo-wrap{
  min-height:360px;
  background:#eee7f4;
}
.cmu-expert-photo{
  display:block;
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  object-position:center;
}
.cmu-expert-copy{
  align-self:center;
  padding:34px 38px;
}
.cmu-expert-kicker{
  margin:0 0 7px;
  color:var(--cmu-purple);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.cmu-expert-copy h2{
  margin-bottom:5px;
}
.cmu-expert-role{
  margin:0 0 18px;
  color:#75667d;
  font-weight:700;
}
.cmu-expert-bio{max-width:700px}
.cmu-button--secondary{
  margin-top:20px;
  background:transparent!important;
  color:var(--cmu-purple-dark)!important;
  border:1px solid rgba(78,37,111,.25);
}
.cmu-button--secondary:hover{
  background:#fff!important;
  color:var(--cmu-purple)!important;
}

/* TOPICS */
.cmu-topics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.cmu-topic{
  position:relative;
  min-height:150px;
  padding:22px 22px 22px 24px;
  border:1px solid var(--cmu-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 24px rgba(48,30,57,.035);
}
.cmu-topic:before{
  content:"";
  display:block;
  width:34px;height:5px;
  margin-bottom:17px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cmu-purple),var(--cmu-pink));
}

/* PRACTICAL */
.cmu-practical-section{
  position:relative;
}
.cmu-practical-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.cmu-practical-item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:15px;
  align-items:start;
  padding:20px 22px;
  border:1px solid rgba(126,58,203,.11);
  border-radius:19px;
  background:
    radial-gradient(circle at 100% 0%,rgba(126,58,203,.05),transparent 35%),
    #fff;
  box-shadow:0 8px 24px rgba(48,30,57,.035);
}
.cmu-practical-icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(135deg,#f0e2ff,#fff0f7);
  color:var(--cmu-purple);
}
.cmu-practical-icon svg{
  width:21px;
  height:21px;
}
.cmu-practical-text{
  align-self:center;
  color:#514557;
  font-size:.95rem;
  line-height:1.58;
}
.cmu-practical-text p{
  margin:0;
}

/* FAQ */
.cmu-faq{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.cmu-faq details{
  align-self:start;
  border:1px solid var(--cmu-line);
  border-radius:16px;
  background:#fff;
  padding:0 17px;
  box-shadow:0 7px 20px rgba(48,30,57,.03);
  overflow:hidden;
  will-change:height;
}
.cmu-faq summary{
  cursor:pointer;
  list-style:none;
  position:relative;
  padding:17px 30px 17px 2px;
  font-weight:760;
}
.cmu-faq summary::-webkit-details-marker{display:none}
.cmu-faq summary:after{
  content:"+";
  position:absolute;
  right:3px;
  top:50%;
  transform:translateY(-50%) rotate(0deg);
  color:var(--cmu-purple);
  font-size:1.25rem;
  font-weight:500;
  transition:transform .22s ease;
}
.cmu-faq details[open] summary:after{
  transform:translateY(-50%) rotate(45deg);
}
.cmu-faq-answer{
  padding:0 2px 17px;
  color:var(--cmu-muted);
  line-height:1.65;
}

/* CTA */
.cmu-cta{
  position:relative;
  overflow:hidden;
  margin-top:48px;
  padding:32px 34px;
  border:1px solid rgba(126,58,203,.1);
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 25%,rgba(255,255,255,.8),transparent 23%),
    linear-gradient(135deg,#efe2ff,#fff0f7);
  box-shadow:0 14px 34px rgba(70,39,84,.07);
  display:flex;
  gap:28px;
  justify-content:space-between;
  align-items:center;
}
.cmu-cta h2{
  margin:0 0 8px;
  font-size:clamp(1.55rem,2.7vw,2.25rem);
}
.cmu-cta p{
  margin:0;
  color:var(--cmu-muted);
  max-width:720px;
}
.cmu-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 20px;
  border-radius:999px;
  background:var(--cmu-ink);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:760;
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.cmu-button:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(37,28,49,.12);
  color:#fff!important;
}

/* RESPONSIVE */
@media(max-width:1020px){
  .cmu-process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmu-expert-card{grid-template-columns:230px minmax(0,1fr)}
}
@media(max-width:900px){
  .cmu-hero-grid,.cmu-bento{grid-template-columns:1fr}
  .cmu-hero-grid{gap:32px}
  .cmu-price-panel{max-width:700px}
  .cmu-topics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .cmu-expert-card{grid-template-columns:1fr}
  .cmu-expert-photo-wrap,.cmu-expert-photo{min-height:0;height:340px}
  .cmu-expert-copy{padding:26px 24px}
  .cmu-faq{grid-template-columns:1fr}
}
@media(max-width:640px){
  .cmu-shell{width:min(100% - 26px,1160px)}
  .cmu-hero{padding:48px 0 46px}
  .cmu-hero h1{font-size:clamp(2.2rem,13vw,3.5rem)}
  .cmu-price-list,.cmu-process,.cmu-topics,.cmu-practical-grid{grid-template-columns:1fr}
  .cmu-price-name{min-height:0}

  /* Price panel: on narrow screens keep current and anchor price clearly
     separated instead of allowing global Woo/theme price styles to collide. */
  .cmu-price-panel,
  .cmu-price-panel--single{
    padding:20px;
  }
  .cmu-price-panel-head{
    display:block;
    margin-bottom:12px;
  }
  .cmu-price-panel--single .cmu-price-card{
    display:flex;
    flex-direction:column;
    padding:18px;
  }
  .cmu-price-panel--single .cmu-price-main{
    display:block;
    width:100%;
    margin:0;
    font-size:2rem;
    line-height:1.08;
  }
  .cmu-price-panel--single .cmu-price-main .woocommerce-Price-amount{
    white-space:nowrap;
  }
  .cmu-price-panel--single .cmu-price-name{
    margin-top:10px;
  }
  .cmu-price-panel--single .cmu-price-anchor,
  .cmu-price-anchor{
    position:static!important;
    display:block;
    clear:both;
    width:100%;
    margin:15px 0 0!important;
    padding:13px 0 0!important;
    border-top:1px solid rgba(126,58,203,.10);
    white-space:normal!important;
    line-height:1.55;
    overflow-wrap:normal;
  }
  .cmu-card,.cmu-practical{padding:22px}
  .cmu-content{padding-top:34px}
  .cmu-section{padding-top:34px}
  .cmu-step{min-height:0}
  .cmu-cta{align-items:flex-start;flex-direction:column;padding:26px 24px}
}
@media(prefers-reduced-motion:reduce){
  .cmu-button{transition:none}
}
