/* Scoped to .svc-body (the <main> wrapper on Service pages) 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. */
.svc-body{--plum:#2e1033;--plum2:#5b3a63;--pink:#d6127e;--pink2:#a80e64;--blush:#fdeaf3;--paper:#fff;--muted:#6e6572;--border:#eee5eb;--ink:#2e1033;--max:1120px;--shadow:0 22px 65px rgba(46,16,51,.10);font-family:Inter,Arial,sans-serif;color:var(--ink);line-height:1.65}
.svc-body *{box-sizing:border-box}
.svc-body a{text-decoration:none;color:inherit}
.svc-body h1,.svc-body h2,.svc-body h3{font-family:Fraunces,Georgia,serif;line-height:1.12;margin:0;letter-spacing:-.02em}
.svc-body .wrap{width:auto;max-width:var(--max);margin:auto;padding:0 28px}
.svc-body .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:auto;padding:12px 19px;border-radius:10px;font-weight:700;font-size:14px;border:1px solid transparent;cursor:pointer}
.svc-body .btn-primary{background:linear-gradient(90deg,var(--pink),var(--plum));color:#fff}
.svc-body .btn-outline{border-color:#d9ced5;background:#fff;color:var(--plum)}
.svc-body .hero{background:linear-gradient(135deg,#2e1033 0%,#751152 60%,#d6127e 100%);color:#fff;padding:82px 0}
.svc-body .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.svc-body .eyebrow{display:inline-flex;padding:6px 13px;border-radius:999px;background:#fdeaf3;color:#a80e64;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.svc-body .hero .eyebrow{background:rgba(255,255,255,.14);color:#fff}
.svc-body .hero h1{font-size:clamp(40px,5vw,66px);max-width:850px;margin-top:18px}
.svc-body .hero p{color:#f3dce9;font-size:18px;max-width:720px;margin:20px 0 0}
.svc-body .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.svc-body .hero .btn-primary{background:#fff;color:var(--pink2)}
.svc-body .hero .btn-outline{border-color:rgba(255,255,255,.4);background:transparent;color:#fff}
.svc-body .hero-card{padding:28px;border-radius:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.svc-body .hero-card strong{display:block;font-family:Fraunces,serif;font-size:25px}
.svc-body .hero-card ul{padding-left:18px;margin:16px 0 0;color:#f3dce9}
.svc-body .section{padding:82px 0}
.svc-body .section.soft{background:#fcf8fa}
.svc-body .section-head{display:block;max-width:760px;margin-bottom:35px}
.svc-body .section-head h2{font-size:clamp(30px,3.5vw,44px);margin-top:14px}
.svc-body .section-head p{color:var(--muted)}
.svc-body .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-body .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.svc-body .card{border:1px solid var(--border);border-radius:18px;background:#fff;padding:25px;box-shadow:0 12px 35px rgba(46,16,51,.04)}
.svc-body .card h3{font-size:21px}
.svc-body .card p{color:var(--muted);font-size:14px}
.svc-body .checklist{list-style:none;padding:0;margin:18px 0 0}
.svc-body .checklist li{padding:9px 0 9px 25px;border-top:1px solid var(--border);font-size:14px;position:relative}
.svc-body .checklist li:before{content:'✓';position:absolute;left:0;color:var(--pink);font-weight:800}
.svc-body .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.svc-body .step{padding:20px;border-radius:16px;background:#fff;border:1px solid var(--border)}
.svc-body .step-num{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--plum));color:#fff;font-weight:700;font-size:12px}
.svc-body .step h3{font-size:17px;margin-top:14px}
.svc-body .step p{font-size:13px;color:var(--muted)}
.svc-body .subservice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.svc-body .subservice{padding:24px;border:1px solid var(--border);border-radius:18px;background:#fff;transition:.2s}
.svc-body .subservice:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.svc-body .subservice .mini{font-size:12px;color:var(--pink2);font-weight:700;text-transform:uppercase}
.svc-body .subservice h3{font-size:22px;margin:8px 0}
.svc-body .subservice p{font-size:14px;color:var(--muted)}
.svc-body .subservice .link{color:var(--pink2);font-weight:700;font-size:14px}
.svc-body .callout{padding:34px;border-radius:22px;background:linear-gradient(130deg,var(--plum),#511b58);color:#fff}
.svc-body .callout h2{color:#fff;font-size:34px}
.svc-body .callout p{color:#ead6e8}
.svc-body .faq details{border-top:1px solid var(--border);padding:17px 0}
.svc-body .faq details:last-child{border-bottom:1px solid var(--border)}
.svc-body .faq summary{font-weight:700;cursor:pointer}
.svc-body .faq p{color:var(--muted);font-size:14px}
@media(max-width:900px){
  .svc-body .hero-grid,.svc-body .grid-2,.svc-body .grid-3,.svc-body .steps,.svc-body .subservice-grid{grid-template-columns:1fr}
  .svc-body .hero{padding:58px 0}
  .svc-body .section{padding:60px 0}
  .svc-body .hero h1{font-size:42px}
}

/* Native "Button" blocks (used for the closing callout CTA) 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/.btn-primary/.btn-outline rules above target. Without this, those
   buttons fall back to the shared site-wide button shim (style.css), which
   is sized for the homepage's buttons, not this page's. */
.svc-body .wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:auto;padding:12px 19px;border-radius:10px;font-weight:700;font-size:14px;border:1px solid transparent;cursor:pointer;text-decoration:none;box-shadow:none;}
.svc-body .wp-block-button.btn-primary .wp-block-button__link{background:linear-gradient(90deg,var(--pink),var(--plum));color:#fff;}
.svc-body .wp-block-button.btn-outline .wp-block-button__link{border-color:#d9ced5;background:#fff;color:var(--plum);}
.svc-body .hero .wp-block-button.btn-outline .wp-block-button__link{border-color:rgba(255,255,255,.4);background:transparent;color:#fff;}
