/* ==========================================================================
   Treatment page system — unified layout for all /treatments/ internal pages
   Scoped under .tpage so it cannot leak into other templates.
   Uses the existing design tokens from doctor.css (:root).
   ========================================================================== */

.tpage{--tp-gap:2.85rem}

/* --------------------------------------------------------------------------
   1. HERO — full-bleed background image with dual overlay
   -------------------------------------------------------------------------- */
.tpage .t-hero{
  position:relative;
  color:#fff;
  padding:11rem 0 5rem;
  min-height:600px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background-image:
    linear-gradient(90deg,rgba(8,28,41,.94) 0%,rgba(8,28,41,.82) 45%,rgba(8,28,41,.55) 100%),
    linear-gradient(180deg,rgba(8,28,41,.55) 0%,rgba(8,28,41,.25) 40%,rgba(8,28,41,.85) 100%),
    var(--hero-image);
  background-size:cover;
  background-position:center 32%;
  background-repeat:no-repeat;
}
.tpage .t-hero > .container{position:relative;z-index:2;width:min(1200px,100% - 3rem)}
.tpage .t-hero .breadcrumb-wrap{
  display:flex;gap:.5rem;font-size:.74rem;color:rgba(255,255,255,.6);
  margin-bottom:1.5rem;flex-wrap:wrap
}
.tpage .t-hero .breadcrumb-wrap a{color:rgba(255,255,255,.75);text-decoration:none}
.tpage .t-hero .breadcrumb-wrap a:hover{color:var(--secondary)}
.tpage .hero-copy{max-width:62ch}
.tpage .t-hero .eyebrow{color:var(--secondary)}
.tpage .t-hero h1{
  font-size:clamp(1.95rem,3.4vw,2.85rem);line-height:1.1;font-weight:800;
  margin:.6rem 0 .85rem;letter-spacing:-.02em;color:#fff
}
.tpage .t-hero h1 em{font-style:normal;color:var(--secondary)}
.tpage .hero-lede{font-size:.98rem;color:rgba(255,255,255,.8);max-width:60ch;line-height:1.6}
.tpage .hero-cta{display:flex;gap:.7rem;margin-top:1.5rem;flex-wrap:wrap}
.tpage .hero-cta .btn{padding:.72rem 1.2rem;font-size:.85rem}
.tpage .btn-outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.tpage .btn-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
@media(max-width:760px){
  .tpage .t-hero{padding:5.4rem 0 2.4rem;min-height:380px;background-position:center}
}

/* --------------------------------------------------------------------------
   2. FACTS STRIP
   -------------------------------------------------------------------------- */
.tpage .facts-strip{
  background:#fff;border-bottom:1px solid var(--border);
  box-shadow:var(--shadow-soft);position:relative;z-index:3
}
.tpage .facts-inner{display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.tpage .facts-inner > div{padding:1.05rem .9rem;border-right:1px solid var(--border);text-align:center}
.tpage .facts-inner > div:last-child{border-right:0}
.tpage .facts-inner span{
  display:block;font-family:'DM Mono',ui-monospace,monospace;font-size:.6rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem
}
.tpage .facts-inner strong{
  font-family:'Manrope',sans-serif;font-size:.86rem;font-weight:600;
  color:var(--primary);line-height:1.3;display:block
}
@media(max-width:900px){
  .tpage .facts-inner{grid-template-columns:repeat(3,1fr)}
  .tpage .facts-inner > div{border-bottom:1px solid var(--border)}
  .tpage .facts-inner > div:nth-child(3n){border-right:0}
}
@media(max-width:520px){
  .tpage .facts-inner{grid-template-columns:repeat(2,1fr)}
  .tpage .facts-inner > div:nth-child(3n){border-right:1px solid var(--border)}
  .tpage .facts-inner > div:nth-child(2n){border-right:0}
}

/* --------------------------------------------------------------------------
   3. TRUST STRIP
   -------------------------------------------------------------------------- */
.tpage .trust-strip{background:var(--primary-strong);color:rgba(255,255,255,.8);padding:.85rem 0}
.tpage .trust-inner{display:flex;gap:2.25rem;justify-content:center;flex-wrap:wrap;font-size:.77rem}
.tpage .trust-inner span{display:flex;align-items:center;gap:.45rem}
.tpage .trust-inner i{color:var(--secondary)}

/* --------------------------------------------------------------------------
   4. BODY — sticky index + content column
   -------------------------------------------------------------------------- */
.tpage .t-body{padding:3.25rem 0 1rem}
.tpage .body-grid{display:grid;grid-template-columns:230px 1fr;gap:4rem;align-items:start}
.tpage .t-index{position:sticky;top:100px}
.tpage .t-index > p{
  font-family:'DM Mono',ui-monospace,monospace;font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem
}
.tpage .t-index a{
  display:block;text-decoration:none;font-size:.85rem;color:var(--text-muted);
  padding:.5rem 0 .5rem 1rem;border-left:2px solid var(--border);transition:.18s
}
.tpage .t-index a:hover{color:var(--primary)}
.tpage .t-index a.active{color:var(--primary);font-weight:600;border-left-color:var(--secondary)}
.tpage .index-cta{
  margin-top:1.75rem;padding:1.1rem;background:var(--surface-soft);
  border-radius:var(--radius-md);border:1px solid var(--border)
}
.tpage .index-cta strong{display:block;font-family:'Manrope',sans-serif;font-size:.9rem;margin-bottom:.4rem}
.tpage .index-cta small{display:block;font-size:.74rem;color:var(--text-muted);line-height:1.5;margin-bottom:.85rem}
.tpage .index-cta .btn{width:100%;justify-content:center;padding:.6rem 1rem;font-size:.8rem}
@media(max-width:960px){
  .tpage .body-grid{grid-template-columns:1fr;gap:2rem}
  .tpage .t-index{display:none}
}

.tpage .t-section{padding-bottom:var(--tp-gap);margin-bottom:var(--tp-gap);border-bottom:1px solid var(--border)}
.tpage .t-section:last-child{border-bottom:0;margin-bottom:0}
.tpage .t-section > h2{
  font-size:clamp(1.6rem,2.6vw,2.15rem);font-weight:700;letter-spacing:-.015em;
  margin:.7rem 0 1.15rem;line-height:1.18
}
.tpage .t-section > p{color:var(--text-muted);font-size:1rem;margin-bottom:1.15rem;max-width:70ch}
.tpage .t-section > p strong{color:var(--text)}
.tpage .sec-num{
  font-family:'DM Mono',ui-monospace,monospace;font-size:.68rem;letter-spacing:.16em;
  color:var(--secondary);background:var(--primary);padding:.3rem .6rem;
  border-radius:.3rem;display:inline-block
}

/* callout */
.tpage .callout{
  background:var(--surface-soft);border-left:3px solid var(--success);
  border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1.35rem 1.6rem;
  margin:1.75rem 0;font-size:.93rem
}
.tpage .callout strong{display:block;font-family:'Manrope',sans-serif;margin-bottom:.35rem;color:var(--primary)}
.tpage .callout p{color:var(--text-muted);margin:0}
/* urgent variant — spine / fracture */
.tpage .callout.is-urgent{background:#fdf3ee;border-left-color:#c2601f}
.tpage .callout.is-urgent strong{color:#8f4413}

/* checklist */
.tpage .check-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.75rem}
.tpage .check-col{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem}
.tpage .check-col h4{font-size:.94rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.tpage .check-col h4 i{font-size:1.05rem}
.tpage .check-col.yes h4 i{color:var(--success)}
.tpage .check-col.no h4 i{color:#b8703e}
.tpage .check-col ul{list-style:none;padding:0;margin:0}
.tpage .check-col li{
  position:relative;padding-left:1.5rem;margin-bottom:.7rem;
  font-size:.88rem;color:var(--text-muted);line-height:1.55
}
.tpage .check-col li::before{
  content:"";position:absolute;left:0;top:.55rem;width:6px;height:6px;
  border-radius:50%;background:var(--secondary)
}
.tpage .check-col.no li::before{background:#e0b18f}
@media(max-width:760px){.tpage .check-grid{grid-template-columns:1fr}}

/* chips */
.tpage .chip-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.tpage .chip{
  background:#fff;border:1px solid var(--border);border-radius:2rem;
  padding:.5rem 1rem;font-size:.83rem;color:var(--text-muted);transition:.18s
}
.tpage .chip:hover{border-color:var(--secondary);color:var(--primary)}

/* comparison table */
.tpage .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tpage .compare{
  width:100%;border-collapse:separate;border-spacing:0;margin-top:1.75rem;
  font-size:.88rem;background:#fff;border:1px solid var(--border);
  border-radius:var(--radius-md);overflow:hidden;min-width:560px
}
.tpage .compare th{
  background:var(--surface-soft);text-align:left;padding:.95rem 1.15rem;
  font-family:'Manrope',sans-serif;font-size:.83rem;font-weight:700;
  color:var(--primary);border-bottom:1px solid var(--border)
}
.tpage .compare td{padding:.95rem 1.15rem;border-bottom:1px solid var(--border);color:var(--text-muted);vertical-align:top}
.tpage .compare tr:last-child td{border-bottom:0}
.tpage .compare td:first-child{font-weight:600;color:var(--text);width:26%}

/* procedure steps */
.tpage .step-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:1.75rem}
.tpage .step-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);
  padding:1.6rem;position:relative;transition:.2s
}
.tpage .step-card:hover{box-shadow:var(--shadow-soft);border-color:var(--secondary);transform:translateY(-2px)}
.tpage .step-card > span{font-family:'DM Mono',ui-monospace,monospace;font-size:.68rem;color:var(--secondary);letter-spacing:.14em}
.tpage .step-card h4{font-size:1rem;margin:.6rem 0 .55rem}
.tpage .step-card p{font-size:.86rem;color:var(--text-muted);line-height:1.6;margin:0}
@media(max-width:760px){.tpage .step-grid{grid-template-columns:1fr}}

/* recovery timeline */
.tpage .timeline{margin-top:2rem;position:relative;padding-left:2.25rem}
.tpage .timeline::before{
  content:"";position:absolute;left:7px;top:.6rem;bottom:.6rem;width:2px;
  background:linear-gradient(180deg,var(--secondary),var(--border))
}
.tpage .tl-item{position:relative;padding-bottom:1.85rem}
.tpage .tl-item:last-child{padding-bottom:0}
.tpage .tl-item::before{
  content:"";position:absolute;left:-2.25rem;top:.35rem;width:16px;height:16px;
  border-radius:50%;background:#fff;border:3px solid var(--secondary)
}
.tpage .tl-item > span{
  font-family:'DM Mono',ui-monospace,monospace;font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--success)
}
.tpage .tl-item h4{font-size:.98rem;margin:.3rem 0 .4rem}
.tpage .tl-item p{font-size:.87rem;color:var(--text-muted);max-width:64ch;margin:0}

/* risks dark panel */
.tpage .risk-panel{background:var(--primary);color:#fff;border-radius:var(--radius-lg);padding:2.25rem;margin-top:1.75rem}
.tpage .risk-panel h3{font-size:1.1rem;margin-bottom:.6rem;color:#fff}
.tpage .risk-panel > p{color:rgba(255,255,255,.7);font-size:.92rem;max-width:70ch;margin:0}
.tpage .risk-list{
  display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1.75rem;
  margin:1.6rem 0 0;list-style:none;padding:0
}
.tpage .risk-list li{position:relative;padding-left:1.5rem;font-size:.86rem;color:rgba(255,255,255,.78)}
.tpage .risk-list li i{position:absolute;left:0;top:.28rem;color:var(--secondary);font-size:.85rem}
@media(max-width:760px){.tpage .risk-list{grid-template-columns:1fr}.tpage .risk-panel{padding:1.6rem}}

/* preparation columns */
.tpage .prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.75rem}
.tpage .prep-card{
  background:linear-gradient(160deg,var(--surface-soft),#fff);
  border:1px solid var(--border);border-radius:var(--radius-md);padding:1.6rem
}
.tpage .prep-card h4{font-size:.95rem;margin-bottom:1rem;color:var(--primary)}
.tpage .prep-card h4 i{color:var(--success);margin-right:.4rem}
.tpage .prep-card ol{margin:0;padding-left:1.15rem;color:var(--text-muted);font-size:.87rem}
.tpage .prep-card ol li{margin-bottom:.62rem;line-height:1.55}
@media(max-width:760px){.tpage .prep-grid{grid-template-columns:1fr}}

/* cost */
.tpage .cost-box{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);
  padding:1.75rem;margin-top:1.5rem;display:flex;gap:2rem;align-items:center;flex-wrap:wrap
}
.tpage .cost-box .fee{font-family:'Manrope',sans-serif;font-size:2rem;font-weight:800;color:var(--primary)}
.tpage .cost-box .fee small{
  display:block;font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-muted);font-family:'DM Mono',ui-monospace,monospace
}
.tpage .cost-box p{font-size:.87rem;color:var(--text-muted);flex:1;min-width:260px;margin:0}

/* FAQ */
.tpage .faq{margin-top:1.5rem;border-top:1px solid var(--border)}
.tpage .faq details{border-bottom:1px solid var(--border)}
.tpage .faq summary{
  cursor:pointer;padding:1.15rem 2.5rem 1.15rem 0;font-family:'Manrope',sans-serif;
  font-weight:600;font-size:.96rem;position:relative;list-style:none;transition:.18s
}
.tpage .faq summary::-webkit-details-marker{display:none}
.tpage .faq summary::after{
  content:"\F4FE";font-family:"bootstrap-icons";position:absolute;right:.25rem;top:1.15rem;
  color:var(--secondary);font-size:1rem;transition:transform .2s
}
.tpage .faq details[open] summary::after{transform:rotate(45deg)}
.tpage .faq summary:hover{color:var(--success)}
.tpage .faq .faq-a{padding:0 2.5rem 1.35rem 0;font-size:.9rem;color:var(--text-muted);max-width:74ch}

/* --------------------------------------------------------------------------
   5. DOCTOR BAND
   -------------------------------------------------------------------------- */
.tpage .doctor-band{background:var(--primary);color:#fff;padding:4rem 0;margin-top:3rem}
.tpage .doctor-inner{display:grid;grid-template-columns:200px 1fr auto;gap:2.5rem;align-items:center}
.tpage .doctor-band img{
  width:200px;height:230px;object-fit:cover;object-position:center top;
  border-radius:var(--radius-md);filter:saturate(.9)
}
.tpage .doctor-band .eyebrow{color:var(--secondary)}
.tpage .doctor-inner h2{font-size:1.6rem;margin-bottom:.35rem;color:#fff}
.tpage .doctor-role{color:var(--secondary);font-size:.88rem;margin-bottom:1rem}
.tpage .doctor-inner > div > p{color:rgba(255,255,255,.72);font-size:.92rem;max-width:56ch}
.tpage .cred-row{display:flex;gap:1.75rem;margin-top:1.5rem;flex-wrap:wrap;font-size:.78rem;color:rgba(255,255,255,.6)}
.tpage .cred-row i{color:var(--secondary);margin-right:.4rem}
.tpage .btn-light{background:#fff;color:var(--primary-strong);border:1px solid #fff}
.tpage .btn-light:hover{background:var(--accent);color:var(--primary-strong)}
@media(max-width:960px){.tpage .doctor-inner{grid-template-columns:1fr;text-align:left}}

/* --------------------------------------------------------------------------
   6. RELATED TREATMENTS — image cards
   -------------------------------------------------------------------------- */
.tpage .related{padding:4.5rem 0}
.tpage .related-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}
.tpage .related-head h2{font-size:1.75rem}
.tpage .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.tpage .rel-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);
  border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease
}
.tpage .rel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--secondary)}
.tpage .rel-media{
  display:block;height:172px;background-image:linear-gradient(180deg,rgba(8,28,41,.10),rgba(8,28,41,.45)),var(--rel-image);
  background-size:cover;background-position:center;transition:transform .5s ease
}
.tpage .rel-card:hover .rel-media{transform:scale(1.05)}
.tpage .rel-body{display:flex;flex-direction:column;flex:1;padding:1.4rem 1.5rem 1.5rem}
.tpage .rel-cat{
  font-family:'DM Mono',ui-monospace,monospace;font-size:.62rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--success);display:block
}
.tpage .rel-card h3{font-size:1.08rem;margin:.55rem 0 .5rem;line-height:1.25}
.tpage .rel-card p{
  font-size:.85rem;color:var(--text-muted);line-height:1.6;margin:0 0 1.1rem;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.tpage .rel-go{
  margin-top:auto;font-family:'Manrope',sans-serif;font-weight:600;font-size:.82rem;
  color:var(--primary);display:inline-flex;align-items:center;gap:.45rem
}
.tpage .rel-go i{color:var(--secondary);transition:transform .25s ease}
.tpage .rel-card:hover .rel-go i{transform:translateX(4px)}
.tpage .btn-ghost{background:transparent;color:var(--primary);border:1px solid var(--border)}
.tpage .btn-ghost:hover{border-color:var(--primary);background:#fff}
@media(max-width:860px){.tpage .rel-grid{grid-template-columns:1fr}.tpage .rel-media{height:200px}}

/* --------------------------------------------------------------------------
   7. CTA BAND — split layout, image ground, practice panel
   -------------------------------------------------------------------------- */
.tpage .cta-band{
  position:relative;color:#fff;padding:4.5rem 0;overflow:hidden;
  background-image:
    linear-gradient(105deg,rgba(8,28,41,.97) 0%,rgba(8,28,41,.93) 46%,rgba(13,56,77,.86) 100%),
    var(--cta-image);
  background-size:cover;background-position:center
}
.tpage .cta-band::after{
  content:"";position:absolute;right:-8%;top:-40%;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,rgba(117,212,194,.15),transparent 62%);pointer-events:none
}
.tpage .cta-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;
  gap:3.5rem;align-items:center;text-align:left
}
.tpage .cta-band .eyebrow{color:var(--secondary)}
.tpage .cta-band h2{
  font-size:clamp(1.7rem,2.9vw,2.4rem);max-width:20ch;margin:.6rem 0 .9rem;
  color:#fff;line-height:1.14;letter-spacing:-.015em
}
.tpage .cta-copy > p{color:rgba(255,255,255,.74);max-width:54ch;font-size:.96rem;margin:0}
.tpage .cta-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.9rem}

.tpage .cta-panel{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-lg);padding:1.6rem;backdrop-filter:blur(6px)
}
.tpage .cta-panel-label{
  font-family:'DM Mono',ui-monospace,monospace;font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.15rem
}
.tpage .cta-panel ul{list-style:none;margin:0;padding:0}
.tpage .cta-panel li{
  display:flex;gap:.85rem;align-items:flex-start;padding:.85rem 0;
  border-bottom:1px solid rgba(255,255,255,.10)
}
.tpage .cta-panel li:last-child{border-bottom:0}
.tpage .cta-panel li i{color:var(--secondary);font-size:1rem;margin-top:.15rem;flex:0 0 auto}
.tpage .cta-panel li span{display:flex;flex-direction:column;font-size:.78rem;color:rgba(255,255,255,.6);line-height:1.45}
.tpage .cta-panel li strong{
  font-family:'Manrope',sans-serif;font-size:.88rem;font-weight:600;color:#fff;margin-bottom:.15rem
}
.tpage .cta-panel-link{
  display:inline-flex;align-items:center;gap:.4rem;margin-top:1.25rem;
  font-size:.8rem;font-weight:600;color:var(--secondary);text-decoration:none
}
.tpage .cta-panel-link:hover{color:#fff}
@media(max-width:960px){
  .tpage .cta-grid{grid-template-columns:1fr;gap:2.25rem}
  .tpage .cta-band h2{max-width:none}
}

/* --------------------------------------------------------------------------
   8. MOBILE STICKY BAR
   (sits above the site's own .mobile-action-bar)
   -------------------------------------------------------------------------- */
.tpage .t-mobile-bar{display:none}
@media(max-width:760px){
  .tpage .t-mobile-bar{
    display:flex;position:fixed;bottom:64px;left:0;right:0;background:#fff;
    border-top:1px solid var(--border);padding:.7rem 1rem;gap:.6rem;z-index:59;
    box-shadow:0 -8px 24px rgba(16,44,61,.10)
  }
  .tpage .t-mobile-bar .btn{flex:1;justify-content:center;font-size:.82rem;padding:.7rem}
}

/* print */
@media print{
  .tpage .t-index,.tpage .t-mobile-bar,.tpage .cta-band,.tpage .trust-strip{display:none}
  .tpage .faq details{open:true}
}

/* --------------------------------------------------------------------------
   STICKY FIX
   doctor.css sets `overflow-x:hidden` on html and body. That computes
   `overflow-y` to `auto`, which turns them into a scroll container and stops
   `position:sticky` from working for anything inside. `clip` prevents the
   horizontal overflow exactly the same way WITHOUT creating that container,
   so the sticky index works again. Scoped with :has() so only treatment
   pages are affected.
   -------------------------------------------------------------------------- */
html:has(.tpage),
body:has(.tpage){
  overflow-x:clip;
}
/* the sticky element must not be squashed by the grid row */
.tpage .body-grid{align-items:start}
.tpage .t-index{
  position:sticky;
  top:104px;
  align-self:start;
  max-height:calc(100vh - 124px);
  overflow-y:auto;
  scrollbar-width:thin;
}
.tpage .t-index::-webkit-scrollbar{width:4px}
.tpage .t-index::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}

/* --------------------------------------------------------------------------
   9. MOBILE OVERFLOW FIX
   --------------------------------------------------------------------------
   `.t-content` is a CSS grid item, and grid/flex items default to
   `min-width: auto` — meaning they refuse to shrink below the widest thing
   inside them. The comparison table carries `min-width: 560px`, so the whole
   content column was forced to 560px on a 320px phone and the text ran off
   the screen. `min-width: 0` lets the column shrink; the table then scrolls
   inside its own `.table-scroll` wrapper, which is what it was built for.
   -------------------------------------------------------------------------- */
.tpage .body-grid > *,
.tpage .t-content,
.tpage .t-index{
  min-width: 0;
}
.tpage .table-scroll{max-width:100%}
.tpage .t-content img,
.tpage .t-content pre{max-width:100%}

/* long unbroken words (URLs, medical terms) must not push the layout out */
.tpage .t-section h2,
.tpage .t-section h3,
.tpage .t-section h4,
.tpage .t-section p,
.tpage .t-section li{overflow-wrap:anywhere}

/* --------------------------------------------------------------------------
   10. MOBILE: the site already has its own bottom action bar, so the
   page-level Book/FAQ bar is redundant — hide it.
   -------------------------------------------------------------------------- */
@media (max-width: 760px){
  .tpage .t-mobile-bar{display:none !important}
  body{padding-bottom:0}
}

/* --------------------------------------------------------------------------
   11. MOBILE COMPARISON TABLE
   --------------------------------------------------------------------------
   On phones, treatment comparison tables become stacked cards. This removes
   the 560px table width that pushed the final column off-screen.
   -------------------------------------------------------------------------- */
@media (max-width: 640px){
  .tpage .table-scroll{
    overflow-x:visible;
  }

  .tpage .compare{
    display:block;
    min-width:0;
    width:100%;
    border:0;
    border-radius:0;
    background:transparent;
    overflow:visible;
  }

  .tpage .compare thead{
    display:none;
  }

  .tpage .compare tbody{
    display:grid;
    gap:.9rem;
  }

  .tpage .compare tr{
    display:block;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:#fff;
  }

  .tpage .compare td{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:.8rem;
    width:auto;
    padding:.9rem 1rem;
    border-bottom:1px solid var(--border);
    font-size:.82rem;
    line-height:1.6;
  }

  .tpage .compare td::before{
    content:attr(data-label);
    color:var(--primary);
    font-family:'Manrope',sans-serif;
    font-size:.72rem;
    font-weight:800;
    line-height:1.35;
  }

  .tpage .compare td:first-child{
    display:block;
    width:auto;
    background:var(--surface-soft);
    color:var(--primary);
    font-size:.92rem;
    font-weight:800;
  }

  .tpage .compare td:first-child::before{
    display:none;
  }

  .tpage .compare tr:last-child td{
    border-bottom:1px solid var(--border);
  }

  .tpage .compare tr td:last-child{
    border-bottom:0;
  }
}

/* Mobile legibility: these micro-labels computed to ~9.9px on phones. */
@media(max-width:600px){
  .tpage .rel-cat,
  .tpage .cta-panel-label{font-size:.7rem}
  .tpage .cta-panel-link{display:inline-block;padding-top:.45rem;padding-bottom:.45rem}
}
