/* Scoped to .cons-body (the <main> wrapper on the Consultation page) so
   these rules never touch the shared site header/footer, which now come
   from the main theme (header.php / footer.php) instead of this page's
   own old header. */
.cons-body{--white:#fff;--cream:#fffafd;--plum:#35143e;--plum-soft:#60465f;--pink:#d6127e;--pink-dark:#a90f67;--blush:#fdebf4;--line:#ecdfe7;--muted:#7b6978;--max:1120px;color:var(--plum);font-family:"DM Sans",sans-serif;line-height:1.65}
.cons-body *{box-sizing:border-box}
.cons-body h1,.cons-body h2,.cons-body h3{font-family:"Fraunces",serif;margin:0;line-height:1.08}
.cons-body a{text-decoration:none;color:inherit}
.cons-body .wrap{width:auto;max-width:var(--max);margin:auto;padding:0 28px}
.cons-body .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:auto;padding:13px 20px;border-radius:10px;font-size:14px;font-weight:700;border:1px solid transparent;cursor:pointer}
.cons-body .btn-primary{background:linear-gradient(90deg,var(--pink),var(--pink-dark));color:#fff;box-shadow:0 12px 28px rgba(214,18,126,.18)}
.cons-body .btn-outline{border-color:#dbcbd5;color:var(--plum);background:#fff}
.cons-body .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--blush);border:1px solid #f5cfe2;color:var(--pink-dark);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.cons-body .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pink)}
.cons-body .hero{position:static;padding:92px 0 76px;background:radial-gradient(circle at 85% 15%,rgba(214,18,126,.12),transparent 28%),linear-gradient(180deg,#fff 0%,#fff8fb 100%);color:var(--plum)}
.cons-body .hero-grid{position:static;display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}
.cons-body .hero h1{color:var(--plum);max-width:12ch;font-size:clamp(46px,6vw,72px);margin:20px 0 18px}
.cons-body .hero .lede{font-size:18px;color:var(--plum-soft);max-width:58ch}
.cons-body .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.cons-body .summary-card{background:linear-gradient(145deg,var(--plum),#68225f 72%,var(--pink-dark));color:#fff;border-radius:24px;padding:30px;box-shadow:0 22px 55px rgba(53,20,62,.16)}
.cons-body .summary-card h3{color:#fff;font-size:28px}
.cons-body .summary-card p{color:#e7d9e6}
.cons-body .meta{display:grid;margin-top:22px}
.cons-body .meta div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid rgba(255,255,255,.18);font-size:13px}
.cons-body .meta div:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.cons-body .meta span{color:#d8c4d6}
.cons-body .summary-card .btn{width:100%;margin-top:22px;background:#fff;color:var(--pink-dark)}
.cons-body .section{padding:82px 0}
.cons-body .soft{background:#fff9fc}
.cons-body .section-head{display:block;max-width:720px;margin-bottom:32px}
.cons-body .section-head h2{font-size:clamp(34px,4vw,50px);margin:14px 0 12px}
.cons-body .section-head p{color:var(--muted);margin:0}
.cons-body .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cons-body .topic{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}
.cons-body .topic .n{width:34px;height:34px;border-radius:10px;background:var(--blush);color:var(--pink-dark);display:grid;place-items:center;font-weight:700;margin-bottom:18px}
.cons-body .topic h3{font-size:19px;margin-bottom:8px}
.cons-body .topic p{font-size:13px;color:var(--muted);margin:0}
.cons-body .fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.cons-body .fit-card{border-radius:22px;padding:28px;border:1px solid var(--line);background:#fff}
.cons-body .fit-card.good{background:linear-gradient(180deg,#fff,#fff8fb)}
.cons-body .fit-card h3{font-size:25px;margin-bottom:16px}
.cons-body .checklist{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.cons-body .checklist li{position:relative;padding-left:28px;color:var(--plum-soft);font-size:14px}
.cons-body .checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--pink);font-weight:700}
.cons-body .fit-card:not(.good) .checklist li:before{content:"–";color:#9b8997}
.cons-body .process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cons-body .process .step{position:relative;padding:26px 20px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.cons-body .process .step .num{font-family:"Fraunces",serif;font-size:34px;color:var(--pink);opacity:.7}
.cons-body .process .step h3{font-size:19px;margin:6px 0}
.cons-body .process .step p{font-size:13px;color:var(--muted);margin:0}
.cons-body .payment-card{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;padding:32px;border-radius:24px;border:1px solid var(--line);background:#fff;box-shadow:0 16px 42px rgba(53,20,62,.05)}
.cons-body .pay-box{padding:24px;border-radius:18px;background:var(--cream);border:1px dashed #d9c6d3}
.cons-body .pay-box h3{font-size:22px;margin-bottom:10px}
.cons-body .pay-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}
.cons-body .pay-row span{color:var(--muted)}
.cons-body .pay-note{font-size:12px;color:var(--muted);margin-top:12px}
.cons-body .policy{display:grid;gap:10px}
.cons-body .policy div{padding:14px 16px;border-radius:14px;background:var(--blush);font-size:13px;color:var(--plum-soft)}
.cons-body .faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}
.cons-body .faq-list{display:grid;gap:10px}
.cons-body .faq-item{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px}
.cons-body .faq-item h3{font-family:"DM Sans",sans-serif;font-size:14px;margin-bottom:6px}
.cons-body .faq-item p{font-size:13px;color:var(--muted);margin:0}
.cons-body .final{padding:74px 0;background:linear-gradient(135deg,var(--plum),#69235f 70%,var(--pink-dark));color:#fff;text-align:center}
.cons-body .final h2{font-size:clamp(36px,5vw,58px);color:#fff}
.cons-body .final p{max-width:650px;margin:14px auto 24px;color:#ead9e7}
.cons-body .final .btn{background:#fff;color:var(--pink-dark)}
@media(max-width:900px){
  .cons-body .hero-grid,.cons-body .payment-card,.cons-body .faq{grid-template-columns:1fr}
  .cons-body .grid4,.cons-body .process{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .cons-body .wrap{padding:0 20px}
  .cons-body .hero{padding:66px 0 56px}
  .cons-body .hero h1{font-size:42px}
  .cons-body .grid4,.cons-body .process,.cons-body .fit-grid{grid-template-columns:1fr}
  .cons-body .section{padding:62px 0}
  .cons-body .summary-card{padding:24px}
}

/* Native "Button" blocks (used for the final-CTA "Book your consultation")
   render as <div class="wp-block-button {variant}"><a class="wp-block-button__link">,
   so the real painted surface is the INNER link, not the outer div our .btn
   rules above target. Without this, the button falls back to the shared
   site-wide button shim (style.css), which is sized for the homepage. */
.cons-body .wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:auto;padding:13px 20px;border-radius:10px;font-size:14px;font-weight:700;border:1px solid transparent;cursor:pointer;text-decoration:none;box-shadow:none;}
.cons-body .wp-block-button.btn-primary .wp-block-button__link{background:linear-gradient(90deg,var(--pink),var(--pink-dark));color:#fff;box-shadow:0 12px 28px rgba(214,18,126,.18);}
.cons-body .wp-block-button.btn-outline .wp-block-button__link{border-color:#dbcbd5;color:var(--plum);background:#fff;}
.cons-body .final .wp-block-button .wp-block-button__link{background:#fff;color:var(--pink-dark);}
