/* Issue #3: readable plan comparison in the existing blue / pink palette. */
#price { background:linear-gradient(180deg,#eef5ff,#fff8fc 65%,#fff); color:#23344a; }
#price .wrap { max-width:1120px; }
#price :is(article,nav,[id]) { scroll-margin-top:100px; }
.pw-plan-benefit { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 22px; padding:18px 24px; background:#153e7a; border-radius:14px; color:#fff; font-size:15px; }
.pw-plan-benefit strong { font-size:20px; }
.pw-plan-tax { margin:16px 0 24px; font-size:14px; text-align:center; }
.pw-plan-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.pw-plan-index a { display:grid; grid-template-columns:1fr; gap:3px; padding:16px 20px; border:2px solid #2055b6; border-radius:10px; color:#153e7a; background:#fff; }
.pw-plan-index span { font-size:14px; font-weight:700; }
.pw-plan-index strong { font-size:24px; font-variant-numeric:tabular-nums; }
.pw-plan-index small { font-size:13px; }
.pw-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.pw-plan-card { display:flex; flex-direction:column; min-width:0; background:#fff; border:2px solid #2055b6; border-radius:18px; overflow:hidden; box-shadow:5px 6px 0 #d4e2fc; }
.pw-plan-card-head { padding:24px; background:#eaf2ff; min-height:238px; }
.pw-plan-card:nth-child(2) .pw-plan-card-head { background:#fce5ef; }
.pw-plan-card:nth-child(3) .pw-plan-card-head { background:#eee9ff; }
.pw-course-number,.pw-sales-label { display:block; font:800 12px/1.5 var(--font-body); letter-spacing:.12em; color:#2055b6; margin-bottom:10px; }
.pw-plan-card h3 { font-size:22px; line-height:1.4; color:#153e7a; }
.pw-plan-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 8px; margin:12px 0; color:#153e7a; }
.pw-plan-price strong { font:900 clamp(28px,2.5vw,36px)/1.2 var(--font-body); font-variant-numeric:tabular-nums; letter-spacing:-.04em; white-space:nowrap; }
.pw-plan-price strong span { font-size:.55em; letter-spacing:0; }
.pw-plan-price small { font-size:13px; }
.pw-plan-discount,.pw-plan-card-note { font-size:14px; line-height:1.6; }
.pw-plan-discount strong { color:#9b2851; font-size:18px; }
.pw-plan-facts { padding:8px 24px 20px; margin:0; }
.pw-plan-facts > div { padding:14px 0; border-bottom:1px solid #dde5f2; }
.pw-plan-facts > div:last-child { border-bottom:0; }
.pw-plan-facts dt { color:#153e7a; font-size:14px; font-weight:800; margin-bottom:5px; }
.pw-plan-facts dd { margin:0; font-size:15px; line-height:1.8; }
.pw-plan-cta { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:52px; padding:14px 18px; margin:auto 20px 22px; color:#fff; background:#2055b6; border-radius:9px; font-size:14px; font-weight:700; line-height:1.6; }
.pw-plan-rules,.pw-plan-options,.pw-aftercare,.pw-publishing { margin-top:32px; padding:28px; border:1px solid #bfd0ec; border-radius:16px; background:#fff; }
#price :is(.pw-plan-rules,.pw-plan-options,.pw-aftercare,.pw-publishing) h3 { color:#153e7a; font-size:23px; line-height:1.5; margin-bottom:14px; }
#price :is(.pw-plan-rules,.pw-plan-options,.pw-aftercare,.pw-publishing) p { font-size:15px; line-height:1.9; }
.pw-policy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pw-policy-grid h4 { font-size:16px; color:#153e7a; margin-bottom:8px; }
.pw-option-list { margin:14px 0; }
.pw-option-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:17px 0; border-bottom:1px solid #d9e3f1; font-size:16px; }
.pw-option-list dd { margin:0; font-weight:800; color:#153e7a; text-align:right; white-space:normal; }
.pw-option-list dd small { display:block; font-weight:400; font-size:12px; line-height:1.5; }
.pw-aftercare { background:#fce7f1; border-color:#ebacc8; }
.pw-publishing ul { padding-left:22px; display:grid; gap:12px; list-style:disc; font-size:15px; line-height:1.9; }
.pw-plan-help { text-align:center; margin-top:28px; font-size:16px; line-height:1.9; }
.pw-plan-help a { display:inline-block; color:#16498b; text-decoration:underline; text-underline-offset:4px; }
#price a:focus-visible,#faq a:focus-visible { outline:3px solid #16498b; outline-offset:4px; }
#price a:hover { text-decoration:underline; text-underline-offset:4px; }
#service .service-card p,#flow .flow-body p,#faq .faq-a-inner { font-size:15px; line-height:1.9; }
#service .service-card a,#faq .faq-a-inner a { color:#16498b; text-decoration:underline; text-underline-offset:3px; }
#faq .faq-a { max-height:none; transition:none; }
#faq .faq-a[hidden] { display:none; }
#faq .faq-q { min-height:56px; font-size:16px; }
.pw-contact-guide { max-width:760px; margin:0 auto 28px; padding:20px 24px; border:1px solid #7995c2; border-radius:14px; color:#fff; font-size:15px; line-height:1.9; text-align:left; }
@media (max-width:900px) {
  .pw-plan-grid { grid-template-columns:1fr; }
  .pw-plan-card-head { min-height:0; }
  .pw-plan-facts { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
  .pw-policy-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .pw-plan-index { grid-template-columns:1fr; gap:10px; }
  .pw-plan-index a { grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; padding:14px; }
  .pw-plan-index strong { font-size:21px; }
  .pw-plan-index small { grid-column:1/-1; }
  .pw-plan-index span { font-size:13px; align-self:center; }
  .pw-plan-facts { display:block; padding-inline:20px; }
  .pw-plan-card-head { padding:22px 20px; }
  .pw-plan-price strong { font-size:36px; }
  .pw-plan-rules,.pw-plan-options,.pw-aftercare,.pw-publishing { padding:22px 18px; }
  .pw-plan-benefit { padding:18px; text-align:center; }
  .pw-option-list > div { grid-template-columns:1fr; gap:4px; }
  .pw-option-list dd { text-align:right; }
  .pw-contact-guide { padding:18px; }
}
