/* Subtle editorial refinements, scoped to the retained inner pages only. */
.pa-inner {
  --accent: #6951d8;
  --accent-d: #5740bc;
  --accent-dark: #5740bc;
  --accent-rgb: 105, 81, 216;
  --mut: #666474;
  --muted: #666474;
  --mut2: #777482;
  --line: #e8e5ef;
  background: #fff;
}

.pa-inner .crumbs,
.pa-inner .breadcrumbs { color: #777482; }
.pa-inner .hero h1,
.pa-inner .pbuy h1 { letter-spacing: -.038em; line-height: 1.12; }
.pa-inner .hero .lead,
.pa-inner .block .sub { line-height: 1.8; }
.pa-inner .hero .lead { max-width: 36em; }
.pa-inner .eyebrow { letter-spacing: .1em; }
.pa-inner .block.tint { background: #fdfcfe; }
.pa-inner .block h2 { margin-bottom: 18px; }

/* The real product image sits on a restrained, softly lit display surface. */
.pa-inner .pimg {
  background: linear-gradient(145deg, #faf9fd 0%, #f1eef8 100%);
  border: 1px solid #efebf5;
  border-radius: 26px;
  min-height: 390px;
  padding: clamp(28px, 4vw, 50px);
}
.pa-inner .pimg .seal {
  width: min(100%, 310px);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(48, 34, 86, .045);
}
.pa-inner .pimg .badge {
  top: 20px;
  left: 20px;
  color: #5f48c5;
  background: #fff;
  border: 1px solid #e2daf7;
  font-weight: 500;
  letter-spacing: .02em;
  padding: 6px 12px;
}
.pa-inner .pbuy .ptype { line-height: 1.6; }
.pa-inner .pbuy .pnow {
  color: #6951d8;
  font-size: clamp(39px, 4vw, 52px);
  letter-spacing: -.045em;
  font-variant-numeric: tabular-nums;
}
.pa-inner .pbuy .pcta { margin-top: 25px; gap: 10px; }
.pa-inner .pbuy .pnote { gap: 12px 19px; line-height: 1.5; }
.pa-inner .pbuy .pnote span { align-items: center; }

/* Consistent borders, calmer typography and more breathing room in cards. */
.pa-inner .pricecard {
  background: linear-gradient(150deg, #f8f5ff, #f1ecfd);
  border: 1px solid #eae3fa;
  border-radius: 25px;
}
.pa-inner .pricecard .from { font-size: 13px; }
.pa-inner .pricecard .big { letter-spacing: -.045em; margin-top: 8px; }
.pa-inner .pricecard .unit { line-height: 1.6; margin-top: 6px; }
.pa-inner .pricecard .row,
.pa-inner .pricecard .tr { border-top-color: #e0d8f1; padding-block: 15px; }
.pa-inner .pricecard .btn { margin-top: 24px; }
.pa-inner .feat .item,
.pa-inner .steps .step,
.pa-inner .trust .t,
.pa-inner .mcard,
.pa-inner .svc {
  border-color: #e8e5ef;
  background: #fff;
  border-radius: 21px;
}
.pa-inner .feat .item { gap: 18px; }
.pa-inner .feat .item .tick {
  width: 43px;
  height: 43px;
  background: #f5f1ff;
  border: 1px solid #eee7fb;
  border-radius: 14px;
}
.pa-inner .feat .item h3,
.pa-inner .steps .step h3 { line-height: 1.3; margin-bottom: 9px; }
.pa-inner .feat .item p,
.pa-inner .steps .step p { line-height: 1.75; }
.pa-inner .steps .n { color: #6951d8; letter-spacing: -.035em; }
.pa-inner .trust .v { color: #6951d8; letter-spacing: -.04em; }
.pa-inner .trust .l { line-height: 1.65; }
.pa-inner .mcard .ms {
  width: 112px;
  height: 112px;
  object-fit: contain;
  border-radius: 15px;
  margin-bottom: 18px;
}
.pa-inner .mcard .mn { font-weight: 500; line-height: 1.4; }
.pa-inner .mcard .mt { line-height: 1.6; }
.pa-inner .mcard .mp { padding-top: 8px; font-variant-numeric: tabular-nums; }
.pa-inner .specs,
.pa-inner .ptable { border-color: #e8e5ef; background: #fff; }
.pa-inner .specs .sr,
.pa-inner .ptable .tr { border-top-color: #eeebf3; line-height: 1.65; }
.pa-inner .ptable .tr.head { background: #f8f6fc; }
.pa-inner .svc .si { background: #f5f1ff; border-radius: 13px; }

/* The open answer is distinguishable without large shadows or extra motion. */
.pa-inner:not(.pa-teacher) .faq { max-width: 880px; }
.pa-inner:not(.pa-teacher) .faq details {
  border-color: #e8e5ef;
  border-radius: 17px;
  margin-bottom: 13px;
  transition: border-color .18s ease, background-color .18s ease;
}
.pa-inner:not(.pa-teacher) .faq details[open] {
  background: #fbf9ff;
  border-color: #d9cff2;
}
.pa-inner .faq summary { letter-spacing: -.018em; line-height: 1.5; }
.pa-inner .faq summary .pm {
  width: 29px;
  height: 29px;
  background: #f5f1ff;
  border-color: transparent;
  font-weight: 400;
}
.pa-inner .faq details p { line-height: 1.85; }
.pa-inner .pa-order-card {
  background: #fff6ef;
  border: 1px solid #f1e5dc;
  border-radius: 25px;
}
.pa-inner .pa-order-card .eyebrow { color: #8c6a55; }
.pa-inner .pa-order-card p { line-height: 1.8; }
.pa-inner .pa-order-phone { color: #666474; }
.pa-inner .cta-strip { background: #f6f2fd; }
.pa-inner.pa-teacher .stamp-card { border-color: #e8e5ef; }
.pa-inner.pa-teacher .price-card.featured { background: #f6f2ff; border-color: #ded4f7; }
.pa-inner.pa-teacher .faq details[open] { border-bottom-color: #cfc2f0; }

@media (hover: hover) and (pointer: fine) {
  .pa-inner .mcard,
  .pa-inner .svc { transition: border-color .18s ease, box-shadow .18s ease; }
  .pa-inner .mcard:hover,
  .pa-inner .svc:hover {
    border-color: #cbbde9;
    box-shadow: 0 7px 20px rgba(54, 34, 94, .035);
  }
  .pa-inner:not(.pa-teacher) .faq details:hover { border-color: #d6cbeb; }
}

@media (max-width: 950px) {
  .pa-inner .pimg { min-height: 325px; }
  .pa-inner .pimg .seal { width: min(100%, 280px); }
}
@media (max-width: 700px) {
  .pa-inner .pimg { min-height: 280px; padding: 26px; border-radius: 22px; }
  .pa-inner .pimg .seal { width: min(100%, 250px); border-radius: 14px; }
  .pa-inner .pimg .badge { top: 14px; left: 14px; font-size: 11px; }
  .pa-inner .pbuy .pcta { margin-top: 22px; }
  .pa-inner .pricecard,
  .pa-inner .pa-order-card { border-radius: 22px; }
  .pa-inner .feat .item { gap: 14px; }
  .pa-inner .feat .item .tick { width: 38px; height: 38px; border-radius: 12px; }
  .pa-inner .feat .item h3,
  .pa-inner .steps .step h3 { font-size: 19px; }
  .pa-inner .faq summary { font-size: 17px; }
  .pa-inner .mcard .ms { width: 104px; height: 104px; }
}
@media (max-width: 370px) {
  .pa-inner .pimg { min-height: 250px; padding: 23px; }
  .pa-inner .pimg .seal { width: min(100%, 215px); }
  .pa-inner .pbuy .pnow { font-size: 39px; }
  .pa-inner .feat .item { gap: 11px; }
  .pa-inner .feat .item h3 { font-size: 18px; }
  .pa-inner .faq summary { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .pa-inner .mcard,
  .pa-inner .svc,
  .pa-inner .faq details { transition: none; }
}
