/* ============================================================
   VITAL CORE — scoped under .svc-page  (Manrope · Kapadia Blue
   #0E82BE · 8px grid · 8px radius). The .svc- prefix + the armor
   block below prevent site-level ID/class CSS from bleeding in.
   ============================================================ */
.svc-page{
  --blue:#0E82BE;--blue-deep:#0A5E8A;--blue-ink:#083A56;--blue-tint:#EAF4FA;
  --blue-soft:#D5E9F4;--red:#D7263D;--surface:#F4F7FA;--ink:#16242E;--ink-2:#41535F;
  --ink-3:#6B7C87;--line:#E1E9EE;--white:#FFFFFF;--r:8px;
  --shadow-sm:0 1px 3px rgba(8,58,86,.06),0 4px 14px rgba(8,58,86,.05);
  --shadow-md:0 6px 24px rgba(8,58,86,.09);--shadow-lg:0 16px 48px rgba(8,58,86,.14);
  --ease:cubic-bezier(.22,.61,.36,1);
  font-family:'Manrope',sans-serif;color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;
}
/* --- ARMOR: neutralise common site overrides inside our scope --- */
.svc-page *{margin:0;padding:0;box-sizing:border-box}
.svc-page img{max-width:100%;display:block;height:auto}
.svc-page a{text-decoration:none;color:inherit}
.svc-page ul{list-style:none}
.svc-page button{font-family:inherit;cursor:pointer;border:none;background:none}
.svc-page p{margin:0}
.svc-page h1,.svc-page h2,.svc-page h3,.svc-page h4{line-height:1.2;letter-spacing:-.02em;font-weight:600;color:var(--ink)}

.svc-page .svc-wrap{max-width:1520px;margin:0 auto;padding:0 32px}
.svc-page section{position:relative}
.svc-page .svc-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.svc-page .svc-eyebrow::before{content:"";width:26px;height:3px;background:var(--red);border-radius:2px}
.svc-page .svc-h2{font-size:clamp(26px,3vw,38px);font-weight:600;margin:14px 0;text-align:center}
.svc-page .svc-h2 .t{color:inherit}
.svc-page .svc-lead{font-size:17px;color:var(--ink-2);max-width:640px}
.svc-page .svc-sec-head,
.svc-page .svc-sec-head.split,
.svc-page .svc-sec-head.center{display:block;text-align:center;max-width:760px;margin-left:auto;margin-right:auto;margin-bottom:44px}
.svc-page .svc-sec-head>div{text-align:center}
.svc-page .svc-sec-head .svc-eyebrow{justify-content:center}
.svc-page .svc-sec-head .svc-eyebrow::before{display:inline-block}
.svc-page .svc-sec-head .svc-lead,
.svc-page .svc-sec-head.split .svc-lead{max-width:640px;margin-left:auto;margin-right:auto;margin-top:14px}
.svc-page .svc-sec-head .split-right{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:14px}

/* buttons */
.svc-page .svc-btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;padding:14px 28px;border-radius:var(--r);transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.svc-page .svc-btn svg{transition:transform .25s var(--ease)}
.svc-page .svc-btn:hover svg{transform:translateX(4px)}
.svc-page .svc-btn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 18px rgba(14,130,190,.32)}
.svc-page .svc-btn-primary:hover{background:var(--blue-deep);transform:translateY(-2px)}
.svc-page .svc-btn-ghost{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}
.svc-page .svc-btn-ghost:hover{background:var(--blue-tint);transform:translateY(-2px)}
.svc-page .svc-btn-white{background:#fff;color:var(--blue-ink);box-shadow:var(--shadow-md)}
.svc-page .svc-btn-white:hover{transform:translateY(-2px)}

/* reveal */
.svc-page .svc-anim .svc-rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.svc-page .svc-anim .svc-rv.in{opacity:1;transform:none}
.svc-page .d1{transition-delay:.1s}.svc-page .d2{transition-delay:.2s}.svc-page .d3{transition-delay:.3s}.svc-page .d4{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){.svc-page .svc-rv{opacity:1;transform:none;transition:none}}

/* ---------- breadcrumb ---------- */
.svc-page .svc-crumb{background:var(--surface);border-bottom:1px solid var(--line)}
.svc-page .svc-crumb .svc-wrap{display:flex;gap:8px;align-items:center;padding-top:14px;padding-bottom:14px;font-size:13px;font-weight:600;color:var(--ink-3);flex-wrap:wrap}
.svc-page .svc-crumb a{color:var(--blue);font-weight:700}
.svc-page .svc-crumb a:hover{text-decoration:underline}
.svc-page .svc-crumb .sep{color:var(--line)}

/* ---------- hero ---------- */
.svc-page .svc-hero-crumb{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:26px;flex-wrap:wrap}
.svc-page .svc-hero-crumb a{color:#9BD4F0;font-weight:700}
.svc-page .svc-hero-crumb a:hover{text-decoration:underline}
.svc-page .svc-hero-crumb .cur{color:rgba(255,255,255,.85)}
.svc-page .svc-hero{position:relative;color:#fff;overflow:hidden;background:var(--blue-ink);max-width:100vw}
.svc-page .svc-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center right}
.svc-page .svc-hero-scrim{position:absolute;inset:0;background:linear-gradient(92deg,rgba(8,46,68,.97) 0%,rgba(8,54,80,.92) 42%,rgba(9,64,94,.66) 72%,rgba(10,74,110,.32) 100%)}
.svc-page .svc-hero .svc-wrap{position:relative;padding-top:64px;padding-bottom:76px;max-width:none}
.svc-page .svc-hero h1{font-size:clamp(30px,4vw,50px);font-weight:700;line-height:1.18;margin-bottom:22px;max-width:22ch;color:#fff}
.svc-page .svc-hero h1 .t{color:#9BD4F0}
.svc-page .svc-hero p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.9);max-width:760px;margin-bottom:30px}
.svc-page .svc-chips{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:34px;align-items:center}
.svc-page .svc-chip{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:700;color:#fff}
.svc-page .svc-chip svg{flex:none;width:18px;height:18px;padding:4px;border-radius:50%;background:rgba(155,212,240,.18);box-sizing:content-box}
.svc-page .svc-hero-btns{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- quick facts strip ---------- */
.svc-page .svc-facts{background:#fff;border-bottom:1px solid var(--line)}
.svc-page .svc-facts .svc-wrap{display:flex;justify-content:space-between;gap:8px;padding-top:16px;padding-bottom:16px;flex-wrap:nowrap}
.svc-page .svc-fact{display:flex;align-items:center;gap:9px;padding:2px 18px;border-left:1px solid var(--line);min-width:0;flex:1}
.svc-page .svc-fact:first-child{border-left:none;padding-left:0}
.svc-page .svc-fact .ico{flex:none;width:34px;height:34px;border-radius:9px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center}
.svc-page .svc-fact .tx{display:flex;flex-direction:column;min-width:0}
.svc-page .svc-fact .l{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.svc-page .svc-fact .v{font-size:14px;font-weight:700;color:var(--blue-ink);white-space:nowrap}
@media(max-width:980px){.svc-page .svc-facts .svc-wrap{flex-wrap:wrap;gap:14px}.svc-page .svc-fact{flex:1 1 30%;border-left:none;padding:6px 0}}
@media(max-width:560px){.svc-page .svc-fact{flex:1 1 45%}}

/* ---------- generic section paddings + alternating bg ---------- */
.svc-page .svc-s{padding:96px 0}
.svc-page .svc-s.tight-bottom{padding-bottom:40px}
.svc-page .svc-s.alt{background:var(--surface)}
.svc-page .svc-s.tint{background:var(--blue-tint)}

/* overview 2-col */
.svc-page .svc-2col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.svc-page .svc-2col img{border-radius:16px;box-shadow:var(--shadow-md);width:100%;object-fit:cover}
.svc-page .svc-prose p{color:var(--ink-2);margin-bottom:16px;font-size:16px}
.svc-page .svc-prose p a{color:var(--blue);font-weight:700;border-bottom:1.5px solid var(--blue-soft)}
.svc-page .svc-prose p a:hover{border-color:var(--blue)}

/* jump nav (in-page anchors) */
.svc-page .svc-jump{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.svc-page .svc-jump a{font-size:13.5px;font-weight:700;color:var(--blue-ink);background:var(--blue-tint);padding:9px 16px;border-radius:100px;transition:background .25s,color .25s}
.svc-page .svc-jump a:hover{background:var(--blue);color:#fff}

/* symptom checklist */
/* ---- SYMPTOMS v2 — light medallion layout (clean, no bg) ---- */
.svc-page .svc-symp-sec{background:#fff;position:relative}
.svc-page .svc-symp{display:grid;grid-template-columns:repeat(6,1fr);gap:32px 18px;position:relative;z-index:1}
.svc-page .svc-symp .it{display:flex;flex-direction:column;align-items:center;text-align:center;background:none;border:none;padding:8px 6px 0;transition:transform .3s var(--ease)}
.svc-page .svc-symp .it:hover{transform:translateY(-6px)}
.svc-page .svc-symp .ic{flex:none;width:96px;height:96px;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:6px;position:relative;transition:background .35s,color .35s,box-shadow .35s}
.svc-page .svc-symp .ic::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px dashed var(--blue-soft);opacity:0;transform:scale(.94);transition:opacity .35s,transform .35s var(--ease)}
.svc-page .svc-symp .it:hover .ic{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(14,130,190,.22)}
.svc-page .svc-symp .it:hover .ic::after{opacity:1;transform:scale(1);border-color:var(--blue-soft)}
.svc-page .svc-symp .it>span:last-child{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:18ch}
.svc-page .svc-symp b{display:block;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.005em;line-height:1.3}
.svc-page .svc-symp small{display:block;font-size:12.5px;color:var(--ink-2);font-weight:500;line-height:1.55}
@media(max-width:1180px){.svc-page .svc-symp{grid-template-columns:repeat(3,1fr);gap:36px 18px}}
@media(max-width:680px){.svc-page .svc-symp{grid-template-columns:repeat(2,1fr);gap:32px 12px}.svc-page .svc-symp .ic{width:80px;height:80px}}

/* generic icon-card grid (causes, types, treatments, why) */
.svc-page .svc-grid{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;gap:0;align-items:stretch}
.svc-page .svc-grid.two{grid-template-columns:repeat(2,1fr)}
.svc-page .svc-grid .vline{background:linear-gradient(180deg,transparent 0%,#CFD9DF 20%,#CFD9DF 80%,transparent 100%);width:1px;align-self:stretch;margin:8px 0}
.svc-page .svc-why .it{border-bottom-color:#CFD9DF!important}
.svc-page .svc-cost-card{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.svc-page .svc-cost-card .svc-btn{margin:0 auto}
.svc-page .svc-card{position:relative;background:transparent;padding:4px 44px}
.svc-page .svc-card:first-of-type{padding-left:0}
.svc-page .svc-card:last-of-type{padding-right:0}
.svc-page .svc-card .ic{width:56px;height:56px;border-radius:16px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:22px;transition:background .35s,color .35s}
.svc-page .svc-card:hover .ic{background:var(--blue);color:#fff}
.svc-page .svc-card h3{font-size:18px;font-weight:700;margin-bottom:10px}
.svc-page .svc-card p{font-size:14.5px;color:var(--ink-2);line-height:1.65}
@media(max-width:780px){.svc-page .svc-grid{grid-template-columns:1fr}.svc-page .svc-grid .vline{display:none}.svc-page .svc-card{padding:22px 0;border-top:1px solid var(--line)}.svc-page .svc-card:first-of-type{border-top:none;padding-top:0}}
.svc-page .svc-card h3{font-size:18px;font-weight:700;margin-bottom:8px}
.svc-page .svc-card p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
.svc-page .svc-card a.more{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:13.5px;font-weight:800;color:var(--blue)}

/* comparison table */
.svc-page .svc-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
.svc-page .svc-table th,.svc-page .svc-table td{padding:18px 22px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line)}
.svc-page .svc-table thead th{background:var(--blue-ink);color:#fff;font-weight:700;font-size:14px}
.svc-page .svc-table thead th:first-child{background:var(--blue-deep)}
.svc-page .svc-table td:first-child{font-weight:700;color:var(--blue-ink);background:var(--surface)}
.svc-page .svc-table tr:last-child td{border-bottom:none}
.svc-page .svc-table .yes{color:var(--blue);font-weight:700}
.svc-page .svc-table .no{color:var(--ink-3)}

/* types — editorial feature rows */
.svc-page .svc-types{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-page .svc-type-row{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 30px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,border-color .3s}
.svc-page .svc-type-row::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.svc-page .svc-type-row:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .svc-type-row:hover::before{transform:scaleX(1)}
.svc-page .svc-type-ic{flex:none;width:56px;height:56px;border-radius:16px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:20px;transition:background .35s,color .35s}
.svc-page .svc-type-row:hover .svc-type-ic{background:var(--blue);color:#fff}
.svc-page .svc-type-row .num{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.14em;display:block;margin-bottom:7px}
.svc-page .svc-type-row h3{font-size:18px;font-weight:700;margin:0 0 10px}
.svc-page .svc-type-row p{font-size:14.5px;color:var(--ink-2);line-height:1.65}
.svc-page .svc-type-row a.more{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:13.5px;font-weight:800;color:var(--blue)}
@media(max-width:900px){.svc-page .svc-types{grid-template-columns:1fr;gap:16px}}

/* treatment — stacked rows */
.svc-page .svc-tlist{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-page .svc-trow{position:relative;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px 30px 34px;transition:transform .35s var(--ease),box-shadow .35s,border-color .3s}
.svc-page .svc-trow:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .svc-trow .ti{width:64px;height:64px;border-radius:18px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin:0 auto 20px;transition:background .35s,color .35s}
.svc-page .svc-trow:hover .ti{background:var(--blue);color:#fff}
.svc-page .svc-trow .tnum{display:inline-block;font-size:11px;font-weight:800;color:var(--blue);letter-spacing:.14em;background:var(--blue-tint);padding:5px 12px;border-radius:100px;margin-bottom:14px}
.svc-page .svc-trow h3{font-size:18px;font-weight:700;margin-bottom:10px}
.svc-page .svc-trow p{font-size:14px;color:var(--ink-2);line-height:1.65}
@media(max-width:880px){.svc-page .svc-tlist{grid-template-columns:1fr;gap:16px}}
/* Surgery Types — non-boxy split layout (no numbering) */
.svc-page .svc-tx{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:46px;position:relative}
.svc-page .svc-tx-card{background:#fff;border-radius:16px;padding:32px 32px 30px;position:relative;border:1.5px solid var(--line);transition:border-color .3s,box-shadow .3s,transform .3s}
.svc-page .svc-tx-card:hover{border-color:var(--blue-soft);box-shadow:var(--shadow-md);transform:translateY(-3px)}
.svc-page .svc-tx-card.recommended{background:linear-gradient(165deg,#fff 0%,var(--blue-tint) 100%);border-color:var(--blue);box-shadow:0 8px 24px rgba(14,130,190,.12)}
.svc-page .svc-tx-flag{position:absolute;top:-12px;left:24px;display:inline-flex;align-items:center;gap:6px;background:var(--blue);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:100px;box-shadow:0 4px 10px rgba(14,130,190,.3)}
.svc-page .svc-tx-flag svg{color:#fff}
.svc-page .svc-tx-head{display:flex;align-items:center;gap:16px;padding-bottom:20px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.svc-page .svc-tx-card.recommended .svc-tx-head{border-bottom-color:rgba(14,130,190,.18)}
.svc-page .svc-tx-ic{flex:none;width:46px;height:46px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;transition:background .3s,color .3s}
.svc-page .svc-tx-card.recommended .svc-tx-ic{background:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(14,130,190,.3)}
.svc-page .svc-tx-card:hover .svc-tx-ic{background:var(--blue);color:#fff}
.svc-page .svc-tx-head h3{font-size:18px;font-weight:700;color:var(--ink);margin:0;letter-spacing:-.01em}
.svc-page .svc-tx-tag{font-size:11.5px;font-weight:700;color:var(--blue);letter-spacing:.04em;text-transform:uppercase;display:block;margin-top:3px}
.svc-page .svc-tx-card p{font-size:14px;color:var(--ink-2);line-height:1.7;margin:0}

/* Foot CTA — premium impact band */
.svc-page .svc-tx-foot{display:flex;align-items:center;gap:36px;flex-wrap:wrap;margin:48px 0 64px;padding:44px 56px;background:linear-gradient(105deg,var(--blue-ink) 0%,#0B5078 60%,var(--blue) 140%);color:#fff;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 18px 44px rgba(8,58,86,.2)}
.svc-page .svc-tx-foot::before,.svc-page .svc-tx-foot::after{display:none}
.svc-page .svc-tx-foot-ic{flex:none;width:60px;height:60px;border-radius:14px;background:rgba(155,212,240,.18);color:#9BD4F0;display:grid;place-items:center;position:relative;z-index:1;border:1px solid rgba(155,212,240,.22)}
.svc-page .svc-tx-foot-tx{flex:1;min-width:320px;position:relative;z-index:1}
.svc-page .svc-tx-foot-tx b{display:block;font-size:20px;font-weight:700;color:#fff;letter-spacing:-.015em;margin-bottom:14px;line-height:1.3}
.svc-page .svc-tx-foot-tx p{font-size:14.5px;color:rgba(255,255,255,.82);margin:0;line-height:1.7;max-width:62ch}
.svc-page .svc-tx-foot-cta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;position:relative;z-index:1}
.svc-page .svc-tx-foot-cta .svc-btn{background:#fff;color:var(--blue-ink);box-shadow:0 6px 16px rgba(0,0,0,.12);padding:14px 30px}
.svc-page .svc-tx-foot-cta .svc-btn:hover{background:#9BD4F0}
.svc-page .svc-btn-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:rgba(255,255,255,.88);transition:color .2s}
.svc-page .svc-btn-link:hover{color:#9BD4F0}
.svc-page .svc-btn-link svg{flex:none}
@media(max-width:880px){.svc-page .svc-tx{grid-template-columns:1fr}.svc-page .svc-tx-foot-cta{align-items:stretch;width:100%}.svc-page .svc-tx-foot-cta .svc-btn{justify-content:center}}

/* comparison — versus cards */
/* ---- COMPARISON TABLE v2 (premium 3-column: criteria | laparoscopic | open) ---- */
.svc-page .svc-vs2{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-md)}
.svc-page .svc-vs2-head{display:grid;grid-template-columns:1.1fr 1fr 1fr;background:linear-gradient(180deg,var(--surface) 0%,#fff 100%);border-bottom:1px solid var(--line)}
.svc-page .svc-vs2-head>div{padding:20px 24px}
.svc-page .svc-vs2-head .col-criteria b{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.svc-page .svc-vs2-head .col-criteria small{font-size:13px;color:var(--ink-3);font-weight:600;display:block;margin-top:4px}
.svc-page .svc-vs2-head .col-opt{position:relative;border-left:1px solid var(--line)}
.svc-page .svc-vs2-head .col-opt.win{background:linear-gradient(160deg,#0F4C72 0%,var(--blue-ink) 100%);color:#fff;border-left-color:transparent}
.svc-page .svc-vs2-head .col-opt .tag{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:100px;margin-bottom:10px;background:var(--blue-tint);color:var(--blue)}
.svc-page .svc-vs2-head .col-opt.win .tag{background:rgba(155,212,240,.22);color:#9BD4F0}
.svc-page .svc-vs2-head .col-opt .tag svg{flex:none}
.svc-page .svc-vs2-head .col-opt h3{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.015em}
.svc-page .svc-vs2-head .col-opt.win h3{color:#fff}
.svc-page .svc-vs2-head .col-opt p{font-size:13px;color:var(--ink-3);font-weight:600;margin-top:4px}
.svc-page .svc-vs2-head .col-opt.win p{color:rgba(255,255,255,.78)}
.svc-page .svc-vs2-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-bottom:1px solid var(--line);transition:background .2s}
.svc-page .svc-vs2-row:last-child{border-bottom:none}
.svc-page .svc-vs2-row:hover{background:var(--surface)}
.svc-page .svc-vs2-row>div{padding:11px 24px;display:flex;align-items:center;gap:12px;border-left:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.svc-page .svc-vs2-row>div:first-child{border-left:none}
.svc-page .svc-vs2-row .crit{font-weight:700;color:var(--ink);font-size:13.5px}
.svc-page .svc-vs2-row .crit .ic{flex:none;width:28px;height:28px;border-radius:7px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center}
.svc-page .svc-vs2-row .crit .ic svg{width:15px;height:15px}
.svc-page .svc-vs2-row .crit small{display:none}
.svc-page .svc-vs2-row .opt-win{background:rgba(14,130,190,.04);color:var(--blue-ink);font-weight:700}
.svc-page .svc-vs2-row .opt-win::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.svc-page .svc-vs2-row .opt-alt{color:var(--ink-2)}
.svc-page .svc-vs2-row .opt-alt::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);background:#fff}
.svc-page .svc-vs2-foot{padding:20px 28px;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.svc-page .svc-vs2-foot .note{font-size:13px;color:var(--ink-3);font-weight:600;display:flex;align-items:center;gap:8px}
.svc-page .svc-vs2-foot .note svg{color:var(--blue);flex:none}
@media(max-width:980px){
  .svc-page .svc-vs2-head{grid-template-columns:1fr 1fr;border-bottom:none}
  .svc-page .svc-vs2-head .col-criteria{display:none}
  .svc-page .svc-vs2-row{grid-template-columns:1fr 1fr;border-top:1px solid var(--line);position:relative;padding-top:34px}
  .svc-page .svc-vs2-row>div:first-child{grid-column:1/-1;background:var(--surface);position:absolute;top:0;left:0;right:0;padding:8px 28px;font-size:12px;border-bottom:1px solid var(--line)}
  .svc-page .svc-vs2-row .crit .ic{width:24px;height:24px;border-radius:6px}
  .svc-page .svc-vs2-row .crit small{display:none}
}

/* ---- CTA-FORM (Book an Appointment — premium 2-row layout) ---- */
.svc-page .svc-ctaf{background:linear-gradient(120deg,var(--blue-ink) 0%,#0B5078 60%,var(--blue) 140%);color:#fff;border-radius:20px;padding:48px 64px 44px;position:relative;overflow:hidden;box-shadow:0 18px 48px rgba(8,58,86,.22)}
.svc-page .svc-ctaf::before{content:"";position:absolute;left:-80px;bottom:-100px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(155,212,240,.14) 0%,transparent 70%);pointer-events:none}
.svc-page .svc-ctaf::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:44px solid rgba(155,212,240,.07);pointer-events:none}
/* Title — clear hierarchy */
.svc-page .svc-ctaf-title{text-align:center;font-size:clamp(26px,2.6vw,34px);font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.2;margin:0 0 40px;position:relative;z-index:1}
/* Row 1 — 4 fields (holds the insurance dropdown, so it must stack above row 2) */
.svc-page .svc-ctaf-row{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;align-items:end;position:relative;z-index:2}
/* Row 2 — captcha · consent · submit (kept below row 1 so the open dropdown overlays the Submit button) */
.svc-page .svc-ctaf-row-2{grid-template-columns:minmax(0,1fr) auto;margin-top:36px;align-items:end;gap:32px 40px;z-index:1}
.svc-page .svc-ctaf-fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.svc-page .svc-ctaf-fld label{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:.02em;line-height:1.4;text-transform:uppercase}
.svc-page .svc-ctaf-fld label .ctaf-captcha-code{display:inline-block;background:rgba(255,255,255,.1);border:1px dashed rgba(155,212,240,.45);color:#9BD4F0;font-weight:800;letter-spacing:.22em;padding:3px 10px;border-radius:6px;font-size:12.5px;margin:0 4px;user-select:none;font-family:'Courier New',monospace;text-transform:none}
.svc-page .svc-ctaf-fld input,
.svc-page .svc-ctaf-fld textarea,
.svc-page .svc-ctaf-fld select{width:100%;background:transparent;border:none;border-bottom:1.5px solid rgba(155,212,240,.4);border-radius:0;padding:4px 0 10px;font-family:inherit;font-size:16px;font-weight:600;color:#fff;outline:none;transition:border-color .2s,padding .2s;line-height:1.4}
/* The Message field arrived with the shared enquiry-form include; without this
   it fell back to the UA default (white box, monospace) on the dark band. */
.svc-page .svc-ctaf-fld textarea{resize:vertical;min-height:44px;display:block}
.svc-page .svc-ctaf-fld input::placeholder,
.svc-page .svc-ctaf-fld textarea::placeholder{color:rgba(255,255,255,.4);font-weight:500;font-family:inherit}
.svc-page .svc-ctaf-fld input:hover,
.svc-page .svc-ctaf-fld textarea:hover,
.svc-page .svc-ctaf-fld select:hover{border-bottom-color:rgba(155,212,240,.75)}
.svc-page .svc-ctaf-fld input:focus,
.svc-page .svc-ctaf-fld textarea:focus,
.svc-page .svc-ctaf-fld select:focus{border-bottom-color:#9BD4F0}
.svc-page .svc-ctaf-fld select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239BD4F0' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;background-size:14px;padding-right:24px;cursor:pointer}
.svc-page .svc-ctaf-fld select option{background:var(--blue-ink);color:#fff;padding:11px 16px;line-height:2.2;min-height:2.6em}
.svc-page .svc-ctaf-fld select option:checked,
.svc-page .svc-ctaf-fld select option:hover{background:var(--blue)}
/* Consent */
.svc-page .svc-ctaf-consent{display:flex;align-items:flex-start;padding-bottom:8px}
.svc-page .svc-ctaf-consent label{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;color:rgba(255,255,255,.78);font-weight:500;cursor:pointer;max-width:64ch}
.svc-page .svc-ctaf-consent input[type=checkbox]{flex:none;width:18px;height:18px;margin-top:2px;accent-color:#22C55E;cursor:pointer;border-radius:4px}
/* Submit */
.svc-page .svc-ctaf-submit{align-self:end;background:var(--blue-ink);color:#fff;border:1px solid rgba(155,212,240,.28);font-family:inherit;font-size:15px;font-weight:800;letter-spacing:.02em;padding:15px 48px;border-radius:8px;cursor:pointer;white-space:nowrap;box-shadow:0 8px 22px rgba(0,0,0,.24);transition:transform .2s var(--ease),box-shadow .2s,background .2s;justify-self:end}
.svc-page .svc-ctaf-submit:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.3);background:#03192C}
@media(max-width:980px){
  .svc-page .svc-ctaf{padding:36px 28px 30px;border-radius:16px}
  .svc-page .svc-ctaf-title{margin-bottom:30px}
  .svc-page .svc-ctaf-row{grid-template-columns:repeat(2,1fr);gap:28px}
  .svc-page .svc-ctaf-row-2{grid-template-columns:1fr;gap:24px;align-items:stretch}
  .svc-page .svc-ctaf-submit{justify-self:stretch;text-align:center}
}
@media(max-width:520px){.svc-page .svc-ctaf-row{grid-template-columns:1fr;gap:24px}}

/* journey timeline */
/* Treatment Journey — clean, no card wrapper */
.svc-page .svc-journey-sec{background:#fff}
.svc-page .svc-journey-card{background:transparent;border:none;padding:0;box-shadow:none;border-radius:0}
.svc-page .svc-journey-card::before{display:none}
.svc-page .svc-journey-head{margin-bottom:48px;text-align:center}
.svc-page .svc-journey-head .svc-eyebrow{justify-content:center;display:inline-flex}
.svc-page .svc-journey-head .svc-eyebrow::before{display:inline-block}
.svc-page .svc-journey{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
.svc-page .svc-journey::before{content:"";position:absolute;top:23px;left:7%;right:7%;height:2px;background:var(--blue-soft);z-index:1}
.svc-page .svc-step{position:relative;z-index:2;padding:0 14px;text-align:center}
.svc-page .svc-step .sn{margin:0 auto 20px;width:48px;height:48px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:16px;display:grid;place-items:center;box-shadow:0 0 0 6px #fff,0 6px 16px rgba(14,130,190,.3)}
.svc-page .svc-step b{display:block;font-size:15.5px;font-weight:700;margin-bottom:7px;color:var(--ink)}
.svc-page .svc-step p{font-size:13px;color:var(--ink-2);line-height:1.55;max-width:24ch;margin:0 auto}
@media(max-width:780px){
  .svc-page .svc-journey{grid-template-columns:1fr;gap:0}
  .svc-page .svc-journey::before{top:24px;bottom:24px;left:23px;right:auto;width:2px;height:auto}
  .svc-page .svc-step{display:grid;grid-template-columns:48px 1fr;gap:18px;text-align:left;padding:0 0 28px}
  .svc-page .svc-step:last-child{padding-bottom:0}
  .svc-page .svc-step .sn{margin:0}
  .svc-page .svc-step p{max-width:none;margin:0}
  .svc-page .svc-step b{margin-top:12px}
}

/* mid CTA band */
.svc-page .svc-midcta{background:linear-gradient(120deg,var(--blue-ink),#0B5078 60%,var(--blue) 130%);color:#fff;border-radius:20px;padding:48px 56px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;position:relative;overflow:hidden}
.svc-page .svc-midcta::after{content:"";position:absolute;right:-50px;top:-60px;width:240px;height:240px;border-radius:50%;border:46px solid rgba(255,255,255,.06)}
.svc-page .svc-midcta .mc-l{position:relative;max-width:60ch}
.svc-page .svc-midcta h3{color:#fff;font-size:clamp(20px,2vw,26px);margin-bottom:8px}
.svc-page .svc-midcta h3 em{font-style:normal;color:#9BD4F0}
.svc-page .svc-midcta p{font-size:15px;color:rgba(255,255,255,.88)}
.svc-page .svc-midcta .mc-btns{position:relative;display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:640px){.svc-page .svc-midcta{padding:34px 26px}}

/* recovery list */
.svc-page .svc-rec{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.svc-page .svc-rec .panel{padding:0}
.svc-page .svc-rec .panel.dont{border-left:1px solid var(--line)}
.svc-page .svc-rec h3{font-size:15px;font-weight:800;letter-spacing:.04em;padding:18px 28px;background:var(--blue-tint);color:var(--blue-ink);display:flex;align-items:center;gap:10px;margin:0}
.svc-page .svc-rec ul{padding:8px 28px 16px}
.svc-page .svc-rec ul li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-2);line-height:1.55}
.svc-page .svc-rec ul li:last-child{border-bottom:none}
.svc-page .svc-rec .tick{color:var(--blue);flex:none;margin-top:2px}.svc-page .svc-rec .cross{color:var(--ink-3);flex:none;margin-top:2px}
@media(max-width:700px){.svc-page .svc-rec{grid-template-columns:1fr}.svc-page .svc-rec .panel.dont{border-left:none;border-top:1px solid var(--line)}}

/* why-choose (de-boxed numbered) */
.svc-page .svc-why{display:grid;grid-template-columns:1fr 1fr;column-gap:64px}
.svc-page .svc-why .it{display:flex;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}
.svc-page .svc-why .it:nth-last-child(-n+2){border-bottom:none}
.svc-page .svc-why .ic{flex:none;width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,var(--blue-tint),#fff);border:1px solid var(--blue-soft);color:var(--blue);display:grid;place-items:center}
.svc-page .svc-why b{display:block;font-size:17px;font-weight:700;margin-bottom:5px}
.svc-page .svc-why p{font-size:14.5px;color:var(--ink-2)}

/* doctor / E-E-A-T */
.svc-page .svc-doc{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center;background:#fff;border-radius:20px;padding:40px;box-shadow:var(--shadow-md)}
.svc-page .svc-doc img{border-radius:16px;width:100%;aspect-ratio:1/1.1;object-fit:cover;object-position:top}
.svc-page .svc-doc h3{font-size:24px;margin-bottom:4px}
.svc-page .svc-doc .qual{font-size:14px;font-weight:700;color:var(--blue);margin-bottom:16px}
.svc-page .svc-doc p{font-size:15px;color:var(--ink-2);margin-bottom:14px}
.svc-page .svc-reviewed{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:8px 16px}
.svc-page .svc-reviewed svg{color:var(--blue)}

/* cost & insurance */
.svc-page .svc-cost{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.svc-page .svc-cost-card{background:linear-gradient(135deg,var(--blue-deep),var(--blue));color:#fff;border-radius:18px;padding:44px 44px;position:relative;overflow:hidden;aspect-ratio:1/.72}
.svc-page .svc-cost-card::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08)}
.svc-page .svc-cost-card h3{color:#fff;font-size:22px;margin-bottom:14px}
.svc-page .svc-cost-card p{font-size:15px;color:rgba(255,255,255,.9);margin-bottom:24px}
.svc-page .svc-cost-points li{display:flex;gap:12px;padding:11px 0;font-size:15px;color:var(--ink-2);border-bottom:1px dashed var(--line)}
.svc-page .svc-cost-points li:last-child{border-bottom:none}
.svc-page .svc-cost-points .tick{color:var(--blue);flex:none}

/* form */
.svc-page .svc-form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.svc-page .svc-form-grid>div:first-child{position:sticky;top:96px}
.svc-page .svc-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:var(--shadow-sm)}
.svc-page .svc-form h3{font-size:23px;margin-bottom:6px}
.svc-page .svc-form>p{font-size:14px;color:var(--ink-3);font-weight:600;margin-bottom:24px}
.svc-page .svc-fld{margin-bottom:18px}
.svc-page .svc-fld label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}
.svc-page .svc-fld input,.svc-page .svc-fld select,.svc-page .svc-fld textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--r);padding:13px 16px;font-family:inherit;font-size:14.5px;font-weight:600;color:var(--ink);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.svc-page .svc-fld input:focus,.svc-page .svc-fld select:focus,.svc-page .svc-fld textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(14,130,190,.12)}
.svc-page .svc-fld-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.svc-page .svc-form .svc-btn{width:100%;justify-content:center;margin-top:6px}
.svc-page .svc-assure{font-size:12.5px;color:var(--ink-3);font-weight:600;text-align:center;margin-top:14px}

/* FAQ */
.svc-page .svc-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;align-items:start}
.svc-page .svc-faq-list{gap:14px 20px}
.svc-page .svc-faq-item{background:#fff;border:1.5px solid #DCE4EA;border-radius:14px;overflow:hidden;transition:border-color .25s,box-shadow .25s,transform .25s;box-shadow:0 2px 6px rgba(8,58,86,.06)}
.svc-page .svc-faq-item:hover{border-color:var(--blue-soft);box-shadow:0 6px 18px rgba(8,58,86,.1);transform:translateY(-1px)}
.svc-page .svc-faq-item.open{border-color:var(--blue);box-shadow:0 10px 26px rgba(14,130,190,.16);transform:translateY(-1px)}
.svc-page .svc-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:18px 22px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.4;transition:color .2s}
.svc-page .svc-faq-q:hover{color:var(--blue)}
.svc-page .svc-faq-q .fx{flex:none;width:30px;height:30px;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;transition:transform .35s var(--ease),background .3s,color .3s;font-size:0}
.svc-page .svc-faq-q .fx::before{content:"";width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .3s}
.svc-page .svc-faq-item.open .svc-faq-q{color:var(--blue)}
.svc-page .svc-faq-item.open .fx{background:var(--blue);color:#fff;transform:rotate(180deg)}
.svc-page .svc-faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.svc-page .svc-faq-a p{padding:4px 22px 20px;font-size:14px;line-height:1.7;color:var(--ink-2);border-top:1px dashed #ECF1F4;margin:0 0 0 0;padding-top:14px}

/* related services */
.svc-page .svc-rel-wrap{position:relative}
.svc-page .svc-rel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 2px 24px;scrollbar-width:none}
.svc-page .svc-rel::-webkit-scrollbar{display:none}
.svc-page .svc-rel-card{flex:0 0 300px;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1.5px solid #E4ECF1;border-radius:18px;padding:30px 30px 28px;box-shadow:0 2px 6px rgba(8,58,86,.05);transition:transform .35s var(--ease),box-shadow .35s,border-color .3s;position:relative;overflow:hidden}
.svc-page .svc-rel-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue) 0%,var(--blue-deep) 100%);transition:width .4s var(--ease)}
.svc-page .svc-rel-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(8,58,86,.14),0 2px 6px rgba(8,58,86,.06);border-color:var(--blue-soft)}
.svc-page .svc-rel-card:hover::before{width:100%}
.svc-page .svc-rel-card .ic{width:54px;height:54px;border-radius:14px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:20px;transition:background .35s,color .35s,transform .35s var(--ease)}
.svc-page .svc-rel-card:hover .ic{background:var(--blue);color:#fff;transform:scale(1.05) rotate(-3deg)}
.svc-page .svc-rel-card b{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-bottom:8px;display:block;line-height:1.3;transition:color .25s}
.svc-page .svc-rel-card:hover b{color:var(--blue-ink)}
.svc-page .svc-rel-card p{font-size:13.5px;color:var(--ink-2);font-weight:500;line-height:1.6;margin-bottom:20px;flex:1}
.svc-page .svc-rel-card .lnk{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;color:var(--blue);padding-top:14px;border-top:1px solid var(--line);transition:gap .25s var(--ease),border-color .3s}
.svc-page .svc-rel-card:hover .lnk{border-top-color:var(--blue-soft);gap:11px}
.svc-page .svc-rel-card .lnk svg{transition:transform .25s var(--ease)}
.svc-page .svc-rel-card:hover .lnk svg{transform:translateX(4px)}
.svc-page .svc-rel-nav{display:flex;gap:10px}
.svc-page .svc-rel-nav button{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--blue-ink);display:grid;place-items:center;cursor:pointer;transition:.25s}
.svc-page .svc-rel-nav button:hover{background:var(--blue);border-color:var(--blue);color:#fff}

/* location */
.svc-page .svc-loc{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
.svc-page .svc-map{border-radius:16px;overflow:hidden;border:1px solid var(--line);min-height:340px;box-shadow:var(--shadow-sm)}
.svc-page .svc-map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.svc-page .svc-nap .it{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.svc-page .svc-nap .it:last-child{border-bottom:none}
.svc-page .svc-nap .ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center}
.svc-page .svc-nap b{display:block;font-size:14px;font-weight:800}
.svc-page .svc-nap a,.svc-page .svc-nap small{font-size:13.5px;color:var(--ink-2);font-weight:600;line-height:1.5}
.svc-page .svc-nap a:hover{color:var(--blue)}
.svc-page .svc-areas{margin-top:24px;font-size:14px;color:var(--ink-2);line-height:1.9}
.svc-page .svc-areas b{color:var(--blue-ink)}

/* visit + form combined */
.svc-page .svc-visit{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.svc-page .svc-visit-left .svc-map{min-height:260px;margin-bottom:24px}
.svc-page .svc-visit-left .svc-map iframe{min-height:260px}
.svc-page .svc-visit-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px 36px;box-shadow:var(--shadow-sm)}
.svc-page .svc-visit-form h3{font-size:22px;margin-bottom:6px}
.svc-page .svc-visit-form>p{font-size:14px;color:var(--ink-3);font-weight:600;margin-bottom:22px}
.svc-page .svc-visit-form .svc-btn{width:100%;justify-content:center;margin-top:6px}
@media(max-width:900px){.svc-page .svc-visit{grid-template-columns:1fr}}

/* final CTA */
.svc-page .svc-final{background:linear-gradient(115deg,var(--blue-ink) 0%,#0B5078 55%,var(--blue) 130%);color:#fff;padding:80px 0;text-align:center;overflow:hidden}
.svc-page .svc-final::before{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;border:54px solid rgba(255,255,255,.05)}
.svc-page .svc-final .svc-wrap{position:relative;max-width:760px;margin:0 auto}
.svc-page .svc-final h2{color:#fff;font-size:clamp(24px,2.6vw,34px);margin-bottom:14px}
.svc-page .svc-final h2 em{font-style:normal;color:#9BD4F0}
.svc-page .svc-final p{font-size:16px;color:rgba(255,255,255,.88);margin-bottom:30px}
.svc-page .svc-final-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* sticky mobile bar */
.svc-page .svc-sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:300;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(8,58,86,.1);padding:10px 14px;gap:10px}
.svc-page .svc-sticky a{flex:1;justify-content:center;padding:13px 0;font-size:14.5px}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .svc-page .svc-2col,.svc-page .svc-cost,.svc-page .svc-form-grid,.svc-page .svc-loc,.svc-page .svc-doc,.svc-page .svc-sec-head.split{grid-template-columns:1fr}
  .svc-page .svc-doc{text-align:center}
  .svc-page .svc-doc img{max-width:260px;margin:0 auto}
  .svc-page .svc-symp,.svc-page .svc-grid,.svc-page .svc-grid.two{grid-template-columns:1fr 1fr}
  .svc-page .svc-why,.svc-page .svc-rec{grid-template-columns:1fr;column-gap:0}
  .svc-page .svc-why .it:nth-last-child(2){border-bottom:1px solid var(--line)}
  .svc-page .svc-rel{grid-template-columns:1fr 1fr}
  .svc-page .svc-facts .svc-wrap{grid-template-columns:1fr 1fr 1fr}
  .svc-page .svc-fact{border-left:none;padding:8px 0}
}
@media(max-width:640px){
  .svc-page .svc-wrap{padding:0 16px}
  .svc-page .svc-s{padding:60px 0}
  .svc-page .svc-symp,.svc-page .svc-grid,.svc-page .svc-grid.two,.svc-page .svc-journey,.svc-page .svc-rel,.svc-page .svc-faq-list{grid-template-columns:1fr}
  .svc-page .svc-facts .svc-wrap{grid-template-columns:1fr 1fr}
  .svc-page .svc-form,.svc-page .svc-doc,.svc-page .svc-cost-card{padding:26px 22px}
  .svc-page .svc-sticky{display:flex}
  .svc-page .svc-final,.svc-page body{padding-bottom:0}
  .svc-page .svc-fld-row{grid-template-columns:1fr}
}


/* hide elfsight widget's internal duplicate title ("What Our Customers Say") */
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee [class*="Title"],
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee [class*="title"],
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee [class*="Heading"],
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee [class*="heading"],
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee h1,
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee h2,
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee h3{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important}
/* ============================================================
   UX REFINEMENTS · v2  (alignment · spacing · typography)
   ============================================================ */

/* 1. Keep 2-column sections (Overview, Cost) left-aligned —
      centering only applies to standalone section heads. */
.svc-page .svc-2col .svc-h2,
.svc-page .svc-cost .svc-h2{text-align:left}
.svc-page .svc-2col .svc-eyebrow,
.svc-page .svc-cost .svc-eyebrow{justify-content:flex-start}
.svc-page .svc-2col .svc-eyebrow::before,
.svc-page .svc-cost .svc-eyebrow::before{display:inline-block}

/* 2. Tighter, uniform vertical rhythm across sections. */
.svc-page .svc-s{padding:80px 0}
.svc-page .svc-s.tight-bottom{padding-bottom:40px}
.svc-page .svc-sec-head,
.svc-page .svc-sec-head.split,
.svc-page .svc-sec-head.center{margin-bottom:40px;max-width:1200px}
.svc-page .svc-sec-head .svc-lead,
.svc-page .svc-sec-head.split .svc-lead{max-width:1200px}
.svc-page .svc-hero .svc-wrap{padding-top:64px;padding-bottom:72px}
@media(max-width:780px){.svc-page .svc-s{padding:48px 0}}

/* 3. Slimmer cost card so it doesn't dominate the row. */
.svc-page .svc-cost-card{aspect-ratio:auto;padding:28px 32px;max-width:380px;margin-left:auto;border-radius:14px}
.svc-page .svc-cost-card h3{font-size:20px;margin-bottom:10px}
.svc-page .svc-cost-card p{font-size:15px;line-height:1.55;margin-bottom:18px}

/* 4. Minimum readable font-size is 15px everywhere on the page.
      Eyebrow / tag elements bumped to 15-16px per UX request. */
.svc-page .svc-eyebrow{font-size:15px;letter-spacing:.14em}
.svc-page .svc-crumb .svc-wrap,
.svc-page .svc-hero-crumb{font-size:15px}
.svc-page .svc-jump a{font-size:15px}
.svc-page .svc-fact .v{font-size:15px}
.svc-page .svc-table th,
.svc-page .svc-table td,
.svc-page .svc-table thead th{font-size:15px}
.svc-page .svc-trow p,
.svc-page .svc-tx-card p,
.svc-page .svc-step p,
.svc-page .svc-rec ul li,
.svc-page .svc-faq-a p{font-size:15px}
.svc-page .svc-trow .tnum,
.svc-page .svc-type-row .num,
.svc-page .svc-tx-flag,
.svc-page .svc-vs2-head .col-criteria b,
.svc-page .svc-vs2-head .col-opt .tag,
.svc-page .svc-rec h3{font-size:15px;letter-spacing:.08em}
.svc-page .svc-vs2-head .col-criteria small,
.svc-page .svc-vs2-head .col-opt p,
.svc-page .svc-vs2-row>div,
.svc-page .svc-vs2-foot .note,
.svc-page .svc-ctaf-consent label,
.svc-page .svc-btn-link,
.svc-page .svc-doc .qual,
.svc-page .svc-reviewed,
.svc-page .svc-form>p,
.svc-page .svc-fld label,
.svc-page .svc-fld input,
.svc-page .svc-fld select,
.svc-page .svc-fld textarea,
.svc-page .svc-ctaf-fld label .ctaf-captcha-code{font-size:15px}
.svc-page .svc-faq-q{font-size:16px}
.svc-page .svc-step p{max-width:28ch}

/* 5. Consistent vertical rhythm: eyebrow → heading → lead.
      Override inline margin-bottom:0 with !important. */
.svc-page .svc-sec-head .svc-eyebrow,
.svc-page .svc-2col .svc-eyebrow,
.svc-page .svc-cost .svc-eyebrow{margin-bottom:14px}
.svc-page .svc-sec-head .svc-h2,
.svc-page .svc-2col .svc-h2,
.svc-page .svc-cost .svc-h2{margin:0 0 18px!important}
.svc-page .svc-sec-head .svc-lead,
.svc-page .svc-sec-head.split .svc-lead{margin-top:0;line-height:1.7}
.svc-page .svc-sec-head>div{margin:0}

/* 6. Cost card — comfortable inside padding (top/bottom). */
.svc-page .svc-cost-card{padding:40px 36px 40px}

/* 7. Book-an-Appointment form — breathing space above and below. */
.svc-page #svc-book{padding-top:48px!important;padding-bottom:72px!important}

/* 8. Why-Kapadia grid — even row spacing so 6 items lay out clean. */
.svc-page .svc-why{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
@media(max-width:780px){.svc-page .svc-why{grid-template-columns:1fr;gap:0}}


/* ============================================================
   ADAPTIVE COMPONENTS · v3
   Patterns that scale with content beyond the inguinal template.
   ============================================================ */

/* --- CAUSES: horizontal scroll carousel with icon cards --- */
.svc-page .svc-causes-wrap{position:relative}
.svc-page .svc-causes{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 20px;scrollbar-width:none}
.svc-page .svc-causes::-webkit-scrollbar{display:none}
.svc-page .svc-causes .it{flex:0 0 240px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:28px 26px 26px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:border-color .3s,transform .3s,box-shadow .3s;position:relative}
.svc-page .svc-causes .it:hover{border-color:var(--blue-soft);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.svc-page .svc-causes .it .ic{flex:none;width:54px;height:54px;border-radius:14px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;transition:background .3s,color .3s}
.svc-page .svc-causes .it:hover .ic{background:var(--blue);color:#fff}
.svc-page .svc-causes .it .n{position:absolute;top:18px;right:22px;font-size:13px;font-weight:800;color:var(--ink-3);letter-spacing:.1em}
.svc-page .svc-causes .it .lbl{font-size:16px;font-weight:700;color:var(--ink);line-height:1.4;letter-spacing:-.005em}
.svc-page .svc-causes-nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:5;transform:none}
.svc-page .svc-causes-nav button{pointer-events:auto;width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(8,58,86,.12);color:var(--blue-ink);display:grid;place-items:center;cursor:pointer;transition:.25s}
.svc-page .svc-causes-nav button:first-child{transform:none}
.svc-page .svc-causes-nav button:last-child{transform:none}
.svc-page .svc-causes-nav button:hover{background:var(--blue);border-color:var(--blue);color:#fff}
@media(max-width:780px){.svc-page .svc-causes-nav{display:none}.svc-page .svc-causes .it{flex:0 0 80%}}

/* --- STAGES: severity progression (Grade 1→4) --- */
.svc-page .svc-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
.svc-page .svc-stages::before{content:"";position:absolute;top:30px;left:6%;right:6%;height:2px;background:linear-gradient(90deg,var(--blue-tint) 0%,var(--blue-soft) 50%,#FBC8C2 100%);z-index:0}
.svc-page .svc-stage{position:relative;z-index:1;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 24px;transition:transform .3s,box-shadow .3s,border-color .3s}
.svc-page .svc-stage:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .svc-stage .sg{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-weight:800;font-size:17px;color:#fff;background:var(--blue);box-shadow:0 0 0 6px #fff,0 6px 14px rgba(14,130,190,.28);margin-bottom:16px}
.svc-page .svc-stage:nth-child(2) .sg{background:#3DA5D9}
.svc-page .svc-stage:nth-child(3) .sg{background:#E58A4F;box-shadow:0 0 0 6px #fff,0 6px 14px rgba(229,138,79,.3)}
.svc-page .svc-stage:nth-child(4) .sg{background:var(--red);box-shadow:0 0 0 6px #fff,0 6px 14px rgba(215,38,61,.28)}
.svc-page .svc-stage h4,.svc-page .svc-stage h3{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.svc-page .svc-stage p{font-size:15px;color:var(--ink-2);line-height:1.55}
.svc-page .svc-stage .pill{display:inline-block;font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:var(--blue-tint);padding:3px 10px;border-radius:100px;margin-top:10px}
.svc-page .svc-stage:nth-child(3) .pill{color:#B05A23;background:#FBE7D8}
.svc-page .svc-stage:nth-child(4) .pill{color:var(--red);background:#FBE2E5}
@media(max-width:980px){.svc-page .svc-stages{grid-template-columns:repeat(2,1fr)}.svc-page .svc-stages::before{display:none}}
@media(max-width:560px){.svc-page .svc-stages{grid-template-columns:1fr}}

/* --- DIAG: diagnosis steps — numbered, sectioned card list --- */
.svc-page .svc-diag{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.svc-page .svc-diag .it{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px 26px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:border-color .3s,box-shadow .3s,transform .3s}
.svc-page .svc-diag .it:hover{border-color:var(--blue-soft);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.svc-page .svc-diag .n{width:56px;height:56px;border-radius:14px;background:linear-gradient(145deg,var(--blue-tint),#fff);border:1px solid var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:18px;font-weight:800;letter-spacing:.02em}
.svc-page .svc-diag h4,.svc-page .svc-diag h3{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.svc-page .svc-diag p{font-size:15px;color:var(--ink-2);line-height:1.65}
@media(max-width:780px){.svc-page .svc-diag{grid-template-columns:1fr}}

/* --- COMPLICATIONS: refined editorial cards, blue palette --- */
.svc-page .svc-comp{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.svc-page .svc-comp .it{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:26px 28px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:border-color .3s,box-shadow .3s,transform .3s;position:relative;overflow:hidden}
.svc-page .svc-comp .it::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);opacity:.65;transition:opacity .3s}
.svc-page .svc-comp .it:hover{border-color:var(--blue-soft);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.svc-page .svc-comp .it:hover::before{opacity:1}
.svc-page .svc-comp .ic{width:54px;height:54px;border-radius:14px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;transition:background .3s,color .3s}
.svc-page .svc-comp .it:hover .ic{background:var(--blue);color:#fff}
.svc-page .svc-comp h4,.svc-page .svc-comp h3{font-size:17px;font-weight:700;margin-bottom:8px;color:var(--ink);letter-spacing:-.005em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.svc-page .svc-comp p{font-size:15px;color:var(--ink-2);line-height:1.65}

/* --- URGENT PILL: restrained red accent for genuine emergencies only --- */
.svc-page .svc-urgent{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red);background:#FBE2E5;padding:4px 10px;border-radius:100px;line-height:1}
.svc-page .svc-urgent svg{width:11px;height:11px;flex:none}
.svc-page .svc-comp .it.urgent::before{background:var(--red);opacity:.85}
.svc-page .svc-comp .it.urgent:hover::before{opacity:1}
@media(max-width:780px){.svc-page .svc-comp{grid-template-columns:1fr;gap:14px}.svc-page .svc-comp .it{padding:20px 22px}}

/* --- AVOID: foods/triggers to avoid — danger chip grid --- */
.svc-page .svc-avoid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.svc-page .svc-avoid .chip{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;background:#fff;border:1.5px solid #F4D6DA;border-radius:100px;font-size:15px;font-weight:600;color:var(--ink);transition:background .25s,border-color .25s,transform .25s}
.svc-page .svc-avoid .chip:hover{border-color:var(--red);background:#FDF6F7;transform:translateY(-2px)}
.svc-page .svc-avoid .chip .x{width:22px;height:22px;border-radius:50%;background:#FBE2E5;color:var(--red);display:grid;place-items:center;flex:none}

/* --- ADV: laser/treatment advantages — 5-icon row --- */
.svc-page .svc-adv{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.svc-page .svc-adv .it{text-align:center;padding:24px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:transform .3s,box-shadow .3s,border-color .3s}
.svc-page .svc-adv .it:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .svc-adv .ic{width:54px;height:54px;border-radius:14px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin:0 auto 14px;transition:background .3s,color .3s}
.svc-page .svc-adv .it:hover .ic{background:var(--blue);color:#fff}
.svc-page .svc-adv b{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:6px;line-height:1.3}
.svc-page .svc-adv small{display:block;font-size:15px;color:var(--ink-2);font-weight:500;line-height:1.55}
@media(max-width:980px){.svc-page .svc-adv{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.svc-page .svc-adv{grid-template-columns:repeat(2,1fr)}}

/* --- HOLISTIC: split panel for combined-approach blocks --- */
.svc-page .svc-holistic{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm)}
.svc-page .svc-holistic>div{padding:36px 36px}
.svc-page .svc-holistic .pri{background:linear-gradient(160deg,var(--blue-tint) 0%,#fff 90%);border-right:1px solid var(--line)}
.svc-page .svc-holistic .ico{width:48px;height:48px;border-radius:12px;background:#fff;color:var(--blue);display:grid;place-items:center;border:1px solid var(--blue-soft);margin-bottom:18px}
.svc-page .svc-holistic h4,.svc-page .svc-holistic h3{font-size:18px;font-weight:700;margin-bottom:10px}
.svc-page .svc-holistic p{font-size:15px;color:var(--ink-2);line-height:1.7}
@media(max-width:780px){.svc-page .svc-holistic{grid-template-columns:1fr}.svc-page .svc-holistic .pri{border-right:none;border-bottom:1px solid var(--line)}}

/* ============================================================
   v3 + v4 REFINEMENTS · sync from inguinal-hernia.php inline
   ============================================================ */
.svc-page .svc-cost-points li{border-bottom:1px dashed #B8C5CE}
.svc-page .svc-journey-sec,
.svc-page .svc-why-sec,
/* element-qualified: #svc-treatment is a section on most pages, but on the
   orthopaedics page it now lives on a tab BUTTON (the old section was folded
   into a tabbed block) - unqualified, this 90px padding stretched the tab. */
.svc-page section#svc-treatment{padding-top:90px!important;padding-bottom:90px!important}
.svc-page #svc-book{padding-top:48px!important;padding-bottom:48px!important;background:#fff}
.svc-page #svc-complications{padding-top:60px!important}
.svc-page .svc-symp .ic{background:linear-gradient(145deg,#D5E9F4,#EAF4FA);border:1px solid #BCD9EA;color:var(--blue-deep)}
.svc-page .svc-symp .it:hover .ic{background:var(--blue);border-color:var(--blue);color:#fff}
.svc-page .svc-comp .it{border:1px solid #CCD7DD;border-left:none}
.svc-page .svc-comp .it::before{width:4px;background:var(--blue);opacity:1}
.svc-page .svc-comp .it.urgent::before{background:var(--red)}
.svc-page .svc-tx-foot{background:linear-gradient(105deg,var(--blue-ink) 0%,#0B5078 60%,var(--blue) 140%);color:#fff;border:none;border-radius:16px;padding:36px 44px;margin:48px 0 0;box-shadow:0 10px 28px rgba(8,58,86,.16);align-items:center}
.svc-page .svc-tx-foot-ic{background:rgba(155,212,240,.18);color:#9BD4F0;border:1px solid rgba(155,212,240,.25);width:56px;height:56px;border-radius:14px}
.svc-page .svc-tx-foot-tx b{color:#fff;font-size:19px;margin-bottom:6px}
.svc-page .svc-tx-foot-tx p{color:rgba(255,255,255,.82)}
.svc-page .svc-tx-foot-cta .svc-btn{background:#fff;color:var(--blue-ink);box-shadow:0 6px 16px rgba(0,0,0,.14)}
.svc-page .svc-tx-foot-cta .svc-btn:hover{background:#9BD4F0;color:var(--blue-ink)}

/* Patient reviews carousel */
.svc-page .svc-reviews-wrap{position:relative}
.svc-page .svc-reviews{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 16px;scrollbar-width:none}
.svc-page .svc-reviews::-webkit-scrollbar{display:none}
.svc-page .svc-rev{flex:0 0 340px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 24px 22px;display:flex;flex-direction:column;gap:14px;transition:transform .25s,box-shadow .25s,border-color .25s}
.svc-page .svc-rev:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
@media(max-width:640px){.svc-page .svc-rev{flex:0 0 86%}}
.svc-page .svc-reviews-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:5}
.svc-page .svc-reviews-nav button{pointer-events:auto;width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(8,58,86,.12);color:var(--blue-ink);display:grid;place-items:center;cursor:pointer;transition:.25s}
.svc-page .svc-reviews-nav button:first-child{transform:translateX(-50%)}
.svc-page .svc-reviews-nav button:last-child{transform:translateX(50%)}
.svc-page .svc-reviews-nav button:hover{background:var(--blue);border-color:var(--blue);color:#fff}
@media(max-width:780px){.svc-page .svc-reviews-nav{display:none}}
.svc-page .svc-rev-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.svc-page .svc-rev-stars{display:inline-flex;gap:2px;color:#F5B400}
.svc-page .svc-rev-g{width:22px;height:22px;flex:none}
.svc-page .svc-rev p{font-size:15px;line-height:1.65;color:var(--ink-2);margin:0;flex:1}
.svc-page .svc-rev-foot{display:flex;align-items:center;gap:12px;margin-top:4px}
.svc-page .svc-rev-av{width:38px;height:38px;border-radius:50%;background:var(--blue-tint);color:var(--blue-deep);display:grid;place-items:center;font-weight:800;font-size:15px;flex:none}
.svc-page .svc-rev-name{font-size:15px;font-weight:700;color:var(--ink);line-height:1.2}
.svc-page .svc-rev-date{font-size:13px;color:var(--ink-3);font-weight:600;margin-top:2px}
.svc-page .svc-rev-cta{display:flex;justify-content:center;margin-top:32px}
.svc-page .svc-rev-cta .svc-btn{padding:14px 28px}

/* Related-treatments carousel arrows (desktop flanking) */
.svc-page .svc-rel-wrap .svc-rel-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:5}
.svc-page .svc-rel-wrap .svc-rel-nav button{pointer-events:auto;width:48px;height:48px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(8,58,86,.12)}
.svc-page .svc-rel-wrap .svc-rel-nav button:first-child{transform:translateX(-50%)}
.svc-page .svc-rel-wrap .svc-rel-nav button:last-child{transform:translateX(50%)}
.svc-page .svc-rel-wrap .svc-rel-nav button:hover{background:var(--blue);border-color:var(--blue);color:#fff}
@media(max-width:780px){.svc-page .svc-rel-wrap .svc-rel-nav{display:none}}

/* ============================================================
   STICKY HEADER · white nav strip sticks at viewport top
   (topbar stays in flow above hdr; hdr sticks when scrolled past topbar)
   #site-header is set to display:contents so topbar + hdr become
   direct body children — sticky then works against body's tall height.
   ============================================================ */
#site-header{display:contents}
.svc-page .svc-topbar{position:relative;z-index:60}
.svc-page .svc-hdr,
.svc-hdr{position:sticky!important;top:0!important;z-index:999!important;background:#fff!important;box-shadow:0 1px 0 #E1E9EE,0 4px 14px rgba(8,58,86,.05)!important;transition:box-shadow .3s var(--ease),background .3s var(--ease)!important}
/* smooth condense-on-scroll: nav padding eases down, shadow deepens */
.svc-page .svc-hdr .svc-wrap{transition:padding .3s var(--ease)}
.svc-page .svc-hdr.scrolled,
.svc-hdr.scrolled{box-shadow:0 1px 0 #E1E9EE,0 10px 30px rgba(8,58,86,.12)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:saturate(1.1) blur(6px)}
.svc-page .svc-hdr.scrolled .svc-wrap{padding-top:8px;padding-bottom:8px}

/* ============================================================
   v5 REFINEMENTS · spacing · sticky overview · carousel arrows · symptom uniformity
   ============================================================ */

/* Tighter gap between Treatment / Journey / Why-Kapadia / Doctor blocks */
.svc-page .svc-journey-sec{padding-top:64px!important;padding-bottom:64px!important}
.svc-page .svc-why-sec{padding-top:64px!important;padding-bottom:64px!important}

/* Overview 2-col: when text is long, sticky-pin the right image */
.svc-page .svc-2col{align-items:start}
.svc-page .svc-2col>div:last-child{position:sticky;top:calc(var(--hdr-h,80px) + 24px);align-self:start}
@media(max-width:980px){.svc-page .svc-2col>div:last-child{position:static}}

/* Causes carousel — arrows positioned at card vertical center, just inside the wrap edges */
.svc-page .svc-causes-wrap{padding:0 56px}
.svc-page .svc-causes-wrap .svc-causes-nav{left:0;right:0}
.svc-page .svc-causes-wrap .svc-causes-nav button{transform:none!important}
.svc-page .svc-causes-wrap .svc-causes-nav button:first-child{margin-left:0}
.svc-page .svc-causes-wrap .svc-causes-nav button:last-child{margin-right:0}
@media(max-width:780px){.svc-page .svc-causes-wrap{padding:0}}

/* Wider svc-lead inside causes/symptoms section heads */
.svc-page .svc-sec-head .svc-lead{margin-left:auto;margin-right:auto}

/* Symptoms uniformity — give every medallion item the same height,
   make missing <small> blocks render a zero-height placeholder so
   labels align across the row even when some items lack descriptions. */
.svc-page .svc-symp .it{justify-content:flex-start}
.svc-page .svc-symp .it>span:last-child{flex:1;justify-content:flex-start}
.svc-page .svc-symp small:empty{display:none}

/* ============================================================
   FORCE — Header "Book Appointment" button text always white
   ============================================================ */
.svc-page .svc-hdr .svc-btn-primary,
.svc-page .svc-hdr a.svc-btn-primary,
.svc-hdr .svc-btn-primary,
header .svc-btn-primary{background:var(--blue,#0E82BE)!important;color:#fff!important}
.svc-page .svc-hdr .svc-btn-primary:hover,
.svc-hdr .svc-btn-primary:hover,
header .svc-btn-primary:hover{background:#0A5E8A!important;color:#fff!important}

/* ============================================================
   BRAND ACCENT · eyebrow text stays blue; the leading dash
   takes the logo's red as a small accent. Mirrors the logo
   composition (big blue word + small red mark).
   ============================================================ */
.svc-page .svc-eyebrow{color:var(--blue)!important}
.svc-page .svc-eyebrow::before{background:var(--red)!important;width:26px;height:3px;border-radius:2px;display:inline-block}

/* ============================================================
   READ MORE — expandable details (supplementary copy)
   Used by fissure / fistula / pilonidal-sinus / perianal-abscess
   ============================================================ */
.svc-page .svc-readmore{background:#fff;border:1.5px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 4px 14px rgba(8,58,86,.06)}
.svc-page .svc-readmore summary{list-style:none;cursor:pointer;padding:24px 28px;display:flex;align-items:center;gap:14px;font-size:16px;color:var(--ink);transition:background .25s}
.svc-page .svc-readmore summary::-webkit-details-marker{display:none}
.svc-page .svc-readmore summary:hover{background:var(--surface)}
.svc-page .svc-readmore summary b{flex:1;font-weight:700;color:var(--ink)}
.svc-page .svc-readmore-ic{flex:none;width:30px;height:30px;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;position:relative;transition:transform .35s var(--ease),background .3s,color .3s}
.svc-page .svc-readmore-ic::before{content:"";width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .3s}
.svc-page .svc-readmore[open] .svc-readmore-ic{background:var(--blue);color:#fff;transform:rotate(180deg)}
.svc-page .svc-readmore-body{padding:8px 28px 28px;border-top:1px dashed var(--line);margin-top:0}
.svc-page .svc-readmore-body h3{font-size:17px;font-weight:700;color:var(--blue-ink);margin:22px 0 10px;letter-spacing:-.01em}
.svc-page .svc-readmore-body h3:first-child{margin-top:18px}
.svc-page .svc-readmore-body p{font-size:14.5px;color:var(--ink-2);line-height:1.7;margin-bottom:12px}

/* ============================================================
   MIGRATED FROM inguinal-hernia.php inline <style> (benchmark)
   Promoted site-wide so every service page shares the same
   responsive layout, spacing, components (FAB, custom select,
   symptom grid, journey steps, review summary, etc.).
   Loaded AFTER the base rules above => refined values win,
   exactly as they did inline on inguinal. Behavior-preserving.
   ============================================================ */
/* ============================================================
   VITAL CORE — scoped under .svc-page  (Manrope · Kapadia Blue
   #0E82BE · 8px grid · 8px radius). The .svc- prefix + the armor
   block below prevent site-level ID/class CSS from bleeding in.
   ============================================================ */
.svc-page{
  --blue:#0E82BE;--blue-deep:#0A5E8A;--blue-ink:#083A56;--blue-tint:#EAF4FA;
  --blue-soft:#D5E9F4;--red:#D7263D;--surface:#F4F7FA;--ink:#16242E;--ink-2:#41535F;
  --ink-3:#6B7C87;--line:#E1E9EE;--white:#FFFFFF;--r:8px;
  --shadow-sm:0 1px 3px rgba(8,58,86,.06),0 4px 14px rgba(8,58,86,.05);
  --shadow-md:0 6px 24px rgba(8,58,86,.09);--shadow-lg:0 16px 48px rgba(8,58,86,.14);
  --ease:cubic-bezier(.22,.61,.36,1);
  font-family:'Manrope',sans-serif;color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;
}
/* --- ARMOR: neutralise common site overrides inside our scope --- */
.svc-page *{margin:0;padding:0;box-sizing:border-box}
.svc-page img{max-width:100%;display:block;height:auto}
.svc-page a{text-decoration:none;color:inherit}
.svc-page ul{list-style:none}
.svc-page button{font-family:inherit;cursor:pointer;border:none;background:none}
.svc-page p{margin:0}
.svc-page h1,.svc-page h2,.svc-page h3,.svc-page h4{line-height:1.2;letter-spacing:-.02em;font-weight:600;color:var(--ink)}

.svc-page .svc-wrap{max-width:1520px;margin:0 auto;padding:0 32px}
.svc-page section{position:relative}
.svc-page .svc-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.svc-page .svc-eyebrow::before{content:"";width:26px;height:3px;background:var(--red);border-radius:2px}
.svc-page .svc-h2{font-size:clamp(26px,3vw,38px);font-weight:600;margin:14px 0;text-align:center}
.svc-page .svc-h2 .t{color:inherit}
.svc-page .svc-lead{font-size:17px;color:var(--ink-2);max-width:640px}
.svc-page .svc-sec-head,
.svc-page .svc-sec-head.split,
.svc-page .svc-sec-head.center{display:block;text-align:center;max-width:760px;margin-left:auto;margin-right:auto;margin-bottom:44px}
.svc-page .svc-sec-head>div{text-align:center}
.svc-page .svc-sec-head .svc-eyebrow{justify-content:center}
.svc-page .svc-sec-head .svc-eyebrow::before{display:inline-block}
.svc-page .svc-sec-head .svc-lead,
.svc-page .svc-sec-head.split .svc-lead{max-width:640px;margin-left:auto;margin-right:auto;margin-top:14px}
.svc-page .svc-sec-head .split-right{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:14px}

/* buttons */
.svc-page .svc-btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;padding:14px 28px;border-radius:var(--r);transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.svc-page .svc-btn svg{transition:transform .25s var(--ease)}
.svc-page .svc-btn:hover svg{transform:translateX(4px)}
.svc-page .svc-btn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 18px rgba(14,130,190,.32)}
.svc-page .svc-btn-primary:hover{background:var(--blue-deep);transform:translateY(-2px)}
.svc-page .svc-btn-ghost{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}
.svc-page .svc-btn-ghost:hover{background:var(--blue-tint);transform:translateY(-2px)}
.svc-page .svc-btn-white{background:#fff;color:var(--blue-ink);box-shadow:var(--shadow-md)}
.svc-page .svc-btn-white:hover{transform:translateY(-2px)}

/* reveal */
.svc-page .svc-anim .svc-rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.svc-page .svc-anim .svc-rv.in{opacity:1;transform:none}
.svc-page .d1{transition-delay:.1s}.svc-page .d2{transition-delay:.2s}.svc-page .d3{transition-delay:.3s}.svc-page .d4{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){.svc-page .svc-rv{opacity:1;transform:none;transition:none}}

/* ---------- breadcrumb ---------- */
.svc-page .svc-crumb{background:var(--surface);border-bottom:1px solid var(--line)}
.svc-page .svc-crumb .svc-wrap{display:flex;gap:8px;align-items:center;padding-top:14px;padding-bottom:14px;font-size:13px;font-weight:600;color:var(--ink-3);flex-wrap:wrap}
.svc-page .svc-crumb a{color:var(--blue);font-weight:700}
.svc-page .svc-crumb a:hover{text-decoration:underline}
.svc-page .svc-crumb .sep{color:var(--line)}

/* ---------- hero ---------- */
.svc-page .svc-hero-crumb{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:26px;flex-wrap:wrap}
.svc-page .svc-hero-crumb a{color:#9BD4F0;font-weight:700}
.svc-page .svc-hero-crumb a:hover{text-decoration:underline}
.svc-page .svc-hero-crumb .cur{color:rgba(255,255,255,.85)}
.svc-page .svc-hero{position:relative;color:#fff;overflow:hidden;background:var(--blue-ink);max-width:100vw}
.svc-page .svc-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center right}
.svc-page .svc-hero-scrim{position:absolute;inset:0;background:linear-gradient(92deg,rgba(8,46,68,.97) 0%,rgba(8,54,80,.92) 42%,rgba(9,64,94,.66) 72%,rgba(10,74,110,.32) 100%)}
.svc-page .svc-hero .svc-wrap{position:relative;padding-top:64px;padding-bottom:76px;max-width:none}
.svc-page .svc-hero h1{font-size:clamp(30px,4vw,50px);font-weight:700;line-height:1.18;margin-bottom:22px;max-width:22ch;color:#fff}
.svc-page .svc-hero h1 .t{color:#9BD4F0}
.svc-page .svc-hero p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.9);max-width:760px;margin-bottom:30px}
.svc-page .svc-chips{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:34px;align-items:center}
.svc-page .svc-chip{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:700;color:#fff}
.svc-page .svc-chip svg{flex:none;width:18px;height:18px;padding:4px;border-radius:50%;background:rgba(155,212,240,.18);box-sizing:content-box}
.svc-page .svc-hero-btns{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- quick facts strip ---------- */
.svc-page .svc-facts{background:#fff;border-bottom:1px solid var(--line)}
.svc-page .svc-facts .svc-wrap{display:flex;justify-content:space-between;gap:8px;padding-top:16px;padding-bottom:16px;flex-wrap:nowrap}
.svc-page .svc-fact{display:flex;align-items:center;gap:9px;padding:2px 18px;border-left:1px solid var(--line);min-width:0;flex:1}
.svc-page .svc-fact:first-child{border-left:none;padding-left:0}
.svc-page .svc-fact-dup{display:none}
.svc-page .svc-fact .ico{flex:none;width:34px;height:34px;border-radius:9px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center}
.svc-page .svc-fact .tx{display:flex;flex-direction:column;min-width:0}
.svc-page .svc-fact .l{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.svc-page .svc-fact .v{font-size:14px;font-weight:700;color:var(--blue-ink);white-space:nowrap}
@media(max-width:980px){.svc-page .svc-facts .svc-wrap{flex-wrap:wrap;gap:14px}.svc-page .svc-fact{flex:1 1 30%;border-left:none;padding:6px 0}}
@media(max-width:560px){.svc-page .svc-fact{flex:1 1 45%}}
/* Mobile: USP facts become a single-row auto-scrolling marquee */
@media(max-width:640px){
  .svc-page .svc-facts{overflow:hidden}
  .svc-page .svc-facts .svc-wrap{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start;gap:0;width:max-content;padding-left:0;padding-right:0;animation:svc-fact-marq 20s linear infinite}
  .svc-page .svc-facts:hover .svc-wrap,.svc-page .svc-facts:active .svc-wrap{animation-play-state:paused}
  .svc-page .svc-fact-dup{display:flex!important}
  .svc-page .svc-fact,.svc-page .svc-fact:first-child{flex:0 0 auto!important;min-width:max-content;border-left:1px solid var(--line)!important;padding:6px 20px!important}
  .svc-page .svc-fact .l{font-size:10px}
  .svc-page .svc-fact .v{font-size:13.5px}
}
@keyframes svc-fact-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- generic section paddings + alternating bg ---------- */
.svc-page .svc-s{padding:96px 0}
.svc-page .svc-s.tight-bottom{padding-bottom:40px}
.svc-page .svc-s.alt{background:var(--surface)}
.svc-page .svc-s.tint{background:var(--blue-tint)}

/* overview 2-col */
.svc-page .svc-2col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.svc-page .svc-2col img{border-radius:16px;box-shadow:var(--shadow-md);width:100%;object-fit:cover}
.svc-page .svc-prose p{color:var(--ink-2);margin-bottom:16px;font-size:16px}
.svc-page .svc-prose p a{color:var(--blue);font-weight:700;border-bottom:1.5px solid var(--blue-soft)}
.svc-page .svc-prose p a:hover{border-color:var(--blue)}

/* jump nav (in-page anchors) */
.svc-page .svc-jump{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.svc-page .svc-jump a{font-size:13.5px;font-weight:700;color:var(--blue-ink);background:var(--blue-tint);padding:9px 16px;border-radius:100px;transition:background .25s,color .25s}
.svc-page .svc-jump a:hover{background:var(--blue);color:#fff}

/* symptom checklist */
/* ---- SYMPTOMS v2 — light medallion layout (clean, no bg) ---- */
.svc-page .svc-symp-sec{background:#fff;position:relative}
.svc-page .svc-symp{display:grid;grid-template-columns:repeat(6,1fr);gap:32px 18px;position:relative;z-index:1}
.svc-page .svc-symp .it{display:flex;flex-direction:column;align-items:center;text-align:center;background:none;border:none;padding:8px 6px 0;transition:transform .3s var(--ease)}
.svc-page .svc-symp .it:hover{transform:translateY(-6px)}
.svc-page .svc-symp .ic{flex:none;width:96px;height:96px;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:6px;position:relative;transition:background .35s,color .35s,box-shadow .35s}
.svc-page .svc-symp .ic::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px dashed var(--blue-soft);opacity:0;transform:scale(.94);transition:opacity .35s,transform .35s var(--ease)}
.svc-page .svc-symp .it:hover .ic{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(14,130,190,.22)}
.svc-page .svc-symp .it:hover .ic::after{opacity:1;transform:scale(1);border-color:var(--blue-soft)}
.svc-page .svc-symp .it>span:last-child{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:18ch}
.svc-page .svc-symp b{display:block;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.005em;line-height:1.3}
.svc-page .svc-symp small{display:block;font-size:12.5px;color:var(--ink-2);font-weight:500;line-height:1.55}
@media(max-width:1180px){.svc-page .svc-symp{grid-template-columns:repeat(3,1fr);gap:36px 18px}}
@media(max-width:680px){.svc-page .svc-symp{grid-template-columns:repeat(2,1fr);gap:32px 12px}.svc-page .svc-symp .ic{width:80px;height:80px}}

/* generic icon-card grid (causes, types, treatments, why) */
.svc-page .svc-grid{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;gap:0;align-items:stretch}
.svc-page .svc-grid.two{grid-template-columns:repeat(2,1fr)}
.svc-page .svc-grid .vline{background:linear-gradient(180deg,transparent 0%,#CFD9DF 20%,#CFD9DF 80%,transparent 100%);width:1px;align-self:stretch;margin:8px 0}
.svc-page .svc-why .it{border-bottom-color:#CFD9DF!important}
.svc-page .svc-cost-card{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.svc-page .svc-cost-card .svc-btn{margin:0 auto}
.svc-page .svc-card{position:relative;background:transparent;padding:4px 44px}
.svc-page .svc-card:first-of-type{padding-left:0}
.svc-page .svc-card:last-of-type{padding-right:0}
.svc-page .svc-card .ic{width:56px;height:56px;border-radius:16px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:22px;transition:background .35s,color .35s}
.svc-page .svc-card:hover .ic{background:var(--blue);color:#fff}
.svc-page .svc-card h3{font-size:18px;font-weight:700;margin-bottom:10px}
.svc-page .svc-card p{font-size:14.5px;color:var(--ink-2);line-height:1.65}
@media(max-width:780px){.svc-page .svc-grid{grid-template-columns:1fr}.svc-page .svc-grid .vline{display:none}.svc-page .svc-card{padding:22px 0;border-top:1px solid var(--line)}.svc-page .svc-card:first-of-type{border-top:none;padding-top:0}}
.svc-page .svc-card h3{font-size:18px;font-weight:700;margin-bottom:8px}
.svc-page .svc-card p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
.svc-page .svc-card a.more{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:13.5px;font-weight:800;color:var(--blue)}

/* comparison table */
.svc-page .svc-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
.svc-page .svc-table th,.svc-page .svc-table td{padding:18px 22px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line)}
.svc-page .svc-table thead th{background:var(--blue-ink);color:#fff;font-weight:700;font-size:14px}
.svc-page .svc-table thead th:first-child{background:var(--blue-deep)}
.svc-page .svc-table td:first-child{font-weight:700;color:var(--blue-ink);background:var(--surface)}
.svc-page .svc-table tr:last-child td{border-bottom:none}
.svc-page .svc-table .yes{color:var(--blue);font-weight:700}
.svc-page .svc-table .no{color:var(--ink-3)}

/* types — editorial feature rows */
.svc-page .svc-types{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-page .svc-type-row{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 30px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,border-color .3s}
.svc-page .svc-type-row::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.svc-page .svc-type-row:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .svc-type-row:hover::before{transform:scaleX(1)}
.svc-page .svc-type-ic{flex:none;width:56px;height:56px;border-radius:16px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:20px;transition:background .35s,color .35s}
.svc-page .svc-type-row:hover .svc-type-ic{background:var(--blue);color:#fff}
.svc-page .svc-type-row .num{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.14em;display:block;margin-bottom:7px}
.svc-page .svc-type-row h3{font-size:18px;font-weight:700;margin:0 0 10px}
.svc-page .svc-type-row p{font-size:14.5px;color:var(--ink-2);line-height:1.65}
.svc-page .svc-type-row a.more{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:13.5px;font-weight:800;color:var(--blue)}
@media(max-width:900px){.svc-page .svc-types{grid-template-columns:1fr;gap:16px}}

/* treatment — stacked rows */
.svc-page .svc-tlist{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-page .svc-trow{position:relative;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px 30px 34px;transition:transform .35s var(--ease),box-shadow .35s,border-color .3s}
.svc-page .svc-trow:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .svc-trow .ti{width:64px;height:64px;border-radius:18px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin:0 auto 20px;transition:background .35s,color .35s}
.svc-page .svc-trow:hover .ti{background:var(--blue);color:#fff}
.svc-page .svc-trow .tnum{display:inline-block;font-size:11px;font-weight:800;color:var(--blue);letter-spacing:.14em;background:var(--blue-tint);padding:5px 12px;border-radius:100px;margin-bottom:14px}
.svc-page .svc-trow h3{font-size:18px;font-weight:700;margin-bottom:10px}
.svc-page .svc-trow p{font-size:14px;color:var(--ink-2);line-height:1.65}
@media(max-width:880px){.svc-page .svc-tlist{grid-template-columns:1fr;gap:16px}}
/* Surgery Types — non-boxy split layout (no numbering) */
.svc-page .svc-tx{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:46px;position:relative}
.svc-page .svc-tx-card{background:#fff;border-radius:16px;padding:32px 32px 30px;position:relative;border:1.5px solid var(--line);transition:border-color .3s,box-shadow .3s,transform .3s}
.svc-page .svc-tx-card:hover{border-color:var(--blue-soft);box-shadow:var(--shadow-md);transform:translateY(-3px)}
.svc-page .svc-tx-card.recommended{background:linear-gradient(165deg,#fff 0%,var(--blue-tint) 100%);border-color:var(--blue);box-shadow:0 8px 24px rgba(14,130,190,.12)}
.svc-page .svc-tx-flag{position:absolute;top:-12px;left:24px;display:inline-flex;align-items:center;gap:6px;background:var(--blue);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:100px;box-shadow:0 4px 10px rgba(14,130,190,.3)}
.svc-page .svc-tx-flag svg{color:#fff}
.svc-page .svc-tx-head{display:flex;align-items:center;gap:16px;padding-bottom:20px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.svc-page .svc-tx-card.recommended .svc-tx-head{border-bottom-color:rgba(14,130,190,.18)}
.svc-page .svc-tx-ic{flex:none;width:46px;height:46px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;transition:background .3s,color .3s}
.svc-page .svc-tx-card.recommended .svc-tx-ic{background:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(14,130,190,.3)}
.svc-page .svc-tx-card:hover .svc-tx-ic{background:var(--blue);color:#fff}
.svc-page .svc-tx-head h3{font-size:18px;font-weight:700;color:var(--ink);margin:0;letter-spacing:-.01em}
.svc-page .svc-tx-tag{font-size:11.5px;font-weight:700;color:var(--blue);letter-spacing:.04em;text-transform:uppercase;display:block;margin-top:3px}
.svc-page .svc-tx-card p{font-size:14px;color:var(--ink-2);line-height:1.7;margin:0}

/* Foot CTA — premium impact band */
.svc-page .svc-tx-foot{display:flex;align-items:center;gap:36px;flex-wrap:wrap;margin:48px 0 64px;padding:44px 56px;background:linear-gradient(105deg,var(--blue-ink) 0%,#0B5078 60%,var(--blue) 140%);color:#fff;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 18px 44px rgba(8,58,86,.2)}
.svc-page .svc-tx-foot::before,.svc-page .svc-tx-foot::after{display:none}
.svc-page .svc-tx-foot-ic{flex:none;width:60px;height:60px;border-radius:14px;background:rgba(155,212,240,.18);color:#9BD4F0;display:grid;place-items:center;position:relative;z-index:1;border:1px solid rgba(155,212,240,.22)}
.svc-page .svc-tx-foot-tx{flex:1;min-width:320px;position:relative;z-index:1}
.svc-page .svc-tx-foot-tx b{display:block;font-size:20px;font-weight:700;color:#fff;letter-spacing:-.015em;margin-bottom:14px;line-height:1.3}
.svc-page .svc-tx-foot-tx p{font-size:14.5px;color:rgba(255,255,255,.82);margin:0;line-height:1.7;max-width:62ch}
.svc-page .svc-tx-foot-cta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;position:relative;z-index:1}
.svc-page .svc-tx-foot-cta .svc-btn{background:#fff;color:var(--blue-ink);box-shadow:0 6px 16px rgba(0,0,0,.12);padding:14px 30px}
.svc-page .svc-tx-foot-cta .svc-btn:hover{background:#9BD4F0}
.svc-page .svc-btn-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:rgba(255,255,255,.88);transition:color .2s}
.svc-page .svc-btn-link:hover{color:#9BD4F0}
.svc-page .svc-btn-link svg{flex:none}
@media(max-width:880px){.svc-page .svc-tx{grid-template-columns:1fr}.svc-page .svc-tx-foot-cta{align-items:stretch;width:100%}.svc-page .svc-tx-foot-cta .svc-btn{justify-content:center}}

/* comparison — versus cards */
/* ---- COMPARISON TABLE v2 (premium 3-column: criteria | laparoscopic | open) ---- */
.svc-page .svc-vs2{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-md)}
.svc-page .svc-vs2-head{display:grid;grid-template-columns:1.1fr 1fr 1fr;background:linear-gradient(180deg,var(--surface) 0%,#fff 100%);border-bottom:1px solid var(--line)}
.svc-page .svc-vs2-head>div{padding:20px 24px}
.svc-page .svc-vs2-head .col-criteria b{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.svc-page .svc-vs2-head .col-criteria small{font-size:13px;color:var(--ink-3);font-weight:600;display:block;margin-top:4px}
.svc-page .svc-vs2-head .col-opt{position:relative;border-left:1px solid var(--line)}
.svc-page .svc-vs2-head .col-opt.win{background:linear-gradient(160deg,#0F4C72 0%,var(--blue-ink) 100%);color:#fff;border-left-color:transparent}
.svc-page .svc-vs2-head .col-opt .tag{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:100px;margin-bottom:10px;background:var(--blue-tint);color:var(--blue)}
.svc-page .svc-vs2-head .col-opt.win .tag{background:rgba(155,212,240,.22);color:#9BD4F0}
.svc-page .svc-vs2-head .col-opt .tag svg{flex:none}
.svc-page .svc-vs2-head .col-opt h3{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.015em}
.svc-page .svc-vs2-head .col-opt.win h3{color:#fff}
.svc-page .svc-vs2-head .col-opt p{font-size:13px;color:var(--ink-3);font-weight:600;margin-top:4px}
.svc-page .svc-vs2-head .col-opt.win p{color:rgba(255,255,255,.78)}
.svc-page .svc-vs2-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-bottom:1px solid var(--line);transition:background .2s}
.svc-page .svc-vs2-row:last-child{border-bottom:none}
.svc-page .svc-vs2-row:hover{background:var(--surface)}
.svc-page .svc-vs2-row>div{padding:11px 24px;display:flex;align-items:center;gap:12px;border-left:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.svc-page .svc-vs2-row>div:first-child{border-left:none}
.svc-page .svc-vs2-row .crit{font-weight:700;color:var(--ink);font-size:13.5px}
.svc-page .svc-vs2-row .crit .ic{flex:none;width:28px;height:28px;border-radius:7px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center}
.svc-page .svc-vs2-row .crit .ic svg{width:15px;height:15px}
.svc-page .svc-vs2-row .crit small{display:none}
.svc-page .svc-vs2-row .opt-win{background:rgba(14,130,190,.04);color:var(--blue-ink);font-weight:700}
.svc-page .svc-vs2-row .opt-win::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.svc-page .svc-vs2-row .opt-alt{color:var(--ink-2)}
.svc-page .svc-vs2-row .opt-alt::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);background:#fff}
.svc-page .svc-vs2-foot{padding:20px 28px;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.svc-page .svc-vs2-foot .note{font-size:13px;color:var(--ink-3);font-weight:600;display:flex;align-items:center;gap:8px}
.svc-page .svc-vs2-foot .note svg{color:var(--blue);flex:none}
@media(max-width:980px){
  .svc-page .svc-vs2-head{grid-template-columns:1fr 1fr;border-bottom:none}
  .svc-page .svc-vs2-head .col-criteria{display:none}
  .svc-page .svc-vs2-row{grid-template-columns:1fr 1fr;border-top:1px solid var(--line);position:relative;padding-top:34px}
  .svc-page .svc-vs2-row>div:first-child{grid-column:1/-1;background:var(--surface);position:absolute;top:0;left:0;right:0;padding:8px 28px;font-size:12px;border-bottom:1px solid var(--line)}
  .svc-page .svc-vs2-row .crit .ic{width:24px;height:24px;border-radius:6px}
  .svc-page .svc-vs2-row .crit small{display:none}
}

/* ---- CTA-FORM (Book an Appointment — premium 2-row layout) ---- */
.svc-page .svc-ctaf{background:linear-gradient(120deg,var(--blue-ink) 0%,#0B5078 60%,var(--blue) 140%);color:#fff;border-radius:20px;padding:52px 64px 56px;position:relative;overflow:hidden;box-shadow:0 18px 48px rgba(8,58,86,.22)}
.svc-page .svc-ctaf::before{content:"";position:absolute;left:-80px;bottom:-100px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(155,212,240,.14) 0%,transparent 70%);pointer-events:none}
.svc-page .svc-ctaf::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:44px solid rgba(155,212,240,.07);pointer-events:none}
/* Title — clear hierarchy */
.svc-page .svc-ctaf-title{text-align:center;font-size:clamp(26px,2.6vw,34px);font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.2;margin:0 0 40px;position:relative;z-index:1}
/* Row 1 — 4 fields (holds the insurance dropdown, so it must stack above row 2) */
.svc-page .svc-ctaf-row{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;align-items:end;position:relative;z-index:2}
/* Row 2 — captcha · consent · submit (kept below row 1 so the open dropdown overlays the Submit button) */
.svc-page .svc-ctaf-row-2{grid-template-columns:minmax(0,1fr) auto;margin-top:52px;align-items:end;gap:32px 40px;z-index:1}
.svc-page .svc-ctaf-fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.svc-page .svc-ctaf-fld label{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:.02em;line-height:1.4;text-transform:uppercase}
.svc-page .svc-ctaf-fld label .ctaf-captcha-code{display:inline-block;background:rgba(255,255,255,.1);border:1px dashed rgba(155,212,240,.45);color:#9BD4F0;font-weight:800;letter-spacing:.22em;padding:3px 10px;border-radius:6px;font-size:12.5px;margin:0 4px;user-select:none;font-family:'Courier New',monospace;text-transform:none}
.svc-page .svc-ctaf-fld input,
.svc-page .svc-ctaf-fld textarea,
.svc-page .svc-ctaf-fld select{width:100%;background:transparent;border:none;border-bottom:1.5px solid rgba(155,212,240,.4);border-radius:0;padding:4px 0 10px;font-family:inherit;font-size:16px;font-weight:600;color:#fff;outline:none;transition:border-color .2s,padding .2s;line-height:1.4}
/* The Message field arrived with the shared enquiry-form include; without this
   it fell back to the UA default (white box, monospace) on the dark band. */
.svc-page .svc-ctaf-fld textarea{resize:vertical;min-height:44px;display:block}
.svc-page .svc-ctaf-fld input::placeholder,
.svc-page .svc-ctaf-fld textarea::placeholder{color:rgba(255,255,255,.4);font-weight:500;font-family:inherit}
.svc-page .svc-ctaf-fld input:hover,
.svc-page .svc-ctaf-fld textarea:hover,
.svc-page .svc-ctaf-fld select:hover{border-bottom-color:rgba(155,212,240,.75)}
.svc-page .svc-ctaf-fld input:focus,
.svc-page .svc-ctaf-fld textarea:focus,
.svc-page .svc-ctaf-fld select:focus{border-bottom-color:#9BD4F0}
.svc-page .svc-ctaf-fld select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239BD4F0' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;background-size:14px;padding-right:24px;cursor:pointer}
.svc-page .svc-ctaf-fld select option{background:var(--blue-ink);color:#fff}
/* custom insurance dropdown — native <option> ignores padding, so we build our own */
.svc-page .svc-csel{position:relative}
.svc-page .svc-csel-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:transparent;border:none;border-bottom:1.5px solid rgba(155,212,240,.4);border-radius:0;padding:4px 0 10px;font-family:inherit;font-size:16px;font-weight:600;color:#fff;cursor:pointer;outline:none;transition:border-color .2s}
.svc-page .svc-csel-btn:hover{border-bottom-color:rgba(155,212,240,.75)}
.svc-page .svc-csel.open .svc-csel-btn{border-bottom-color:#9BD4F0}
.svc-page .svc-csel-btn svg{flex:none;transition:transform .25s var(--ease)}
.svc-page .svc-csel.open .svc-csel-btn svg{transform:rotate(180deg)}
.svc-page .svc-csel-val[data-placeholder="true"]{color:rgba(255,255,255,.5);font-weight:500}
.svc-page .svc-csel-list{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;list-style:none;margin:0;padding:6px;background:#0A2B41;border:1px solid rgba(155,212,240,.22);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.34);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s var(--ease),transform .18s var(--ease),visibility 0s linear .18s}
.svc-page .svc-csel.open .svc-csel-list{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .18s var(--ease),transform .18s var(--ease),visibility 0s}
.svc-page .svc-csel-opt{padding:11px 16px;margin:2px 0;border-radius:8px;font-size:15px;font-weight:600;color:rgba(255,255,255,.9);cursor:pointer;transition:background .15s,color .15s;line-height:1.3}
.svc-page .svc-csel-opt:hover,.svc-page .svc-csel-opt.sel{background:var(--blue);color:#fff}
/* Consent */
.svc-page .svc-ctaf-consent{display:flex;align-items:flex-start;padding-bottom:8px}
.svc-page .svc-ctaf-consent label{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;color:rgba(255,255,255,.78);font-weight:500;cursor:pointer;max-width:64ch}
.svc-page .svc-ctaf-consent input[type=checkbox]{flex:none;width:18px;height:18px;margin-top:2px;accent-color:#22C55E;cursor:pointer;border-radius:4px}
/* Submit */
.svc-page .svc-ctaf-submit{align-self:end;background:var(--blue-ink);color:#fff;border:1px solid rgba(155,212,240,.28);font-family:inherit;font-size:15px;font-weight:800;letter-spacing:.02em;padding:15px 48px;border-radius:8px;cursor:pointer;white-space:nowrap;box-shadow:0 8px 22px rgba(0,0,0,.24);transition:transform .2s var(--ease),box-shadow .2s,background .2s;justify-self:end}
.svc-page .svc-ctaf-submit:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.3);background:#03192C}
@media(max-width:980px){
  .svc-page .svc-ctaf{padding:36px 28px 30px;border-radius:16px}
  .svc-page .svc-ctaf-title{margin-bottom:30px}
  .svc-page .svc-ctaf-row{grid-template-columns:repeat(2,1fr);gap:28px}
  .svc-page .svc-ctaf-row-2{grid-template-columns:1fr;gap:24px;align-items:stretch}
  .svc-page .svc-ctaf-submit{justify-self:stretch;text-align:center}
}
@media(max-width:520px){.svc-page .svc-ctaf-row{grid-template-columns:1fr;gap:24px}}

/* journey timeline */
/* Treatment Journey — clean, no card wrapper */
.svc-page .svc-journey-sec{background:#fff}
.svc-page .svc-journey-card{background:transparent;border:none;padding:0;box-shadow:none;border-radius:0}
.svc-page .svc-journey-card::before{display:none}
.svc-page .svc-journey-head{margin-bottom:48px;text-align:center}
.svc-page .svc-journey-head .svc-eyebrow{justify-content:center;display:inline-flex}
.svc-page .svc-journey-head .svc-eyebrow::before{display:inline-block}
.svc-page .svc-journey{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
.svc-page .svc-journey::before{content:"";position:absolute;top:23px;left:7%;right:7%;height:2px;background:var(--blue-soft);z-index:1}
.svc-page .svc-step{position:relative;z-index:2;padding:0 14px;text-align:center}
.svc-page .svc-step .sn{margin:0 auto 20px;width:48px;height:48px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:16px;display:grid;place-items:center;box-shadow:0 0 0 6px #fff,0 6px 16px rgba(14,130,190,.3)}
.svc-page .svc-step b{display:block;font-size:15.5px;font-weight:700;margin-bottom:7px;color:var(--ink)}
.svc-page .svc-step p{font-size:13px;color:var(--ink-2);line-height:1.55;max-width:24ch;margin:0 auto}
@media(max-width:780px){
  .svc-page .svc-journey{grid-template-columns:1fr;gap:0}
  .svc-page .svc-journey::before{top:24px;bottom:24px;left:23px;right:auto;width:2px;height:auto}
  .svc-page .svc-step{display:grid;grid-template-columns:48px 1fr;column-gap:16px;row-gap:4px;text-align:left;padding:0 0 28px;align-items:start}
  .svc-page .svc-step:last-child{padding-bottom:0}
  .svc-page .svc-step .sn{margin:0;grid-column:1;grid-row:1}
  .svc-page .svc-step b{grid-column:2;grid-row:1;align-self:center;margin:0}
  .svc-page .svc-step p{grid-column:2;grid-row:2;max-width:none;margin:0}
}

/* mid CTA band */
.svc-page .svc-midcta{background:linear-gradient(120deg,var(--blue-ink),#0B5078 60%,var(--blue) 130%);color:#fff;border-radius:20px;padding:48px 56px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;position:relative;overflow:hidden}
.svc-page .svc-midcta::after{content:"";position:absolute;right:-50px;top:-60px;width:240px;height:240px;border-radius:50%;border:46px solid rgba(255,255,255,.06)}
.svc-page .svc-midcta .mc-l{position:relative;max-width:60ch}
.svc-page .svc-midcta h3{color:#fff;font-size:clamp(20px,2vw,26px);margin-bottom:8px}
.svc-page .svc-midcta h3 em{font-style:normal;color:#9BD4F0}
.svc-page .svc-midcta p{font-size:15px;color:rgba(255,255,255,.88)}
.svc-page .svc-midcta .mc-btns{position:relative;display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:640px){.svc-page .svc-midcta{padding:34px 26px}}

/* recovery list */
.svc-page .svc-rec{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.svc-page .svc-rec .panel{padding:0}
.svc-page .svc-rec .panel.dont{border-left:1px solid var(--line)}
.svc-page .svc-rec h3{font-size:15px;font-weight:800;letter-spacing:.04em;padding:18px 28px;background:var(--blue-tint);color:var(--blue-ink);display:flex;align-items:center;gap:10px;margin:0}
.svc-page .svc-rec ul{padding:8px 28px 16px}
.svc-page .svc-rec ul li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-2);line-height:1.55}
.svc-page .svc-rec ul li:last-child{border-bottom:none}
.svc-page .svc-rec .tick{color:var(--blue);flex:none;margin-top:2px}.svc-page .svc-rec .cross{color:var(--ink-3);flex:none;margin-top:2px}
@media(max-width:700px){.svc-page .svc-rec{grid-template-columns:1fr}.svc-page .svc-rec .panel.dont{border-left:none;border-top:1px solid var(--line)}}

/* why-choose (de-boxed numbered) */
.svc-page .svc-why{display:grid;grid-template-columns:1fr 1fr;column-gap:64px}
.svc-page .svc-why .it{display:flex;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}
.svc-page .svc-why .it:nth-last-child(-n+2){border-bottom:none}
.svc-page .svc-why .ic{flex:none;width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,var(--blue-tint),#fff);border:1px solid var(--blue-soft);color:var(--blue);display:grid;place-items:center}
.svc-page .svc-why b{display:block;font-size:17px;font-weight:700;margin-bottom:5px}
.svc-page .svc-why p{font-size:14.5px;color:var(--ink-2)}

/* doctor / E-E-A-T */
.svc-page .svc-doc{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center;background:#fff;border-radius:20px;padding:40px;box-shadow:var(--shadow-md)}
.svc-page .svc-doc img{border-radius:16px;width:100%;aspect-ratio:1/1.1;object-fit:cover;object-position:top}
.svc-page .svc-doc h3{font-size:24px;margin-bottom:4px}
.svc-page .svc-doc .qual{font-size:14px;font-weight:700;color:var(--blue);margin-bottom:16px}
.svc-page .svc-doc p{font-size:15px;color:var(--ink-2);margin-bottom:14px}
.svc-page .svc-reviewed{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:8px 16px}
.svc-page .svc-reviewed svg{color:var(--blue)}
.svc-page .svc-doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.svc-page .svc-doc-li{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#0A66C2;background:#EAF3FB;border:1px solid #CFE3F5;border-radius:100px;padding:8px 16px;text-decoration:none;transition:background .2s,transform .2s}
.svc-page .svc-doc-li:hover{background:#DBEBFA;transform:translateY(-1px)}
.svc-page .svc-doc-li svg{color:#0A66C2}

/* cost & insurance */
.svc-page .svc-cost{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.svc-page .svc-cost-card{background:linear-gradient(135deg,var(--blue-deep),var(--blue));color:#fff;border-radius:18px;padding:44px 44px;position:relative;overflow:hidden;aspect-ratio:1/.72}
.svc-page .svc-cost-card::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08)}
.svc-page .svc-cost-card h3{color:#fff;font-size:22px;margin-bottom:14px}
.svc-page .svc-cost-card p{font-size:15px;color:rgba(255,255,255,.9);margin-bottom:24px}
.svc-page .svc-cost-points li{display:flex;gap:12px;padding:11px 0;font-size:15px;color:var(--ink-2);border-bottom:1px dashed var(--line)}
.svc-page .svc-cost-points li:last-child{border-bottom:none}
.svc-page .svc-cost-points .tick{color:var(--blue);flex:none}

/* form */
.svc-page .svc-form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.svc-page .svc-form-grid>div:first-child{position:sticky;top:96px}
.svc-page .svc-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:var(--shadow-sm)}
.svc-page .svc-form h3{font-size:23px;margin-bottom:6px}
.svc-page .svc-form>p{font-size:14px;color:var(--ink-3);font-weight:600;margin-bottom:24px}
.svc-page .svc-fld{margin-bottom:18px}
.svc-page .svc-fld label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}
.svc-page .svc-fld input,.svc-page .svc-fld select,.svc-page .svc-fld textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--r);padding:13px 16px;font-family:inherit;font-size:14.5px;font-weight:600;color:var(--ink);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.svc-page .svc-fld input:focus,.svc-page .svc-fld select:focus,.svc-page .svc-fld textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(14,130,190,.12)}
.svc-page .svc-fld-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.svc-page .svc-form .svc-btn{width:100%;justify-content:center;margin-top:6px}
.svc-page .svc-assure{font-size:12.5px;color:var(--ink-3);font-weight:600;text-align:center;margin-top:14px}

/* FAQ */
.svc-page .svc-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;align-items:start}
.svc-page .svc-faq-list{gap:14px 20px}
.svc-page .svc-faq-item{background:#fff;border:1.5px solid #DCE4EA;border-radius:14px;overflow:hidden;transition:border-color .25s,box-shadow .25s,transform .25s;box-shadow:0 2px 6px rgba(8,58,86,.06)}
.svc-page .svc-faq-item:hover{border-color:var(--blue-soft);box-shadow:0 6px 18px rgba(8,58,86,.1);transform:translateY(-1px)}
.svc-page .svc-faq-item.open{border-color:var(--blue);box-shadow:0 10px 26px rgba(14,130,190,.16);transform:translateY(-1px)}
.svc-page .svc-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:18px 22px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.4;transition:color .2s}
.svc-page .svc-faq-q:hover{color:var(--blue)}
.svc-page .svc-faq-q .fx{flex:none;width:30px;height:30px;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;transition:transform .35s var(--ease),background .3s,color .3s;font-size:0}
.svc-page .svc-faq-q .fx::before{content:"";width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .3s}
.svc-page .svc-faq-item.open .svc-faq-q{color:var(--blue)}
.svc-page .svc-faq-item.open .fx{background:var(--blue);color:#fff;transform:rotate(180deg)}
.svc-page .svc-faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.svc-page .svc-faq-a p{padding:4px 22px 20px;font-size:14px;line-height:1.7;color:var(--ink-2);border-top:1px dashed #ECF1F4;margin:0 0 0 0;padding-top:14px}

/* related services */
.svc-page .svc-rel-wrap{position:relative}
.svc-page .svc-rel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 2px 24px;scrollbar-width:none}
.svc-page .svc-rel::-webkit-scrollbar{display:none}
.svc-page .svc-rel-card{flex:0 0 300px;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1.5px solid #E4ECF1;border-radius:18px;padding:30px 30px 28px;box-shadow:0 2px 6px rgba(8,58,86,.05);transition:transform .35s var(--ease),box-shadow .35s,border-color .3s;position:relative;overflow:hidden}
.svc-page .svc-rel-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue) 0%,var(--blue-deep) 100%);transition:width .4s var(--ease)}
.svc-page .svc-rel-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(8,58,86,.14),0 2px 6px rgba(8,58,86,.06);border-color:var(--blue-soft)}
.svc-page .svc-rel-card:hover::before{width:100%}
.svc-page .svc-rel-card .ic{width:54px;height:54px;border-radius:14px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:20px;transition:background .35s,color .35s,transform .35s var(--ease)}
.svc-page .svc-rel-card:hover .ic{background:var(--blue);color:#fff;transform:scale(1.05) rotate(-3deg)}
.svc-page .svc-rel-card b{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-bottom:8px;display:block;line-height:1.3;transition:color .25s}
.svc-page .svc-rel-card:hover b{color:var(--blue-ink)}
.svc-page .svc-rel-card p{font-size:13.5px;color:var(--ink-2);font-weight:500;line-height:1.6;margin-bottom:20px;flex:1}
.svc-page .svc-rel-card .lnk{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;color:var(--blue);padding-top:14px;border-top:1px solid var(--line);transition:gap .25s var(--ease),border-color .3s}
.svc-page .svc-rel-card:hover .lnk{border-top-color:var(--blue-soft);gap:11px}
.svc-page .svc-rel-card .lnk svg{transition:transform .25s var(--ease)}
.svc-page .svc-rel-card:hover .lnk svg{transform:translateX(4px)}
.svc-page .svc-rel-nav{display:flex;gap:10px}
.svc-page .svc-rel-nav button{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--blue-ink);display:grid;place-items:center;cursor:pointer;transition:.25s}
.svc-page .svc-rel-nav button:hover{background:var(--blue);border-color:var(--blue);color:#fff}

/* location */
.svc-page .svc-loc{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
.svc-page .svc-map{border-radius:16px;overflow:hidden;border:1px solid var(--line);min-height:340px;box-shadow:var(--shadow-sm)}
.svc-page .svc-map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.svc-page .svc-nap .it{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.svc-page .svc-nap .it:last-child{border-bottom:none}
.svc-page .svc-nap .ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center}
.svc-page .svc-nap b{display:block;font-size:14px;font-weight:800}
.svc-page .svc-nap a,.svc-page .svc-nap small{font-size:13.5px;color:var(--ink-2);font-weight:600;line-height:1.5}
.svc-page .svc-nap a:hover{color:var(--blue)}
.svc-page .svc-areas{margin-top:24px;font-size:14px;color:var(--ink-2);line-height:1.9}
.svc-page .svc-areas b{color:var(--blue-ink)}

/* visit + form combined */
.svc-page .svc-visit{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.svc-page .svc-visit-left .svc-map{min-height:260px;margin-bottom:24px}
.svc-page .svc-visit-left .svc-map iframe{min-height:260px}
.svc-page .svc-visit-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px 36px;box-shadow:var(--shadow-sm)}
.svc-page .svc-visit-form h3{font-size:22px;margin-bottom:6px}
.svc-page .svc-visit-form>p{font-size:14px;color:var(--ink-3);font-weight:600;margin-bottom:22px}
.svc-page .svc-visit-form .svc-btn{width:100%;justify-content:center;margin-top:6px}
@media(max-width:900px){.svc-page .svc-visit{grid-template-columns:1fr}}

/* final CTA */
.svc-page .svc-final{background:linear-gradient(115deg,var(--blue-ink) 0%,#0B5078 55%,var(--blue) 130%);color:#fff;padding:80px 0;text-align:center;overflow:hidden}
.svc-page .svc-final::before{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;border:54px solid rgba(255,255,255,.05)}
.svc-page .svc-final .svc-wrap{position:relative;max-width:760px;margin:0 auto}
.svc-page .svc-final h2{color:#fff;font-size:clamp(24px,2.6vw,34px);margin-bottom:14px}
.svc-page .svc-final h2 em{font-style:normal;color:#9BD4F0}
.svc-page .svc-final p{font-size:16px;color:rgba(255,255,255,.88);margin-bottom:30px}
.svc-page .svc-final-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* floating quick-contact buttons (call + whatsapp) — desktop & mobile */
.svc-page .svc-fab{position:fixed;right:22px;bottom:22px;z-index:350;display:flex;flex-direction:column;gap:12px}
.svc-page .svc-fab-btn{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;transition:transform .25s var(--ease)}
.svc-page .svc-fab-btn:hover{transform:scale(1.08)}
.svc-page .svc-fab-wa{background:#25D366;box-shadow:0 10px 26px rgba(37,211,102,.42)}
.svc-page .svc-fab-call{background:#25D366;box-shadow:0 10px 26px rgba(37,211,102,.42)}
@media(max-width:640px){.svc-page .svc-fab{right:16px;bottom:16px;gap:10px}.svc-page .svc-fab-btn{width:50px;height:50px}}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .svc-page .svc-2col,.svc-page .svc-cost,.svc-page .svc-form-grid,.svc-page .svc-loc,.svc-page .svc-doc,.svc-page .svc-sec-head.split{grid-template-columns:1fr}
  .svc-page .svc-doc{text-align:center}
  .svc-page .svc-doc img{max-width:260px;margin:0 auto}
  .svc-page .svc-symp,.svc-page .svc-grid,.svc-page .svc-grid.two{grid-template-columns:1fr 1fr}
  .svc-page .svc-why,.svc-page .svc-rec{grid-template-columns:1fr;column-gap:0}
  .svc-page .svc-why .it:nth-last-child(2){border-bottom:1px solid var(--line)}
  .svc-page .svc-rel{grid-template-columns:1fr 1fr}
  .svc-page .svc-facts .svc-wrap{grid-template-columns:1fr 1fr 1fr}
  .svc-page .svc-fact{border-left:none;padding:8px 0}
}
@media(max-width:640px){
  .svc-page .svc-wrap{padding:0 16px}
  .svc-page .svc-s{padding:60px 0}
  .svc-page .svc-grid,.svc-page .svc-grid.two,.svc-page .svc-journey,.svc-page .svc-rel,.svc-page .svc-faq-list{grid-template-columns:1fr}
  .svc-page .svc-symp{grid-template-columns:1fr 1fr}
  .svc-page .svc-facts .svc-wrap{grid-template-columns:1fr 1fr}
  .svc-page .svc-form,.svc-page .svc-doc,.svc-page .svc-cost-card{padding:26px 22px}
  .svc-page .svc-final{padding:56px 0}
  .svc-page .svc-fld-row{grid-template-columns:1fr}
  .svc-page .svc-doc-meta{justify-content:center}
  /* hero USP chips on a single row */
  .svc-page .svc-chips{flex-wrap:nowrap;gap:10px;margin-bottom:26px;justify-content:space-between}
  .svc-page .svc-chip{font-size:11.5px;gap:5px;white-space:nowrap}
  .svc-page .svc-chip svg{display:none}
}


/* hide elfsight widget's internal duplicate title ("What Our Customers Say") */
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee [class*="Title"],
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee [class*="title"],
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee [class*="Heading"],
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee [class*="heading"],
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee h1,
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee h2,
.svc-page .elfsight-app-d3730aa6-3dd6-4b76-985d-fef6618982ee h3{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important}
/* ============================================================
   UX REFINEMENTS · v2  (alignment · spacing · typography)
   ============================================================ */

/* 1. Keep 2-column sections (Overview, Cost) left-aligned —
      centering only applies to standalone section heads. */
.svc-page .svc-2col .svc-h2,
.svc-page .svc-cost .svc-h2{text-align:left}
.svc-page .svc-2col .svc-eyebrow,
.svc-page .svc-cost .svc-eyebrow{justify-content:flex-start}
.svc-page .svc-2col .svc-eyebrow::before,
.svc-page .svc-cost .svc-eyebrow::before{display:inline-block}

/* 2. Tighter, uniform vertical rhythm across sections. */
.svc-page .svc-s{padding:80px 0}
.svc-page .svc-s.tight-bottom{padding-bottom:40px}
.svc-page .svc-sec-head,
.svc-page .svc-sec-head.split,
.svc-page .svc-sec-head.center{margin-bottom:40px;max-width:1100px}
.svc-page .svc-sec-head .svc-lead,
.svc-page .svc-sec-head.split .svc-lead{max-width:880px}
.svc-page .svc-hero .svc-wrap{padding-top:64px;padding-bottom:72px}
@media(max-width:780px){.svc-page .svc-s{padding:48px 0}}

/* 3. Slimmer cost card so it doesn't dominate the row. */
.svc-page .svc-cost-card{aspect-ratio:auto;padding:28px 32px;max-width:380px;margin-left:auto;border-radius:14px}
.svc-page .svc-cost-card h3{font-size:20px;margin-bottom:10px}
.svc-page .svc-cost-card p{font-size:15px;line-height:1.55;margin-bottom:18px}

/* 4. Minimum readable font-size is 15px everywhere on the page.
      Eyebrow / tag elements bumped to 15-16px per UX request. */
.svc-page .svc-eyebrow{font-size:15px;letter-spacing:.14em}
.svc-page .svc-crumb .svc-wrap,
.svc-page .svc-hero-crumb{font-size:15px}
.svc-page .svc-jump a{font-size:15px}
.svc-page .svc-fact .v{font-size:15px}
.svc-page .svc-table th,
.svc-page .svc-table td,
.svc-page .svc-table thead th{font-size:15px}
.svc-page .svc-trow p,
.svc-page .svc-tx-card p,
.svc-page .svc-step p,
.svc-page .svc-rec ul li,
.svc-page .svc-faq-a p{font-size:15px}
.svc-page .svc-trow .tnum,
.svc-page .svc-type-row .num,
.svc-page .svc-tx-flag,
.svc-page .svc-vs2-head .col-criteria b,
.svc-page .svc-vs2-head .col-opt .tag,
.svc-page .svc-rec h3{font-size:15px;letter-spacing:.08em}
.svc-page .svc-vs2-head .col-criteria small,
.svc-page .svc-vs2-head .col-opt p,
.svc-page .svc-vs2-row>div,
.svc-page .svc-vs2-foot .note,
.svc-page .svc-ctaf-consent label,
.svc-page .svc-btn-link,
.svc-page .svc-doc .qual,
.svc-page .svc-reviewed,
.svc-page .svc-form>p,
.svc-page .svc-fld label,
.svc-page .svc-fld input,
.svc-page .svc-fld select,
.svc-page .svc-fld textarea,
.svc-page .svc-ctaf-fld label .ctaf-captcha-code{font-size:15px}
.svc-page .svc-faq-q{font-size:16px}
.svc-page .svc-step p{max-width:28ch}

/* 5. Consistent vertical rhythm: eyebrow → heading → lead.
      Override inline margin-bottom:0 with !important. */
.svc-page .svc-sec-head .svc-eyebrow,
.svc-page .svc-2col .svc-eyebrow,
.svc-page .svc-cost .svc-eyebrow{margin-bottom:14px}
.svc-page .svc-sec-head .svc-h2,
.svc-page .svc-2col .svc-h2,
.svc-page .svc-cost .svc-h2{margin:0 0 18px!important}
.svc-page .svc-sec-head .svc-lead,
.svc-page .svc-sec-head.split .svc-lead{margin-top:0;line-height:1.7}
.svc-page .svc-sec-head>div{margin:0}

/* 6. Cost card — comfortable inside padding (top/bottom). */
.svc-page .svc-cost-card{padding:40px 36px 40px}

/* 7. Book-an-Appointment form — breathing space above and below. */
.svc-page #svc-book{padding-top:48px!important;padding-bottom:72px!important}

/* 8. Why-Kapadia grid — even row spacing so 6 items lay out clean. */
.svc-page .svc-why{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
@media(max-width:780px){.svc-page .svc-why{grid-template-columns:1fr;gap:0}}

/* ============================================================
   v3 REFINEMENTS · spacing · dividers · carousel · tx-foot
   ============================================================ */

/* Darker dashed dividers on cost points for visibility */
.svc-page .svc-cost-points li{border-bottom:1px dashed #B8C5CE}

/* Tx-foot: less boxy, lighter shadow, smaller radius */
.svc-page .svc-tx-foot{border-radius:14px;box-shadow:0 8px 22px rgba(8,58,86,.12);padding:36px 44px;margin:40px 0 0}

/* Journey/Why follow the standard 90px section rhythm */
.svc-page section#svc-treatment{padding-top:80px!important;padding-bottom:80px!important}
.svc-page .svc-journey-sec{padding-top:80px!important;padding-bottom:64px!important}
.svc-page .svc-why-sec{padding-top:64px!important;padding-bottom:80px!important}

/* ============================================================
   v4 REFINEMENTS · icons · borders · tx-foot · spacing
   ============================================================ */

/* Spacing around the Book CTA. The band is a full-width dark panel, so it needs
   real air beneath it before the next surface — 40px read as the footer being
   stuck to the form. The tight value is kept only where Complications follows,
   which is the case the original 40px was written for and which adds its own
   60px on top. */
.svc-page #svc-book{padding-top:0!important;padding-bottom:88px!important}
.svc-page #svc-book:has(+ #svc-complications){padding-bottom:40px!important}
.svc-page #svc-complications{padding-top:60px!important}

/* Symptom icon medallion — deeper tint + subtle ring for visibility */
.svc-page .svc-symp .ic{background:linear-gradient(145deg,#D5E9F4,#EAF4FA);border:1px solid #BCD9EA;color:var(--blue-deep)}
.svc-page .svc-symp .it:hover .ic{background:var(--blue);border-color:var(--blue);color:#fff}

/* Complications — darker borders + thicker left rule for visibility */
.svc-page .svc-comp .it{border:1px solid #CCD7DD;border-left:none}
.svc-page .svc-comp .it::before{width:4px;background:var(--blue);opacity:1}
.svc-page .svc-comp .it.urgent::before{background:var(--red)}

/* Tx-foot CTA — boxed gradient band, refined radius & shadow */
.svc-page .svc-tx-foot{background:linear-gradient(105deg,var(--blue-ink) 0%,#0B5078 60%,var(--blue) 140%);color:#fff;border:none;border-radius:16px;padding:36px 44px;margin:48px 0 0;box-shadow:0 10px 28px rgba(8,58,86,.16);align-items:center}
.svc-page .svc-tx-foot-ic{background:rgba(155,212,240,.18);color:#9BD4F0;border:1px solid rgba(155,212,240,.25);width:56px;height:56px;border-radius:14px}
.svc-page .svc-tx-foot-tx b{color:#fff;font-size:19px;margin-bottom:6px}
.svc-page .svc-tx-foot-tx p{color:rgba(255,255,255,.82)}
.svc-page .svc-tx-foot-cta .svc-btn{background:#fff;color:var(--blue-ink);box-shadow:0 6px 16px rgba(0,0,0,.14)}
.svc-page .svc-tx-foot-cta .svc-btn:hover{background:#9BD4F0;color:var(--blue-ink)}

/* ---- Patient reviews — horizontal scroll carousel ---- */
.svc-page .svc-reviews-wrap{position:relative}
.svc-page .svc-reviews{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 16px;scrollbar-width:none}
.svc-page .svc-reviews::-webkit-scrollbar{display:none}
.svc-page .svc-rev{flex:0 0 340px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 24px 22px;display:flex;flex-direction:column;gap:14px;transition:transform .25s,box-shadow .25s,border-color .25s}
@media(max-width:640px){.svc-page .svc-rev{flex:0 0 86%}}
.svc-page .svc-reviews-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:5}
.svc-page .svc-reviews-nav button{pointer-events:auto;width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(8,58,86,.12);color:var(--blue-ink);display:grid;place-items:center;cursor:pointer;transition:.25s}
.svc-page .svc-reviews-nav button:first-child{transform:translateX(-50%)}
.svc-page .svc-reviews-nav button:last-child{transform:translateX(50%)}
.svc-page .svc-reviews-nav button:hover{background:var(--blue);border-color:var(--blue);color:#fff}
@media(max-width:780px){.svc-page .svc-reviews-nav{display:none}}
.svc-page .svc-rev:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .svc-rev-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.svc-page .svc-rev-stars{display:inline-flex;gap:2px;color:#F5B400}
.svc-page .svc-rev-g{width:22px;height:22px;flex:none}
.svc-page .svc-rev p{font-size:15px;line-height:1.65;color:var(--ink-2);margin:0;flex:1}
.svc-page .svc-rev-foot{display:flex;align-items:center;gap:12px;margin-top:4px}
.svc-page .svc-rev-av{width:38px;height:38px;border-radius:50%;background:var(--blue-tint);color:var(--blue-deep);display:grid;place-items:center;font-weight:800;font-size:15px;flex:none}
.svc-page .svc-rev-name{font-size:15px;font-weight:700;color:var(--ink);line-height:1.2}
.svc-page .svc-rev-date{font-size:13px;color:var(--ink-3);font-weight:600;margin-top:2px}
.svc-page .svc-rev-loc{display:inline-flex;align-items:center;gap:5px}
.svc-page .svc-rev-loc svg{color:var(--blue);flex:none}
.svc-page .svc-rev-cta{display:flex;justify-content:center;margin-top:32px}
/* Google rating summary badge (verified reviews) */
.svc-page .svc-rev-summary{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin:0 0 40px}
.svc-page .svc-rev-sum-stars{color:#FBA400;font-size:26px;letter-spacing:4px;line-height:1}
.svc-page .svc-rev-sum-score{font-size:19px;font-weight:600;color:var(--ink-3);line-height:1}
.svc-page .svc-rev-sum-score b{font-size:34px;font-weight:800;color:var(--ink)}
.svc-page .svc-rev-sum-count{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-3)}
.svc-page .svc-rev-sum-count svg{flex:none}
.svc-page .svc-rev-cta .svc-btn{padding:14px 28px}

/* Related carousel — arrows flanking the cards (absolute on the wrap) */
.svc-page .svc-rel-wrap{position:relative;padding:0 0}
.svc-page .svc-rel-wrap .svc-rel-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:5}
.svc-page .svc-rel-wrap .svc-rel-nav button{pointer-events:auto;width:48px;height:48px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(8,58,86,.12)}
.svc-page .svc-rel-wrap .svc-rel-nav button:first-child{transform:translateX(-50%)}
.svc-page .svc-rel-wrap .svc-rel-nav button:last-child{transform:translateX(50%)}
.svc-page .svc-rel-wrap .svc-rel-nav button:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.svc-page .svc-sec-head .svc-rel-nav{display:none}
@media(max-width:780px){
  /* keep the carousel arrows overlaid at the left/right ends of the cards */
  .svc-page .svc-rel-wrap .svc-rel-nav{display:flex}
  .svc-page .svc-rel-wrap .svc-rel-nav button{width:40px;height:40px}
  .svc-page .svc-rel-wrap .svc-rel-nav button:first-child{transform:none}
  .svc-page .svc-rel-wrap .svc-rel-nav button:last-child{transform:none}
  .svc-page .svc-sec-head .svc-rel-nav{display:none}
}


/* ============================================================
   MOBILE REFINEMENTS — shared across ALL service pages.
   Appended last so these win the cascade. Reference: inguinal.
   ============================================================ */

/* (1) Complications: keep 2 cards per row on mobile (was 1 column) */
@media(max-width:780px){
  .svc-page .svc-comp{grid-template-columns:1fr 1fr;gap:12px}
  .svc-page .svc-comp .it{grid-template-columns:42px 1fr;gap:12px;padding:18px 15px}
  .svc-page .svc-comp .ic{width:42px;height:42px;border-radius:11px}
  .svc-page .svc-comp h4,.svc-page .svc-comp h3{font-size:14.5px;gap:6px}
  .svc-page .svc-comp p{font-size:12.5px;line-height:1.55}
}
@media(max-width:430px){
  .svc-page .svc-comp{gap:10px}
  .svc-page .svc-comp .it{grid-template-columns:1fr;gap:9px;padding:14px 13px}
  .svc-page .svc-comp .ic{width:38px;height:38px}
}

/* (2) "Choose Kapadia" treatment card (.svc-tx-foot): remove the 320px
       min-width that overflowed small screens + tighten padding */
@media(max-width:560px){
  .svc-page .svc-tx-foot{padding:24px 20px;gap:18px;border-radius:14px;margin:32px 0 0}
  .svc-page .svc-tx-foot-tx{min-width:0}
  .svc-page .svc-tx-foot-cta{width:100%}
  .svc-page .svc-tx-foot-cta .svc-btn{width:100%;justify-content:center}
}

/* (3) Final CTA (.svc-final): breathing room under the eyebrow + drop the
       redundant Call button on mobile (floating call/WhatsApp FAB covers it) */
.svc-page .svc-final h2{margin-top:12px}
@media(max-width:560px){
  .svc-page .svc-final-btns a[href^="tel:"]{display:none}
  .svc-page .svc-final-btns .svc-btn{width:100%;justify-content:center}
}

/* ============================================================
   RX — modern reusable content patterns (IA redesign system)
   Reusable across every service page. Mobile-first.
   ============================================================ */
/* Overview: prose + sticky on-this-page rail */
.svc-page .rx-ov{display:grid;gap:32px}
@media(min-width:980px){.svc-page .rx-ov{grid-template-columns:1fr 250px;gap:54px;align-items:start}}
.svc-page .rx-ov-main{min-width:0}
.svc-page .rx-ov-main>.rx-lead-p{font-size:clamp(17px,1.7vw,19px);color:var(--ink);line-height:1.7;font-weight:500;margin:0 0 16px}
.svc-page .rx-ov-nav{position:sticky;top:100px;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm)}
.svc-page .rx-ov-nav .t{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin:0 0 10px;padding:0 8px}
.svc-page .rx-ov-nav a{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink-2);padding:9px 12px;border-radius:9px;text-decoration:none;transition:.2s}
.svc-page .rx-ov-nav a:hover,.svc-page .rx-ov-nav a.on{background:var(--blue-tint);color:var(--blue)}
.svc-page .rx-ov-nav a .d{width:6px;height:6px;border-radius:50%;background:var(--blue-soft);flex:none}
.svc-page .rx-ov-nav a:hover .d,.svc-page .rx-ov-nav a.on .d{background:var(--blue)}
@media(max-width:979px){
  .svc-page .rx-ov-nav{position:static;padding:6px;display:flex;gap:6px;overflow-x:auto;box-shadow:none;border-radius:100px}
  .svc-page .rx-ov-nav .t{display:none}
  .svc-page .rx-ov-nav a{white-space:nowrap;padding:9px 15px;border-radius:100px}
  .svc-page .rx-ov-nav a .d{display:none}
}
/* Progressive disclosure (Read more) */
.svc-page .rx-more-clip{overflow:hidden;transition:max-height .5s var(--ease)}
.svc-page .rx-more:not(.open) .rx-more-clip{-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.svc-page .rx-more.open .rx-more-clip{-webkit-mask-image:none;mask-image:none}
.svc-page .rx-more-btn{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-weight:700;font-size:14px;color:var(--blue);background:var(--blue-tint);border:none;border-radius:100px;padding:11px 22px;cursor:pointer;transition:.2s}
.svc-page .rx-more-btn:hover{background:var(--blue-soft)}
.svc-page .rx-more-btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.svc-page .rx-more.open .rx-more-btn svg{transform:rotate(180deg)}
.svc-page .rx-more .rx-more-clip>p{color:var(--ink-2);font-size:16px;line-height:1.75;margin:0 0 15px}
.svc-page .rx-more .rx-more-clip>p:last-child{margin-bottom:0}
/* Icon-tile grid (causes / risk / benefits) */
.svc-page .rx-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:14px}
.svc-page .rx-tile{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow-sm);transition:.2s var(--ease)}
.svc-page .rx-tile:hover{border-color:var(--blue-soft);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.svc-page .rx-tile .rx-ti{width:44px;height:44px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;flex:none}
.svc-page .rx-tile .rx-ti svg{width:22px;height:22px}
.svc-page .rx-tile .rx-tn{font-size:11px;font-weight:800;color:var(--blue);letter-spacing:.06em}
.svc-page .rx-tile b{display:block;font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.35;margin-top:1px}
.svc-page .rx-tile p{font-size:12.5px;color:var(--ink-3);margin:4px 0 0;line-height:1.5}
/* Accordion (complications / diagnosis) */
.svc-page .rx-acc{display:grid;gap:12px;max-width:940px;margin-inline:auto}
.svc-page .rx-acc-item{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:box-shadow .25s,border-color .25s}
.svc-page .rx-acc-item.open{box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .rx-acc-q{width:100%;display:flex;align-items:center;gap:16px;padding:18px 22px;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit}
.svc-page .rx-acc-num{width:38px;height:38px;border-radius:10px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:15px;flex:none;transition:.25s}
.svc-page .rx-acc-item.open .rx-acc-num{background:var(--blue);color:#fff}
.svc-page .rx-acc-q h4,.svc-page .rx-acc-q h3{flex:1;font-size:16px;font-weight:700;color:var(--ink);margin:0;line-height:1.3}
.svc-page .rx-acc-fx{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;color:var(--blue);flex:none;transition:.3s var(--ease)}
.svc-page .rx-acc-item.open .rx-acc-fx{transform:rotate(180deg);background:var(--blue);color:#fff;border-color:var(--blue)}
.svc-page .rx-acc-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.svc-page .rx-acc-a p{padding:0 22px 20px 76px;color:var(--ink-2);font-size:15px;line-height:1.65;margin:0}
@media(max-width:560px){.svc-page .rx-acc-a p{padding-left:22px}}
/* Tabs (treatment options) */
.svc-page .rx-tabs{max-width:1000px;margin-inline:auto}
.svc-page .rx-tabnav{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:24px}
.svc-page .rx-tabnav::-webkit-scrollbar{height:0}
.svc-page .rx-tab{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-family:inherit;font-weight:700;font-size:13.5px;color:var(--ink-2);background:var(--white);border:1px solid var(--line);border-radius:100px;padding:11px 18px;cursor:pointer;transition:.2s}
.svc-page .rx-tab svg{width:17px;height:17px;flex:none}
.svc-page .rx-tab.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.svc-page .rx-tab .flag{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:var(--blue-tint);color:var(--blue);padding:2px 7px;border-radius:100px}
.svc-page .rx-tab.on .flag{background:rgba(255,255,255,.24);color:#fff}
.svc-page .rx-tabpanel{display:none}
.svc-page .rx-tabpanel.on{display:grid;gap:22px;animation:rxfade .35s var(--ease)}
@keyframes rxfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* The panel used to be a 300px + 1fr grid for an `.rx-tab-side` dark card.
   That card was dropped (client: no card/box inside a tab panel), so a panel
   holding only a list was squeezed into the 300px column with the rest of the
   row empty. Side cards are used nowhere, so the panel is a single column and
   only opts back into the split when a side card is actually present. */
@media(min-width:820px){.svc-page .rx-tabpanel.on:has(.rx-tab-side){grid-template-columns:300px 1fr;align-items:start}}
.svc-page .rx-tab-side{background:linear-gradient(160deg,var(--blue-ink),var(--blue-deep) 130%);color:#fff;border-radius:18px;padding:28px;position:relative;overflow:hidden}
.svc-page .rx-ts-ic{width:56px;height:56px;border-radius:15px;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;margin-bottom:16px}
.svc-page .rx-ts-ic svg{width:28px;height:28px}
.svc-page .rx-tab-side h3{color:#fff;font-size:21px;margin:0 0 10px}
.svc-page .rx-tab-side .tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--blue-sky);background:rgba(155,212,240,.16);padding:5px 12px;border-radius:100px}
.svc-page .rx-tab-body p{color:var(--ink-2);font-size:15.5px;line-height:1.72;margin:0 0 12px}
.svc-page .rx-tab-body p:last-child{margin-bottom:0}
.svc-page .rx-tab-body p strong{color:var(--ink)}
/* Prose block (light wrapper for text-heavy sections) + callout */
.svc-page .rx-prose{max-width:768px;margin-inline:auto}
.svc-page .rx-prose>p{color:var(--ink-2);font-size:16px;line-height:1.75;margin:0 0 16px}
.svc-page .rx-prose>p strong{color:var(--ink)}
.svc-page .rx-callout{display:flex;gap:18px;align-items:center;background:var(--blue-tint);border-radius:16px;padding:22px 26px;max-width:880px;margin:28px auto 0}
.svc-page .rx-callout .rx-ci{width:48px;height:48px;border-radius:13px;background:var(--white);color:var(--blue);display:grid;place-items:center;flex:none;box-shadow:var(--shadow-sm)}
.svc-page .rx-callout .rx-ci svg{width:24px;height:24px}
.svc-page .rx-callout p{font-size:15px;color:var(--ink-2);line-height:1.6;margin:0}
.svc-page .rx-callout p strong{color:var(--ink)}
@media(max-width:560px){.svc-page .rx-callout{flex-direction:column;align-items:flex-start;text-align:left}}

/* ============================================================
   RX2 — richer layout patterns (carousel, stepper, vertical
   tabs, 2-col accordion, split). Mobile-first, no overflow.
   ============================================================ */
/* Overview 2-col (prose left + image right) + jump pills */
.svc-page .rx-ov2{display:grid;gap:36px;align-items:center}
@media(min-width:920px){.svc-page .rx-ov2{grid-template-columns:1.05fr .95fr;gap:52px}}
.svc-page .rx-ov2 .rx-lead-p{font-size:clamp(17px,1.7vw,19px);color:var(--ink);line-height:1.7;font-weight:500;margin:0 0 16px}
.svc-page .rx-ov2-fig{border-radius:22px;overflow:hidden;background:var(--blue-tint);border:1px solid var(--line);box-shadow:var(--shadow-md);aspect-ratio:5/4}
.svc-page .rx-ov2-fig img{width:100%;height:100%;object-fit:cover;display:block}
.svc-page .rx-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.svc-page .rx-pills a{font-size:14px;font-weight:700;color:var(--blue);background:var(--blue-tint);padding:10px 18px;border-radius:100px;text-decoration:none;transition:.2s}
.svc-page .rx-pills a:hover{background:var(--blue);color:#fff}
.svc-page .rx-more-link{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14.5px;color:var(--blue);background:none;border:none;cursor:pointer;padding:0;margin-top:6px;font-family:inherit}
.svc-page .rx-more-link svg{width:15px;height:15px;transition:transform .3s var(--ease)}
.svc-page .rx-more.open .rx-more-link svg{transform:rotate(180deg)}

/* Carousel / slider */
.svc-page .rx-sldr-wrap{position:relative}
.svc-page .rx-sldr-nav{display:flex;gap:9px;justify-content:flex-end;margin-bottom:16px}
.svc-page .rx-sldr-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--blue);cursor:pointer;display:grid;place-items:center;transition:.2s;box-shadow:var(--shadow-sm)}
.svc-page .rx-sldr-nav button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.svc-page .rx-sldr{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px}
.svc-page .rx-sldr::-webkit-scrollbar{height:0}
.svc-page .rx-sldr>*{scroll-snap-align:start}
.svc-page .rx-slide{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow-sm);height:100%;transition:.2s var(--ease)}
.svc-page .rx-slide:hover{box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .rx-slide .si{width:50px;height:50px;border-radius:14px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:16px}
.svc-page .rx-slide .si svg{width:24px;height:24px}
.svc-page .rx-slide .sn{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.06em}
.svc-page .rx-slide b{display:block;font-size:16px;color:var(--ink);margin-top:4px;line-height:1.4;font-weight:700}
.svc-page .rx-slide p{font-size:13.5px;color:var(--ink-3);margin-top:8px;line-height:1.55}

/* Horizontal stepper / timeline (sequential stages) */
.svc-page .rx-steps{display:grid;gap:0}
@media(min-width:760px){.svc-page .rx-steps{grid-template-columns:repeat(var(--n,4),1fr)}}
.svc-page .rx-step{position:relative;padding:0 18px 26px 0}
@media(max-width:759px){.svc-page .rx-step{padding:0 0 26px 52px}.svc-page .rx-step:last-child{padding-bottom:0}}
.svc-page .rx-step .rx-step-head{display:flex;align-items:center;gap:0;margin-bottom:18px;position:relative}
.svc-page .rx-step .rx-step-dot{width:48px;height:48px;border-radius:14px;background:linear-gradient(160deg,var(--blue),var(--blue-deep));color:#fff;display:grid;place-items:center;flex:none;z-index:2;box-shadow:0 10px 20px -8px rgba(14,130,190,.85)}
.svc-page .rx-step .rx-step-dot svg{width:24px;height:24px}
.svc-page .rx-step .rx-step-bar{flex:1;height:2px;background:var(--blue-soft);margin-left:4px}
.svc-page .rx-step:last-child .rx-step-bar{background:transparent}
@media(max-width:759px){
  .svc-page .rx-step .rx-step-head{margin-bottom:10px}
  .svc-page .rx-step .rx-step-dot{position:absolute;left:-52px;width:40px;height:40px}
  .svc-page .rx-step .rx-step-bar{position:absolute;left:-32px;top:40px;bottom:-26px;width:2px;height:auto;background:var(--blue-soft);margin:0}
  .svc-page .rx-step:last-child .rx-step-bar{display:none}
}
.svc-page .rx-step .num{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.06em}
.svc-page .rx-step h3{font-size:18px;margin:6px 0 7px;color:var(--ink)}
.svc-page .rx-step p{font-size:14px;color:var(--ink-2);line-height:1.6}

/* Vertical tabs (no inner card) */
.svc-page .rx-vtabs{display:grid;gap:22px}
@media(min-width:860px){.svc-page .rx-vtabs{grid-template-columns:300px 1fr;gap:40px;align-items:start}}
.svc-page .rx-vtablist{display:grid;gap:9px}
@media(max-width:859px){.svc-page .rx-vtablist{display:flex;overflow-x:auto;gap:9px;padding-bottom:4px}.svc-page .rx-vtablist::-webkit-scrollbar{height:0}}
.svc-page .rx-vtab{display:flex;align-items:center;gap:13px;width:100%;text-align:left;font-family:inherit;font-weight:700;font-size:15px;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;cursor:pointer;transition:.2s var(--ease);white-space:nowrap}
@media(min-width:860px){.svc-page .rx-vtab{white-space:normal}}
.svc-page .rx-vtab .vi{width:38px;height:38px;border-radius:11px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;flex:none;transition:.2s}
.svc-page .rx-vtab .vi svg{width:19px;height:19px}
.svc-page .rx-vtab .vtx{flex:1;min-width:0}
.svc-page .rx-vtab .flag{display:block;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);margin-top:2px}
.svc-page .rx-vtab.on{background:linear-gradient(150deg,var(--blue-ink),var(--blue-deep));color:#fff;border-color:transparent;box-shadow:var(--shadow-md)}
.svc-page .rx-vtab.on .vi{background:rgba(255,255,255,.18);color:#fff}
.svc-page .rx-vtab.on .flag{color:var(--blue-sky)}
.svc-page .rx-vpanel{display:none}
.svc-page .rx-vpanel.on{display:block;animation:rxfade .35s var(--ease)}
.svc-page .rx-vpanel .rx-vp-ey{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.svc-page .rx-vpanel h3{font-size:clamp(21px,2.4vw,26px);margin:8px 0 14px;color:var(--ink)}
.svc-page .rx-vpanel p{color:var(--ink-2);font-size:16px;line-height:1.75;margin:0 0 14px}
.svc-page .rx-vpanel p:last-child{margin-bottom:0}
.svc-page .rx-vpanel p strong{color:var(--ink)}

/* 2-column accordion (image + accordion) */
.svc-page .rx-acc2{display:grid;gap:26px}
@media(min-width:920px){.svc-page .rx-acc2{grid-template-columns:.82fr 1.18fr;gap:44px;align-items:start}}
.svc-page .rx-acc2-fig{border-radius:22px;overflow:hidden;background:var(--blue-tint);border:1px solid var(--line);box-shadow:var(--shadow-md);position:sticky;top:100px;aspect-ratio:4/5}
.svc-page .rx-acc2-fig img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:919px){.svc-page .rx-acc2-fig{position:static;aspect-ratio:16/9}}
.svc-page .rx-acc2 .rx-acc{max-width:none;margin:0}

/* Split (sticky heading left + items right) */
.svc-page .rx-split{display:grid;gap:30px}
@media(min-width:880px){.svc-page .rx-split{grid-template-columns:350px 1fr;gap:52px;align-items:start}}
.svc-page .rx-split-head{position:sticky;top:100px}
@media(max-width:879px){.svc-page .rx-split-head{position:static}}
.svc-page .rx-split-items{display:grid;gap:14px}
@media(min-width:560px){.svc-page .rx-split-items{grid-template-columns:1fr 1fr}}
.svc-page .rx-symp{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow-sm);transition:.2s var(--ease)}
.svc-page .rx-symp:hover{border-color:var(--blue-soft);box-shadow:var(--shadow-md)}
.svc-page .rx-symp .ryi{width:46px;height:46px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;flex:none}
.svc-page .rx-symp .ryi svg{width:24px;height:24px}
.svc-page .rx-symp b{display:block;font-size:15px;color:var(--ink);font-weight:700}
.svc-page .rx-symp small{display:block;font-size:13px;color:var(--ink-3);margin-top:3px;line-height:1.5}

/* centered mini-cards row */
.svc-page .rx-mini{display:grid;gap:16px;max-width:760px;margin:0 auto}
@media(min-width:640px){.svc-page .rx-mini{grid-template-columns:1fr 1fr}}
.svc-page .rx-minic{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow-sm)}
.svc-page .rx-minic .mi{width:46px;height:46px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;flex:none}
.svc-page .rx-minic .mi svg{width:23px;height:23px}
.svc-page .rx-minic b{font-size:15.5px;color:var(--ink);font-weight:700;line-height:1.35}
.svc-page .rx-minic p{font-size:13.5px;color:var(--ink-3);margin-top:4px}

/* ============================================================
   RX3 — senior-UX refinements (centered timeline, side-arrow
   carousel, premium symptom list, SaaS underline tabs).
   Placed AFTER rx/rx2 so equal-specificity rules win.
   ============================================================ */
@keyframes rxfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---- Centered process timeline (Types) ---- */
.svc-page .rx-steps{display:grid;gap:34px 0;position:relative}
@media(min-width:760px){.svc-page .rx-steps{grid-template-columns:repeat(var(--n,4),1fr);gap:0}}
.svc-page .rx-step{position:relative;text-align:center;padding:0 16px}
.svc-page .rx-step-head{display:block;height:58px;margin:0 0 18px;position:relative}
.svc-page .rx-step-dot{width:58px;height:58px;border-radius:17px;margin:0 auto;display:grid;place-items:center;position:relative;z-index:2;background:linear-gradient(160deg,var(--blue),var(--blue-deep));color:#fff;box-shadow:0 12px 24px -10px rgba(14,130,190,.9)}
.svc-page .rx-step-dot svg{width:25px;height:25px}
.svc-page .rx-step-bar{display:none}
/* horizontal connector behind dots (desktop) */
@media(min-width:760px){
  .svc-page .rx-step::before{content:"";position:absolute;top:29px;left:50%;width:100%;height:2px;background:linear-gradient(90deg,var(--blue-sky),var(--line));z-index:0}
  .svc-page .rx-step:last-child::before{display:none}
}
/* vertical connector behind dots (mobile) */
@media(max-width:759px){
  .svc-page .rx-step::before{content:"";position:absolute;top:58px;bottom:-34px;left:50%;transform:translateX(-50%);width:2px;background:linear-gradient(180deg,var(--blue-sky),var(--line));z-index:0}
  .svc-page .rx-step:last-child::before{display:none}
}
.svc-page .rx-step .num{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.07em}
.svc-page .rx-step h3{font-size:18px;margin:6px 0 8px;color:var(--ink)}
.svc-page .rx-step p{font-size:14px;color:var(--ink-2);line-height:1.6;max-width:230px;margin:0 auto}

/* ---- Carousel with arrows on BOTH ends, vertically centered ---- */
.svc-page .rx-sldr-wrap{position:relative;padding:0}
.svc-page .rx-sldr-nav{display:contents}
.svc-page .rx-sldr-nav button{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--blue);cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 26px -8px rgba(8,58,86,.34);transition:.2s var(--ease)}
.svc-page .rx-sldr-nav button:hover{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 14px 30px -8px rgba(14,130,190,.6)}
.svc-page .rx-sldr-nav button[data-sldr=prev]{left:-13px}
.svc-page .rx-sldr-nav button[data-sldr=next]{right:-13px}
/* flex track — reliable programmatic horizontal scroll (grid-auto-flow:column
   scroll containers don't respond to scrollLeft in Chromium) */
.svc-page .rx-sldr{display:flex;grid-auto-flow:row;grid-auto-columns:auto;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;padding:4px 2px 12px}
.svc-page .rx-sldr>*{flex:0 0 clamp(240px,26%,282px);scroll-snap-align:start}
@media(max-width:560px){
  .svc-page .rx-sldr-nav button{width:40px;height:40px}
  .svc-page .rx-sldr-nav button[data-sldr=prev]{left:-4px}
  .svc-page .rx-sldr-nav button[data-sldr=next]{right:-4px}
}

/* ---- Premium symptom list (slim rows, accent edge, trailing affordance) ---- */
.svc-page .rx-symp2{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:15px;padding:15px 20px;box-shadow:var(--shadow-sm);transition:.22s var(--ease)}
.svc-page .rx-symp2:hover{box-shadow:var(--shadow-md);transform:translateX(4px);border-left-color:var(--blue-deep)}
.svc-page .rx-symp2 .ryi{width:46px;height:46px;border-radius:13px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;flex:none;transition:.22s}
.svc-page .rx-symp2:hover .ryi{background:var(--blue);color:#fff}
.svc-page .rx-symp2 .ryi svg{width:23px;height:23px}
.svc-page .rx-symp2-tx{flex:1;min-width:0}
.svc-page .rx-symp2-tx b{display:block;font-size:15.5px;color:var(--ink);font-weight:700;line-height:1.3}
.svc-page .rx-symp2-tx small{display:block;font-size:13px;color:var(--ink-3);margin-top:2px}
.svc-page .rx-symp2-ar{width:32px;height:32px;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;flex:none;transition:.22s}
.svc-page .rx-symp2-ar svg{width:15px;height:15px}
.svc-page .rx-symp2:hover .rx-symp2-ar{background:var(--blue);color:#fff;transform:translateX(3px)}

/* ---- Premium SaaS underline tabs ---- */
.svc-page .rx-utabs{max-width:1320px;margin:0 auto}
.svc-page .rx-utabbar{display:flex;gap:2px;justify-content:center;border-bottom:1.5px solid var(--line);overflow-x:auto;scrollbar-width:none}
.svc-page .rx-utabbar::-webkit-scrollbar{height:0}
.svc-page .rx-utab{display:inline-flex;align-items:center;gap:10px;padding:15px 20px;font-family:inherit;font-weight:700;font-size:15px;color:var(--ink-3);background:none;border:none;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;cursor:pointer;white-space:nowrap;transition:.2s var(--ease)}
.svc-page .rx-utab .ui{width:36px;height:36px;border-radius:10px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;flex:none;transition:.2s}
.svc-page .rx-utab .ui svg{width:19px;height:19px}
.svc-page .rx-utab:hover{color:var(--ink)}
.svc-page .rx-utab.on{color:var(--blue);border-bottom-color:var(--blue)}
.svc-page .rx-utab.on .ui{background:var(--blue);color:#fff}
.svc-page .rx-utab .flag{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--blue);border-radius:100px;padding:2px 8px;margin-left:2px}
.svc-page .rx-utab.on .flag{background:var(--blue-deep)}
.svc-page .rx-utabpanels{padding-top:32px}
.svc-page .rx-utabpanel{display:none;max-width:820px;margin:0 auto}
.svc-page .rx-utabpanel.on{display:block;animation:rxfade .35s var(--ease)}
.svc-page .rx-utabpanel .rx-vp-ey{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.svc-page .rx-utabpanel h3{font-size:clamp(21px,2.3vw,26px);margin:8px 0 16px;color:var(--ink);line-height:1.3}
.svc-page .rx-utabpanel p{color:var(--ink-2);font-size:16px;line-height:1.75;margin:0 0 14px}
.svc-page .rx-utabpanel p:last-child{margin-bottom:0}
.svc-page .rx-utabpanel p strong{color:var(--ink)}
@media(max-width:640px){
  .svc-page .rx-utabbar{justify-content:flex-start;gap:0}
  .svc-page .rx-utab{padding:13px 16px;font-size:14px;gap:9px}
  .svc-page .rx-utab .ui{width:32px;height:32px}
  .svc-page .rx-utabpanel p{font-size:15px}
}

/* ============================================================
   RX4 — symptom circular grid (5-up) + image-aligned scrollable
   points, plus de-boxing. Placed last so it wins.
   ============================================================ */
/* 5-up circular symptom grid (matches the inguinal signs grid) */
.svc-page .svc-symp.five{grid-template-columns:repeat(5,1fr)}
@media(max-width:1180px){.svc-page .svc-symp.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.svc-page .svc-symp.five{grid-template-columns:repeat(2,1fr)}}
/* 3-option treatment rows (e.g. fistula) — the 1fr 1fr base orphans the 3rd
   card onto its own line beside a dead half-width gap. Straight to 1-up below
   desktop: an intermediate 2-up would just reintroduce the orphan. */
.svc-page .svc-tx.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:1024px){.svc-page .svc-tx.three{grid-template-columns:1fr}}

/* ============================================================
   RX11 — story: visual left + numbered step rail right.
   Ported from the `story` block in sections-all.html, which uses its own
   unscoped vocabulary (sec/wrap/story-step/n) and cannot be dropped in as-is.
   Use for procedure walkthroughs — a numbered step list in a 2-col .svc-diag
   grid orphans its last card beside a dead half-width gap.
   ============================================================ */
.svc-page .rx-story{display:grid;gap:28px}
@media(min-width:920px){.svc-page .rx-story{grid-template-columns:.85fr 1.15fr;gap:48px;align-items:stretch}}
.svc-page .rx-story-visual{position:relative;border-radius:22px;overflow:hidden;background:var(--blue-tint);border:1px solid var(--line);min-height:280px}
@media(max-width:919px){.svc-page .rx-story-visual{aspect-ratio:16/9;min-height:0}}
/* absolute img contributes no intrinsic height -> the step rail drives the row
   height and the visual stretches to match it (no dead gap either side) */
.svc-page .rx-story-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.svc-page .rx-story-steps{display:grid;gap:0;align-content:start}
.svc-page .rx-story-step{position:relative;padding:0 0 32px 36px}
.svc-page .rx-story-step:last-child{padding-bottom:0}
.svc-page .rx-story-step::before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;background:#fff;border:2px solid var(--line-2);z-index:2;transition:background .25s,border-color .25s,box-shadow .25s}
.svc-page .rx-story-step::after{content:"";position:absolute;left:6.5px;top:18px;bottom:0;width:2px;background:var(--line);transition:background .4s var(--ease)}
.svc-page .rx-story-step:last-child::after{display:none}
/* .on is driven by scroll position in svc-loader.js — the rail reads as progress */
.svc-page .rx-story-step.on::before{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 5px rgba(14,130,190,.14)}
.svc-page .rx-story-step.on::after{background:var(--blue)}
.svc-page .rx-story-step h4,.svc-page .rx-story-step h3{transition:color .3s var(--ease)}
.svc-page .rx-story-step.on h4,.svc-page .rx-story-step.on h3{color:var(--blue-deep)}
@media(prefers-reduced-motion:reduce){
  .svc-page .rx-story-step::before,.svc-page .rx-story-step::after,.svc-page .rx-story-step h4{transition:none}
}
.svc-page .rx-story-step .n{display:block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.svc-page .rx-story-step h4,.svc-page .rx-story-step h3{font-size:19px;font-weight:700;color:var(--ink);margin:5px 0 7px;line-height:1.3;letter-spacing:-.01em}
.svc-page .rx-story-step p{font-size:15px;color:var(--ink-2);line-height:1.65;margin:0}
/* some walkthroughs are numbered paragraphs with no title — keep the rhythm */
.svc-page .rx-story-step .n+p{margin-top:7px}
.svc-page .rx-story-step p a{color:var(--blue);font-weight:700}

/* 4-up benefit row (gallstones) — the 3-up .svc-types base orphans the 4th onto
   its own line. These four are short trust badges rather than full type cards,
   so the 4-up variant is deliberately lighter: centred, icon-led, tinted fill
   instead of the heavy bordered box. */
.svc-page .svc-types.four{grid-template-columns:repeat(4,1fr);gap:16px}
.svc-page .svc-types.four .svc-type-row{text-align:center;padding:30px 20px;background:linear-gradient(180deg,var(--blue-tint) 0%,#fff 70%);border-color:var(--blue-soft)}
.svc-page .svc-types.four .svc-type-ic{margin:0 auto 16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm)}
.svc-page .svc-types.four .svc-type-row h3{font-size:17px;margin-bottom:6px}
.svc-page .svc-types.four .svc-type-row p{font-size:14px}
@media(max-width:980px){.svc-page .svc-types.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.svc-page .svc-types.four{gap:12px}.svc-page .svc-types.four .svc-type-row{padding:24px 12px}}

/* Wide banner art (e.g. 1920x699) dropped into a 2-col overview renders as a
   short letterbox strip beside a tall text column, because .svc-2col img sets
   no height. Give it the column's shape and bias the crop toward the subject. */
.svc-page .svc-2col img.wide-crop{aspect-ratio:3/2;object-position:72% 50%}

/* 2-item .svc-types — the 3-up base leaves a permanently empty third column,
   which reads as a layout bug rather than a choice. Pair them up, centred. */
.svc-page .svc-types.two{grid-template-columns:repeat(2,1fr);max-width:860px;margin-inline:auto}
@media(max-width:780px){.svc-page .svc-types.two{grid-template-columns:1fr}}

/* .plain — strip the card. Stacking several bordered-box grids down one page
   reads cheap; this keeps the icon + type but drops the fill, border, shadow
   and top-accent, separating items with a hairline instead. */
.svc-page .svc-types.plain .svc-type-row{background:none;border:none;box-shadow:none;border-radius:0;padding:6px 30px 6px 0;overflow:visible}
.svc-page .svc-types.plain .svc-type-row::before{display:none}
.svc-page .svc-types.plain .svc-type-row:hover{transform:none;box-shadow:none;border:none}
.svc-page .svc-types.plain .svc-type-ic{background:none;border:1.5px solid var(--blue-soft);width:48px;height:48px;margin-bottom:14px}
.svc-page .svc-types.plain .svc-type-row:hover .svc-type-ic{background:var(--blue-tint);color:var(--blue)}
/* Hairline between columns, not around each item. NOTE: var(--line) #E1E9EE is
   ~1.1:1 on white — invisible. Same trap as the accordion separators; use a
   composited ink at ~1.4:1 so the divider actually reads. */
@media(min-width:781px){
  .svc-page .svc-types.plain .svc-type-row+.svc-type-row{border-left:1px solid rgba(22,36,46,.18);padding-left:30px}
}
@media(max-width:780px){
  .svc-page .svc-types.plain .svc-type-row+.svc-type-row{border-top:1px solid rgba(22,36,46,.18);padding-top:26px;margin-top:6px}
  .svc-page .svc-types.plain .svc-type-row{padding-right:0}
}

/* 5-item .svc-types — 3-up leaves a 2/3 last row. 2-up leaves 1/2. Neither is
   clean, so give the last item the full width of the final row instead. */
.svc-page .svc-types.five{grid-template-columns:repeat(6,1fr)}
.svc-page .svc-types.five>*{grid-column:span 2}
.svc-page .svc-types.five>*:nth-child(4){grid-column:2/4}
.svc-page .svc-types.five>*:nth-child(5){grid-column:4/6}
@media(max-width:980px){
  .svc-page .svc-types.five{grid-template-columns:repeat(2,1fr)}
  .svc-page .svc-types.five>*,
  .svc-page .svc-types.five>*:nth-child(4),
  .svc-page .svc-types.five>*:nth-child(5){grid-column:auto}
  .svc-page .svc-types.five>*:nth-child(5){grid-column:1/-1}
}
@media(max-width:560px){.svc-page .svc-types.five{grid-template-columns:1fr}.svc-page .svc-types.five>*:nth-child(5){grid-column:auto}}

/* ============================================================
   RX12 — de-boxing dense info sections (gallstones et al).
   ============================================================ */
/* svc-diag.plain — editorial divided list: no cards, hairline rows.
   Fixes both the boxy look and the 2-col orphan (5 items = 2+2+1). */
.svc-page .svc-diag.plain{grid-template-columns:1fr;max-width:880px;margin-inline:auto;gap:0}
.svc-page .svc-diag.plain .it{background:none;border:none;border-radius:0;box-shadow:none;padding:22px 8px}
.svc-page .svc-diag.plain .it:hover{transform:none;box-shadow:none;border:none}
.svc-page .svc-diag.plain .it+.it{border-top:1px solid rgba(22,36,46,.14)}
/* 3-up centred checklist row (consultation bullets) */
.svc-page .svc-diag.plain.cols3{grid-template-columns:repeat(3,1fr);max-width:1000px;gap:0 18px}
.svc-page .svc-diag.plain.cols3 .it{grid-template-columns:1fr;text-align:center;padding:10px 12px}
.svc-page .svc-diag.plain.cols3 .it+.it{border-top:none}
.svc-page .svc-diag.plain.cols3 .n{margin:0 auto 12px}
.svc-page .svc-diag.plain.cols3 h4,.svc-page .svc-diag.plain.cols3 h3{margin-bottom:0}
@media(max-width:780px){
  .svc-page .svc-diag.plain.cols3{grid-template-columns:1fr}
  .svc-page .svc-diag.plain.cols3 .it+.it{border-top:1px solid rgba(22,36,46,.14)}
}
/* five.plain — open pyramid: strip the boxes, no dividers (a pyramid's
   row-2 col-1 left-border would read as a mistake) */
.svc-page .svc-types.five.plain .svc-type-row{padding:10px 18px}
.svc-page .svc-types.five.plain .svc-type-row+.svc-type-row{border-left:none;border-top:none;padding-left:18px;margin-top:0}
/* Stat strip — big numbers carry the impact instead of a heavy banner */
.svc-page .rx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:980px;margin:30px auto 0;text-align:center}
.svc-page .rx-stats .st b{display:block;font-size:34px;font-weight:800;color:var(--blue);letter-spacing:-.02em;line-height:1.1}
.svc-page .rx-stats .st span{display:block;margin-top:6px;font-size:13.5px;font-weight:600;color:var(--ink-2)}
@media(max-width:780px){.svc-page .rx-stats{grid-template-columns:1fr 1fr;gap:22px 14px}.svc-page .rx-stats .st b{font-size:28px}}

/* Dark band section — breaks up long white/tint runs (Areas We Serve) */
.svc-page .svc-s.dark{background:linear-gradient(150deg,var(--blue-ink) 0%,var(--blue-deep) 60%,var(--blue) 135%)}
.svc-page .svc-s.dark .svc-eyebrow{color:#9BD4F0}
.svc-page .svc-s.dark .svc-h2{color:#fff}
.svc-page .svc-s.dark .svc-h2 .t{color:#9BD4F0}
.svc-page .svc-s.dark .svc-lead{color:rgba(255,255,255,.85)}
.svc-page .svc-s.dark .rx-areas .pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff}
.svc-page .svc-s.dark .rx-areas .pill svg{color:#9BD4F0}
.svc-page .svc-s.dark .rx-areas .pill.home{background:#fff;border-color:#fff;color:var(--blue-deep)}
.svc-page .svc-s.dark .rx-areas .pill.home svg{color:var(--blue)}

/* location pills (Areas We Serve) — replaces a heavy icon-card scroller */
.svc-page .rx-areas{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:980px;margin-inline:auto}
.svc-page .rx-areas .pill{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--blue-deep);background:var(--blue-tint);border:1px solid var(--blue-soft);border-radius:100px;padding:9px 16px}
.svc-page .rx-areas .pill svg{color:var(--blue);flex:none}
.svc-page .rx-areas .pill small{font-weight:600;opacity:.75;font-size:12.5px}
.svc-page .rx-areas .pill.home{background:var(--blue);border-color:var(--blue);color:#fff}
.svc-page .rx-areas .pill.home svg{color:#fff}
@media(max-width:640px){
  /* uniform 2-col chip grid — free-wrapping pills this wide end up 1-per-row */
  .svc-page .rx-areas{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .svc-page .rx-areas .pill{font-size:12px;padding:8px 10px;gap:5px;justify-content:center;text-align:center}
  .svc-page .rx-areas .pill small{font-size:10.5px;white-space:nowrap}
}

/* Sparse .svc-comp rows. The 2-up base stretches a lone pair across the full
   column (reads sparse), and a SINGLE item renders half-width beside dead
   space. Constrain both so they look deliberate. */
.svc-page .svc-comp.two{max-width:900px;margin-inline:auto}
.svc-page .svc-comp.one{grid-template-columns:1fr;max-width:720px;margin-inline:auto}

/* 4-up .svc-diag row (e.g. pilonidal precautions) — one row on desktop, 2-up on
   mobile. At quarter width the base `56px 1fr` icon-left layout crushes the copy,
   so the card stacks: icon over text. The base's 780px 1-up rule has to be
   re-beaten at equal specificity, hence the explicit override below. */
.svc-page .svc-diag.four{grid-template-columns:repeat(4,1fr);gap:16px}
.svc-page .svc-diag.four .it{grid-template-columns:1fr;gap:14px;padding:26px 22px}
@media(max-width:980px){.svc-page .svc-diag.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.svc-page .svc-diag.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.svc-page .svc-diag.four .it{padding:20px 14px}.svc-page .svc-diag.four{gap:12px}}

/* Image aligned with points; list scrolls when tall (desktop) */
.svc-page .rx-imgpts{display:grid;gap:28px}
@media(min-width:900px){.svc-page .rx-imgpts{grid-template-columns:.88fr 1.12fr;gap:50px;align-items:start}}
.svc-page .rx-imgpts-fig{border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);aspect-ratio:4/5}
@media(min-width:900px){.svc-page .rx-imgpts-fig{position:sticky;top:104px}}
@media(max-width:899px){.svc-page .rx-imgpts-fig{aspect-ratio:16/10;max-height:320px}}
.svc-page .rx-imgpts-fig img{width:100%;height:100%;object-fit:cover;display:block}
.svc-page .rx-imgpts-list{display:flex;flex-direction:column}
@media(min-width:900px){.svc-page .rx-imgpts-list{max-height:600px;overflow-y:auto;padding-right:16px}}
.svc-page .rx-imgpts-list::-webkit-scrollbar{width:6px}
.svc-page .rx-imgpts-list::-webkit-scrollbar-track{background:var(--blue-tint);border-radius:10px}
.svc-page .rx-imgpts-list::-webkit-scrollbar-thumb{background:var(--blue-sky);border-radius:10px}
.svc-page .rx-imgpts-list{scrollbar-width:thin;scrollbar-color:var(--blue-sky) var(--blue-tint)}
/* open point rows — hairline divider, no card box */
.svc-page .rx-pt{display:flex;gap:18px;padding:22px 2px;border-bottom:1px solid var(--line)}
.svc-page .rx-pt:first-child{padding-top:2px}
.svc-page .rx-pt:last-child{border-bottom:none}
.svc-page .rx-pt-n{flex:none;width:40px;height:40px;border-radius:11px;background:linear-gradient(160deg,var(--blue),var(--blue-deep));color:#fff;font-weight:800;font-size:14px;display:grid;place-items:center;box-shadow:0 8px 16px -8px rgba(14,130,190,.8)}
.svc-page .rx-pt-tx{min-width:0}
.svc-page .rx-pt-tx b{display:block;font-size:16.5px;color:var(--ink);margin-bottom:6px;line-height:1.3}
.svc-page .rx-pt-tx p{font-size:14.5px;color:var(--ink-2);line-height:1.65;margin:0}

/* De-box: lighter, airier carousel slides */
.svc-page .rx-slide{border-color:var(--line);box-shadow:0 1px 2px rgba(8,58,86,.04)}
.svc-page .rx-slide:hover{box-shadow:0 16px 34px -18px rgba(8,58,86,.28)}

/* ============================================================
   RX5 — how-diagnosed: reliable branded panel + closed accordion
   (no remote-image dependency, no scrollbar)
   ============================================================ */
.svc-page .rx-acc2.stretch{align-items:stretch}
.svc-page .rx-acc2.stretch .rx-acc2-fig{aspect-ratio:auto;min-height:280px}
.svc-page .rx-acc2.stretch .rx-acc2-fig.dx{position:relative;overflow:hidden}
.svc-page .rx-acc2-fig.dx{background:linear-gradient(155deg,var(--blue-ink) 0%,var(--blue-deep) 55%,var(--blue) 100%);border:none;display:grid;place-items:center;position:relative;overflow:hidden}
.svc-page .rx-acc2-fig.dx::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.16);top:-90px;right:-90px}
.svc-page .rx-acc2-fig.dx::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(155,212,240,.22),transparent 70%);bottom:-60px;left:-50px}
.svc-page .rx-dx{position:relative;z-index:1;text-align:center;padding:34px 30px;color:#fff}
.svc-page .rx-dx-ic{width:86px;height:86px;border-radius:22px;background:rgba(255,255,255,.14);display:grid;place-items:center;margin:0 auto 20px;backdrop-filter:blur(2px)}
.svc-page .rx-dx-ic svg{width:42px;height:42px;color:#fff}
.svc-page .rx-dx .rx-dx-ey{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-sky)}
.svc-page .rx-dx b{display:block;font-size:20px;font-weight:700;margin:8px 0 8px;line-height:1.3}
.svc-page .rx-dx p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.82);margin:0}
/* accordion refinements — closed by default, smooth, no scrollbar anywhere */
.svc-page .rx-acc2.stretch .rx-acc{display:flex;flex-direction:column;justify-content:center}

/* RX5b — diagnosis panel illustration */
.svc-page .rx-dx-illus{display:block;width:170px;max-width:66%;margin:0 auto 20px}
.svc-page .rx-dx-illus svg{width:100%;height:auto;display:block}

/* ============================================================
   RX6 — review fixes: equal-height carousel, top-aligned flat
   diagnosis accordion, single-column FAQ (no height-gap).
   ============================================================ */
/* carousel — force all cards to equal height */
.svc-page .rx-sldr{align-items:stretch}
.svc-page .rx-sldr>*{height:auto}
.svc-page .rx-slide{height:auto;display:flex;flex-direction:column}

/* how-diagnosed — panel + accordion aligned to the TOP, not centered */
.svc-page .rx-acc2.stretch{align-items:start}
.svc-page .rx-acc2.stretch .rx-acc2-fig.dx{position:relative;top:auto;overflow:hidden;min-height:340px}
.svc-page .rx-acc2.stretch .rx-acc{display:grid;gap:0;align-content:start}
/* flat accordion — a clean divided list, not a stack of boxes */
.svc-page .rx-acc.flat .rx-acc-item{border:none;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;transition:none}
.svc-page .rx-acc.flat .rx-acc-item.open{box-shadow:none}
.svc-page .rx-acc.flat .rx-acc-item:first-child .rx-acc-q{padding-top:6px}
.svc-page .rx-acc.flat .rx-acc-item:last-child{border-bottom:none}
.svc-page .rx-acc.flat .rx-acc-q{padding-left:2px;padding-right:4px}
.svc-page .rx-acc.flat .rx-acc-a p{padding-left:58px}

/* rx-fig-fit — the figure hugs its image instead of being a fixed frame.
   .rx-acc2-fig paints a tinted panel (and .dx a dark gradient plus two
   decorative circles) sized to the frame, so once the image stops filling that
   frame the leftover paints as coloured bands above and below it. When the
   figure is set to fit its image, the frame must contribute nothing visual. */
.svc-page .rx-acc2-fig.rx-fig-fit{background:none;border:none;box-shadow:none;padding:0;border-radius:0}
.svc-page .rx-acc2-fig.rx-fig-fit::before,
.svc-page .rx-acc2-fig.rx-fig-fit::after{content:none;display:none}
.svc-page .rx-acc2-fig.rx-fig-fit img{border-radius:18px;box-shadow:var(--shadow-md)}

/* Text-left / list-right split. Used where the section lead reads better beside
   the accordion or step rail than centred above it, and where no illustration
   is wanted. Column 1 is the heading + copy, column 2 is .rx-acc or
   .rx-story-steps — both of which style themselves, so they need no wrapper. */
.svc-page .rx-split{display:grid;gap:30px}
@media(min-width:920px){
  .svc-page .rx-split{grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
  .svc-page .rx-split-copy{position:sticky;top:100px}
}
/* .svc-h2 is centred by default site-wide; every left-aligned placement opts
   out explicitly (see .rx-txgrid, .rx-tl2-copy, .proc2-intro) and so does this */
.svc-page .rx-split-copy .svc-h2{text-align:left;margin:10px 0 18px}
/* Both paragraphs read as one body of copy: same size, leading and colour.
   The hairline is the only separation between them. */
.svc-page .rx-split-copy .svc-lead,
.svc-page .rx-split-copy .svc-prose p{font-size:15px;line-height:1.7;color:var(--ink-2)}
.svc-page .rx-split-copy .svc-lead{margin:0 0 20px;max-width:none}
.svc-page .rx-split-copy .svc-prose{margin:0;padding-top:18px;border-top:1px solid var(--line)}
/* match the spacing the accordion had inside .rx-acc2.stretch */
.svc-page .rx-split .rx-acc{display:grid;gap:0;align-content:start;max-width:none;margin:0}

/* FAQ — two columns that each pack tightly (JS distributes items into
   .svc-faq-col so an uneven answer never leaves a mid-column gap) */
.svc-page .svc-faq-list.cols{display:flex;gap:0 20px;align-items:flex-start;grid-template-columns:none;max-width:none}
.svc-page .svc-faq-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:14px}

/* ============================================================
   RX7 — fix mobile Types timeline: center the step icons (an old
   left-aligned-timeline rule was pushing them off the left edge).
   ============================================================ */
@media(max-width:759px){
  .svc-page .rx-steps .rx-step{padding:0 12px}
  .svc-page .rx-steps .rx-step .rx-step-head{position:relative;height:auto;margin:0 0 14px;display:block;text-align:center}
  .svc-page .rx-steps .rx-step .rx-step-dot{position:relative;left:auto;top:auto;margin:0 auto;width:56px;height:56px}
  .svc-page .rx-steps .rx-step .rx-step-bar{display:none}
}

/* ============================================================
   RX8 — mobile hero + Types density.
   ============================================================ */
@media(max-width:759px){
  /* Hero: tighter, justified subtext. */
  .svc-page .svc-hero p{font-size:15px;line-height:1.6;margin-bottom:22px;text-align:justify;hyphens:auto}

  /* Hero USP chips: icons restored. All three + icons can't fit one 375px row,
     so they wrap instead of the old nowrap-and-hide-the-icons compromise. */
  .svc-page .svc-chips{flex-wrap:wrap;gap:12px 16px;justify-content:flex-start;margin-bottom:24px}
  .svc-page .svc-chip{font-size:12.5px;gap:6px;white-space:nowrap}
  .svc-page .svc-chip svg{display:block;width:13px;height:13px;padding:3px}

  /* Hero CTA: keep Book Consultation only — the sticky dock covers calling. */
  .svc-page .svc-hero-btns{display:flex}
  .svc-page .svc-hero-btns .svc-btn-white{display:none}
  .svc-page .svc-hero-btns .svc-btn-primary{width:100%;justify-content:center}

  /* Types timeline: two per row instead of one long vertical stack. */
  .svc-page .rx-steps{grid-template-columns:1fr 1fr;gap:30px 6px}
  .svc-page .rx-steps .rx-step{padding:0 6px}
  .svc-page .rx-steps .rx-step::before{display:none}
  .svc-page .rx-steps .rx-step .rx-step-dot{width:48px;height:48px;border-radius:14px}
  .svc-page .rx-steps .rx-step .rx-step-dot svg{width:22px;height:22px}
  .svc-page .rx-steps .rx-step h3{font-size:16px}
  .svc-page .rx-steps .rx-step p{font-size:15px;max-width:none}
}

/* ============================================================
   RX9 — flat accordion ("How diagnosed").

   .flat is a divided list, not a stack of boxes — so no fill, no radius,
   no shadow on any state. Structure comes from the separator, affordance
   from the type and the existing badge/chevron states.

   Separator weight, measured on var(--surface) #F4F7FA: var(--line)
   #E1E9EE = 1.14:1 (invisible), near-black = 14.7:1 (ledger rules).
   rgba(22,36,46,.16) = 1.38:1 — divides without shouting.
   ============================================================ */
/* --line-2 was referenced by .rx-acc-fx but never defined, so the chevron
   ring fell back to currentColor and rendered blue. */
.svc-page{--line-2:#CFDBE3}

.svc-page .rx-acc.flat .rx-acc-item,
.svc-page .rx-acc.flat .rx-acc-item:hover,
.svc-page .rx-acc.flat .rx-acc-item.open{
  position:relative;border:none;border-radius:0;background:none;box-shadow:none;
}
/* separator as an inset pseudo — stops short of the row edges so it reads as
   a hairline, not a full-bleed table rule */
.svc-page .rx-acc.flat .rx-acc-item+.rx-acc-item::before{
  content:"";position:absolute;top:0;left:14px;right:14px;height:1px;
  background:rgba(22,36,46,.16);
}/* affordance is typographic — the title leads on hover and stays lit when
   open,alongside the badge/chevron states the base accordion already has */
.svc-page .rx-acc.flat .rx-acc-q h4,alongside the badge/chevron states the base accordion already has */
.svc-page .rx-acc.flat .rx-acc-q h3{transition:color .2s var(--ease)}
.svc-page .rx-acc.flat .rx-acc-q:hover h4,.svc-page .rx-acc.flat .rx-acc-item.open .rx-acc-q h4,.svc-page .rx-acc.flat .rx-acc-q:hover h3,.svc-page .rx-acc.flat .rx-acc-item.open .rx-acc-q h3{color:var(--blue)}

/* breathing room + touch target (was 18px/2px, cramped against the edge) */
.svc-page .rx-acc.flat .rx-acc-q{padding:17px 14px}
.svc-page .rx-acc.flat .rx-acc-item:first-child .rx-acc-q{padding-top:17px}
/* keep the answer hanging under the title: 14 pad + 38 badge + 16 gap */
.svc-page .rx-acc.flat .rx-acc-a p{padding-left:68px;padding-right:14px}
@media(max-width:560px){.svc-page .rx-acc.flat .rx-acc-a p{padding-left:14px}}

/* ============================================================
   RX10 — .rx-acc2 (photo variant) figure height.

   The figure carried a fixed aspect-ratio:4/5, so it sized itself off
   its own width (474 -> 593px) with no regard for the accordion beside
   it (516px) — a 77px overhang. Let the grid row size it instead: an
   absolutely-positioned img contributes no intrinsic height, so the row
   is driven purely by the accordion and the figure stretches to match.
   Desktop only — under 920px the grid is one column and the figure keeps
   its own 16/9 ratio. Scoped :not(.stretch) so the .dx panel is untouched.
   ============================================================ */
@media(min-width:920px){
  .svc-page .rx-acc2:not(.stretch){align-items:stretch}
  /* relative, not sticky: a figure the same height as the column has no
     travel to stick through, and it anchors the img below */
  .svc-page .rx-acc2:not(.stretch) .rx-acc2-fig{
    aspect-ratio:auto;position:relative;top:auto;min-height:280px;
  }
  .svc-page .rx-acc2:not(.stretch) .rx-acc2-fig img{position:absolute;inset:0}
}

/* ============================================================
   RX8 — category-page components (shared by hernia,
   laser-proctology and future category pages)
   ============================================================ */
/* Directory card grid (category → service pages) */
.svc-page .rx-dir{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.svc-page .rx-dircard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow-sm);transition:.28s var(--ease);position:relative;overflow:hidden;text-decoration:none}
.svc-page .rx-dircard::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--blue-deep));transition:width .4s var(--ease)}
.svc-page .rx-dircard:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .rx-dircard:hover::before{width:100%}
.svc-page .rx-dircard .ic{width:52px;height:52px;border-radius:14px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;margin-bottom:18px;transition:.3s}
.svc-page .rx-dircard:hover .ic{background:var(--blue);color:#fff}
.svc-page .rx-dircard .flag{position:absolute;top:20px;right:20px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-deep);background:var(--blue-tint);border-radius:100px;padding:4px 11px}
.svc-page .rx-dircard b{font-size:17.5px;font-weight:700;color:var(--ink);margin-bottom:8px;line-height:1.3}
.svc-page .rx-dircard p{font-size:14px;color:var(--ink-2);line-height:1.62;margin:0 0 18px;flex:1}
.svc-page .rx-dircard .lnk{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;color:var(--blue);padding-top:14px;border-top:1px solid var(--line);transition:gap .25s var(--ease)}
.svc-page .rx-dircard:hover .lnk{gap:11px}

/* Numbered editorial directory rows (alternative category listing) */
.svc-page .rx-dirlist{max-width:980px;margin-inline:auto}
.svc-page .rx-dirrow{display:flex;align-items:flex-start;gap:22px;padding:26px 6px;border-bottom:1px solid var(--line);text-decoration:none;transition:.25s var(--ease)}
.svc-page .rx-dirrow:last-child{border-bottom:none}
.svc-page .rx-dirrow .num{flex:none;width:52px;height:52px;border-radius:15px;background:linear-gradient(160deg,var(--blue),var(--blue-deep));color:#fff;font-weight:800;font-size:15px;display:grid;place-items:center;box-shadow:0 10px 20px -9px rgba(14,130,190,.8)}
.svc-page .rx-dirrow .bd{flex:1;min-width:0}
.svc-page .rx-dirrow .bd b{display:block;font-size:18px;font-weight:700;color:var(--ink);line-height:1.35;transition:color .2s}
.svc-page .rx-dirrow:hover .bd b{color:var(--blue)}
.svc-page .rx-dirrow .bd p{font-size:14.5px;color:var(--ink-2);line-height:1.65;margin:7px 0 0}
.svc-page .rx-dirrow .bd .go{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;color:var(--blue);margin-top:12px}
.svc-page .rx-dirrow .ar{flex:none;width:40px;height:40px;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;transition:.25s var(--ease);margin-top:6px}
.svc-page .rx-dirrow:hover .ar{background:var(--blue);color:#fff;transform:translateX(4px)}
@media(max-width:600px){.svc-page .rx-dirrow{gap:14px;padding:22px 0}.svc-page .rx-dirrow .num{width:42px;height:42px;border-radius:12px;font-size:13px}.svc-page .rx-dirrow .ar{display:none}}

/* Flat check list (2-col) */
.svc-page .rx-checks{display:grid;gap:12px 34px;max-width:860px;margin-inline:auto}
@media(min-width:640px){.svc-page .rx-checks{grid-template-columns:1fr 1fr}}
.svc-page .rx-checks li{display:flex;align-items:flex-start;gap:12px;list-style:none;font-size:15px;font-weight:600;color:var(--ink);line-height:1.5}
.svc-page .rx-checks li svg{flex:none;width:22px;height:22px;color:var(--blue);margin-top:1px}

/* 2-col flat point rows */
.svc-page .rx-ptgrid{display:grid;gap:0 52px}
@media(min-width:860px){.svc-page .rx-ptgrid{grid-template-columns:1fr 1fr}}

/* Emergency / warning panel */
.svc-page .rx-alert{background:#FDF1F2;border:1px solid #F3CDD3;border-left:4px solid var(--red);border-radius:16px;padding:26px 28px;max-width:980px;margin:34px auto 0}
.svc-page .rx-alert .rx-alert-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.svc-page .rx-alert .rx-alert-head .wi{flex:none;width:40px;height:40px;border-radius:12px;background:var(--red);color:#fff;display:grid;place-items:center}
.svc-page .rx-alert .rx-alert-head .wi svg{width:20px;height:20px}
.svc-page .rx-alert .rx-alert-head b{font-size:17px;color:#8E1B2C;font-weight:800}
.svc-page .rx-alert>p{font-size:14.5px;color:#5B2730;line-height:1.65;margin:0 0 14px}
.svc-page .rx-alert-chips{display:flex;flex-wrap:wrap;gap:9px}
.svc-page .rx-alert-chips span{font-size:13px;font-weight:700;color:#8E1B2C;background:#fff;border:1px solid #EFC3CB;border-radius:100px;padding:8px 15px}

/* RX10 — .rx-steps.long: journey-style steps with long paragraphs get one
   per row on mobile (the 2-up density grid is for short type/tip steps). */
@media(max-width:759px){
  .svc-page .rx-steps.long{grid-template-columns:1fr;gap:34px 0}
  .svc-page .rx-steps.long .rx-step p{max-width:300px;margin:0 auto}
}

/* ============================================================
   RX11 — hernia category refinements: rich circular symptom grid,
   card carousel (directory-in-slider), treatment editorial layout.
   ============================================================ */
/* circular symptom grid, 4-up, with room for full descriptions */
.svc-page .svc-symp.four{grid-template-columns:repeat(4,1fr);gap:40px 26px}
.svc-page .svc-symp.four .it>span:last-child{max-width:30ch}
.svc-page .svc-symp.four small{font-size:13px;line-height:1.6}
@media(max-width:1080px){.svc-page .svc-symp.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svc-page .svc-symp.four{grid-template-columns:1fr;gap:34px}}

/* carousel card slides (directory cards inside the slider) */
.svc-page .rx-sldr.cards>*{flex:0 0 clamp(290px,31%,336px)}
.svc-page a.rx-slide{position:relative;text-decoration:none;cursor:pointer}
.svc-page .rx-slide .flag{position:absolute;top:18px;right:18px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-deep);background:var(--blue-tint);border-radius:100px;padding:4px 11px}
.svc-page .rx-slide .lnk{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;color:var(--blue);padding-top:14px;margin-top:auto;border-top:1px solid var(--line);transition:gap .25s var(--ease)}
.svc-page a.rx-slide:hover .lnk{gap:11px}
.svc-page a.rx-slide:hover{border-color:var(--blue-soft)}
.svc-page a.rx-slide:hover .si{background:var(--blue);color:#fff}
.svc-page .rx-slide .si{transition:.3s}

/* treatment editorial: prose left + tinted checklist panel right */
.svc-page .rx-txgrid{display:grid;gap:30px;align-items:start}
@media(min-width:920px){.svc-page .rx-txgrid{grid-template-columns:1.08fr .92fr;gap:52px}}
.svc-page .rx-txgrid .rx-txprose p{font-size:16px;color:var(--ink-2);line-height:1.75;margin:0 0 16px}
.svc-page .rx-txgrid .rx-txprose p:last-child{margin-bottom:0}
.svc-page .rx-panel{background:var(--blue-tint);border-radius:20px;padding:30px 32px}
.svc-page .rx-panel h3{font-size:18px;color:var(--ink);margin:0 0 6px}
.svc-page .rx-panel .sub{font-size:13.5px;color:var(--ink-3);margin:0 0 18px}
.svc-page .rx-panel ul{display:grid;gap:12px;padding:0;margin:0}
.svc-page .rx-panel li{display:flex;align-items:flex-start;gap:11px;list-style:none;font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.5}
.svc-page .rx-panel li svg{flex:none;width:20px;height:20px;color:var(--blue);margin-top:1px}
@media(max-width:560px){.svc-page .rx-panel{padding:24px 22px}}

/* RX12 — treatment panel: sticky on desktop + per-type icon chips */
@media(min-width:920px){.svc-page .rx-txgrid .rx-panel{position:sticky;top:104px}}
.svc-page .rx-panel li{align-items:center;gap:13px;font-size:14.5px}
.svc-page .rx-panel li .tic{flex:none;width:38px;height:38px;border-radius:11px;background:#fff;color:var(--blue);display:grid;place-items:center;box-shadow:0 2px 6px rgba(8,58,86,.08)}
.svc-page .rx-panel li .tic svg{width:19px;height:19px}

/* RX13 — treatment prose: guarantee left alignment for heading + eyebrow */
.svc-page .rx-txgrid .rx-txprose{text-align:left}
.svc-page .rx-txgrid .svc-h2{text-align:left;margin-bottom:18px}

/* ============================================================
   RX14 — hernia category polish: full-width slim alert w/ icon
   chips, aligned cost columns, 4-across mini row, CTA banner.
   ============================================================ */
/* alert: end-to-end + slimmer */
.svc-page .rx-alert{max-width:none;margin:34px 0 0;padding:20px 26px}
.svc-page .rx-alert .rx-alert-head{margin-bottom:8px}
.svc-page .rx-alert .rx-alert-head .wi{width:34px;height:34px;border-radius:10px}
.svc-page .rx-alert .rx-alert-head .wi svg{width:17px;height:17px}
.svc-page .rx-alert>p{margin:0 0 12px;font-size:14px}
.svc-page .rx-alert-chips span{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;font-size:12.5px}
.svc-page .rx-alert-chips span svg{width:14px;height:14px;flex:none}

/* cost: stretch both columns so left & right align */
.svc-page .svc-wrap.svc-cost{align-items:stretch}
.svc-page .svc-cost .svc-cost-card{height:100%}

/* mini benefits: 4 across on desktop */
.svc-page .rx-mini.row4{max-width:1120px;grid-template-columns:repeat(4,1fr);gap:16px}
.svc-page .rx-mini.row4 .rx-minic{flex-direction:column;align-items:flex-start;gap:13px;padding:24px 22px}
@media(max-width:1000px){.svc-page .rx-mini.row4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.svc-page .rx-mini.row4{grid-template-columns:1fr}}

/* CTA banner — high-impact gradient panel */
.svc-page .rx-cta{position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(120deg,var(--blue-ink) 0%,#0B5078 55%,var(--blue) 130%);color:#fff;padding:60px 48px;text-align:center}
.svc-page .rx-cta::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.14);top:-140px;right:-110px}
.svc-page .rx-cta::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(155,212,240,.2),transparent 70%);bottom:-90px;left:-70px}
.svc-page .rx-cta>*{position:relative;z-index:1}
.svc-page .rx-cta .rx-cta-ey{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-sky);margin-bottom:14px}
.svc-page .rx-cta h2{font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#fff;margin:0 0 16px}
.svc-page .rx-cta h2 .t{color:var(--blue-sky)}
.svc-page .rx-cta>p{max-width:820px;margin:0 auto;font-size:16px;line-height:1.7;color:rgba(255,255,255,.85)}
.svc-page .rx-cta-checks{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:28px 0 30px;padding:0}
.svc-page .rx-cta-checks li{display:inline-flex;align-items:center;gap:9px;list-style:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);border-radius:100px;padding:11px 19px;font-size:14px;font-weight:700;color:#fff}
.svc-page .rx-cta-checks li svg{flex:none;width:17px;height:17px;color:var(--blue-sky)}
.svc-page .rx-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:560px){.svc-page .rx-cta{padding:44px 24px;border-radius:20px}.svc-page .rx-cta-checks li{font-size:13px;padding:10px 15px}}

/* RX15 — CTA banner: slimmer profile (less vertical bulk, same air) */
.svc-page .rx-cta{padding:42px 46px}
.svc-page .rx-cta .rx-cta-ey{margin-bottom:10px}
.svc-page .rx-cta h2{font-size:clamp(23px,2.4vw,30px);margin:0 0 12px}
.svc-page .rx-cta>p{font-size:14.5px;line-height:1.65;max-width:760px}
.svc-page .rx-cta-checks{margin:20px 0 20px;gap:10px}
.svc-page .rx-cta-checks li{padding:9px 16px;font-size:13.5px}
.svc-page .rx-cta-checks li svg{width:15px;height:15px}
.svc-page .rx-cta-btns .svc-btn{padding:13px 24px;font-size:14.5px}
@media(max-width:560px){.svc-page .rx-cta{padding:34px 22px}}

/* ===== RX11 — media/content height alignment + scrollable rails (2026-07-23) ===== */
.svc-page .rx-story{align-items:stretch}
.svc-page .rx-story-visual{align-self:stretch;max-height:500px;position:sticky;top:110px}
.svc-page .rx-story-visual img{width:100%;height:100%;max-height:500px;object-fit:cover;border-radius:18px}
.svc-page .rx-story-steps{max-height:500px;overflow-y:auto;padding-right:12px;scrollbar-width:thin}
.svc-page .rx-story-steps::-webkit-scrollbar{width:6px}
.svc-page .rx-story-steps::-webkit-scrollbar-thumb{background:var(--blue-soft,#BFE0F2);border-radius:6px}
.svc-page .rx-acc2.stretch{align-items:stretch}
.svc-page .rx-acc2.stretch .rx-acc{max-height:520px;overflow-y:auto;padding-right:8px;scrollbar-width:thin}
.svc-page .rx-acc2.stretch .rx-acc::-webkit-scrollbar{width:6px}
.svc-page .rx-acc2.stretch .rx-acc::-webkit-scrollbar-thumb{background:var(--blue-soft,#BFE0F2);border-radius:6px}
.svc-page .rx-acc2.stretch .rx-acc2-fig.dx{max-height:520px}
.svc-page .svc-2col > div > img{width:100%;height:auto;max-height:460px;object-fit:cover;align-self:center}
.svc-page .rx-sldr-static .rx-slide{height:auto}
@media(max-width:860px){
  .svc-page .rx-story-visual{position:relative;top:auto;max-height:300px}
  .svc-page .rx-story-visual img{max-height:300px}
  .svc-page .rx-story-steps{max-height:none;overflow:visible;padding-right:0}
  .svc-page .rx-acc2.stretch .rx-acc{max-height:none;overflow:visible;padding-right:0}
}

/* RX11b — class-driven accordion state: .open reliably shows the answer even if
   the inline max-height set by JS is lost; base rule keeps closed items at 0. */
.svc-page .rx-acc .rx-acc-item.open .rx-acc-a{max-height:640px}

/* RX11c — cost layout: estimate card stays compact & sticky instead of stretching
   to the height of the text column (applies to page cost sections and bmid). */
.svc-page .svc-cost{align-items:start}
.svc-page .svc-cost .svc-cost-card{align-self:start;position:sticky;top:120px}

/* RX11d — final cost-card sizing: natural compact height, never aspect-locked */
.svc-page .svc-cost .svc-cost-card{aspect-ratio:auto;height:auto;min-height:0;align-self:start;position:sticky;top:120px}

/* RX11e — accordion answers open/close INSTANTLY (no max-height animation).
   The 0.35s transition could be captured/stuck mid-way leaving answers clipped;
   instant state change is deterministic in every browser. */
.svc-page .rx-acc .rx-acc-a{transition:none}

/* RX11f — rx-list2: clean two-column checklist (replaces the retired rx-ptgrid).
   Aligned rows, hairline dividers, no boxes; single column on mobile. */
.svc-page .rx-list2{columns:2;column-gap:56px;max-width:1040px;margin-inline:auto;padding:0;list-style:none}
.svc-page .rx-list2 li{break-inside:avoid;display:flex;gap:12px;align-items:flex-start;padding:13px 2px;border-bottom:1px solid var(--line)}
.svc-page .rx-list2 li svg{flex:none;margin-top:4px;color:var(--blue)}
.svc-page .rx-list2 li b{color:var(--ink)}
.svc-page .rx-list2 li span{font-size:15.5px;line-height:1.6;color:var(--ink-2)}
@media(max-width:760px){.svc-page .rx-list2{columns:1}}
/* numbered comparison/type cards (no icons) */
.svc-page .svc-tx-card .rx-cardnum{flex:none;width:42px;height:42px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:16px}
/* subtle callout band for supporting prose */
.svc-page .rx-note{max-width:980px;margin:30px auto 0;background:var(--blue-tint);border-left:4px solid var(--blue);border-radius:12px;padding:18px 22px}
.svc-page .rx-note p{margin:0 0 10px;font-size:15px;line-height:1.65;color:var(--ink-2)}
.svc-page .rx-note p:last-child{margin-bottom:0}

/* RX11g — accordion answers toggle via display (binary, can never be clipped
   mid-state); the .open class is the single source of truth. */
.svc-page .rx-acc .rx-acc-a{display:none;max-height:none!important;overflow:visible}
.svc-page .rx-acc .rx-acc-item.open .rx-acc-a{display:block}
/* wide components must not overflow the 820px tab panel */
.svc-page .rx-utabpanel .rx-list2{columns:1;max-width:100%}
.svc-page .rx-utabpanel .rx-note{max-width:100%}
.svc-page .rx-utabpanel .rx-sldr-static{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}

/* RX11h — prose sub-headings + list spacing (fixes cramped "Surgical Treatment"-style h4s) */
.svc-page .rx-subh{margin:28px 0 12px;font-size:18.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.svc-page .rx-subh:first-child{margin-top:0}
.svc-page .rx-list2{margin:8px auto 26px}
.svc-page .rx-step-dot .n{font-size:17px;font-weight:800;color:var(--blue)}
.svc-page .rx-step.on .rx-step-dot .n,.svc-page .rx-step:hover .rx-step-dot .n{color:inherit}

/* RX11i — fuller tab-panel content width */
.svc-page .rx-utabpanel{max-width:980px}

/* RX11j — checklists inside a 2-col split stay single-column */
.svc-page .svc-2col .rx-list2{columns:1;max-width:100%}

/* RX11k — rx-causegrid: causes/risk grid that works for ANY card count
   (the original .svc-grid uses 1px divider tracks and only fits exactly 3 cards) */
.svc-page .rx-causegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 0;align-items:stretch}
.svc-page .rx-causegrid .svc-card{padding:10px 40px 28px;border-left:1px solid #C9D4DC}
.svc-page .rx-causegrid .svc-card:nth-child(3n+1){border-left:none;padding-left:0}
/* RX11k-2 — when the grid holds exactly TWO cards, the default 3-col track
   leaves an empty third column that shifts the pair left. Use a centered 2-col band. */
.svc-page .rx-causegrid:has(> .svc-card:nth-child(2):last-child){
  grid-template-columns:repeat(2,1fr);max-width:920px;margin-inline:auto}
@media(max-width:980px){
  .svc-page .rx-causegrid{grid-template-columns:repeat(2,1fr)}
  .svc-page .rx-causegrid .svc-card{border-left:none;padding:10px 24px 26px 0;border-top:1px solid var(--line)}
  .svc-page .rx-causegrid .svc-card:nth-child(-n+2){border-top:none}
}
@media(max-width:640px){
  .svc-page .rx-causegrid{grid-template-columns:1fr}
  .svc-page .rx-causegrid .svc-card:nth-child(2){border-top:1px solid var(--line)}
}

/* RX-timeline — vertical timeline: icon marker rail on the left, numbered content on the right */
.svc-page .rx-timeline{max-width:860px;margin:8px auto 0}
.svc-page .rx-tl-item{display:grid;grid-template-columns:56px 1fr;gap:24px}
.svc-page .rx-tl-rail{position:relative;display:flex;justify-content:center}
.svc-page .rx-tl-rail::before{content:"";position:absolute;top:56px;bottom:-8px;width:2px;background:#C9D4DC}
.svc-page .rx-tl-item:last-child .rx-tl-rail::before{display:none}
.svc-page .rx-tl-dot{position:relative;z-index:1;width:56px;height:56px;border-radius:16px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;flex:none}
.svc-page .rx-tl-dot svg{width:24px;height:24px}
.svc-page .rx-tl-card{padding:4px 0 34px}
.svc-page .rx-tl-item:last-child .rx-tl-card{padding-bottom:4px}
.svc-page .rx-tl-num{display:block;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--blue);margin:0 0 8px}
.svc-page .rx-tl-card p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.75}
@media(max-width:640px){
  .svc-page .rx-tl-item{grid-template-columns:46px 1fr;gap:16px}
  .svc-page .rx-tl-dot{width:46px;height:46px;border-radius:13px}
  .svc-page .rx-tl-dot svg{width:20px;height:20px}
  .svc-page .rx-tl-rail::before{top:46px}
  .svc-page .rx-tl-card p{font-size:15px}
}

/* ---- RX12: FAQ questions wrapped in h3 (semantics only - zero visual change) ---- */
.svc-page .svc-faq-h{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}
.svc-page .svc-faq-h .svc-faq-q{width:100%}

/* ===== RX16 — invisible scrollbars on scrollable text rails (client: keep text
   scrollable but never show a scrollbar), 2026-07-23 ===== */
.svc-page .rx-story-steps{scrollbar-width:none}
.svc-page .rx-story-steps::-webkit-scrollbar{display:none}
.svc-page .rx-acc2.stretch .rx-acc{scrollbar-width:none}
.svc-page .rx-acc2.stretch .rx-acc::-webkit-scrollbar{display:none}
.svc-page .rx-imgpts-list{scrollbar-width:none;scrollbar-color:auto}
.svc-page .rx-imgpts-list::-webkit-scrollbar{display:none;width:0}

/* RX16b — tab labels must never truncate: allow wrapping inside utab/vtab pills */
.svc-page .rx-utab{white-space:nowrap;text-align:left;line-height:1.25}
.svc-page .rx-vtab{white-space:normal}

/* RX16c — long hero headlines: slightly smaller type + wider measure so even
   long SEO H1s hold to a maximum of two lines on desktop */
.svc-page .svc-hero h1.h1-long{font-size:clamp(24px,2.8vw,36px);max-width:56ch;line-height:1.28}
@media(max-width:720px){.svc-page .svc-hero h1.h1-long{font-size:clamp(22px,5.6vw,28px);max-width:100%}}

/* RX16d — overview media height: gradient placeholder panels and 2-col images
   must not stretch to the text column height. Cap them to the same visual size
   as the reference pilonidal-sinus overview photo (~440px). Applies site-wide. */
.svc-page .svc-2col > .svc-rv.d1{align-self:flex-start!important}
.svc-page .svc-ov-panel{min-height:0!important;height:440px;max-height:440px}
@media(max-width:860px){.svc-page .svc-ov-panel{height:300px;max-height:300px}}

/* ===== RX17 — accordion + story-steps: natural height, zero clipping (2026-07-23) =====
   Root cause of the "answer cut off / overlaps next row" bug: rx-acc2 accordions
   were a fixed-height (520px) inner-scroll grid with justify/align centering, and
   items kept overflow:hidden. When an answer opened, the row could not grow and the
   text bled over the next item. Fix: items never clip, answers flow as blocks, and
   the accordion/steps columns grow with the page instead of trapping scroll. */
.svc-page .rx-acc-item{overflow:visible}
.svc-page .rx-acc .rx-acc-a{display:none;max-height:none!important;overflow:visible;transition:none}
.svc-page .rx-acc .rx-acc-item.open .rx-acc-a{display:block}
.svc-page .rx-acc .rx-acc-item.open .rx-acc-a p{padding-top:2px}
/* image + accordion 2-col: let the accordion flow naturally, no inner scrollbar/clip */
.svc-page .rx-acc2.stretch .rx-acc{display:block;max-height:none;overflow:visible;justify-content:flex-start;align-content:start}
.svc-page .rx-acc2.stretch .rx-acc2-fig,
.svc-page .rx-acc2.stretch .rx-acc2-fig.dx{max-height:none}
/* story steps: drop the nested 500px scroll box that swallowed / skipped page scroll.
   Steps now flow with the page; the visual stays gently sticky beside them. */
.svc-page .rx-story-steps{max-height:none;overflow:visible;padding-right:0}
.svc-page .rx-story-visual{max-height:none}
@media(min-width:920px){.svc-page .rx-story-visual{position:sticky;top:110px;align-self:start}}

/* ===== RX18 — content + vertical timeline (2-col), clean tab lists (2026-07-23) ===== */
/* 2-col: prose/heading LEFT, vertical numbered timeline RIGHT (procedure/recovery) */
.svc-page .rx-tl2{display:grid;gap:30px}
@media(min-width:920px){.svc-page .rx-tl2{grid-template-columns:1fr 1.05fr;gap:56px;align-items:start}}
.svc-page .rx-tl2-copy .svc-eyebrow{margin-bottom:12px}
@media(min-width:920px){.svc-page .rx-tl2-copy{position:sticky;top:110px}}
.svc-page .rx-tl2-copy .svc-h2{text-align:left}
.svc-page .rx-tl2-copy p{color:var(--ink-2);font-size:15.5px;line-height:1.72;margin:0 0 14px}
.svc-page .rx-tl2-copy p:last-child{margin-bottom:0}
/* the timeline rail on the right reuses rx-story-step visuals */
.svc-page .rx-tl2 .rx-story-steps{max-height:none;overflow:visible;padding:0}
.svc-page .rx-tl2 .rx-story-step h4,.svc-page .rx-tl2 .rx-story-step h3{font-size:17px;margin:4px 0 6px}
/* uniform, readable tab-panel body: consistent type scale + spacing */
.svc-page .rx-utabpanel h3{font-size:21px;line-height:1.3;margin:0 0 12px}
.svc-page .rx-utabpanel > p{font-size:15.5px;line-height:1.72;color:var(--ink-2);margin:0 0 14px}
.svc-page .rx-utabpanel .rx-subh{margin:20px 0 8px;font-size:16px;font-weight:800;color:var(--ink)}
/* checklist used to replace bare/empty sub-headings inside tab panels */
.svc-page .rx-inlist{list-style:none;margin:8px 0 4px;padding:0;display:grid;gap:10px}
.svc-page .rx-inlist li{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.svc-page .rx-inlist li svg{flex:none;margin-top:3px;color:var(--blue)}
.svc-page .rx-inlist li b{color:var(--ink);font-weight:700}
/* "points in a row" — even, non-boxy row of 3-4 features (benefits, causes) */
.svc-page .rx-row{display:grid;gap:26px 30px}
@media(min-width:640px){.svc-page .rx-row.c2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:820px){.svc-page .rx-row.c3{grid-template-columns:repeat(3,1fr)}.svc-page .rx-row.c4{grid-template-columns:repeat(4,1fr)}}
.svc-page .rx-row .it{display:flex;flex-direction:column;gap:9px}
.svc-page .rx-row .it .ic{width:46px;height:46px;border-radius:13px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;flex:none}
.svc-page .rx-row .it .num{width:40px;height:40px;border-radius:11px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:16px;flex:none}
.svc-page .rx-row .it h4,.svc-page .rx-row .it h3{font-size:16.5px;font-weight:700;color:var(--ink);margin:2px 0 0;line-height:1.3}
.svc-page .rx-row .it p{font-size:14.5px;line-height:1.62;color:var(--ink-2);margin:0}

/* ===== RX19 — visible step numbers (2026-07-23) =====
   .rx-step-dot has a blue gradient bg with white content, but .n was colored
   var(--blue) → invisible. Force white so numbers read on the dot. (img5) */
.svc-page .rx-step-dot .n{color:#fff!important}
.svc-page .rx-step.on .rx-step-dot .n,.svc-page .rx-step:hover .rx-step-dot .n{color:#fff!important}

/* RX20 — boxed variant of rx-row (client: "4 boxes in a row") */
.svc-page .rx-row.boxed .it{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:26px 22px 24px;box-shadow:var(--shadow-sm);transition:box-shadow .25s,border-color .25s,transform .25s}
.svc-page .rx-row.boxed .it:hover{box-shadow:var(--shadow-md);border-color:var(--blue-soft);transform:translateY(-3px)}

/* RX21 — taller rx-story timeline image (client: "increase image height a bit", all pages) */
.svc-page .rx-story-visual{min-height:420px}
@media(min-width:920px){
  .svc-page .rx-story-visual{min-height:520px;max-height:600px;height:520px}
  .svc-page .rx-story-visual img{height:100%;max-height:600px}
}

/* RX22 — tab-panel checklist spacing (client: tighter, gaps were too large) */
.svc-page .rx-utabpanel .rx-inlist{gap:2px}
.svc-page .rx-utabpanel .rx-list2 li,
.svc-page .rx-utabpanel .rx-inlist li{padding-top:6px;padding-bottom:6px;line-height:1.55;font-size:15.5px}
.svc-page .rx-utabpanel .rx-list2 li svg,
.svc-page .rx-utabpanel .rx-inlist li svg{margin-top:3px}
.svc-page .rx-utabpanel .rx-list2{margin-top:6px}
.svc-page .rx-utabpanel > p{margin-bottom:16px}

/* RX23 — 5-in-a-row for rx-row (e.g. hair-transplant causes) */
@media(min-width:960px){.svc-page .rx-row.c5{grid-template-columns:repeat(5,1fr)}}
@media(min-width:640px) and (max-width:959px){.svc-page .rx-row.c5{grid-template-columns:repeat(3,1fr)}}

/* RX24 - non-boxy ("plain") carousel variant + carousel group label (cancer causes/symptoms) */
.svc-page .rx-sldr.plain{grid-auto-columns:minmax(190px,1fr)}
.svc-page .rx-sldr.plain .rx-slide{background:transparent;border:0;box-shadow:none;border-radius:14px;padding:18px 14px;text-align:center;display:flex;flex-direction:column;align-items:center}
.svc-page .rx-sldr.plain .rx-slide:hover{background:var(--blue-tint);box-shadow:none;border-color:transparent}
.svc-page .rx-sldr.plain .rx-slide .si{margin:0 0 12px}
.svc-page .rx-sldr.plain .rx-slide .sn{margin-bottom:4px}
.svc-page .rx-sldr.plain .rx-slide p{font-size:14.5px;color:var(--ink-2);margin-top:0;line-height:1.5}
.svc-page .rx-sldr-grouplabel{font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);margin:4px 0 14px}

/* ============================================================
   RX20 - "Medically Reviewed By" trust bar (auto-injected by
   svc-loader before the footer; built from the page's own
   .svc-doc specialist card so the doctor is always page-accurate)
   ============================================================ */
.svc-page .svc-medrev{padding:0 24px;margin:56px 0 64px}
.svc-page .svc-medrev-in{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:30px;background:linear-gradient(180deg,#f7fafd 0%,#ffffff 100%);border:1px solid var(--line);border-radius:20px;padding:24px 34px;box-shadow:var(--shadow-sm)}
.svc-page .svc-medrev-badge{display:flex;align-items:center;gap:13px;flex:none;font-weight:800;font-size:17px;color:var(--ink);letter-spacing:-.01em}
.svc-page .svc-medrev-badge svg{width:30px;height:30px;flex:none}
.svc-page .svc-medrev-sep{width:1px;align-self:stretch;background:var(--line);flex:none}
.svc-page .svc-medrev-doc{display:flex;align-items:center;gap:18px;min-width:0}
.svc-page .svc-medrev-doc img{width:76px;height:76px;border-radius:13px;object-fit:cover;object-position:top center;flex:none;background:var(--blue-tint);border:1px solid var(--line)}
.svc-page .svc-medrev-nm{font-weight:800;font-size:18px;color:var(--blue-ink);line-height:1.25}
.svc-page .svc-medrev-q{font-size:14px;color:var(--ink-2);line-height:1.5;margin-top:3px}
.svc-page .svc-medrev-d{font-size:14px;color:var(--ink-2);line-height:1.5}
@media(max-width:760px){
  .svc-page .svc-medrev-in{flex-direction:column;align-items:flex-start;gap:18px;padding:22px 22px}
  .svc-page .svc-medrev-sep{width:100%;height:1px}
  .svc-page .svc-medrev-doc img{width:64px;height:64px}
}

/* ============================================================
   RX25 — Institutional / info pages (vision-mission, tpa,
   patient-info, hospital-highlights, blogs). Logo walls,
   contact cards, value list, blog grid.
   ============================================================ */

/* Logo wall (TPA / insurance panels) */
.svc-page .logo-wall{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:560px){.svc-page .logo-wall{grid-template-columns:repeat(3,1fr)}}
@media(min-width:920px){.svc-page .logo-wall{grid-template-columns:repeat(4,1fr)}}
.svc-page .logo-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 14px 14px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:var(--shadow-sm);transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.svc-page .logo-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .logo-card .lw-img{width:100%;height:66px;display:grid;place-items:center;background:#fff;border-radius:8px;overflow:hidden}
.svc-page .logo-card img{max-width:100%;max-height:66px;object-fit:contain}
.svc-page .logo-card span{font-size:12px;font-weight:700;color:var(--ink-2);line-height:1.35}
.svc-page .logo-count{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--blue);background:var(--blue-tint);border-radius:100px;padding:6px 14px;margin:0 0 4px}

/* Contact cards (patient-info OPD / helpline) */
.svc-page .info-contacts{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:720px){.svc-page .info-contacts{grid-template-columns:repeat(2,1fr)}}
.svc-page .info-contact{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow-sm);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.svc-page .info-contact:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.svc-page .info-contact .ic{flex:none;width:46px;height:46px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center}
.svc-page .info-contact .ic svg{width:22px;height:22px}
.svc-page .info-contact .tx{display:flex;flex-direction:column;gap:4px;min-width:0}
.svc-page .info-contact .l{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}
.svc-page .info-contact .v{font-size:19px;font-weight:800;color:var(--ink);line-height:1.25}
.svc-page .info-contact .v a{color:var(--blue)}
.svc-page .info-contact .sub{font-size:13px;color:var(--ink-3);font-weight:600}

/* Value list (vision / mission) reuses .rx-pt; add a soft-panel wrapper */
.svc-page .val-panel{background:linear-gradient(160deg,var(--blue-tint),#fff);border:1px solid var(--line);border-radius:20px;padding:8px 26px}

/* Blog grid */
.svc-page .blog-grid{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:600px){.svc-page .blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.svc-page .blog-grid{grid-template-columns:repeat(3,1fr)}}
.svc-page .blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.svc-page .blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.svc-page .blog-card-img{aspect-ratio:16/10;overflow:hidden;background:var(--blue-tint)}
.svc-page .blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.svc-page .blog-card:hover .blog-card-img img{transform:scale(1.05)}
.svc-page .blog-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.svc-page .blog-meta{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.02em;margin-bottom:11px}
.svc-page .blog-meta .dt{color:var(--blue);text-transform:uppercase}
.svc-page .blog-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--ink-3);flex:none}
.svc-page .blog-meta .au{color:var(--ink-3)}
.svc-page .blog-card h3{font-size:16.5px;line-height:1.36;font-weight:800;color:var(--ink);margin:0 0 10px}
.svc-page .blog-card h3 a{color:inherit;transition:color .2s var(--ease)}
.svc-page .blog-card h3 a:hover{color:var(--blue)}
.svc-page .blog-card p{font-size:13.8px;line-height:1.62;color:var(--ink-2);margin:0 0 16px}
.svc-page .blog-card .rd{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--blue)}
.svc-page .blog-card .rd svg{width:15px;height:15px;transition:transform .25s var(--ease)}
.svc-page .blog-card:hover .rd svg{transform:translateX(3px)}
.svc-page .blog-featured .blog-meta .dt{color:var(--blue)}

/* ============================================================
   RX26 — Compact page header (no full hero) for About subpages
   ============================================================ */
.svc-page .page-head{position:relative;background:linear-gradient(180deg,var(--blue-tint),#fff);border-bottom:1px solid var(--line);overflow:hidden}
.svc-page .page-head .svc-wrap{position:relative;z-index:1;padding-top:38px;padding-bottom:40px}
.svc-page .page-head .ph-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-3);margin-bottom:16px}
.svc-page .page-head .ph-crumb a{color:var(--blue);font-weight:700}
.svc-page .page-head .ph-crumb .sep{opacity:.55}
.svc-page .page-head h1{font-size:clamp(28px,4vw,44px);line-height:1.08;font-weight:800;color:var(--blue-ink);letter-spacing:-.02em;margin:0}
.svc-page .page-head h1 .t{color:var(--blue)}
.svc-page .page-head p{margin:15px 0 0;max-width:770px;font-size:16px;line-height:1.7;color:var(--ink-2)}
.svc-page .page-head .ph-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.svc-page .page-head::after{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(14,130,190,.10),transparent 70%);z-index:0;pointer-events:none}
@media(max-width:640px){.svc-page .page-head .svc-wrap{padding-top:26px;padding-bottom:30px}.svc-page .page-head::after{width:220px;height:220px;right:-70px;top:-70px}}

/* RX27 — slim breadcrumb strip (no page header/hero) */
.svc-page .page-crumb{background:#fff;border-bottom:1px solid var(--line)}
.svc-page .page-crumb .svc-wrap{padding-top:15px;padding-bottom:15px}
.svc-page .page-crumb .ph-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-3);margin:0}
.svc-page .page-crumb .ph-crumb a{color:var(--blue);font-weight:700}
.svc-page .page-crumb .ph-crumb .sep{opacity:.55}
.svc-page .page-crumb .ph-crumb .cur{color:var(--ink)}

/* ============================================================
   RX28 — Thin page banner + clean Vision/Mission layout
   ============================================================ */
.svc-page .page-band{position:relative;overflow:hidden;background:var(--blue-ink)}
.svc-page .page-band .pb-bg{position:absolute;inset:0;background-size:cover;background-position:center right}
.svc-page .page-band .pb-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,58,86,.94) 0%,rgba(8,58,86,.80) 42%,rgba(10,94,138,.52) 100%)}
.svc-page .page-band .svc-wrap{position:relative;z-index:1;padding-top:116px;padding-bottom:124px}
.svc-page .page-band .ph-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:15.5px;font-weight:600;color:rgba(255,255,255,.78);margin:0 0 16px}
.svc-page .page-band .ph-crumb a{color:#9BD4F0;font-weight:700}
.svc-page .page-band .ph-crumb .sep{opacity:.6}
.svc-page .page-band .ph-crumb .cur{color:#fff}
.svc-page .page-band h1{color:#fff;font-size:clamp(26px,3.6vw,40px);line-height:1.08;font-weight:800;letter-spacing:-.02em;margin:0}
.svc-page .page-band h1 .t{color:#9BD4F0}
@media(max-width:640px){.svc-page .page-band .svc-wrap{padding-top:52px;padding-bottom:56px}}

/* Vision / Mission — sticky media + (scrollable) value list */
.svc-page .vm-row{display:grid;gap:40px;align-items:start}
@media(min-width:900px){.svc-page .vm-row{grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr)}.svc-page .vm-row.rev{grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr)}.svc-page .vm-row.rev .vm-media{order:2}}
.svc-page .vm-media{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(12,44,77,.55)}
@media(min-width:900px){.svc-page .vm-media{position:sticky;top:96px}}
.svc-page .vm-media img{display:block;width:100%;height:100%;min-height:430px;object-fit:cover}
.svc-page .vm-content{min-width:0}
.svc-page .vm-content .svc-eyebrow{margin-bottom:12px}
.svc-page .vm-content .svc-h2{text-align:left;margin:0}
.svc-page .vm-list{margin-top:24px}
.svc-page .vm-list.scroll{max-height:392px;overflow-y:auto;padding-right:16px}
.svc-page .vm-list.scroll::-webkit-scrollbar{width:6px}
.svc-page .vm-list.scroll::-webkit-scrollbar-track{background:transparent}
.svc-page .vm-list.scroll::-webkit-scrollbar-thumb{background:var(--blue-soft);border-radius:100px}
.svc-page .vm-item{display:flex;gap:16px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--line);transition:transform .25s var(--ease)}
.svc-page .vm-item:first-child{padding-top:0}
.svc-page .vm-item:last-child{border-bottom:none}
.svc-page .vm-item:hover{transform:translateX(4px)}
.svc-page .vm-ic{flex:none;width:42px;height:42px;border-radius:12px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;box-shadow:0 6px 14px -8px rgba(14,130,190,.7)}
.svc-page .vm-ic svg{width:22px;height:22px}
.svc-page .vm-item p{margin:0;font-size:16px;line-height:1.6;color:var(--ink);font-weight:600;padding-top:9px}

/* ============================================================
   RX29 — Vision & Mission unified interactive "Compass" panel
   ============================================================ */
.svc-page .vm2{max-width:1140px;margin-inline:auto}
.svc-page .vm2-tabs{display:grid;gap:22px}
@media(min-width:900px){.svc-page .vm2-tabs{grid-template-columns:268px 1fr;gap:36px;align-items:start}}
.svc-page .vm2-rail{display:flex;flex-direction:column;gap:10px}
@media(min-width:900px){.svc-page .vm2-rail{position:sticky;top:100px}}
.svc-page .vm2-tab{display:flex;gap:13px;align-items:center;width:100%;text-align:left;border:1px solid transparent;border-left:3px solid transparent;background:transparent;border-radius:14px;padding:15px 18px;cursor:pointer;font-family:inherit;transition:background .3s var(--ease),border-color .3s var(--ease)}
.svc-page .vm2-tab .t-ic{flex:none;width:38px;height:38px;border-radius:11px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;transition:background .3s var(--ease),color .3s var(--ease)}
.svc-page .vm2-tab .t-ic svg{width:20px;height:20px}
.svc-page .vm2-tab .t-tx{min-width:0}
.svc-page .vm2-tab b{display:block;font-size:16px;font-weight:800;color:var(--ink);line-height:1.2;margin-bottom:3px}
.svc-page .vm2-tab small{font-size:12.5px;color:var(--ink-3);font-weight:600}
.svc-page .vm2-tab:hover{background:#F4F9FC}
.svc-page .vm2-tab.on{background:var(--blue-tint);border-left-color:var(--blue)}
.svc-page .vm2-tab.on b{color:var(--blue)}
.svc-page .vm2-tab.on .t-ic{background:var(--blue);color:#fff}
.svc-page .vm2-stage{min-width:0}
.svc-page .vm2-panel{display:none}
.svc-page .vm2-panel.on{display:block;animation:vmfade .5s var(--ease)}
@keyframes vmfade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.svc-page .vm2-card{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md)}
@media(min-width:900px){.svc-page .vm2-card{grid-template-columns:0.8fr 1.2fr}}
.svc-page .vm2-media{position:relative;min-height:320px}
.svc-page .vm2-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-page .vm2-media .ov{position:absolute;inset:0;background:linear-gradient(155deg,rgba(8,58,86,.10) 0%,rgba(8,58,86,.16) 55%,rgba(8,58,86,.28) 100%)}
.svc-page .vm2-media .gl{position:absolute;top:28px;left:30px;width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:1}
.svc-page .vm2-media .gl svg{width:27px;height:27px;color:#fff}
.svc-page .vm2-media .cap{position:absolute;left:0;bottom:0;z-index:1;padding:30px 32px;color:#fff}
.svc-page .vm2-media .cap .lab{display:block;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#9BD4F0;margin-bottom:10px}
.svc-page .vm2-media .cap .big{font-size:clamp(21px,2.2vw,27px);font-weight:800;line-height:1.15;letter-spacing:-.01em}
.svc-page .vm2-body{padding:clamp(30px,3.4vw,48px);display:flex;flex-direction:column;justify-content:center}
.svc-page .vm2-body .sub{font-size:11.5px;font-weight:700;letter-spacing:.09em;color:var(--blue);text-transform:uppercase;margin:0 0 16px}
.svc-page .vm2-vrow{display:flex;gap:15px;align-items:flex-start;padding:22px 0;border-bottom:1px solid rgba(8,58,86,.13)}
.svc-page .vm2-vrow:last-child{border-bottom:none}
.svc-page .vm2-vrow:first-of-type{padding-top:0}
.svc-page .vm2-vrow .n{flex:none;width:29px;height:29px;border-radius:50%;background:transparent;border:1.5px solid var(--blue-soft);color:var(--blue);font-weight:700;font-size:12px;display:grid;place-items:center}
.svc-page .vm2-vrow p{margin:0;font-size:15px;line-height:1.62;color:var(--ink-2);font-weight:600;padding-top:3px}
.svc-page .vm2-panel.vis .vm2-vrow p{font-size:16.5px;font-weight:600;line-height:1.55;padding-top:2px;color:var(--ink)}

/* RX30 — Hospital Highlights icon-card grid */
.svc-page .hh-grid{display:grid;gap:18px;grid-template-columns:1fr;margin-top:28px}
@media(min-width:720px){.svc-page .hh-grid{grid-template-columns:1fr 1fr;gap:18px 20px}}
.svc-page .hh-item{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.svc-page .hh-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .hh-item .ic{flex:none;width:46px;height:46px;border-radius:13px;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center}
.svc-page .hh-item .ic svg{width:23px;height:23px}
.svc-page .hh-item p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink);font-weight:600}

/* RX31 — polished patient-info IPD accordion (.rx-acc.pi) */
.svc-page .rx-acc.pi{margin:28px auto 0;display:flex;flex-direction:column;gap:12px}
.svc-page .rx-acc.pi .rx-acc-item{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease),border-color .25s var(--ease)}
.svc-page .rx-acc.pi .rx-acc-item:not(.open):hover{border-color:var(--blue-soft);box-shadow:var(--shadow-md)}
.svc-page .rx-acc.pi .rx-acc-item.open{border-color:var(--blue-soft);box-shadow:var(--shadow-md)}
.svc-page .rx-acc.pi .rx-acc-q{padding:18px 22px;gap:16px}
.svc-page .rx-acc.pi .rx-acc-num{border-radius:11px;transition:background .25s var(--ease),color .25s var(--ease)}
.svc-page .rx-acc.pi .rx-acc-item.open .rx-acc-num{background:linear-gradient(160deg,var(--blue),var(--blue-deep));color:#fff}
.svc-page .rx-acc.pi .rx-acc-q h4,.svc-page .rx-acc.pi .rx-acc-q h3{font-size:16.5px;font-weight:800}
.svc-page .rx-acc.pi .rx-acc-a{padding:0 24px 22px 78px}
.svc-page .rx-acc.pi .rx-acc-a ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.svc-page .rx-acc.pi .rx-acc-a li{position:relative;padding-left:30px;font-size:14.5px;line-height:1.6;color:var(--ink-2);font-weight:500}
.svc-page .rx-acc.pi .rx-acc-a li::before{content:"";position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:6px;background:var(--blue-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E82BE' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
@media(max-width:600px){.svc-page .rx-acc.pi .rx-acc-a{padding:0 20px 20px 22px}}

/* RX26 - two-doctor specialist row (second card via [data-doc2-*] marker, wired in svc-loader) */
.svc-page .svc-doc2{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1080px;margin-inline:auto;align-items:start}
.svc-page .svc-doc2 .svc-doc{grid-template-columns:118px 1fr;gap:22px;padding:26px;margin:0;box-shadow:var(--shadow-sm);align-items:center}
.svc-page .svc-doc2 .svc-doc h3{font-size:19px;margin-bottom:3px}
.svc-page .svc-doc2 .svc-doc .qual{font-size:12.5px;margin-bottom:10px}
.svc-page .svc-doc2 .svc-doc p{font-size:13.5px;line-height:1.6;margin-bottom:10px}
.svc-page .svc-doc2 .svc-doc img{aspect-ratio:1/1.15;max-width:none}
@media(max-width:900px){.svc-page .svc-doc2{grid-template-columns:1fr;max-width:660px}}
@media(max-width:520px){.svc-page .svc-doc2 .svc-doc{grid-template-columns:1fr;text-align:center}.svc-page .svc-doc2 .svc-doc img{max-width:180px;margin:0 auto}}

/* RX32 — icons inside accordion num chip + centered contact cards */
.svc-page .rx-acc.pi .rx-acc-num svg{width:21px;height:21px}
.svc-page .info-contact{align-items:center}

/* RX33 — Our Doctors grid */
.svc-page .docs-grid{display:grid;gap:22px;grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.svc-page .docs-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.svc-page .docs-grid{grid-template-columns:repeat(4,1fr)}}
.svc-page .doc-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.svc-page .doc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.svc-page .doc-card .ph{aspect-ratio:1/1.06;overflow:hidden;background:var(--blue-tint)}
.svc-page .doc-card .ph img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s var(--ease)}
.svc-page .doc-card:hover .ph img{transform:scale(1.04)}
.svc-page .doc-card .di{padding:16px 18px 20px}
.svc-page .doc-card .di b{display:block;font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.svc-page .doc-card .di small{display:block;font-size:12.5px;font-weight:700;color:var(--blue);letter-spacing:.02em;line-height:1.4;margin-top:5px}

/* RX27 - 2-column accordion (no image) */
.svc-page .rx-acc-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1040px;margin-inline:auto}
.svc-page .rx-acc-cols .rx-acc{margin:0}
@media(max-width:760px){.svc-page .rx-acc-cols{grid-template-columns:1fr}}

/* RX34 — patient-info OPD: all 4 helpline cards in one row (stacked cards) */
@media(min-width:960px){
  .svc-page #pi2 .info-contacts{grid-template-columns:repeat(4,1fr)}
  .svc-page #pi2 .info-contact{flex-direction:column;align-items:flex-start;gap:14px}
}

/* RX28 - About-us pages: roomier content rows */
.svc-page.about-page .svc-s{padding:118px 0}
.svc-page.about-page .svc-2col{gap:64px}
@media(max-width:780px){.svc-page.about-page .svc-s{padding:60px 0}}

/* RX35 — generic vertical tabs (left title rail + right content) */
.svc-page .vtab{display:grid;gap:22px}
@media(min-width:860px){.svc-page .vtab{grid-template-columns:300px 1fr;gap:34px;align-items:start}}
.svc-page .vtab-nav{display:flex;flex-direction:column;gap:8px}
@media(min-width:860px){.svc-page .vtab-nav{position:sticky;top:100px;max-height:78vh;overflow-y:auto;padding-right:6px;scrollbar-width:thin}}
.svc-page .vtab-nav::-webkit-scrollbar{width:6px}
.svc-page .vtab-nav::-webkit-scrollbar-thumb{background:var(--blue-soft);border-radius:100px}
.svc-page .vtab-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid transparent;border-left:3px solid transparent;background:transparent;border-radius:12px;padding:12px 15px;cursor:pointer;font-family:inherit;transition:background .3s var(--ease),border-color .3s var(--ease)}
.svc-page .vtab-btn .n{flex:none;width:31px;height:31px;border-radius:9px;background:var(--blue-tint);color:var(--blue);font-weight:800;font-size:12.5px;display:grid;place-items:center;transition:background .3s var(--ease),color .3s var(--ease)}
.svc-page .vtab-btn b{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.25}
.svc-page .vtab-btn:hover{background:#F4F9FC}
.svc-page .vtab-btn.on{background:var(--blue-tint);border-left-color:var(--blue)}
.svc-page .vtab-btn.on b{color:var(--blue)}
.svc-page .vtab-btn.on .n{background:var(--blue);color:#fff}
.svc-page .vtab-panels{min-width:0}
.svc-page .vtab-panel{display:none}
.svc-page .vtab-panel.on{display:block;animation:vmfade .5s var(--ease)}
.svc-page .vtab-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:clamp(26px,3vw,40px)}
.svc-page .vtab-panel .pe{display:block;font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.svc-page .vtab-panel h3{font-size:clamp(20px,2.2vw,25px);font-weight:800;color:var(--blue-ink);letter-spacing:-.01em;margin:0 0 14px}
.svc-page .vtab-panel p{font-size:15px;line-height:1.7;color:var(--ink-2);margin:0}
.svc-page .vtab-panel p a{color:var(--blue);font-weight:700}

/* RX36 — 2-col: sticky intro left + accordion right (cosmetic procedures) */
.svc-page .proc2{display:grid;gap:26px}
@media(min-width:900px){.svc-page .proc2{grid-template-columns:0.82fr 1.18fr;gap:44px;align-items:start}}
@media(min-width:900px){.svc-page .proc2-intro{position:sticky;top:100px}}
.svc-page .proc2-intro .svc-h2{text-align:left}
.svc-page .proc-acc.rx-acc.pi{grid-template-columns:1fr!important;margin:0}

/* RX36b — proc-acc answer alignment: kill the double left padding on <p> */
.svc-page .proc-acc .rx-acc-a p{padding:0;margin:0}
@media(max-width:600px){.svc-page .proc-acc .rx-acc-a{padding:0 20px 20px 22px}}
/* RX36c — lighter accordion heading weight for proc-acc */
.svc-page .rx-acc.pi.proc-acc .rx-acc-q h4,/* RX36c — lighter accordion heading weight for proc-acc */
.svc-page .rx-acc.pi.proc-acc .rx-acc-q h3{font-weight:700}

/* ============================================================
   MOBILE QA HARDENING · v36  (appended last — wins the cascade)
   Fixes horizontal overflow, symptom grid, FAQ columns, the
   related-treatments carousel and misc responsive polish.
   ============================================================ */

/* 0 · Absolute guard: the viewport must never scroll sideways. body already
      clips; clip the root too so a stray fixed/oversized element (the
      off-canvas drawer, an odd inline width) can't extend the page width. */
html{overflow-x:clip}

/* 1 · Grid image-figures shipped aspect-ratio together with a definite
      min-height (e.g. 420px). With an auto width the browser derives the
      width FROM the height (420 × 16/9 ≈ 747px) and ignores the grid column,
      blowing out the page and stretching window.innerWidth — which then broke
      every JS width check. Making the width definite (100% of the column)
      stops aspect-ratio from driving width; min-width:0 removes the grid
      auto-minimum. Height still follows aspect-ratio / min-height. */
.svc-page .rx-story-visual,
.svc-page .rx-acc2-fig,
.svc-page .rx-imgpts-fig,
.svc-page .rx-ov2-fig,
.svc-page .rx-ov-fig{min-width:0;width:100%;max-width:100%}
.svc-page .svc-2col > div,
.svc-page .rx-story > *,
.svc-page .rx-acc2 > *,
.svc-page .rx-imgpts > *,
.svc-page .rx-ov2 > *,
.svc-page .rx-tl2 > *,
.svc-page .rx-txgrid > *,
.svc-page .rx-split > *{min-width:0}

/* 2 · Symptom medallions — always two per row on mobile (several variants
      collapsed to a single column before). */
/* !important + covers the 4 pages that hard-code an inline
   grid-template-columns:repeat(5|6,1fr) on .svc-symp (inline styles otherwise
   beat the media query). Tablet gets 3-up, phone 2-up. */
@media(min-width:641px) and (max-width:900px){
  .svc-page .svc-symp,
  .svc-page .svc-symp.four,
  .svc-page .svc-symp.five{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:640px){
  .svc-page .svc-symp,
  .svc-page .svc-symp.four,
  .svc-page .svc-symp.five{grid-template-columns:1fr 1fr!important;gap:26px 12px}
  .svc-page .svc-symp.five > *:nth-child(5){grid-column:auto}
  .svc-page .svc-symp .ic{width:72px;height:72px}
  .svc-page .svc-symp b{font-size:14px}
  .svc-page .svc-symp small{font-size:12px}
  .svc-page .svc-symp .it > span:last-child{max-width:100%}
}

/* 3 · FAQ — one per row on mobile. The JS packer keys off clientWidth so it
      builds a single column on phones; this is the CSS-grid fallback. */
@media(max-width:720px){
  .svc-page .svc-faq-list{grid-template-columns:1fr}
}

/* 4 · Related Treatments — guaranteed horizontal swipe carousel on mobile,
      even if an earlier rule tried to grid/stack it. */
@media(max-width:780px){
  .svc-page .svc-rel{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;scroll-padding-left:16px;padding:8px 2px 20px}
  .svc-page .svc-rel > .svc-rel-card{flex:0 0 80%;max-width:320px;min-width:0;scroll-snap-align:start}
}

/* 4b · rx-sldr-static — the "explore procedures / related" card grids ship an
      inline auto-fit grid that collapses to one stacked column on phones.
      Make them the same horizontal swipe carousel on mobile (inline styles
      force the !important overrides). Used on endoscopy, joint-replacement,
      cancer-surgery, etc. */
@media(max-width:780px){
  .svc-page .rx-sldr-static{display:flex!important;grid-template-columns:none!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px!important;scroll-padding-left:16px;padding-bottom:12px}
  .svc-page .rx-sldr-static > *{flex:0 0 78%!important;max-width:300px;min-width:0;scroll-snap-align:start}
}

/* ===== SEO25 — heading-structure cleanup (2026-08-02) =====
   "Book an Appointment" form titles and other purely decorative labels are no
   longer heading elements, so every page keeps a clean H1 -> H2 -> H3 outline.
   These rules reproduce the previous heading styling one-for-one. */
.svc-page .svc-visit-form-title{font-size:22px;font-weight:600;color:var(--ink);line-height:1.2;letter-spacing:-.02em;margin:0 0 6px}
.svc-page .svc-form .svc-visit-form-title{font-size:22px}

/* ===== SEO25b — "Causes" carousel: dependable scrolling on every device/browser
   (client: the Causes of Hiatus Hernia rail did not scroll properly).
   - `mandatory` snapping fought programmatic scrollBy in Safari/Firefox and
     could bounce the rail back to where it started -> `proximity`.
   - horizontal overscroll chained to the page and fired the browser
     back-gesture on trackpads -> `overscroll-behavior-x: contain`.
   - `touch-action: pan-x pan-y` keeps vertical page scroll working while a
     finger is on the rail (no scroll-trapping).
   - the arrows were hidden below 780px, leaving phones/tablets with no
     control at all -> visible everywhere, sized down on small screens.     */
.svc-page .svc-causes{
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  scroll-padding-left:2px;
}
.svc-page .svc-causes:focus-visible{outline:2px solid var(--blue);outline-offset:6px;border-radius:16px}
.svc-page .svc-causes-nav button[disabled]{opacity:.34;cursor:default;box-shadow:none}
.svc-page .svc-causes-nav button[disabled]:hover{background:#fff;border-color:var(--line);color:var(--blue-ink)}
@media(max-width:780px){
  .svc-page .svc-causes-wrap{padding:0 4px}
  .svc-page .svc-causes-nav{display:flex}
  .svc-page .svc-causes-nav button{width:38px;height:38px;background:rgba(255,255,255,.94);backdrop-filter:blur(4px)}
  .svc-page .svc-causes .it{flex:0 0 78%}
}

/* ===== SEO25c — external medical references block =====
   Sits after the page content, before the "Medically Reviewed By" bar. */
.svc-page .svc-refs-sec{padding:0 0 56px}
.svc-page .svc-refs{border-top:1px solid var(--line);padding-top:26px;max-width:1520px}
.svc-page .svc-refs-h{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px}
.svc-page .svc-refs-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:10px 14px}
.svc-page .svc-refs-list a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--blue);text-decoration:none;background:var(--blue-tint);border:1px solid var(--blue-soft);border-radius:100px;padding:8px 16px;transition:.2s}
.svc-page .svc-refs-list a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.svc-page .svc-refs-list svg{flex:none;opacity:.8}
.svc-page .svc-refs-note{font-size:12.5px;line-height:1.6;color:var(--ink-3);margin:0;max-width:80ch}
@media(max-width:640px){.svc-page .svc-refs-list a{font-size:13px;padding:7px 13px}}

/* ===== SEO26 — two-column checklist modifier (long verbatim bullet lists) ===== */
.svc-page .rx-inlist.cols2{grid-template-columns:repeat(2,1fr);gap:12px 34px;max-width:1180px;margin-inline:auto}
@media(max-width:820px){.svc-page .rx-inlist.cols2{grid-template-columns:1fr}}
/* video testimonial grid (robotic knee page) */
.svc-page .svc-vids{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.svc-page .svc-vid{background:#fff;border:1.5px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
.svc-page .svc-vid iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}
.svc-page .svc-vid .m{padding:16px 18px 18px}
.svc-page .svc-vid .m b{display:block;font-size:15.5px;color:var(--ink);font-weight:700}
.svc-page .svc-vid .m small{display:block;font-size:13px;color:var(--ink-3);font-weight:600;margin-top:3px}
@media(max-width:900px){.svc-page .svc-vids{grid-template-columns:1fr}}

/* SEO26b — light variant of the area pills (People Also Search For block) */
.svc-page .rx-areas.light .pill{background:var(--blue-tint);border-color:var(--blue-soft);color:var(--blue-ink)}
.svc-page .rx-areas.light .pill svg{color:var(--blue)}

/* ===== SEO27 — symptom medallions on a carousel rail (2026-08-03) =====
   Client asked for the orthopaedics "Symptoms to Watch For" grid to become a
   carousel. Keep the circular-icon medallion look they already approved for
   .svc-symp, but ride the standard .rx-sldr track so the shared prev/next
   wiring in svc-loader drives it. Deliberately NOT reusing the .svc-symp class
   on the track: the mobile guards near the end of this file force
   grid-template-columns on .svc-symp with !important and would re-grid it. */
.svc-page .rx-sldr.symp{align-items:flex-start;padding-top:10px}
.svc-page .rx-sldr.symp>.it{flex:0 0 clamp(200px,21%,242px);display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 10px 4px;background:none;border:none;transition:transform .3s var(--ease)}
.svc-page .rx-sldr.symp>.it:hover{transform:translateY(-6px)}
.svc-page .rx-sldr.symp .ic{flex:none;width:96px;height:96px;border-radius:50%;background:linear-gradient(145deg,#D5E9F4,#EAF4FA);border:1px solid #BCD9EA;color:var(--blue-deep);display:grid;place-items:center;margin-bottom:14px;position:relative;transition:background .35s,color .35s,box-shadow .35s,border-color .35s}
.svc-page .rx-sldr.symp .ic::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px dashed var(--blue-soft);opacity:0;transform:scale(.94);transition:opacity .35s,transform .35s var(--ease)}
.svc-page .rx-sldr.symp>.it:hover .ic{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(14,130,190,.22)}
.svc-page .rx-sldr.symp>.it:hover .ic::after{opacity:1;transform:scale(1)}
.svc-page .rx-sldr.symp b{display:block;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.005em;line-height:1.35}
@media(max-width:640px){
  .svc-page .rx-sldr.symp>.it{flex:0 0 64%}
  .svc-page .rx-sldr.symp .ic{width:80px;height:80px;margin-bottom:12px}
  .svc-page .rx-sldr.symp b{font-size:14px}
}

/* SEO27c — .svc-why point titles are <b> on the older pages; where the source
   section shipped real <h3> headings (robotic-knee "Why Kapadia") keep the
   heading for SEO and render it exactly like the <b>. */
.svc-page .svc-why h3{display:block;font-size:17px;font-weight:700;line-height:1.35;color:var(--ink);margin:0 0 5px}

/* SEO27b — merged tabbed sections (knee care + treatments, causes/candidacy/
   recovery/conclusion) hold accordions and 2-col media, so their panels need
   more than the 980px prose measure. `.wide` opts a tab block into full width
   without touching the prose-only panels on other pages. */
.svc-page .rx-utabs.wide .rx-utabpanel{max-width:1180px}
.svc-page .rx-utabs.wide .rx-utabpanel .rx-acc{max-width:none}
.svc-page .rx-utabs.wide .rx-utabpanel .rx-ov2{gap:36px}
@media(min-width:920px){
  .svc-page .rx-utabs.wide .rx-utabpanel .rx-ov2{gap:48px;align-items:stretch}
  /* the figure matches the prose column height the way the un-tabbed
     svc-2col layout did; aspect-ratio must go, or it would drive the width */
  .svc-page .rx-utabs.wide .rx-utabpanel .rx-ov2-fig{aspect-ratio:auto;min-height:420px}
}


/* ===== INLINE MEDICAL REFERENCES =====
   External authority links (NHS / MedlinePlus) woven into body copy,
   replacing the old bottom-of-page .svc-refs-sec block. */
.svc-page a.svc-inline-ref{
  color:inherit;
  text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:100% 1px;
  padding-bottom:1px;
  opacity:.92;
  transition:color .18s ease,background-size .18s ease,opacity .18s ease;
}
.svc-page a.svc-inline-ref:hover,
.svc-page a.svc-inline-ref:focus-visible{
  color:#0B72C0;
  opacity:1;
  background-size:100% 2px;
}
.svc-page a.svc-inline-ref:focus-visible{
  outline:2px solid #0B72C0;
  outline-offset:2px;
  border-radius:2px;
}
.svc-page a.svc-inline-ref::after{
  content:"";
  display:inline-block;
  width:.62em;height:.62em;
  margin-left:.28em;
  vertical-align:baseline;
  background-color:currentColor;
  opacity:.62;
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpath d='M15 3h6v6M10 14 21 3'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpath d='M15 3h6v6M10 14 21 3'/%3E%3C/svg%3E");
}
@media(prefers-reduced-motion:reduce){
  .svc-page a.svc-inline-ref{transition:none}
}


/* Internal contextual links woven into body copy (sibling of .svc-inline-ref,
   without the external-site icon). */
.svc-page a.svc-inline-int{
  color:#0B72C0;
  font-weight:600;
  text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:100% 1px;
  padding-bottom:1px;
  transition:background-size .18s ease,color .18s ease;
}
.svc-page a.svc-inline-int:hover,
.svc-page a.svc-inline-int:focus-visible{color:#095a96;background-size:100% 2px}
.svc-page a.svc-inline-int:focus-visible{outline:2px solid #0B72C0;outline-offset:2px;border-radius:2px}
@media(prefers-reduced-motion:reduce){.svc-page a.svc-inline-int{transition:none}}


/* ===== DOCTOR PROFILE (DOC26) =====
   /dr-*.php - hero (portrait + meta cards), scrolling main column,
   fixed sidebar. Shared tokens only; no new colours. */
.svc-page .doc-hero{position:relative;overflow:hidden;color:var(--ink);padding:26px 0 60px;
  background:linear-gradient(180deg,#fff 0%,var(--surface) 100%);border-bottom:1px solid var(--line)}
.svc-page .doc-hero-glow{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(58% 62% at 88% 8%,var(--blue-tint) 0%,rgba(234,244,250,0) 62%),
  radial-gradient(48% 55% at 0% 96%,rgba(213,233,244,.55) 0%,rgba(213,233,244,0) 60%)}
.svc-page .doc-hero>.svc-wrap{position:relative;z-index:1}
.svc-page .doc-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  color:var(--ink-3);margin:0;padding:10px 0 20px;font-size:13.5px}
.svc-page .doc-crumb a{color:var(--ink-3)}
.svc-page .doc-crumb a:hover{color:var(--blue)}
.svc-page .doc-crumb .cur{color:var(--blue-ink);font-weight:700}
.svc-page .doc-crumb .sep{color:var(--ink-3);opacity:.5}
.svc-page .doc-hero-grid{display:grid;grid-template-columns:352px minmax(0,1fr);gap:56px;align-items:center}

.svc-page .doc-hero-fig{position:relative;width:100%}
.svc-page .doc-portrait{position:relative;border-radius:20px;overflow:hidden;background:#fff;
  border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.svc-page .doc-portrait img{display:block;width:100%;height:auto}

/* RX12 — svc-acc-cause: causes rendered as the standard accordion, with the
   card icon carried into the question row. Reuses .svc-faq-* so the existing
   accordion JS (exclusive open + balanced two-column packing) applies. */
.svc-page .svc-faq-q .qh{display:flex;align-items:center;gap:13px;min-width:0}
.svc-page .svc-faq-q .qic{flex:none;width:38px;height:38px;border-radius:11px;
  background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;
  transition:background .3s,color .3s}
.svc-page .svc-faq-q .qic svg{width:20px;height:20px}
.svc-page .svc-faq-item.open .svc-faq-q .qic{background:var(--blue);color:#fff}
.svc-page .svc-acc-cause .svc-faq-a p{padding-left:73px}
@media (max-width:560px){
  .svc-page .svc-faq-q .qic{width:32px;height:32px;border-radius:9px}
  .svc-page .svc-faq-q .qic svg{width:18px;height:18px}
  .svc-page .svc-acc-cause .svc-faq-a p{padding-left:22px}
}

/* RX13 — headline-only .svc-why rows (no description line) need less vertical
   padding than the default 28px, which is sized for a b + p pair. Scoped to
   #svc-advantages so every other "Why Choose Us" grid is unaffected. */
.svc-page #svc-advantages .svc-why .it{padding:15px 0}
.svc-page #svc-advantages .svc-why b{margin-bottom:0}

/* RX14 — rx-fig-match: size the figure to the accordion beside it.
   A portrait image with height:100% inside an auto-height figure falls back to
   its intrinsic height and drives the grid row taller than the text column.
   Taking the image out of flow lets the accordion set the row height, and the
   image crops to fill it. Opt-in class — untagged .rx-acc2 blocks are unchanged. */
@media(min-width:920px){
  .svc-page .rx-acc2.rx-fig-match{align-items:stretch}
  .svc-page .rx-acc2.rx-fig-match .rx-acc2-fig{position:relative;height:100%;min-height:0;aspect-ratio:auto}
  .svc-page .rx-acc2.rx-fig-match .rx-acc2-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}
.svc-page .doc-badge{position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:9px;white-space:nowrap;
  background:var(--blue);color:#fff;border-radius:999px;padding:11px 22px;box-shadow:0 10px 24px rgba(14,130,190,.38)}
.svc-page .doc-badge svg{width:16px;height:16px;flex:none}
.svc-page .doc-badge span{font-size:13.5px;font-weight:700}

.svc-page .doc-hero-tx{min-width:0}
.svc-page .doc-eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;
  color:var(--blue);margin:0 0 10px}
.svc-page .doc-hero h1{margin:0;font-size:clamp(28px,3.1vw,40px);font-weight:700;line-height:1.15;
  color:var(--blue-ink);letter-spacing:-.01em;white-space:nowrap}
.svc-page .doc-hero h1 .t{color:var(--blue)}
.svc-page .doc-cred{margin:11px 0 0;font-size:14.5px;font-weight:700;letter-spacing:.04em;color:var(--ink-2)}
.svc-page .doc-hero-lead{margin:16px 0 0;font-size:16px;line-height:1.75;color:var(--ink-2);max-width:60ch}

/* three facts - no boxes, just icon + text separated by hairlines */
.svc-page .doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:28px 0 0;
  padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-page .doc-meta-card{display:flex;align-items:center;gap:12px;padding:0 30px;flex:0 1 auto;min-width:0}
.svc-page .doc-meta-card:first-child{padding-left:0}
.svc-page .doc-meta-card+.doc-meta-card{border-left:1px solid var(--line)}
.svc-page .doc-meta-card .ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;
  border-radius:50%;background:var(--blue-tint);color:var(--blue)}
.svc-page .doc-meta-card .ic svg{width:21px;height:21px}
.svc-page .doc-meta-card .tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.svc-page .doc-meta-card small{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.svc-page .doc-meta-card b{font-size:15px;font-weight:800;color:var(--blue-ink);line-height:1.25;white-space:nowrap}

.svc-page .doc-hero-btns{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px}
.svc-page a.doc-btn-solid{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(14,130,190,.30)}
.svc-page a.doc-btn-solid:hover{background:var(--blue-deep);transform:translateY(-2px)}
.svc-page a.doc-btn-outline{background:#fff;color:var(--blue);border:1.5px solid var(--blue-soft)}
.svc-page a.doc-btn-outline:hover{background:var(--blue-tint);border-color:var(--blue);transform:translateY(-2px)}
/* --- body: scrolling main + fixed sidebar --- */
.svc-page .doc-body{background:var(--surface);padding:56px 0 72px}
.svc-page .doc-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start}
.svc-page .doc-main{display:grid;gap:22px;min-width:0}

.svc-page .doc-blk{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 36px;box-shadow:var(--shadow-sm)}
.svc-page .doc-blk.accent{background:linear-gradient(180deg,var(--blue-tint) 0%,#fff 46%);border-color:var(--blue-soft)}
.svc-page .doc-blk-hd{margin-bottom:20px}
.svc-page .doc-blk-hd .svc-eyebrow{display:block;margin-bottom:9px}
.svc-page .doc-blk-hd h2{position:relative;margin:0;padding:0;text-align:left;
  font-size:clamp(20px,1.9vw,25px);font-weight:700;line-height:1.32;color:var(--blue-ink)}
.svc-page .doc-blk-hd .svc-eyebrow::before,.svc-page .doc-hero .svc-eyebrow::before{display:none!important}
.svc-page .doc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.svc-page .doc-prose p{margin:0 0 15px;font-size:15.5px;line-height:1.8;color:var(--ink-2)}
.svc-page .doc-prose p:last-child{margin-bottom:0}
.svc-page .doc-prose strong{color:var(--ink);font-weight:700}
.svc-page .doc-blk>p{margin:0;font-size:15.5px;line-height:1.8;color:var(--ink-2)}
.svc-page .doc-blk>p strong{color:var(--ink);font-weight:700}

/* experience strip */
.svc-page .doc-strip{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1px minmax(0,1fr);
  align-items:center;gap:30px;padding:30px 36px;border-radius:18px;
  background:linear-gradient(115deg,var(--blue-ink) 0%,var(--blue-deep) 62%,var(--blue) 100%);box-shadow:var(--shadow-md)}
.svc-page .doc-strip::before{content:"";grid-column:2;grid-row:1;justify-self:center;width:1px;height:66px;background:rgba(255,255,255,.28)}
.svc-page .doc-strip-ghost{position:absolute;right:26px;top:50%;transform:translateY(-50%);
  font-size:110px;font-weight:800;line-height:1;color:rgba(255,255,255,.07);pointer-events:none;user-select:none}
.svc-page .doc-strip-ghost i{font-style:normal;font-size:70px;vertical-align:super}
.svc-page .doc-strip-fig{grid-column:1;grid-row:1;position:relative;z-index:1}
.svc-page .doc-strip-fig b{display:block;font-size:54px;font-weight:800;line-height:1;color:#fff}
.svc-page .doc-strip-fig b i{font-style:normal;font-size:30px;vertical-align:super}
.svc-page .doc-strip-fig span{display:block;margin-top:8px;font-size:14.5px;font-weight:700;color:rgba(255,255,255,.86)}
.svc-page .doc-strip-tx{grid-column:3;grid-row:1;position:relative;z-index:1;min-width:0}
.svc-page .doc-strip-eyebrow{display:block;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#9BD4F0;margin-bottom:9px}
.svc-page .doc-strip-tx p{margin:0;font-size:17px;font-weight:700;line-height:1.55;color:#fff}

.svc-page .doc-focus{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc-page .doc-focus-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:24px 20px;text-align:center;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}
.svc-page .doc-focus-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-soft);background:#fff}
.svc-page .doc-focus-card .ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;
  background:var(--blue-tint);color:var(--blue);margin-bottom:14px}
.svc-page .doc-focus-card .ic svg{width:26px;height:26px}
.svc-page .doc-focus-card h3{font-size:16px;font-weight:700;margin:0 0 8px;line-height:1.35;color:var(--blue-ink)}
.svc-page .doc-focus-card p{margin:0;font-size:13.8px;line-height:1.65;color:var(--ink-2)}

.svc-page .doc-pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.svc-page .doc-pills{gap:12px}
.svc-page .doc-pills li{display:inline-flex;align-items:center;gap:11px;background:#fff;color:var(--blue-ink);
  border:1px solid var(--line);border-radius:999px;padding:7px 20px 7px 7px;font-size:14.5px;font-weight:700;
  box-shadow:var(--shadow-sm);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.svc-page .doc-pills li:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.svc-page .doc-pills .ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;
  border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-deep) 100%);
  box-shadow:0 4px 10px rgba(14,130,190,.34)}
.svc-page .doc-pills .ic svg{width:18px;height:18px}

.svc-page .doc-quals{list-style:none;margin:0;padding:0;counter-reset:q}
.svc-page .doc-quals li{position:relative;padding:17px 0 17px 56px;border-bottom:1px solid var(--line)}
.svc-page .doc-quals li:first-child{border-top:1px solid var(--line)}
.svc-page .doc-quals li::before{counter-increment:q;content:counter(q,decimal-leading-zero);position:absolute;left:0;top:15px;
  display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:11px;
  background:var(--blue-tint);color:var(--blue);font-size:12.5px;font-weight:800}
.svc-page .doc-quals b{display:block;font-size:15.5px;font-weight:800;color:var(--blue-ink);margin-bottom:2px}
.svc-page .doc-quals span{display:block;font-size:14.5px;line-height:1.6;color:var(--ink-2)}

.svc-page .doc-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.svc-page .doc-tile{background:var(--blue-tint);border:1px solid var(--blue-soft);border-radius:14px;padding:18px 14px;text-align:center}
.svc-page .doc-tile b{display:block;font-size:24px;font-weight:800;color:var(--blue-deep);line-height:1.15}
.svc-page .doc-tile span{display:block;margin-top:5px;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--ink-3)}
.svc-page .doc-attach{display:flex;align-items:flex-start;gap:14px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.svc-page .doc-attach .ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;
  border-radius:12px;background:var(--blue-tint);color:var(--blue)}
.svc-page .doc-attach .ic svg{width:22px;height:22px}
.svc-page .doc-attach .tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.svc-page .doc-attach small{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.svc-page .doc-attach b{font-size:15.5px;font-weight:700;color:var(--blue-ink)}
.svc-page .doc-attach .tx>span{font-size:14px;line-height:1.6;color:var(--ink-2)}

/* --- sidebar --- */
.svc-page .doc-aside{min-width:0;align-self:stretch;height:100%}
.svc-page .doc-aside-inner{position:sticky;top:96px;display:grid;gap:20px}
.svc-page .doc-panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm)}
.svc-page .doc-panel-hd{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--blue-ink)}
.svc-page .doc-panel-hd .ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;
  border-radius:9px;background:rgba(255,255,255,.14);color:#9BD4F0}
.svc-page .doc-panel-hd .ic svg{width:17px;height:17px}
.svc-page .doc-panel-hd h2{margin:0;font-size:15.5px;font-weight:700;color:#fff;text-align:left}
.svc-page .doc-panel-bd{padding:20px}
.svc-page .doc-panel-bd.tight{padding:8px 12px 16px}
.svc-page .doc-info{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:13px}
.svc-page .doc-info li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;
  font-size:13.8px;line-height:1.6;color:var(--ink-2)}
.svc-page .doc-info .ic{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;
  border-radius:9px;background:var(--blue-tint);color:var(--blue)}
.svc-page .doc-info .ic svg{width:17px;height:17px}
.svc-page .doc-info a{color:var(--blue-deep);font-weight:700;text-decoration:none;word-break:break-word}
.svc-page .doc-info a:hover{color:var(--blue);text-decoration:underline}
.svc-page .doc-full-btn{width:100%;justify-content:center}
.svc-page a.doc-map{display:block;margin-top:11px;text-align:center;font-size:13.5px;font-weight:700;color:var(--blue);text-decoration:none}
.svc-page a.doc-map:hover{text-decoration:underline}
.svc-page .doc-others{list-style:none;margin:0;padding:0}
.svc-page .doc-others li+li{border-top:1px solid var(--line)}
.svc-page .doc-others a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;
  padding:11px 8px;border-radius:12px;text-decoration:none;transition:background .25s var(--ease)}
.svc-page .doc-others a:hover{background:var(--blue-tint)}
.svc-page .doc-others img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--blue-soft)}
.svc-page .doc-others b{display:block;font-size:14px;font-weight:700;color:var(--blue-ink);line-height:1.3}
.svc-page .doc-others small{display:block;margin-top:3px;font-size:12px;line-height:1.45;color:var(--ink-3)}
.svc-page a.doc-viewall{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0 8px;font-size:13.5px;font-weight:800;
  color:var(--blue);text-decoration:none}
.svc-page a.doc-viewall:hover{gap:12px}

/* --- final CTA band --- */
.svc-page .doc-cta{position:relative;overflow:hidden;padding:72px 0;text-align:center;
  background:linear-gradient(115deg,var(--blue-ink) 0%,var(--blue-deep) 58%,var(--blue) 100%)}
.svc-page .doc-cta::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 120% at 50% -20%,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 60%)}
.svc-page .doc-cta>.svc-wrap{position:relative;z-index:1}
.svc-page .doc-cta h2{margin:0;font-size:clamp(24px,2.9vw,36px);font-weight:800;line-height:1.25;color:#fff;text-align:center}
.svc-page .doc-cta p{margin:14px auto 0;max-width:60ch;font-size:16.5px;line-height:1.7;color:rgba(255,255,255,.86)}
.svc-page .doc-cta-btns{margin-top:28px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.svc-page a.doc-cta-solid{background:#fff;color:var(--blue-ink);box-shadow:0 10px 26px rgba(0,0,0,.22)}
.svc-page a.doc-cta-solid:hover{background:var(--blue-tint);transform:translateY(-2px)}
.svc-page a.doc-cta-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.svc-page a.doc-cta-outline:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-2px)}
.svc-page .doc-cta .svc-btn:focus-visible,.svc-page .doc-hero .svc-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}

@media(max-width:1240px){
  .svc-page .doc-layout{grid-template-columns:minmax(0,1fr) 326px;gap:24px}
  .svc-page .doc-hero-grid{grid-template-columns:310px minmax(0,1fr);gap:40px}
  .svc-page .doc-blk{padding:30px 28px}
  .svc-page .doc-focus{grid-template-columns:1fr}
  .svc-page .doc-meta-card{padding:0 22px}
}
@media(max-width:980px){
  .svc-page .doc-hero{padding:28px 0 56px}
  .svc-page .doc-hero-grid{grid-template-columns:1fr;gap:44px;justify-items:center;text-align:center}
  .svc-page .doc-hero-fig{max-width:320px}
  .svc-page .doc-hero-lead{margin-inline:auto}
  .svc-page .doc-meta{justify-content:center;text-align:left}
  .svc-page .doc-hero-btns{justify-content:center}
  .svc-page .doc-layout{grid-template-columns:1fr}
  .svc-page .doc-aside{height:auto}
  .svc-page .doc-aside-inner{position:static;max-height:none;overflow:visible}
  .svc-page .doc-focus{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:780px){
  .svc-page .doc-focus{grid-template-columns:1fr}
  .svc-page .doc-meta{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 0}
  .svc-page .doc-meta-card{padding:0;width:100%}
  .svc-page .doc-meta-card+.doc-meta-card{border-left:0;border-top:1px solid var(--line);padding-top:16px}
  .svc-page .doc-tiles{grid-template-columns:1fr 1fr}
  .svc-page .doc-strip{grid-template-columns:1fr;gap:18px;text-align:center;padding:28px 24px}
  .svc-page .doc-strip::before{display:none}
  .svc-page .doc-strip-fig{grid-column:1;grid-row:1}
  .svc-page .doc-strip-tx{grid-column:1;grid-row:2}
  .svc-page .doc-strip-ghost{right:50%;transform:translate(50%,-50%);font-size:150px}
}
@media(max-width:640px){
  .svc-page .doc-hero{padding:22px 0 48px}
  .svc-page .doc-crumb{margin-bottom:20px}
  .svc-page .doc-hero-lead{font-size:15.2px}
  .svc-page .doc-hero-fig{max-width:270px}
  .svc-page .doc-hero-btns .svc-btn{flex:1 1 100%;justify-content:center}
  .svc-page .doc-body{padding:40px 0 52px}
  .svc-page .doc-layout{gap:18px}
  .svc-page .doc-main{gap:16px}
  .svc-page .doc-aside-inner{gap:16px}
  .svc-page .doc-blk{padding:24px 18px;border-radius:15px}
  .svc-page .doc-blk-hd{margin-bottom:16px}
  .svc-page .doc-prose p,.svc-page .doc-blk>p{font-size:15px}
  .svc-page .doc-strip-fig b{font-size:44px}
  .svc-page .doc-strip-tx p{font-size:15.5px}
  .svc-page .doc-pills li{font-size:13.5px;padding:9px 15px}
  .svc-page .doc-quals li{padding-left:50px}
  .svc-page .doc-quals li::before{width:34px;height:34px}
  .svc-page .doc-hero h1{white-space:normal}
  .svc-page .doc-meta-card b{white-space:normal}
  .svc-page .doc-panel-bd{padding:17px}
  .svc-page .doc-others img{width:46px;height:46px}
  .svc-page .doc-cta{padding:50px 0}
  .svc-page .doc-cta p{font-size:15.5px}
  .svc-page .doc-cta-btns .svc-btn{flex:1 1 100%;justify-content:center}
  /* touch targets */
  .svc-page .doc-info a,.svc-page a.doc-map,.svc-page a.doc-viewall{display:inline-flex;align-items:center;min-height:44px}
  .svc-page a.doc-map{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .svc-page .doc-focus-card,.svc-page .doc-others a,.svc-page a.doc-viewall,
  .svc-page a.doc-btn-solid,.svc-page a.doc-btn-outline,
  .svc-page a.doc-cta-solid,.svc-page a.doc-cta-outline{transition:none}
  .svc-page .doc-focus-card:hover,.svc-page a.doc-btn-solid:hover,.svc-page a.doc-btn-outline:hover,
  .svc-page a.doc-cta-solid:hover,.svc-page a.doc-cta-outline:hover{transform:none}
}


/* ===== LIGHT PAGE HEAD (no banner) — used by contact-us.php ===== */
.svc-page .page-lite{position:relative;background:linear-gradient(180deg,#fff 0%,var(--surface) 100%);
  border-bottom:1px solid var(--line);padding:24px 0 34px}
.svc-page .page-lite .ph-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  color:var(--ink-3);margin:0 0 16px;font-size:13.5px}
.svc-page .page-lite .ph-crumb a{color:var(--ink-3);text-decoration:none}
.svc-page .page-lite .ph-crumb a:hover{color:var(--blue)}
.svc-page .page-lite .ph-crumb .cur{color:var(--blue-ink);font-weight:700}
.svc-page .page-lite .ph-crumb .sep{color:var(--line);margin:0 2px}
.svc-page .page-lite h1{margin:0;font-size:clamp(26px,2.9vw,38px);font-weight:700;line-height:1.2;
  color:var(--blue-ink);letter-spacing:-.01em}
.svc-page .page-lite h1 .t{color:var(--blue)}
@media(max-width:640px){
  .svc-page .page-lite{padding:18px 0 26px}
  .svc-page .page-lite .ph-crumb{margin-bottom:12px}
}

/* --- DOC26 additions used by the generated doctor pages --- */
.svc-page .doc-tagline{margin:10px 0 0;font-size:16px;font-style:italic;font-weight:600;color:var(--blue-deep)}
.svc-page .doc-roles{margin:18px 0 0;font-size:13.5px;font-weight:700;letter-spacing:.02em;color:var(--ink-3)}
.svc-page .doc-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.svc-page .doc-list li{position:relative;padding-left:26px;font-size:15px;line-height:1.7;color:var(--ink-2)}
.svc-page .doc-list li::before{content:"";position:absolute;left:6px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.svc-page .doc-list li strong{color:var(--ink)}
.svc-page .doc-blk h3{font-size:16.5px;font-weight:700;color:var(--blue-ink);margin:22px 0 10px}
.svc-page .doc-blk h3:first-child{margin-top:0}
.svc-page .doc-blk .doc-pills+p,.svc-page .doc-blk .doc-list+p{margin-top:16px}
.svc-page .doc-blk p+.doc-pills,.svc-page .doc-blk p+.doc-list{margin-top:16px}
.svc-page .doc-blk>p+p{margin-top:14px}
@media(max-width:640px){
  .svc-page .doc-tagline{font-size:15px}
  .svc-page .doc-list li{font-size:14.5px}
}

/* --- DOC26: quote + attribution used by some doctor pages --- */
.svc-page blockquote.doc-bq{margin:0;padding:18px 22px;border-left:3px solid var(--blue);border-radius:0 12px 12px 0;
  background:var(--blue-tint);font-size:16px;font-style:italic;line-height:1.7;color:var(--blue-deep)}
.svc-page .doc-attrib{margin:12px 0 0;font-size:13.5px;font-weight:700;color:var(--ink-3)}
.svc-page .doc-blk .doc-bq+.doc-attrib{margin-top:10px}
