/* Fixes from Andrew's phone review, 29 Oct 2026 */

/* 1. Button + text link rows: centre the link on the button */
.ab-foot{align-items:center}

/* 2. Treatment page facts grid: smaller, one compact row */
.facts{gap:10px 12px}
.facts>div{gap:2px}
.facts svg{width:26px;height:26px;stroke-width:1.4}
.facts b{font-size:15px;line-height:1.25}
.facts small{font-size:13px}
@media(max-width:700px){
  .facts{grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}
  .facts>div{display:grid;grid-template-columns:28px 1fr;column-gap:10px;align-items:center;justify-items:start;
    padding:10px 12px;border:1px solid var(--line);border-radius:12px}
  .facts>div svg{grid-row:span 2;width:24px;height:24px}
}

/* 3. "On this page": one swipeable row on mobile, plus a pinned bar (hc-toc.js)
      that appears under the header once the list scrolls away */
@media(max-width:899px){
  nav.toc{flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;max-width:calc(100vw - 32px);justify-content:flex-start!important;padding-bottom:4px;
    -webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  nav.toc::-webkit-scrollbar{display:none}
  nav.toc>span{flex:none;font-size:11px}
  nav.toc a{flex:none;white-space:nowrap;scroll-snap-align:start;padding:6px 12px;font-size:13px}
}
.toc-bar{position:fixed;left:0;right:0;top:calc(var(--hdr) + 4px);z-index:40;padding:0 12px;
  transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.toc-bar.on{transform:none;opacity:1;pointer-events:auto}
.toc-bar nav.toc{margin:0 auto!important;max-width:1100px;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;
  justify-content:flex-start!important;padding:7px 10px;border-radius:999px;background:#ffffffeb;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 18px #0000001a;
  -webkit-mask-image:none;mask-image:none}
.toc-bar nav.toc::-webkit-scrollbar{display:none}
.toc-bar nav.toc>span{display:none}
.toc-bar nav.toc a{flex:none;white-space:nowrap;padding:5px 12px;font-size:13px}
.toc-bar nav.toc a[aria-current="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(prefers-reduced-motion:reduce){.toc-bar{transition:none}}

/* 4. Footer trust strip: smaller boxes, one scrollable row on mobile */
@media(max-width:899px){
  .ft-usp2{display:flex!important;overflow-x:auto;gap:8px!important;padding:4px 0 18px!important;scrollbar-width:none;margin-bottom:20px}
  .ft-usp2::-webkit-scrollbar{display:none}
  .ft-usp2 li,.ft-usp2 li:last-child{flex:none;border:1px solid #3b2f291a!important;border-radius:999px;padding:6px 12px 6px 6px!important;gap:8px;grid-column:auto}
  .fu-ic{width:28px;height:28px}
  .fu-ic svg{width:14px;height:14px}
  .fu-t b{font-size:13px}
  .fu-t small{display:none}
}

/* 5. Footer link columns: every link on a single line, never wrapping */
@media(max-width:899px){
  .ft-grid{grid-template-columns:1fr!important;gap:22px}
  .ft-grid>div:not(.ft-contact) h3{font-size:16px;margin-bottom:6px}
  .ft-grid>div:not(.ft-contact) a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px;padding:4px 0}
}
/* Site search panel */
.hc-search-btn svg{width:22px;height:22px}
html.hcs-open{overflow:hidden}
.hc-search{position:fixed;inset:0;z-index:200}
.hcs-backdrop{position:absolute;inset:0;background:#18120f66;opacity:0;transition:opacity .2s}
.hcs-panel{position:relative;margin:max(10px,env(safe-area-inset-top,0px)) auto 0;width:min(680px,calc(100% - 20px));
  max-height:calc(100dvh - 20px);display:flex;flex-direction:column;background:#fff;border-radius:16px;
  box-shadow:0 24px 60px -20px #00000059;transform:translateY(-8px);opacity:0;transition:opacity .2s,transform .2s;overflow:hidden}
.hc-search.in .hcs-backdrop{opacity:1}
.hc-search.in .hcs-panel{opacity:1;transform:none}
@media(min-width:900px){.hcs-panel{margin-top:12vh;max-height:70vh}}
.hcs-bar{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 16px;border-bottom:1px solid var(--line)}
.hcs-bar>svg{flex:none;width:20px;height:20px;color:var(--ink-3)}
.hcs-field{position:relative;flex:1;min-width:0;overflow:hidden}
.hcs-bar input{position:relative;width:100%;border:0;outline:0;background:none;font-size:17px;padding:10px 0}
.hcs-ghost{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;white-space:pre;font-size:17px;pointer-events:none}
.hcs-ghost i{font-style:normal;color:transparent}
.hcs-ghost em{font-style:normal;color:#a19d96}
.hcs-sugg{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px 4px}
.hcs-sugg:empty{display:none}
.hcs-lbl{width:100%;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:2px 2px 2px}
.hcs-chip{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px;color:var(--ink-2);background:#fff}
.hcs-chip b{font-weight:600;color:var(--ink)}
.hcs-chip:hover,.hcs-chip:focus-visible{border-color:var(--ink)}
.hcs-group{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:14px 10px 4px}
.hcs-group:first-child{padding-top:6px}
.hcs-bar input::-webkit-search-cancel-button{display:none}
.hcs-close{flex:none;font-size:14px;font-weight:500;padding:8px 12px;border-radius:999px;color:var(--ink-2)}
.hcs-close:hover{background:var(--card)}
.hcs-body{overflow-y:auto;overscroll-behavior:contain;padding:8px 8px 12px}
.hcs-status{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:6px 10px 4px}
.hcs-list{list-style:none;margin:0;padding:0}
.hcs-list a{display:flex;flex-direction:column;gap:2px;padding:10px 10px;border-radius:10px}
.hcs-list li.on a,.hcs-list a:hover,.hcs-list a:focus-visible{background:var(--card)}
.hcs-list b{font-weight:500;font-size:16px;line-height:1.3}
.hcs-list small{font-size:13.5px;color:var(--ink-3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hcs-k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7a5240}
.hcs-empty{padding:10px;font-size:15px;color:var(--ink-2)}
.hcs-empty a{text-decoration:underline;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){.hcs-backdrop,.hcs-panel{transition:none}}

/* Blog index and posts */
.bl-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.bl-filter button{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;background:#fff}
.bl-filter button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.bl-feat{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(18px,3vw,40px);align-items:center;background:var(--card);border-radius:16px;overflow:hidden}
.bl-feat .bl-img img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.bl-feat .bl-b{padding:clamp(18px,3vw,36px) clamp(18px,3vw,36px) clamp(18px,3vw,36px) 0}
.bl-feat b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(24px,2.6vw,34px);line-height:1.15;margin:10px 0}
.bl-feat small{display:block;color:var(--ink-2);font-size:16px;line-height:1.55}
.bl-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.bl-more svg{width:16px;height:16px}
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.bl-card{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:border-color .2s}
.bl-card:hover{border-color:var(--ink)}
.bl-card .bl-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.bl-card .bl-b{display:flex;flex-direction:column;gap:6px;padding:16px 18px 20px}
.bl-card b{font-weight:500;font-size:18px;line-height:1.3}
.bl-card small{color:var(--ink-3);font-size:14.5px;line-height:1.5}
.bl-meta{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--ink-3)}
.bl-cat{display:inline-block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#7a5240;font-weight:500}
@media(max-width:899px){.bl-feat{grid-template-columns:1fr}.bl-feat .bl-b{padding:0 18px 22px}.bl-grid{grid-template-columns:1fr}}
@media(min-width:600px) and (max-width:899px){.bl-grid{grid-template-columns:1fr 1fr}}
.bl-head{max-width:880px}
.bl-head h1{margin:10px 0 14px;font-size:clamp(30px,4vw,52px);line-height:1.08}
.bl-by{display:flex;gap:12px;align-items:center;margin-top:22px}
.bl-av img,.bl-av-logo{width:44px;height:44px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:13px;font-weight:600;letter-spacing:.06em}
.bl-av-logo.lg{width:64px;height:64px;font-size:16px;flex:none}
.bl-by>div{display:flex;flex-direction:column;gap:2px;font-size:14px}
.bl-who{font-weight:500}.bl-who a{text-decoration:underline;text-underline-offset:3px}
.bl-when{color:var(--ink-3)}
.bl-rev,.bl-rev2{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-size:13.5px}
.bl-rev svg,.bl-rev2 svg{width:16px;height:16px;flex:none}
.bl-hero img{width:100%;max-height:520px;aspect-ratio:16/8;object-fit:cover;border-radius:16px}
.bl-wrap{display:grid;grid-template-columns:260px minmax(0,760px);gap:clamp(24px,4vw,64px);justify-content:center;align-items:start}
.bl-toc{position:sticky;top:calc(var(--hdr) + 24px)}
.bl-toc nav.toc{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:2px;margin:0;max-width:none}
.bl-toc nav.toc a{border:0;border-radius:8px;padding:6px 10px;font-size:14px;background:none;color:var(--ink-2)}
.bl-toc nav.toc a:hover{background:var(--card);color:var(--ink)}
.bl-toc nav.toc>span{margin:0 0 6px 10px}
@media(max-width:899px){.bl-wrap{grid-template-columns:minmax(0,1fr)}.bl-toc{position:static;min-width:0}
  .bl-toc nav.toc{flex-direction:row;align-items:center;max-width:100%}
  .bl-toc nav.toc a{border:1px solid var(--line);border-radius:999px;background:#fff}}
.bl-body{font-size:17.5px;line-height:1.7}
.bl-body h2{font-size:clamp(24px,2.4vw,32px);margin:42px 0 12px;line-height:1.2}
.bl-body h3{font-size:20px;margin:28px 0 8px;font-weight:500}
.bl-body p,.bl-body ul,.bl-body ol{margin:0 0 16px}
.bl-body blockquote{margin:24px 0;padding:16px 20px;border-left:3px solid #7a5240;background:var(--card);border-radius:0 12px 12px 0;font-size:18px}
.bl-body blockquote p{margin:0}
.bl-body .tbl{overflow-x:auto;margin:18px 0 22px;-webkit-overflow-scrolling:touch}
.bl-body table,.tbl table{width:100%;border-collapse:collapse;font-size:15px;min-width:420px}
.tbl th,.tbl td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:500;background:var(--card)}
.bl-tx{margin:40px 0 24px;padding:clamp(18px,3vw,28px);border-radius:16px;background:#18120f;color:#fff}
.bl-tx .muted{color:#ffffffb3!important;margin:6px 0 16px}
.bl-tx .btn{background:#fff;color:var(--ink);border-color:#fff}
.bl-tx .btn.ghost{background:transparent;color:#fff;border-color:#ffffff66}
.bl-tx h2{margin:6px 0 0!important;color:#fff}
.bl-author{display:flex;gap:16px;align-items:flex-start;padding:22px;border:1px solid var(--line);border-radius:16px;margin:24px 0 16px}
.bl-author img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.bl-author>div{display:flex;flex-direction:column;gap:4px;font-size:15.5px}
.bl-author b{font-size:18px;font-weight:500}
.bl-author small{color:var(--ink-3)}
.bl-author p{margin:6px 0 0}
.bl-note{font-size:14px;color:var(--ink-3);border-left:3px solid var(--line);padding-left:12px}
/* FAQ hub */
.fq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.fq-g h3{font-size:18px;font-weight:500;margin-bottom:8px}
.fq-g a{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.fq-g a small{color:var(--ink-3);white-space:nowrap}
.fq-g a:hover{color:var(--ink);text-decoration:underline}
@media(max-width:899px){.fq-grid{grid-template-columns:1fr}}
.legal-rte{max-width:780px}.legal-rte h2{font-size:24px;margin:30px 0 10px}.legal-rte ul{margin:0 0 14px}
/* comparison tables on treatment pages */
.rte .tbl{overflow-x:auto;margin:6px 0 18px}
/* tables in page copy scroll inside their column on small screens */
.rte{min-width:0}
@media(max-width:699px){.rte table:not(.tbl table){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* Footer: photo pills, auto-scrolling (replaces the trust strip) */
.ft-usp2{display:none}
.fpills{overflow:hidden;margin:0 0 clamp(24px,3vw,36px);padding:6px 0 clamp(22px,3vw,30px);border-bottom:1px solid #3b2f291a;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.fp-track{display:flex;width:max-content;animation:fpScroll 40s linear infinite}
.fpills:hover .fp-track,.fpills:focus-within .fp-track{animation-play-state:paused}
.fp-set{display:flex;gap:14px;list-style:none;margin:0;padding:0 14px 0 0}
.fp{display:flex;align-items:center;gap:12px;background:#fff;border-radius:999px;padding:7px 22px 7px 7px;box-shadow:0 6px 20px -14px #3b2f2966;white-space:nowrap}
.fp img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}
.fp b{display:block;font-size:16px;font-weight:600;line-height:1.2}
.fp small{font-size:13px;color:#7a5240}
@keyframes fpScroll{to{transform:translateX(-50%)}}
@media(max-width:699px){.fp{padding:6px 16px 6px 6px}.fp img{width:42px;height:42px}.fp b{font-size:14.5px}.fp small{font-size:12px}.fp-track{animation-duration:30s}}
@media(prefers-reduced-motion:reduce){.fp-track{animation:none}.fpills{overflow-x:auto;scrollbar-width:none}.fp-set[aria-hidden]{display:none}}

/* Treatment pages: at-a-glance card (replaces the four facts icons) */
.glance{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;background:#f7f1ec;border-radius:20px;overflow:hidden}
.glance>div,.glance>a{padding:22px 24px;display:flex;flex-direction:column;justify-content:center;gap:4px;border-left:1px solid #3b2f2914;min-width:0}
.glance .gl-who{flex-direction:row;align-items:center;gap:14px;border-left:0}
.glance .gl-who>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.gl-av{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;border:3px solid #fff}
.gl-ic{width:64px;height:64px;border-radius:50%;flex:none;background:#fff;display:grid;place-items:center;color:#7a5240}
.gl-ic svg{width:30px;height:30px}
.gl-k{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#7a5240;font-weight:500}
.gl-v{font-size:19px;font-weight:600;line-height:1.2}
.gl-s{font-size:14px;color:var(--ink-3);line-height:1.35}
.gl-big{font-size:clamp(34px,3.4vw,46px);font-weight:500;letter-spacing:-.02em;line-height:1}
.glance .gl-price{background:#18120f;color:#fff;border-left:0}
.gl-price .gl-k{color:#e0c5b0}.gl-price .gl-s{color:#ffffffb3}
.glance+div .toc{margin-top:22px}
@media(max-width:899px){.glance{grid-template-columns:1fr 1fr}.glance>div,.glance>a{padding:16px 18px}
  .glance .gl-who{grid-column:1/-1;border-bottom:1px solid #3b2f2914}
  .glance>div:nth-child(4),.glance>a:nth-child(4){grid-column:1/-1;border-top:1px solid #3b2f2914;border-left:0}}

/* Italic accent on one key word per heading */
main h1 em,main h2 em,.ft h2 em{font-style:italic;font-weight:400;color:#7a5240;letter-spacing:-.01em}
.t-brand #main h2 em,.t-brand #main h1 em{color:#7a5240;font-weight:400}
.pg-hero h1 em,.hero.dark h1 em,.dark-fb h2 em,.ft-news h2 em,.bl-tx h2 em,.sister.dark h2 em,.hw-sec.dark h2 em{color:#e0c5b0}
.glance .gl-who{justify-content:flex-start}

/* GTM-WMH2S63G uses "all elements" click triggers that read the clicked element's link. Let taps on icons and text inside
   phone, email and WhatsApp links land on the link itself, so Phone_Click, Email_Click and WhatsApp_Chat fire. */
a[href^="tel:"] *,a[href^="mailto:"] *,a[href*="api.whatsapp.com/"] *{pointer-events:none}

/* Booking calendar loading state (Vagaro can take a few seconds) */
.bk-frame{position:relative}
.bk-loading{position:absolute;inset:20px 20px auto;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:#fff;z-index:2;color:#5f574f;font-size:15px;transition:opacity .4s}
.bk-loading b{font-weight:600;color:#1b1714;font-size:17px}
.bk-loading.done{opacity:0;pointer-events:none}
.bk-loading.slow span{color:#7a5240}
.bk-spin{width:42px;height:42px;border-radius:50%;border:3px solid #eadfd6;border-top-color:#7a5240;animation:bkspin .9s linear infinite;margin-bottom:6px}
@keyframes bkspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.bk-spin{animation-duration:3s}}

/* At-a-glance cells are links */
.glance a{color:inherit;text-decoration:none;transition:background .25s}
.glance a:not(.gl-price):hover{background:#efe4da}
.glance a.gl-price:hover{background:#2a201b}
.glance a .gl-s::after{content:"\2192";display:inline-block;margin-left:6px;transition:transform .25s}
.glance a:hover .gl-s::after{transform:translateX(3px)}
.glance a:focus-visible{outline:2px solid #7a5240;outline-offset:-4px}

/* Footer badges: icon chips in a row */
.ft-badges{flex-direction:row!important;flex-wrap:wrap;gap:10px!important;align-items:stretch}
.ft-badges a{display:flex;align-items:center;gap:11px;padding:10px 18px 10px 11px;border:1px solid #3b2f2924;border-radius:999px;background:#fff9;color:inherit;text-decoration:none;transition:border-color .25s,background .25s,transform .25s}
.ft-badges a:hover{border-color:#7a5240;background:#fff;transform:translateY(-1px)}
.ft-badges svg{width:34px;height:34px;padding:7px;border-radius:50%;background:#7a5240;color:#fff;flex:none}
.ft-badges a>span{display:flex;flex-direction:column;line-height:1.25;border:0;padding:0;border-radius:0;text-transform:none;letter-spacing:0;font-weight:400}
.ft-badges b{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;white-space:nowrap}
.ft-badges small{font-size:13px;color:#5c5a55;white-space:nowrap;text-transform:none;letter-spacing:0}
@media(max-width:700px){.ft-badges{width:100%;display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px!important}.ft-badges a{flex-direction:column;text-align:center;gap:8px;padding:14px 6px;border-radius:16px}.ft-badges a>span{align-items:center}.ft-badges b{font-size:11px;letter-spacing:.06em}.ft-badges small{display:none}}
