/**
 * Service page styles.
 *
 * The approved design was supplied as Tailwind utility classes loaded from the
 * play CDN. That CDN ships roughly 400KB of JavaScript and compiles the stylesheet
 * in the browser on every visit, which is a direct hit to Largest Contentful Paint
 * on the pages this practice most wants to rank. The design is reproduced here as
 * plain CSS instead: same palette, same type pairing, same layout, none of the
 * runtime cost.
 *
 * Loaded on procedure pages only (see dmd_assets()). Every selector is prefixed
 * .sv- and scoped under body.dmd-service, so nothing here can reach the shared
 * header, footer, homepage or the other templates.
 *
 * @package Dr_Muhibullah_Dawar
 */

body.dmd-service{
  --sv-950:#07121d;
  --sv-900:#0a1926;
  --sv-850:#0e2235;
  --sv-800:#142c44;
  --sv-700:#1f3d5c;
  --sv-100:#e7eef5;
  --sv-50:#f4f8fb;
  --sv-accent:#146583;
  --sv-accent-dark:#0f4e67;
  --sv-accent-soft:#e0f2fe;
  --sv-warm:#f8fafc;
  --sv-alt:#f1f5f9;
  --sv-line:#e2e8f0;
  --sv-line-soft:rgba(226,232,240,.8);
  --sv-slate:#475569;
  --sv-slate-600:#64748b;
  --sv-slate-500:var(--sv-slate-600);
  --sv-ink:#334155;
  --sv-ink-strong:#1e293b;      /* the darker of the two body inks */
  --sv-line-2:#cbd5e1;          /* a firmer hairline than --sv-line */
  --sv-soft:#94a3b8;            /* separators, and secondary text on navy */
  --sv-on-dark:#cbd5e1;         /* body text on a navy panel */
  --sv-wa:#17664e;              /* one WhatsApp green across the site */
  --sv-dot:#10b981;             /* the reviewed-status dot */
  --sv-hover-ground:#faf7f1;    /* the same warm cream as home and about */
  --sv-hover-line:#c2a877;
  --sv-gold:#a9874c;            /* the rule that opens a block, site-wide */
  --sv-display:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;
  --sv-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  background:var(--sv-warm);
}

.sv{font-family:var(--sv-sans);color:var(--sv-ink);-webkit-font-smoothing:antialiased}
.sv ::selection{background:var(--sv-accent);color:#fff}
.sv-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.sv h1,.sv h2,.sv h3{font-family:var(--sv-display);color:var(--sv-900);letter-spacing:-.025em;font-weight:600;margin:0}
.sv p{margin:0}
.sv a{color:inherit;text-decoration:none}
.sv ul{list-style:none;margin:0;padding:0}
.sv svg{flex:none}

/* ---------- breadcrumb ---------- */
.sv-crumb{background:#fff;border-bottom:1px solid var(--sv-alt);padding:12px 0;font-size:12px;color:var(--sv-slate-600)}
.sv-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:0;padding:0}
.sv-crumb a{color:var(--sv-slate-600)}
.sv-crumb a:hover{color:var(--sv-900)}
.sv-crumb .sep{color:var(--sv-line-2)}
.sv-crumb [aria-current]{font-weight:500;color:var(--sv-900)}

/* ---------- hero ---------- */
.sv-hero{padding:48px 0;background:linear-gradient(to bottom,#fff,var(--sv-warm) 45%,var(--sv-warm));border-bottom:1px solid var(--sv-line)}
.sv-hero__grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}
.sv-eyebrow{display:inline-block;padding:4px 12px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sv-accent);background:var(--sv-accent-soft);border-radius:2px;margin-bottom:16px}
.sv-hero h1{font-size:clamp(28px,4vw,46px);line-height:1.14}
.sv-hero h1 em{font-style:normal;color:var(--sv-accent);font-weight:600}
.sv-hero__lede{margin-top:24px;font-size:17px;line-height:1.7;color:var(--sv-slate)}
.sv-byline{margin-top:24px;padding-top:20px;border-top:1px solid var(--sv-line);display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px;color:var(--sv-slate-600)}
.sv-byline__dot{width:8px;height:8px;border-radius:50%;background:var(--sv-dot)}
.sv-byline strong{color:var(--sv-ink-strong);font-weight:600}
.sv-byline__sep{color:var(--sv-line-2)}
.sv-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.sv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:6px;font-size:14px;font-weight:500;transition:background-color .18s,border-color .18s,color .18s}
.sv-btn svg{width:16px;height:16px}
.sv-btn--dark{background:var(--sv-900);color:#fff;border:1px solid var(--sv-900);box-shadow:0 1px 2px rgba(10,25,38,.08)}
.sv-btn--dark svg{color:var(--sv-accent)}
.sv-btn--dark:hover{background:var(--sv-accent);border-color:var(--sv-accent)}
.sv-btn--dark:hover svg{color:#fff}
.sv-btn--wa{background:#fff;border:1px solid var(--sv-line-2);color:var(--sv-ink-strong)}
.sv-btn--wa svg{color:var(--sv-wa)}
.sv-btn--wa:hover{background:var(--sv-warm);border-color:var(--sv-soft)}
.sv-checks{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:32px;font-size:12px;font-weight:500;color:var(--sv-slate)}
.sv-checks li{display:inline-flex;align-items:center;gap:6px}
.sv-checks svg{width:16px;height:16px;color:var(--sv-accent)}
.sv-keypoint{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:8px;padding:24px;box-shadow:0 1px 2px rgba(10,25,38,.05)}
.sv-keypoint::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--sv-accent)}
.sv-keypoint__label{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sv-slate-500);margin-bottom:8px}
.sv-keypoint h2{font-size:16px;margin-bottom:12px}
.sv-keypoint p{font-size:14px;line-height:1.65;color:var(--sv-slate-600)}

/* ---------- key takeaways ---------- */
.sv-takeaways{padding:40px 0;background:#fff;border-bottom:1px solid var(--sv-line)}
.sv-takeaways__box{background:rgba(244,248,251,.7);border:1px solid rgba(226,232,240,.8);border-radius:8px;padding:26px}
.sv-takeaways h2{font-family:var(--sv-sans);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sv-accent);margin-bottom:18px}
.sv-takeaways ul{display:grid;grid-template-columns:1fr;gap:16px;font-size:14px;color:var(--sv-ink)}
.sv-takeaways li{display:flex;align-items:flex-start;gap:12px;line-height:1.65}
.sv-takeaways li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--sv-accent);margin-top:8px}
.sv-takeaways strong{color:var(--sv-900)}

/* ---------- clinical deep dive ---------- */
.sv-deep{padding:64px 0;background:var(--sv-warm);border-bottom:1px solid var(--sv-line)}
.sv-deep__grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:stretch}
.sv-card{background:#fff;border:1px solid var(--sv-line);border-radius:8px;padding:32px;box-shadow:0 1px 2px rgba(10,25,38,.05);display:flex;flex-direction:column;justify-content:space-between}
.sv-card h2{font-size:23px;margin-bottom:24px}
.sv-prose p{font-size:15.5px;line-height:1.75;color:var(--sv-ink)}
.sv-prose p+p{margin-top:16px}
.sv-card__foot{margin-top:24px;padding-top:24px;border-top:1px solid var(--sv-alt);display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sv-slate-600)}
.sv-card__foot svg{width:16px;height:16px;color:var(--sv-accent)}
.sv-signs{background:var(--sv-900);color:#fff;border-radius:8px;padding:32px;box-shadow:0 4px 6px rgba(10,25,38,.1);display:flex;flex-direction:column;justify-content:space-between}
.sv-signs h2{color:#fff;font-size:21px;margin-bottom:24px}
.sv-signs ul{display:grid;gap:16px;font-size:14px;color:var(--sv-on-dark)}
.sv-signs li{display:flex;align-items:flex-start;gap:12px;line-height:1.6}
.sv-signs svg{width:16px;height:16px;color:var(--sv-accent);margin-top:2px}
.sv-signs__foot{margin-top:32px;padding-top:24px;border-top:1px solid var(--sv-800);font-size:12px;color:var(--sv-soft)}

/* ---------- surgeon profile ---------- */
.sv-surgeon{padding:48px 0;background:#fff;border-bottom:1px solid var(--sv-line)}
.sv-surgeon__box{border:1px solid var(--sv-line);border-radius:8px;padding:28px;background:rgba(248,250,252,.5)}
.sv-surgeon__row{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.sv-surgeon__img{width:104px;height:104px;border-radius:6px;overflow:hidden;background:var(--sv-alt);border:1px solid var(--sv-line-2);flex:none}
.sv-surgeon__img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.sv-surgeon__body{flex:1;min-width:0}
.sv-surgeon h2{font-size:22px}
.sv-surgeon__role{margin-top:2px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--sv-slate-600)}
.sv-creds{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--sv-line);text-align:left}
.sv-creds b{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sv-900)}
.sv-creds span{font-size:12px;color:var(--sv-slate-600);line-height:1.5}

/* ---------- recovery & why ---------- */
.sv-rec{padding:64px 0;background:var(--sv-warm);border-bottom:1px solid var(--sv-line)}
.sv-rec__grid{display:grid;grid-template-columns:1fr;gap:32px}
.sv-rec h2,.sv-why h2{font-size:22px;margin-bottom:8px}
.sv-rec__lede{font-size:14px;line-height:1.7;color:var(--sv-slate-600);margin-bottom:32px}
.sv-phases{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.sv-phase{background:var(--sv-warm);border:1px solid var(--sv-line);border-radius:4px;padding:16px;text-align:center}
.sv-phase__n{display:inline-block;padding:2px 8px;font-size:10px;font-weight:700;color:var(--sv-accent);background:var(--sv-accent-soft);border-radius:999px;margin-bottom:6px}
.sv-phase b{display:block;font-family:var(--sv-sans);font-size:12px;font-weight:600;color:var(--sv-900);line-height:1.4}
.sv-phase span{display:block;margin-top:4px;font-size:11px;color:var(--sv-slate-600)}
.sv-recnote{background:var(--sv-50);border-left:4px solid var(--sv-accent);border-radius:0 4px 4px 0;padding:16px;font-size:14px;line-height:1.7;color:var(--sv-ink);margin-top:16px}
.sv-recnote strong{color:var(--sv-900)}
.sv-why ul{display:grid;gap:16px;font-size:14px;color:var(--sv-ink)}
.sv-why li{display:flex;align-items:flex-start;gap:12px;line-height:1.6}
.sv-why svg{width:16px;height:16px;color:var(--sv-accent);margin-top:2px}
.sv-why__foot{margin-top:32px;padding-top:24px;border-top:1px solid var(--sv-alt);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--sv-slate-600)}
.sv-why__foot a{font-weight:600;color:var(--sv-accent)}
.sv-why__foot a:hover{color:var(--sv-accent-dark)}

/* ---------- faq ---------- */
.sv-faq{padding:64px 0;background:#fff;border-bottom:1px solid var(--sv-line)}
.sv-faq__head{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--sv-line)}
.sv-faq__kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sv-accent)}
.sv-faq__head h2{font-size:28px}
.sv-faq__note{font-size:13px;color:var(--sv-slate-600);max-width:38ch}

/* ---------- references & related ---------- */
.sv-refs{padding:48px 0;background:#fff;border-bottom:1px solid var(--sv-line)}
.sv-refs__label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sv-slate-500);margin-bottom:10px}
.sv-refs__list{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;color:var(--sv-slate-600)}
.sv-refs__list a{text-decoration:underline;text-underline-offset:2px}
.sv-refs__list a:hover{color:var(--sv-accent)}
.sv-rule{border:0;border-top:1px solid var(--sv-line-soft);margin:32px 0}
.sv-related{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;font-weight:500}
.sv-related a{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:4px;background:var(--sv-warm);border:1px solid var(--sv-line);color:var(--sv-ink);transition:background-color .18s}
.sv-related a:hover{background:var(--sv-line)}
.sv-related span{color:var(--sv-soft)}

/* ---------- disclaimer ---------- */
.sv-disclaimer{padding:32px 0;background:var(--sv-warm);border-bottom:1px solid var(--sv-line)}
.sv-disclaimer__box{padding:24px;border-radius:8px;background:#fff;border:1px solid var(--sv-line);font-size:12px;line-height:1.75;color:var(--sv-slate-600)}
.sv-disclaimer__box b{display:block;font-weight:700;color:var(--sv-ink);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.sv-disclaimer__box p+p{margin-top:8px}

/* ---------- bottom cta ---------- */
.sv-end{padding:56px 0;background:var(--sv-900);color:#fff}
.sv-end__box{background:var(--sv-850);border:1px solid var(--sv-700);border-radius:8px;padding:32px;display:flex;flex-direction:column;gap:24px}
.sv-end h2{color:#fff;font-size:26px}
.sv-end p{margin-top:8px;font-size:14px;line-height:1.7;color:var(--sv-on-dark);max-width:52ch}
.sv-end__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 32px;border-radius:6px;background:#fff;color:var(--sv-900);font-size:14px;font-weight:600;transition:background-color .18s}
.sv-end__btn:hover{background:var(--sv-alt)}

/* ---------- responsive ---------- */
@media (min-width:640px){
  .sv-takeaways ul{grid-template-columns:1fr 1fr}
  .sv-phases{grid-template-columns:repeat(4,1fr)}
  .sv-surgeon__row{flex-direction:row;align-items:flex-start;text-align:left}
  .sv-creds{grid-template-columns:repeat(4,1fr)}
  
  .sv-end__box{flex-direction:row;align-items:center;justify-content:space-between}
  .sv-end__btn{width:auto}
  .sv-faq__head{flex-direction:row;align-items:flex-end;justify-content:space-between}
}
@media (min-width:1024px){
  .sv-hero{padding:64px 0}
  .sv-hero__grid{grid-template-columns:8fr 4fr;gap:40px}
  .sv-deep__grid{grid-template-columns:7fr 5fr;gap:48px}
  .sv-rec__grid{grid-template-columns:7fr 5fr;gap:48px}
  
  
}
@media (prefers-reduced-motion:reduce){
  .sv *,.sv *::before,.sv *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* =========================================================================
   Hover and focus
   -------------------------------------------------------------------------
   The page had nine hover rules in cool greys and no focus states at all.
   The vocabulary is now the site's: a surface that is not a link warms to the
   cream and takes the gold hairline, a real link may also move its text to the
   accent, and nothing that is not clickable changes text colour.

   Every hover has a keyboard equivalent - :focus-visible on the links and
   buttons, :focus-within on the cards - because tabbing through eighteen
   clinical pages with no visible focus is the accessibility fault here, not
   the shade of grey.
   ========================================================================= */

.sv-btn--wa:hover{background:var(--sv-hover-ground);border-color:var(--sv-hover-line)}

.sv-related a{transition:background-color .24s ease,border-color .24s ease,color .24s ease}
.sv-related a:hover,.sv-related a:focus-visible{
  background:var(--sv-hover-ground);border-color:var(--sv-hover-line);color:var(--sv-accent)}
.sv-end__btn{transition:background-color .24s ease,transform .24s ease}
.sv-end__btn:hover{background:var(--sv-hover-ground);transform:translateY(-1px)}
.sv-surgeon__img{transition:border-color .28s ease}
.sv-card,.sv-keypoint{transition:border-color .28s ease,background-color .28s ease}
.sv-card:hover,.sv-card:focus-within,.sv-keypoint:hover,.sv-keypoint:focus-within{
  border-color:var(--sv-hover-line);background:var(--sv-hover-ground)}

.sv-btn:focus-visible,.sv-btn--wa:focus-visible,.sv-end__btn:focus-visible,
.sv-crumb a:focus-visible,.sv-refs__list a:focus-visible,.sv-why__foot a:focus-visible,
.sv-related a:focus-visible{
  outline:2px solid var(--sv-accent);outline-offset:3px;border-radius:4px}

@media(prefers-reduced-motion:reduce){
  .sv-end__btn:hover{transform:none!important}
}

/* ---- buttons must out-rank `.sv a` --------------------------------------
   `.sv a{color:inherit}` is (0,0,1,1) and a single-class button rule is
   (0,0,1,0), so every colour these buttons set for themselves was discarded
   and they inherited body ink instead. On the dark fill that is near-black
   text on navy. Same fault, same fix as the About page in 2.4.4 - this is the
   sweep for the rest of that pattern that I said was worth doing. */

.sv .sv-btn--dark{color:#fff}
.sv .sv-btn--dark svg{color:var(--sv-accent)}
.sv .sv-btn--dark:hover svg{color:#fff}
.sv .sv-btn--wa{color:var(--sv-ink-strong)}
.sv .sv-btn--wa svg{color:var(--sv-wa)}
.sv .sv-end__btn{color:var(--sv-900)}

/* ---- hero buttons: the site's button colours ----------------------------
   The primary button was --sv-900 (#0a1926), a near-black navy, while the
   homepage and the About page both fill their primary button with the accent
   (#146583). Three pages, two answers to the same question. It takes the
   accent here too, and its hover the accent-dark the other pages use.

   The icon inside it was the accent on navy; on an accent fill that would be
   invisible, so it becomes white with the label.

   The class is still called --dark. Renaming it would mean touching the
   template on eighteen pages for no behavioural gain, so the name stays and
   this comment explains it. */

.sv .sv-btn--dark{background:var(--sv-accent);border-color:var(--sv-accent);color:#fff}
.sv .sv-btn--dark svg{color:#fff}
.sv .sv-btn--dark:hover{background:var(--sv-accent-dark);border-color:var(--sv-accent-dark)}
.sv .sv-btn--dark:hover svg{color:#fff}

/* the secondary button keeps white + hairline, matching .ab-btn--plain */
.sv .sv-btn--wa{background:#fff;border-color:var(--sv-line-2);color:var(--sv-ink-strong)}
.sv .sv-btn--wa svg{color:var(--sv-wa)}

/* ---- optional per-service sections --------------------------------------
   Six boxes in a two-column grid: three full rows, no orphan, and the column
   halves the line length without needing a max-width on the prose. The list
   styling is here because .sv-prose was written for paragraphs only. */

.sv-sections{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}

.sv-section{padding:30px 32px}
.sv-section > h2{
  margin:0 0 4px;font-size:20px;line-height:1.32;letter-spacing:-.01em}
.sv-section > h2::before{
  content:"";display:block;width:26px;height:2px;background:var(--sv-gold);margin-bottom:15px}
.sv-section .sv-prose > p:first-child{margin-top:12px}

@media(max-width:1024px){.sv-sections{grid-template-columns:1fr;gap:16px}}
@media(max-width:700px){.sv-section{padding:26px 22px}}
.sv-prose ul{margin:14px 0 0;padding-left:20px;display:grid;gap:8px;list-style:disc}
.sv-prose li{font-size:15px;line-height:1.7;color:var(--sv-slate)}
.sv-prose p + ul{margin-top:10px}
.sv-prose ul + p{margin-top:14px}

/* =========================================================================
   .sv--v2  -  the approved layout for services that define their own sections
   -------------------------------------------------------------------------
   Built from the supplied mockup, in the theme's own CSS: no Tailwind, no CDN
   and no second font stack, so the page keeps the site's typography and ships
   the same three stylesheets as every other page.

   Scoped to .sv--v2, which the template adds only when a service defines
   `sections`. The seventeen services still on the old structure are untouched.
   ========================================================================= */

/* ---- hero key point: bordered callout rather than a plain card ---- */
.sv--v2 .sv-keypoint{
  background:#fdfaf3;border:1px solid #ecdfc4;border-left:4px solid var(--sv-accent);
  border-radius:0 10px 10px 0;padding:26px 24px}
.sv--v2 .sv-keypoint__label{color:var(--sv-accent);font-weight:700}
.sv--v2 .sv-keypoint:hover{background:#fdfaf3;border-color:#ecdfc4;border-left-color:var(--sv-accent)}

/* ---- takeaways: two columns, dot markers ---- */
.sv--v2 .sv-takeaways__box{padding:30px 32px}
.sv--v2 .sv-takeaways__box h2{
  font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sv-slate-600);margin-bottom:20px}
.sv--v2 .sv-takeaways__box ul{
  display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;list-style:none;padding:0}
.sv--v2 .sv-takeaways__box li{
  display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.65}
.sv--v2 .sv-takeaways__box li::before{
  content:"";flex:none;width:6px;height:6px;border-radius:50%;
  background:var(--sv-accent);margin-top:8px}
.sv--v2 .sv-takeaways__box li svg{display:none}

/* ---- symptoms card on navy ---- */
.sv--v2 .sv-signs{
  background:var(--sv-900);color:#fff;border-radius:12px;padding:30px 32px;
  border:0;box-shadow:0 14px 34px -20px rgba(10,25,38,.55)}
.sv--v2 .sv-signs h2{color:#fff;font-size:20px}
.sv--v2 .sv-signs li{color:var(--sv-on-dark)}
.sv--v2 .sv-signs svg{color:#7fb8dd}
.sv--v2 .sv-signs__foot{
  border-top:1px solid rgba(255,255,255,.16);padding-top:16px;margin-top:24px;
  color:var(--sv-soft);font-size:12px}

/* ---- sections: centred header, accent bar on each box ---- */
.sv--v2 .sv-sections__head{text-align:center;max-width:38rem;margin:0 auto 34px}
.sv--v2 .sv-sections__head span{
  display:block;font-size:11.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sv-accent);margin-bottom:8px}
.sv--v2 .sv-sections__head h2{font-size:26px;line-height:1.25;margin:0}
.sv--v2 .sv-sections{
  display:flex;flex-direction:column;gap:14px;counter-reset:svsec}

/* Heading rail left, prose right: a step is one row, so no step can leave a
   gap beside a shorter neighbour the way the two-column grid did. */
.sv--v2 .sv-section{
  display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);
  gap:0 48px;padding:32px 36px;border-radius:12px;counter-increment:svsec}
.sv--v2 .sv-section > h2{
  grid-column:1;align-self:start;margin:0;font-size:19px;line-height:1.35}
.sv--v2 .sv-section .sv-prose{grid-column:2;min-width:0}
.sv--v2 .sv-section .sv-prose > p:first-child{margin-top:0}

/* The number replaces the accent bar. It says which step this is, which the
   bar could not. */
.sv--v2 .sv-section > h2::before{
  content:counter(svsec,decimal-leading-zero);
  display:block;width:auto;height:auto;margin:0 0 10px;background:none;
  font-family:var(--sv-display);font-size:13px;font-weight:700;
  letter-spacing:.1em;color:var(--sv-accent)}

@media(max-width:900px){
  .sv--v2 .sv-section{grid-template-columns:1fr;gap:14px 0;padding:28px 26px}
  .sv--v2 .sv-section > h2{grid-column:1}
  .sv--v2 .sv-section .sv-prose{grid-column:1}
}
@media(max-width:700px){
  .sv--v2 .sv-section{padding:24px 20px}
}

/* ---- FAQ: three numbered cards ---- */
/* ---- references and related links as chips ---- */
.sv--v2 .sv-related a{
  background:var(--sv-alt);border-color:transparent;border-radius:5px;padding:7px 14px}
.sv--v2 .sv-related a:hover{background:var(--sv-hover-ground);border-color:var(--sv-hover-line)}

/* ---- closing CTA: full-width navy band ---- */
.sv--v2 .sv-end__box{
  flex-direction:row;align-items:center;justify-content:space-between;gap:36px;
  background:transparent;border:0;padding:0}
.sv--v2 .sv-end__btn{width:auto;padding:14px 30px}

@media(max-width:760px){
  .sv--v2 .sv-takeaways__box ul{grid-template-columns:1fr}
  .sv--v2 .sv-end__box{flex-direction:column;align-items:flex-start;gap:22px}
  .sv--v2 .sv-end__btn{width:100%}
}

/* ---- WhatsApp CTAs: mid-page band and bottom pairing --------------------
   Only pages that set wa_cta emit this markup, so these rules reach the piles
   page alone today. The colour is set with two classes because .sv a{color:
   inherit} at (0,0,1,1) beats any single-class rule on a link inside .sv. */

.sv-wa{padding:0 0 8px}
.sv-wa__box{
  display:flex;flex-direction:column;align-items:flex-start;gap:18px;
  padding:26px 28px;border-radius:12px;
  background:var(--sv-hover-ground);border:1px solid #ecdfc4}
.sv-wa__kicker{font-size:16px;font-weight:600;color:var(--sv-900);margin:0 0 4px}
.sv-wa__text p{font-size:14.5px;line-height:1.7;color:var(--sv-slate)}
.sv .sv-wa__btn{flex:none;background:#fff;border-color:var(--sv-line-2);color:var(--sv-ink-strong)}
.sv .sv-wa__btn svg{color:var(--sv-wa)}
.sv .sv-wa__btn:hover{background:var(--sv-warm);border-color:var(--sv-hover-line)}

.sv-end__actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}

/* A matched pair: same weight, same height, and a shared floor on the width so
   the shorter label does not make its button look like a different control. */
.sv .sv-end__actions .sv-end__btn{
  font-weight:600;line-height:1.2;border:1px solid transparent}
.sv .sv-end__actions .sv-end__btn--wa{
  background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.24);color:#fff}
.sv .sv-end__actions .sv-end__btn--wa svg{width:17px;height:17px;color:#5eead4}
.sv .sv-end__actions .sv-end__btn--wa:hover{
  background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.42);transform:translateY(-1px)}

/* 56px around 87px of content read as squeezed for a closing section. */
.sv--v2 .sv-end{padding:72px 0}
.sv--v2 .sv-end p{margin-top:10px;max-width:46ch}

@media(min-width:768px){
  .sv-wa__box{flex-direction:row;align-items:center;justify-content:space-between;gap:32px}
  /* Side by side, and each label on one line - "Book an Appointment" breaking
     across two lines beside a two-line WhatsApp label reads as a mistake. */
  .sv-end__actions{flex-direction:row;gap:14px}
  .sv-end__actions .sv-end__btn{white-space:nowrap}
  /* Side by side, the shorter label must not make its button look like a
     different control, so both get the same width floor. */
  .sv .sv-end__actions .sv-end__btn{min-width:15rem}
}
@media(max-width:700px){
  .sv-wa__box{padding:22px 20px}
}
