/* 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; }
}

/* Readable screen copy at every breakpoint; printed artwork is unaffected. */
@media screen {
  .pa-inner .hero .lead,
  .pa-inner .sub,
  .pa-inner .faq details p,
  .pa-inner .pa-order-card p,
  .pa-inner .cta-strip p,
  .pa-inner.pa-privacy main :is(p, li) {
    font-size: 18px;
    line-height: 1.75;
  }
  .pa-inner .feat .item p,
  .pa-inner .steps p,
  .pa-inner .trust .l {
    font-size: 17px;
    line-height: 1.75;
  }
  .pa-inner .pricecard .row,
  .pa-inner .pricecard .tr,
  .pa-inner .pricecard .row b,
  .pa-inner .pricecard .tr b,
  .pa-inner .specs .sr,
  .pa-inner .ptable .tr,
  .pa-inner .lead-list .li,
  .pa-inner .mcard .mn,
  .pa-inner .svc .st {
    font-size: 17px;
    line-height: 1.6;
  }
  .pa-inner .pricecard .from,
  .pa-inner .pricecard .unit,
  .pa-inner .mcard .mt,
  .pa-inner .svc .sp,
  .pa-inner .pbuy .ptype,
  .pa-inner .pbuy .pnote,
  .pa-inner .pa-order-phone,
  .pa-inner .chip,
  .pa-inner form.lead .note {
    font-size: 16px;
    line-height: 1.65;
    color: #5b5868;
  }
  .pa-inner .crumbs,
  .pa-inner .breadcrumbs { font-size: 14px; line-height: 1.6; color: #625d6e; }
  .pa-inner.pa-privacy .upd { font-size: 14px; line-height: 1.6; color: #625d6e; }
  .pa-inner .pimg .badge,
  .pa-inner .pa-stamp-sample-number { font-size: 14px; line-height: 1.5; }
  .pa-inner .specs .sr > *,
  .pa-inner .ptable .tr > * { min-width: 0; overflow-wrap: break-word; }
  .pa-inner form.lead label { font-size: 16px; line-height: 1.6; }
  .pa-inner form.lead input[readonly] { font-size: 16px; }
  .pa-inner .btn,
  .pa-inner .button,
  .pa-inner .sample-try,
  .pa-inner .service-links a { font-size: 16px; line-height: 1.5; }
  .pa-inner .pa-footer p,
  .pa-inner .pa-footer-grid > div > a:not(.pa-brand) { font-size: 16px; line-height: 1.7; color: #5b5868; }
  .pa-inner .pa-footer h2 { font-size: 16px !important; line-height: 1.5; }
  .pa-inner .pa-footer-bottom { font-size: 14px; line-height: 1.6; color: #625d6e; }

  /* Teacher catalogue: copy outside the original stamp images only. */
  .pa-inner.pa-teacher .section-heading > p,
  .pa-inner.pa-teacher .custom .lead,
  .pa-inner.pa-teacher .order-section .lead,
  .pa-inner.pa-teacher .price-card > p:not(.set-label):not(.price),
  .pa-inner.pa-teacher .selected-list > p {
    font-size: 18px;
    line-height: 1.75;
  }
  .pa-inner.pa-teacher .price { font-size: 16px; }
  .pa-inner.pa-teacher .stamp-card h3 {
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  .pa-inner.pa-teacher .hero-detail,
  .pa-inner.pa-teacher .hero-art-small span,
  .pa-inner.pa-teacher .art-caption,
  .pa-inner.pa-teacher .sample-note,
  .pa-inner.pa-teacher .price-note,
  .pa-inner.pa-teacher .price-unit,
  .pa-inner.pa-teacher .contact-card,
  .pa-inner.pa-teacher .field-help,
  .pa-inner.pa-teacher .form-note,
  .pa-inner.pa-teacher .stamp-preview > p,
  .pa-inner.pa-teacher .stamp-preview .preview-caption {
    font-size: 16px;
    line-height: 1.65;
    color: #5b5868;
  }
  .pa-inner.pa-teacher .hero-art-main span { font-size: clamp(16px, 1.5vw, 17px); line-height: 1.6; }
  .pa-inner.pa-teacher .stamp-size { font-size: 14px; line-height: 1.5; white-space: normal; }
  .pa-inner.pa-teacher .stamp-family { font-size: 14px; line-height: 1.55; color: var(--muted); }
  .pa-inner.pa-teacher .stamp-size small,
  .pa-inner.pa-teacher .stamp-code,
  .pa-inner.pa-teacher .set-label,
  .pa-inner.pa-teacher .language-line span,
  .pa-inner.pa-teacher .filters span { font-size: 14px; line-height: 1.5; }
  .pa-inner.pa-teacher .stamp-size small,
  .pa-inner.pa-teacher .stamp-code { color: #625d6e; }
  .pa-inner.pa-teacher .filters span { opacity: 1; }
  .pa-inner.pa-teacher .filters button,
  .pa-inner.pa-teacher .stamp-card button,
  .pa-inner.pa-teacher .selected-tag { font-size: 16px; line-height: 1.5; }
  .pa-inner.pa-teacher .selection-bar p { font-size: 16px; line-height: 1.5; }
  .pa-inner.pa-teacher .selection-bar { flex-wrap: wrap; }
  .pa-inner.pa-teacher .selection-bar .button,
  .pa-inner.pa-teacher .price-card .button,
  .pa-inner.pa-teacher .text-link { font-size: 16px; line-height: 1.5; white-space: normal; }
  .pa-inner.pa-teacher .field > label,
  .pa-inner.pa-teacher .catalog-search label { font-size: 16px; line-height: 1.6; }
  .pa-inner.pa-teacher .field > label > span { font-size: 16px; line-height: 1.6; color: #5b5868; }
  .pa-inner.pa-teacher .catalog-search input,
  .pa-inner.pa-teacher .field input,
  .pa-inner.pa-teacher .field textarea { font-size: 16px; line-height: 1.5; }
  .pa-inner.pa-teacher .catalog-count,
  .pa-inner.pa-teacher .catalog-progress { font-size: 16px; line-height: 1.6; }
}
