/* Tower Bridge Hospital — premium top redesign (site-wide) */
.ins-wall{list-style:none;padding:0;margin:0 auto;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;max-width:980px;}
  .ins-wall li{background:#FFFFFF;border:1px solid #DBE8F6;border-radius: 8px;min-width:148px;min-height:66px;
    display:flex;align-items:center;justify-content:center;padding:16px 24px;box-shadow:var(--shadow-sm);
    transition:transform .22s ease,box-shadow .22s ease;}
  .ins-wall li:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);}
  .ins-wall img{height:26px;width:auto;filter:grayscale(100%);opacity:.62;transition:filter .25s ease,opacity .25s ease;}
  .ins-wall li:hover img{filter:none;opacity:1;}
  @media (max-width:560px){.ins-wall li{min-width:40%;padding:14px;}}
/* ============================================================
   PREMIUM TOP REDESIGN — utility bar, emergency bar, header, nav
   Matches the hero: navy #003087, teal #00A9CE, Fraunces + Manrope,
   soft shadows, rounded corners, 8px grid, generous whitespace.
   Scoped to the top region only; hero + page below untouched.
============================================================ */
:root{
  --tbh-navy:#003087;--tbh-deep:#021C4F;--tbh-ink:#14181F;--tbh-teal:#00A9CE;
  --tbh-line:#E6ECF3;--tbh-mute:#5B6B80;--tbh-cool:#F4F7FB;
}
/* ---------- 1 · UTILITY BAR ---------- */
body .top-bar{background:#fff !important;border-bottom:1px solid var(--tbh-line) !important;box-shadow:none !important;padding:0 !important}
body .top-bar .top-bar-inner{display:flex !important;align-items:center !important;gap:16px !important;min-height:46px !important;padding:6px 0 !important}
body .top-search{flex:0 1 440px !important;margin:0 auto 0 0 !important;position:relative !important;background:transparent !important;border:0 !important;box-shadow:none !important;max-width:440px !important}
body .top-search input{width:100% !important;height:38px !important;border-radius:999px !important;border:1px solid var(--tbh-line) !important;background:var(--tbh-cool) !important;padding:0 44px 0 18px !important;font-size:14px !important;color:var(--tbh-ink) !important;box-shadow:none !important}
body .top-search input::placeholder{color:#8494a8 !important}
body .top-search input:focus{outline:none !important;border-color:#9db6d6 !important;background:#fff !important;box-shadow:0 0 0 3px rgba(0,48,135,.10) !important}
body .top-search button{position:absolute !important;right:5px !important;top:50% !important;transform:translateY(-50%) !important;width:30px !important;height:30px !important;min-width:0 !important;border-radius:999px !important;background:transparent !important;color:var(--tbh-navy) !important;border:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:none !important}
body .a11y-controls{display:flex !important;align-items:center !important;gap:5px !important;background:transparent !important;border:0 !important;padding:0 !important;box-shadow:none !important}
body .a11y-btn{width:30px !important;height:30px !important;min-width:30px !important;border-radius:8px !important;border:1px solid var(--tbh-line) !important;background:#fff !important;color:var(--tbh-navy) !important;font-weight:600 !important;font-size:13px !important;box-shadow:none !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}
body .a11y-btn:hover{background:var(--tbh-cool) !important;border-color:#c9d6e6 !important}
body .a11y-btn svg{width:15px !important;height:15px !important}
body .lang-switch .lang-trigger{background:#fff !important;border:1px solid var(--tbh-line) !important;border-radius:8px !important;color:var(--tbh-navy) !important;height:30px !important;padding:0 10px !important;font-weight:600 !important;font-size:13px !important;box-shadow:none !important;gap:6px !important}
body .lang-switch .lang-trigger:hover{background:var(--tbh-cool) !important}
/* ---------- 2 · EMERGENCY / STATUS BAR ---------- */
body .announce-bar.live-bar{background:#FAF4F1 !important;border-bottom:1px solid #EFE0D9 !important;box-shadow:none !important;padding:0 !important}
body .announce-bar .live-bar-inner{max-width:1180px !important;margin:0 auto !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:12px !important;min-height:34px !important;padding:5px 24px !important;flex-wrap:wrap !important}
body .live-bar .live-status,body .live-bar .live-availability,body .live-bar .emerg,body .live-bar .live-text,body .live-bar .live-sub{font-size:12.5px !important;letter-spacing:.01em !important;color:var(--tbh-ink) !important;font-weight:500 !important;text-transform:none !important}
body .live-bar .live-status strong,body .live-bar .live-availability strong{font-weight:600 !important;color:var(--tbh-ink) !important}
body .live-bar .emerg{color:#98271F !important;font-weight:600 !important}
body .live-bar .sep{color:#d9bcb1 !important}
body .live-bar .live-dot{background:#1a9e5f !important;box-shadow:0 0 0 3px rgba(26,158,95,.18) !important}
/* ---------- 3 · HEADER ---------- */
body header.nav{background:#fff !important;box-shadow:0 1px 0 var(--tbh-line) !important;border:0 !important}
body header.nav .nav-inner{max-width:1180px !important;padding:20px 24px !important;gap:20px !important;align-items:center !important}
body header.nav .brand{background:transparent !important;box-shadow:none !important;padding:0 !important;border-radius:0 !important;align-self:center !important}
body header.nav .brand-logo{height:54px !important;width:auto !important}
body .nav-right{display:flex !important;align-items:center !important;gap:12px !important}
body .nav-phone{color:var(--tbh-navy) !important;background:transparent !important;border:0 !important;font-weight:600 !important;font-size:15px !important;padding:0 6px !important;box-shadow:none !important}
body .nav-phone svg{stroke:var(--tbh-navy) !important}
body .nav-cta,body .nav-cta-register,body .nav-cta-portal,body .nav-cta-doctors{height:46px !important;border-radius:12px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;padding:0 20px !important;font-weight:600 !important;font-size:15px !important;letter-spacing:.005em !important;box-shadow:none !important;border:0 !important;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease !important;text-transform:none !important}
body .nav-cta-register,body .nav-cta-portal,body .nav-cta-doctors{background:#fff !important;color:var(--tbh-navy) !important;border:1.5px solid #cfd9ea !important}
body .nav-cta-register:hover,body .nav-cta-portal:hover,body .nav-cta-doctors:hover{background:var(--tbh-cool) !important;border-color:var(--tbh-navy) !important;color:var(--tbh-navy) !important}
body .nav-cta-register svg,body .nav-cta-portal svg,body .nav-cta-doctors svg{stroke:var(--tbh-navy) !important}
body .nav-cta{background:var(--tbh-navy) !important;color:#fff !important;box-shadow:0 8px 20px -8px rgba(0,48,135,.55) !important}
body .nav-cta:hover{background:#00256a !important;transform:translateY(-1px) !important;box-shadow:0 12px 26px -8px rgba(0,48,135,.6) !important}
body .nav-cta svg{stroke:#fff !important}
/* ---------- 4 · PRIMARY NAVIGATION ---------- */
body .nav-tier2{background:#fff !important;border-top:1px solid var(--tbh-line) !important;box-shadow:0 8px 18px -16px rgba(2,28,79,.45) !important}
body .nav-tier2 .wrap{max-width:1180px !important}
body .nav-primary{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:2px 6px !important;padding:8px 0 !important}
body .nav-primary-item{margin:0 !important;background:transparent !important}
body .nav-primary-link{color:var(--tbh-ink) !important;font-weight:500 !important;font-size:14px !important;letter-spacing:.005em !important;text-transform:none !important;padding:9px 12px !important;border-radius:9px !important;background:transparent !important;transition:background .16s ease,color .16s ease !important}
body .nav-primary-link span{text-transform:none !important;letter-spacing:.005em !important;font-weight:500 !important}
body .nav-primary-item:hover>.nav-primary-link,body .nav-primary-link:hover,body .nav-primary-link:focus{color:var(--tbh-navy) !important;background:var(--tbh-cool) !important}
body .nav-primary-btn,body .nav-chev-btn{background:transparent !important;border:0 !important;padding:4px !important;box-shadow:none !important;color:var(--tbh-mute) !important}
body .nav-chev-btn .dd-chev{width:14px !important;height:14px !important;opacity:.55 !important;stroke:var(--tbh-mute) !important;fill:none !important}
body .nav-primary-item:hover .dd-chev{opacity:.9 !important;stroke:var(--tbh-navy) !important}
/* refined dropdown surfaces */
body .nav-dropdown{border-radius:14px !important;border:1px solid var(--tbh-line) !important;box-shadow:0 24px 60px -24px rgba(2,28,79,.45) !important}
/* ---------- 5 · FLOW INTO HERO ---------- */
body .tbhv-hero{margin-top:0 !important}
/* mobile */
@media (max-width:980px){
  body .top-search{flex:1 1 auto !important;max-width:none !important}
  body header.nav .nav-inner{padding:14px 18px !important}
  body header.nav .brand-logo{height:44px !important}
}
/* Higher-specificity corrective layer (beats #id and compound-class rules) */
/* 2 · EMERGENCY BAR — refined, premium warning */
body #liveBar{background:#FAF4F1 !important;border-bottom:1px solid #EFE0D9 !important;box-shadow:none !important}
body #liveBar .live-bar-inner{max-width:1180px !important;margin:0 auto !important;justify-content:center !important;gap:12px !important;min-height:34px !important;padding:5px 24px !important}
body #liveBar,body #liveBar span,body #liveBar strong,body #liveBar .live-text,body #liveBar .live-status,body #liveBar .live-availability{color:#14181F !important;font-weight:500 !important;font-size:12.5px !important;letter-spacing:.01em !important;text-transform:none !important}
body #liveBar strong{font-weight:600 !important}
body #liveBar .emerg{color:#98271F !important;font-weight:600 !important}
body #liveBar .sep{color:#d9bcb1 !important}
body #liveBar .live-dot{background:#1a9e5f !important;box-shadow:0 0 0 3px rgba(26,158,95,.18) !important}
/* 3 · HEADER BUTTONS — Book Now primary, portals secondary ghost */
body .nav-right a.nav-cta-register,body .nav-right a.nav-cta-portal,body .nav-right a.nav-cta-doctors{background:#fff !important;color:#003087 !important;border:1.5px solid #cfd9ea !important;box-shadow:none !important;height:46px !important;border-radius:12px !important;padding:0 20px !important;font-weight:600 !important;font-size:15px !important;text-transform:none !important}
body .nav-right a.nav-cta-register span,body .nav-right a.nav-cta-portal span,body .nav-right a.nav-cta-doctors span{color:#003087 !important}
body .nav-right a.nav-cta-register svg,body .nav-right a.nav-cta-portal svg,body .nav-right a.nav-cta-doctors svg{stroke:#003087 !important}
body .nav-right a.nav-cta-register:hover,body .nav-right a.nav-cta-portal:hover,body .nav-right a.nav-cta-doctors:hover{background:#F4F7FB !important;border-color:#003087 !important}
body .nav-right a.nav-cta{background:#003087 !important;color:#fff !important;border:0 !important;height:46px !important;border-radius:12px !important;padding:0 22px !important;font-weight:600 !important;font-size:15px !important;box-shadow:0 8px 20px -8px rgba(0,48,135,.55) !important;text-transform:none !important}
body .nav-right a.nav-cta span{color:#fff !important}
body .nav-right a.nav-cta svg{stroke:#fff !important}
body .nav-right a.nav-cta:hover{background:#00256a !important;transform:translateY(-1px) !important;box-shadow:0 12px 26px -8px rgba(0,48,135,.6) !important}
/* 4 · PRIMARY NAV — calm white bar */
body header.nav .nav-tier2{background:#fff !important;border-top:1px solid #E6ECF3 !important;box-shadow:0 8px 18px -16px rgba(2,28,79,.45) !important}
body header.nav .nav-primary{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:2px 6px !important;padding:8px 0 !important}
body header.nav .nav-primary-link{color:#14181F !important;background:transparent !important;text-transform:none !important;font-weight:500 !important;font-size:14px !important;letter-spacing:.005em !important;padding:9px 12px !important;border-radius:9px !important}
body header.nav .nav-primary-link span{color:#14181F !important;text-transform:none !important;font-weight:500 !important;letter-spacing:.005em !important}
body header.nav .nav-primary-item:hover>.nav-primary-link,body header.nav .nav-primary-link:hover{color:#003087 !important;background:#F4F7FB !important}
body header.nav .nav-primary-item:hover>.nav-primary-link span,body header.nav .nav-primary-link:hover span{color:#003087 !important}
body header.nav .nav-chev-btn,body header.nav .nav-primary-btn{background:transparent !important;border:0 !important;box-shadow:none !important;padding:4px !important}
body header.nav .nav-chev-btn .dd-chev{stroke:#8494a8 !important;fill:none !important;opacity:.6 !important;width:14px !important;height:14px !important}
body header.nav .nav-primary-item:hover .dd-chev{stroke:#003087 !important;opacity:.95 !important}
/* translate banner — slim, light, on-brand */
body .tr-banner{background:#F4F7FB !important;border-top:1px solid #E6ECF3 !important;border-bottom:1px solid #E6ECF3 !important;color:#14181F !important;box-shadow:none !important}
body .tr-banner .tr-banner-title,body .tr-banner span{color:#33404f !important}
body .tr-banner .tr-banner-greeting{color:#007D8A !important;font-weight:700 !important}
body .tr-banner .tr-banner-icon{color:#003087 !important}
body .tr-banner .tr-banner-icon svg{stroke:#003087 !important}
body .tr-banner .tr-banner-cta{background:#003087 !important;color:#fff !important;border-radius:8px !important;border:0 !important;font-weight:600 !important}
body .tr-banner .tr-banner-close{color:#5B6B80 !important;background:transparent !important}
/* ---- Subtle header texture (behind a white wash so text stays crisp) ---- */
body header.nav{
  background-color:#fff !important;
  background-image:linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.92)),url('/assets/header-texture.jpg') !important;
  background-size:cover !important;background-position:center top !important;background-repeat:no-repeat !important;
}
body header.nav .nav-inner{background:transparent !important}
body header.nav .nav-tier2{background:transparent !important;border-top:1px solid rgba(0,48,135,.07) !important}
/* ---- Premium button motion ---- */
body header.nav .nav-right a.nav-cta,
body header.nav .nav-right a.nav-cta-portal,
body header.nav .nav-right a.nav-cta-register{position:relative !important;overflow:hidden !important;
  transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease,background .22s ease,border-color .22s ease !important;will-change:transform}
body header.nav .nav-right a.nav-cta:hover{transform:translateY(-2px) !important;box-shadow:0 14px 30px -10px rgba(0,48,135,.6) !important}
body header.nav .nav-right a.nav-cta-portal:hover,
body header.nav .nav-right a.nav-cta-register:hover{transform:translateY(-1px) !important}
body header.nav .nav-right a.nav-cta:active,
body header.nav .nav-right a.nav-cta-portal:active{transform:translateY(0) !important}
/* soft sheen sweep on the primary CTA */
body header.nav .nav-right a.nav-cta::before{content:"" !important;position:absolute !important;top:0 !important;left:-130% !important;width:55% !important;height:100% !important;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent) !important;transform:skewX(-18deg) !important;
  transition:left .6s ease !important;pointer-events:none !important;z-index:1}
body header.nav .nav-right a.nav-cta:hover::before{left:140% !important}
body header.nav .nav-right a.nav-cta>*{position:relative !important;z-index:2 !important}
/* arrow nudge (existing ::after arrow, if present) */
body header.nav .nav-right a.nav-cta::after{transition:transform .22s ease !important}
body header.nav .nav-right a.nav-cta:hover::after{transform:translateX(4px) !important}
body header.nav .nav-right a.nav-cta:hover svg{transform:translateX(2px) !important;transition:transform .22s ease !important}
/* ---- Logo: gentle entrance + hover ---- */
@keyframes tbhLogoIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
body header.nav .brand .brand-logo{animation:tbhLogoIn .7s cubic-bezier(.2,.7,.3,1) both !important;transition:transform .3s ease !important}
body header.nav .brand{transition:transform .3s ease !important}
body header.nav .brand:hover .brand-logo{transform:scale(1.03) !important}
/* ---- Respect reduced motion ---- */
@media (prefers-reduced-motion:reduce){
  body header.nav .brand .brand-logo{animation:none !important}
  body header.nav .nav-right a.nav-cta:hover,
  body header.nav .nav-right a.nav-cta-portal:hover,
  body header.nav .nav-right a.nav-cta-register:hover,
  body header.nav .brand:hover .brand-logo{transform:none !important}
  body header.nav .nav-right a.nav-cta::before{display:none !important}
  body header.nav .nav-right a.nav-cta:hover svg{transform:none !important}
}
body header.nav{background:#fff !important}
body header.nav .nav-inner{background:#fff !important}
/* FINAL colour layer for the three CTAs (html prefix = wins regardless of order) */
html body header.nav .nav-right a.nav-cta{background:linear-gradient(122deg,#002B7A 0%,#0A57C7 52%,#0E8BD1 100%) !important;background-image:linear-gradient(122deg,#002B7A 0%,#0A57C7 52%,#0E8BD1 100%) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border:0 !important;box-shadow:0 10px 26px -8px rgba(6,64,150,.62) !important}
html body header.nav .nav-right a.nav-cta span{color:#fff !important;-webkit-text-fill-color:#fff !important}
html body header.nav .nav-right a.nav-cta svg{stroke:#fff !important}
html body header.nav .nav-right a.nav-cta:hover{background-image:linear-gradient(122deg,#00256a 0%,#0A5FD8 52%,#15A2E4 100%) !important}
html body header.nav .nav-right a.nav-cta-register.nav-cta-portal{background:linear-gradient(122deg,#00A9CE 0%,#0090B6 100%) !important;background-image:linear-gradient(122deg,#00A9CE 0%,#0090B6 100%) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border:0 !important;box-shadow:0 8px 22px -9px rgba(0,140,175,.6) !important}
html body header.nav .nav-right a.nav-cta-register.nav-cta-portal span{color:#fff !important;-webkit-text-fill-color:#fff !important}
html body header.nav .nav-right a.nav-cta-register.nav-cta-portal svg{stroke:#fff !important}
html body header.nav .nav-right a.nav-cta-register.nav-cta-portal:hover{background-image:linear-gradient(122deg,#00B7DF 0%,#009EC6 100%) !important}
html body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors{background:linear-gradient(122deg,#12347F 0%,#2E6FCB 100%) !important;background-image:linear-gradient(122deg,#12347F 0%,#2E6FCB 100%) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border:0 !important;box-shadow:0 8px 22px -9px rgba(18,52,127,.6) !important}
html body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors span{color:#fff !important;-webkit-text-fill-color:#fff !important}
html body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors svg{stroke:#fff !important}
html body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors:hover{background-image:linear-gradient(122deg,#173C90 0%,#357CD8 100%) !important}
/* Colourful, designed CTA set — Book Now boldest (primary), portals coordinated */
body header.nav .nav-right a.nav-cta{
  background:linear-gradient(122deg,#002B7A 0%,#0A57C7 52%,#0E8BD1 100%) !important;
  background-image:linear-gradient(122deg,#002B7A 0%,#0A57C7 52%,#0E8BD1 100%) !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;border:0 !important;
  box-shadow:0 10px 26px -8px rgba(6,64,150,.62) !important;letter-spacing:.01em !important;
}
body header.nav .nav-right a.nav-cta span{color:#fff !important;-webkit-text-fill-color:#fff !important}
body header.nav .nav-right a.nav-cta svg{stroke:#fff !important}
body header.nav .nav-right a.nav-cta:hover{background-image:linear-gradient(122deg,#00256a 0%,#0A5FD8 52%,#15A2E4 100%) !important}
/* Patient Portal — teal */
body header.nav .nav-right a.nav-cta-register.nav-cta-portal{
  background:linear-gradient(122deg,#00A9CE 0%,#0090B6 100%) !important;
  background-image:linear-gradient(122deg,#00A9CE 0%,#0090B6 100%) !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;border:0 !important;
  box-shadow:0 8px 22px -9px rgba(0,140,175,.6) !important;
}
body header.nav .nav-right a.nav-cta-register.nav-cta-portal span{color:#fff !important;-webkit-text-fill-color:#fff !important}
body header.nav .nav-right a.nav-cta-register.nav-cta-portal svg{stroke:#fff !important}
body header.nav .nav-right a.nav-cta-register.nav-cta-portal:hover{background-image:linear-gradient(122deg,#00B7DF 0%,#009EC6 100%) !important;border:0 !important}
/* Doctors Portal — royal indigo-blue */
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors{
  background:linear-gradient(122deg,#12347F 0%,#2E6FCB 100%) !important;
  background-image:linear-gradient(122deg,#12347F 0%,#2E6FCB 100%) !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;border:0 !important;
  box-shadow:0 8px 22px -9px rgba(18,52,127,.6) !important;
}
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors span{color:#fff !important;-webkit-text-fill-color:#fff !important}
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors svg{stroke:#fff !important}
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors:hover{background-image:linear-gradient(122deg,#173C90 0%,#357CD8 100%) !important}
/* sheen sweep on all three */
body header.nav .nav-right a.nav-cta-register.nav-cta-portal,
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors{position:relative !important;overflow:hidden !important}
body header.nav .nav-right a.nav-cta-register.nav-cta-portal::before,
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors::before{content:"" !important;position:absolute !important;top:0 !important;left:-130% !important;width:55% !important;height:100% !important;background:linear-gradient(100deg,transparent,rgba(255,255,255,.30),transparent) !important;transform:skewX(-18deg) !important;transition:left .6s ease !important;pointer-events:none !important;z-index:1}
body header.nav .nav-right a.nav-cta-register.nav-cta-portal:hover::before,
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors:hover::before{left:140% !important}
body header.nav .nav-right a.nav-cta-register.nav-cta-portal>*,
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors>*{position:relative !important;z-index:2 !important}
/* Definitive layer: also override -webkit-text-fill-color and background-image */
/* nav labels → dark ink on white */
body header.nav .nav-tier2 a.nav-primary-link,
body header.nav .nav-tier2 a.nav-primary-link span{color:#14181F !important;-webkit-text-fill-color:#14181F !important}
body header.nav .nav-tier2 .nav-primary-item:hover>a.nav-primary-link,
body header.nav .nav-tier2 .nav-primary-item:hover>a.nav-primary-link span,
body header.nav .nav-tier2 a.nav-primary-link:hover,
body header.nav .nav-tier2 a.nav-primary-link:hover span{color:#003087 !important;-webkit-text-fill-color:#003087 !important}
/* emergency bar text */
body #liveBar .live-bar-inner,body #liveBar .live-bar-inner span,body #liveBar .live-bar-inner strong,
body #liveBar .live-status,body #liveBar .live-availability,body #liveBar .live-text{color:#14181F !important;-webkit-text-fill-color:#14181F !important}
body #liveBar .live-bar-inner .emerg,body #liveBar .emerg{color:#98271F !important;-webkit-text-fill-color:#98271F !important}
/* buttons: portals = ghost, Book Now = navy primary */
body header.nav .nav-right a.nav-cta-portal,
body header.nav .nav-right a.nav-cta-register.nav-cta-portal,
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors{background:#fff !important;background-image:none !important;color:#003087 !important;-webkit-text-fill-color:#003087 !important;border:1.5px solid #cfd9ea !important;border-radius:12px !important;box-shadow:none !important}
body header.nav .nav-right a.nav-cta-portal span{color:#003087 !important;-webkit-text-fill-color:#003087 !important}
body header.nav .nav-right a.nav-cta-portal svg{stroke:#003087 !important}
body header.nav .nav-right a.nav-cta-portal:hover,
body header.nav .nav-right a.nav-cta-register.nav-cta-portal:hover,
body header.nav .nav-right a.nav-cta-portal.nav-cta-doctors:hover{background:#EDF2F8 !important;border-color:#003087 !important}
body header.nav .nav-right a.nav-cta{background:#003087 !important;background-image:none !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border:0 !important;border-radius:12px !important;box-shadow:0 8px 20px -8px rgba(0,48,135,.55) !important}
body header.nav .nav-right a.nav-cta span{color:#fff !important;-webkit-text-fill-color:#fff !important}
body header.nav .nav-right a.nav-cta svg{stroke:#fff !important}
body header.nav .nav-right a.nav-cta:hover{background:#00256a !important}
body header.nav .nav-right>a.nav-cta-register:not(.nav-cta-portal){border-radius:12px !important;border:1.5px solid #cfd9ea !important}
body.tbh-rebrand-open #cookieBanner{display:none !important;}
  .tbh-rebrand-overlay{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:22px;
    background:rgba(0,20,48,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s ease;}
  .tbh-rebrand-overlay.show{opacity:1;}
  .tbh-rebrand-overlay[hidden]{display:none;}
  .tbh-rebrand-card{position:relative;width:100%;max-width:430px;background:#FFFFFF;border-radius: 8px;padding:40px 30px 30px;text-align:center;
    box-shadow:var(--shadow-sm);transform:translateY(16px) scale(.97);transition:transform .4s cubic-bezier(.2,.8,.2,1);
    border-top:4px solid #00A9CE;}
  .tbh-rebrand-overlay.show .tbh-rebrand-card{transform:none;}
  .tbh-rebrand-badge{width:78px;height:78px;margin:0 auto 18px;border-radius: 8px;display:flex;align-items:center;justify-content:center;
    background:#F6F6F4;box-shadow:0 8px 22px -12px rgba(0,33,78,.4);}
  .tbh-rebrand-badge img{border-radius: 8px;display:block;}
  .tbh-rebrand-eyebrow{font-family:'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;
    color:#00A6B8;margin:0 0 10px;}
  .tbh-rebrand-card h2{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.6rem;line-height:1.18;color:#00214E;margin:0 0 14px;}
  .tbh-rebrand-body{font-family:'Manrope',sans-serif;font-size:1rem;line-height:1.6;color:#39434F;margin:0 0 26px;}
  .tbh-rebrand-body strong{color:#003087;font-weight:700;}
  .tbh-rebrand-ok{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:170px;padding:14px 30px;border:none;cursor:pointer;
    background:#003087;color:#FFFFFF;font-family:'Manrope',sans-serif;font-weight:700;font-size:1rem;border-radius: 8px;
    box-shadow:var(--shadow-sm);transition:background .2s ease,transform .2s ease;}
  .tbh-rebrand-ok:hover{background:#005EB5;transform:translateY(-2px);}
  .tbh-rebrand-close{position:absolute;top:14px;right:16px;width:34px;height:34px;border:none;border-radius:50%;cursor:pointer;
    background:#EDF2F8;color:#42546B;font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center;
    transition:background .2s ease,color .2s ease;}
  .tbh-rebrand-close:hover{background:#003087;color:#fff;}
  @media (prefers-reduced-motion:reduce){.tbh-rebrand-overlay,.tbh-rebrand-card{transition:none;}}
  @media (max-width:480px){.tbh-rebrand-card{padding:34px 22px 24px;}.tbh-rebrand-card h2{font-size:1.4rem;}}

/* ===================== ENHANCEMENTS v2 ===================== */
/* Header: more depth — soft cool gradient + Artlist texture (less stark white) */
html body header.nav{position:relative !important;background-color:#F6FAFE !important;
  background-image:linear-gradient(180deg,rgba(228,237,248,.62) 0%,rgba(255,255,255,.82) 66%),url('/assets/header-texture.jpg') !important;
  background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important}
html body header.nav .nav-inner{background:transparent !important}
html body header.nav .nav-tier2{background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,.92)) !important;border-top:1px solid rgba(0,48,135,.08) !important;position:relative !important}
/* premium gradient accent line under the header */
html body header.nav::after{content:"" !important;position:absolute !important;left:0;right:0;bottom:0;height:3px !important;background:linear-gradient(90deg,#003087,#00A9CE 55%,#007D8A) !important;z-index:6 !important}
/* NAV: bigger + bolder service names */
html body header.nav .nav-tier2 .nav-primary{gap:2px 4px !important;padding:10px 0 !important}
html body header.nav .nav-tier2 a.nav-primary-link{padding:11px 15px !important;border-radius:11px !important}
html body header.nav .nav-tier2 a.nav-primary-link,
html body header.nav .nav-tier2 a.nav-primary-link span{font-size:16.5px !important;font-weight:700 !important;letter-spacing:.002em !important;color:#0C2340 !important;-webkit-text-fill-color:#0C2340 !important}
html body header.nav .nav-tier2 .nav-primary-item:hover>a.nav-primary-link{background:#EAF2FB !important}
html body header.nav .nav-tier2 .dd-chev{width:15px !important;height:15px !important;stroke-width:2.4 !important}
html body header.nav .nav-tier2 .nav-primary-item:hover>a.nav-primary-link,
html body header.nav .nav-tier2 .nav-primary-item:hover>a.nav-primary-link span,
html body header.nav .nav-tier2 a.nav-primary-link:hover,
html body header.nav .nav-tier2 a.nav-primary-link:hover span{color:#003087 !important;-webkit-text-fill-color:#003087 !important}
/* ELITE dropdown */
html body header.nav .nav-dropdown{background:#fff !important;border:1px solid #E6ECF3 !important;border-radius:16px !important;
  box-shadow:0 44px 100px -40px rgba(2,28,79,.55),0 10px 30px -16px rgba(2,28,79,.22) !important;
  padding:24px 26px !important;overflow:hidden !important}
html body header.nav .nav-dropdown::before{content:"" !important;position:absolute !important;top:0;left:0;right:0;height:4px !important;background:linear-gradient(90deg,#003087,#00A9CE 58%,#007D8A) !important;z-index:3}
html body header.nav .nav-dropdown::after{content:"" !important;position:absolute !important;inset:0 !important;top:0;left:0;right:0;bottom:0;width:100% !important;height:100% !important;background:radial-gradient(58% 68% at 100% 0%, rgba(0,169,206,.09), rgba(0,48,135,.03) 38%, rgba(255,255,255,0) 52%) !important;opacity:1 !important;pointer-events:none !important;z-index:0}
html body header.nav .nav-dropdown>*{position:relative !important;z-index:1 !important}
html body header.nav .nav-mega-title{color:#007D8A !important;-webkit-text-fill-color:#007D8A !important;font-size:12.5px !important;font-weight:800 !important;letter-spacing:.1em !important;text-transform:uppercase !important;margin:16px 0 10px !important;padding-bottom:7px !important;border-bottom:1px solid #E7EFF7 !important}
html body header.nav .nav-dropdown a{color:#1e2a3a !important;-webkit-text-fill-color:#1e2a3a !important;font-size:15px !important;font-weight:600 !important;padding:8px 11px !important;border-radius:10px !important;position:relative !important;transition:background .16s ease,color .16s ease,padding-left .18s cubic-bezier(.16,1,.3,1) !important}
html body header.nav .nav-dropdown a:hover{color:#003087 !important;-webkit-text-fill-color:#003087 !important;background:linear-gradient(90deg,#EAF3FC,#F3F9FD) !important;padding-left:18px !important}
html body header.nav .nav-dropdown a:hover::before{content:"" !important;position:absolute !important;left:6px !important;top:50% !important;width:4px !important;height:4px !important;border-radius:50% !important;background:#00A9CE !important;transform:translateY(-50%) !important}
html body header.nav .nav-dropdown a strong{color:#003087 !important;-webkit-text-fill-color:#003087 !important;font-weight:700 !important}

/* ============================================================
   MEGA DROPDOWN — anchor below the full (two-row) nav & size to content
   Fix: 14-item primary nav wraps to two rows. Each mega panel was
   position:absolute anchored to its OWN .nav-primary-item, so a
   top-row item's panel dropped at the bottom of row 1 and landed on
   top of / detached across row 2 ("incomplete, not visible"). Anchor
   every panel to the whole .nav-primary bar instead, so it drops below
   BOTH rows at a single consistent, centred position. Also switch the
   fixed 3-col grid to a content-sized flex row so 2-column menus no
   longer leave an empty third column.
   ============================================================ */
html body header.nav .nav-tier2 .nav-primary{position:relative !important}
html body header.nav .nav-tier2 .nav-primary-item{position:static !important}

html body header.nav .nav-tier2 .nav-dropdown{
  position:absolute !important;
  top:calc(100% + 5px) !important;
  right:auto !important;
  /* NOTE: horizontal `left` is set inline by the tbh-mega-position script so each
     panel centres under ITS OWN button (clamped to the viewport) — do NOT force
     left here with !important or every panel snaps back to the bar centre. */
  transform:translateY(-16px) scale(.985) !important;
  transform-origin:top center !important;
  max-width:min(1180px,calc(100vw - 32px)) !important;
  transition:opacity .26s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.16,1,.3,1),visibility .38s !important;
  will-change:transform,opacity !important;
}
html body header.nav .nav-dropdown.nav-mega{width:auto !important}
html body header.nav .nav-tier2 .nav-primary-item.open .nav-dropdown{
  transform:translateY(0) scale(1) !important;
}
/* connector "stem" from the panel up toward the nav, and a soft entrance for the columns */
html body header.nav .nav-tier2 .nav-primary-item.open .nav-mega-col{animation:tbhFadeUp .5s cubic-bezier(.16,1,.3,1) both !important}
html body header.nav .nav-tier2 .nav-primary-item.open .nav-mega-col:nth-child(2){animation-delay:.05s !important}
html body header.nav .nav-tier2 .nav-primary-item.open .nav-mega-col:nth-child(3){animation-delay:.1s !important}
@keyframes tbhFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Columns size to how many there are (2 or 3), so nothing looks half-empty */
html body header.nav .nav-mega .nav-mega-cols{
  display:flex !important;
  grid-template-columns:none !important;
  gap:46px !important;
  align-items:flex-start !important;
}
html body header.nav .nav-mega .nav-mega-col{
  width:238px !important; flex:0 0 auto !important; min-width:0 !important;
}
html body header.nav .nav-mega .nav-mega-col--wide{width:252px !important}
html body header.nav .nav-mega .nav-dropdown a,
html body header.nav .nav-mega .nav-mega-col a{white-space:normal !important}

/* ============================================================
   UTILITY BAR + TRANSLATION CONTROL — visibility pass
   Problem: the top utility bar, its search field and the language
   (translate) switcher were near-white on near-white and disappeared.
   Fix: give the bar a cool tinted ground (Artlist mist texture over a
   soft blue gradient, with a solid fallback so it works with or without
   the image), a clearly bordered white search pill with a filled teal
   search button, defined A±/contrast buttons, and a teal-accented
   language pill that reads clearly as the "translate" control.
   Texture file (optional enhancement): /assets/utilbar-texture.jpg
   ============================================================ */
html body .top-bar{
  background:
    linear-gradient(180deg, rgba(230,239,250,.66), rgba(237,243,251,.80)),
    url('/assets/utilbar-texture.jpg') center right/cover no-repeat,
    #E7EFFA !important;
  border-bottom:1px solid #CBD9EC !important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.55), 0 1px 2px rgba(2,28,79,.05) !important;
}

/* Search field — white pill, defined edge, soft lift */
html body .top-search input{
  background:#FFFFFF !important;
  border:1.5px solid #B6C9E3 !important;
  color:#14181F !important;
  box-shadow:0 1px 2px rgba(2,28,79,.08), inset 0 1px 1px rgba(255,255,255,.9) !important;
}
html body .top-search input::placeholder{color:#67788f !important;opacity:1 !important}
html body .top-search input:focus{
  border-color:#005EB5 !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(0,94,181,.16) !important;
}
/* Search button — filled teal→navy, white glyph, clearly a button */
html body .top-search button{
  right:4px !important; width:32px !important; height:32px !important;
  background:linear-gradient(135deg,#00A9CE 0%,#007D8A 100%) !important;
  color:#fff !important; border:0 !important;
  box-shadow:0 3px 8px -2px rgba(0,125,138,.5) !important;
}
html body .top-search button:hover{
  background:linear-gradient(135deg,#00B6DE 0%,#008A98 100%) !important;
  transform:translateY(-50%) scale(1.04) !important;
}
html body .top-search button svg{stroke:#fff !important;color:#fff !important}

/* A± + contrast buttons — defined, navy on white */
html body .a11y-btn{
  background:#fff !important;
  border:1.5px solid #B6C9E3 !important;
  color:#003087 !important;
  box-shadow:0 1px 2px rgba(2,28,79,.07) !important;
}
html body .a11y-btn:hover{background:#EEF3FB !important;border-color:#7FA0C9 !important}
html body .a11y-btn svg{stroke:#003087 !important}

/* Language / translate switcher — teal-accented pill so it's obviously the translate control */
html body .lang-switch .lang-trigger{
  background:linear-gradient(180deg,#FFFFFF 0%,#EFF8FB 100%) !important;
  border:1.5px solid #8CCADD !important;
  color:#00566F !important;
  font-weight:700 !important;
  box-shadow:0 1px 2px rgba(0,125,138,.16) !important;
}
html body .lang-switch .lang-trigger:hover{
  background:#E7F5F9 !important; border-color:#00A9CE !important;
}
html body .lang-switch .lang-trigger svg{stroke:#00A9CE !important}
html body .lang-switch .lang-trigger .lang-trigger-label{color:#00566F !important;-webkit-text-fill-color:#00566F !important}

/* ============================================================
   SERVICE-PAGE PHOTO HERO — full-bleed image/video + navy scrim + white text
   Turn any page's existing hero <section> into a cinematic photo hero by
   adding class "tbh-photo-hero" and style="--hero:url('/assets/hero-<slug>.jpg')".
   All look comes from here so every page stays consistent. Text is forced
   white; boxed callouts become translucent glass; CTAs restyle for dark bg.
   ============================================================ */
.tbh-photo-hero{position:relative !important;background:#0b1f3f !important;border:0 !important;border-bottom:0 !important;
  overflow:hidden !important;padding:0 !important;min-height:clamp(430px,60vh,600px) !important;display:flex !important;align-items:center !important}
.tbh-photo-hero::before{content:"" !important;position:absolute !important;inset:0 !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;width:100% !important;height:100% !important;z-index:0 !important;
  background-image:var(--hero) !important;background-size:cover !important;background-position:center right !important;background-repeat:no-repeat !important;transform:none !important;border-radius:0 !important;filter:none !important}
.tbh-photo-hero::after{content:"" !important;position:absolute !important;inset:0 !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;width:100% !important;height:100% !important;z-index:1 !important;
  background:linear-gradient(103deg,rgba(2,28,79,.88),rgba(2,28,79,.58) 40%,rgba(2,28,79,.16) 66%,rgba(2,28,79,.38)) !important}
.tbh-photo-hero .tbh-hero-video{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;z-index:0 !important}
.tbh-photo-hero>.wrap,.tbh-photo-hero>*{position:relative !important;z-index:2 !important}
.tbh-photo-hero>.wrap{padding-top:46px !important;padding-bottom:46px !important}
/* headings + copy -> white */
.tbh-photo-hero h1,.tbh-photo-hero h1 span{color:#fff !important;-webkit-text-fill-color:#fff !important;text-shadow:0 2px 18px rgba(0,0,0,.42) !important}
.tbh-photo-hero h1 .accent-italic,.tbh-photo-hero h1 em{color:#8fd4e6 !important;-webkit-text-fill-color:#8fd4e6 !important}
.tbh-photo-hero p,.tbh-photo-hero li,.tbh-photo-hero dd{color:#eaf1fa !important;-webkit-text-fill-color:#eaf1fa !important;text-shadow:0 1px 10px rgba(0,0,0,.35) !important}
.tbh-photo-hero dt{color:#fff !important;-webkit-text-fill-color:#fff !important}
.tbh-photo-hero [class*="eyebrow"],.tbh-photo-hero [class*="kicker"]{color:#bfd7f0 !important;-webkit-text-fill-color:#bfd7f0 !important;border-color:rgba(255,255,255,.28) !important}
.tbh-photo-hero [class*="meta"],.tbh-photo-hero [class*="meta"] *{border-color:rgba(255,255,255,.22) !important}
.tbh-photo-hero .breadcrumb a,.tbh-photo-hero .breadcrumb span,.tbh-photo-hero .breadcrumb svg{color:#d6e3f4 !important;-webkit-text-fill-color:#d6e3f4 !important;stroke:#d6e3f4 !important}
/* boxed callouts (emergency / notice) -> glass */
.tbh-photo-hero [class*="emergency"],.tbh-photo-hero [class*="notice"],.tbh-photo-hero [class*="honesty"],.tbh-photo-hero [class*="-note"],.tbh-photo-hero [class*="callout"],.tbh-photo-hero [class*="disclaimer"],.tbh-photo-hero [class*="caution"],.tbh-photo-hero [class*="advisory"],.tbh-photo-hero [class*="reassur"],.tbh-photo-hero [class*="safety"],.tbh-photo-hero [class*="promise"],.tbh-photo-hero [class*="guarantee"],.tbh-photo-hero [class*="important"],.tbh-photo-hero [class*="-alert"],.tbh-photo-hero [class*="-warn"],.tbh-photo-hero [class*="-nb"]{background:rgba(2,18,46,.5) !important;border:1px solid rgba(255,255,255,.24) !important;border-radius:12px !important;padding:13px 16px !important;box-shadow:none !important;backdrop-filter:blur(3px) !important}
.tbh-photo-hero [class*="emergency"] *,.tbh-photo-hero [class*="notice"] *,.tbh-photo-hero [class*="honesty"] *,.tbh-photo-hero [class*="-note"] *,.tbh-photo-hero [class*="callout"] *,.tbh-photo-hero [class*="disclaimer"] *,.tbh-photo-hero [class*="caution"] *,.tbh-photo-hero [class*="advisory"] *,.tbh-photo-hero [class*="reassur"] *,.tbh-photo-hero [class*="safety"] *,.tbh-photo-hero [class*="promise"] *,.tbh-photo-hero [class*="guarantee"] *,.tbh-photo-hero [class*="important"] *,.tbh-photo-hero [class*="-alert"] *,.tbh-photo-hero [class*="-warn"] *,.tbh-photo-hero [class*="-nb"] *{color:#fff !important;-webkit-text-fill-color:#fff !important;stroke:#fff !important}
/* small pill-style badges in the hero: keep compact, glass */
.tbh-photo-hero [class*="hero-badge"]{background:rgba(255,255,255,.14) !important;border:1px solid rgba(255,255,255,.34) !important;border-radius:999px !important;padding:6px 12px !important;color:#fff !important}
.tbh-photo-hero [class*="hero-badge"] *{color:#fff !important;-webkit-text-fill-color:#fff !important}
/* CTAs */
.tbh-photo-hero a.btn-primary{background:#fff !important;color:#003087 !important;-webkit-text-fill-color:#003087 !important;border:0 !important;box-shadow:0 10px 26px -10px rgba(0,0,0,.5) !important}
.tbh-photo-hero a.btn-primary svg{stroke:#003087 !important}
.tbh-photo-hero a.btn-secondary{background:rgba(255,255,255,.10) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border:1.5px solid rgba(255,255,255,.62) !important}
.tbh-photo-hero a.btn-secondary svg{stroke:#fff !important}
@media (prefers-reduced-motion:reduce){.tbh-photo-hero .tbh-hero-video{display:none !important}}
@media (max-width:720px){.tbh-photo-hero{min-height:0 !important}.tbh-photo-hero::after{background:linear-gradient(180deg,rgba(2,28,79,.7),rgba(2,28,79,.82)) !important}}
/* Photo hero: hide decorative right-column visuals/cards/bg so it stays a clean text-over-photo hero (matches homepage) */
.tbh-photo-hero [class*="hero-visual"],.tbh-photo-hero [class*="hero-bg"],.tbh-photo-hero [class*="hero-deco"],.tbh-photo-hero [class*="screen-card"],.tbh-photo-hero [class*="hero-aside"]{display:none !important}
.tbh-photo-hero [class*="hero-inner"]{display:block !important;max-width:none !important}
.tbh-photo-hero [class*="hero-content"]{max-width:640px !important}
/* Centered photo-hero variant (pages whose hero is a centered intro) */
.tbh-photo-hero.tbh-hero-center{text-align:center !important;min-height:clamp(360px,46vh,460px) !important}
.tbh-photo-hero.tbh-hero-center::after{background:linear-gradient(180deg,rgba(2,28,79,.66),rgba(2,28,79,.84)) !important}
.tbh-photo-hero.tbh-hero-center [class*="eyebrow"]{color:#bfd7f0 !important;-webkit-text-fill-color:#bfd7f0 !important}

.tbh-photo-hero>picture,.tbh-photo-hero picture,.tbh-photo-hero [class*="banner-overlay"]::before,.tbh-photo-hero [class*="frontage"] img{display:none !important}
.tbh-photo-hero [class*="banner-overlay"]{position:relative !important;background:none !important}
/* ============================================================
   MODERNISE TOP — remove empty strip, slimmer bars, compact header,
   designed nav background (not plain white)
   ============================================================ */
/* Google Translate injects a banner iframe + shifts <body> down (the empty strip). Neutralise it. */
.goog-te-banner-frame,.goog-te-banner-frame.skiptranslate,iframe.goog-te-banner-frame{display:none !important;visibility:hidden !important;height:0 !important}
body{top:0 !important;position:static !important}
/* slimmer utility (search) bar */
html body .top-bar .top-bar-inner{min-height:40px !important;padding:4px 0 !important}
html body .top-search input{height:36px !important}
/* slimmer emergency bar */
html body .announce-bar .live-bar-inner{min-height:26px !important;padding:2px 24px !important}
html body .live-bar .emerg,html body .live-bar .live-status,html body .live-bar .live-availability,html body .live-bar .live-text,html body .live-bar .live-sub{font-size:12px !important}
/* compact header */
html body header.nav .nav-inner{padding:13px 24px !important}
html body header.nav .brand-logo{height:48px !important}
/* designed navigation background — soft cool gradient instead of plain white */
html body header.nav .nav-tier2{background:linear-gradient(180deg,#E7EFFA 0%,#F1F7FC 58%,#FFFFFF 100%) !important;border-top:1px solid rgba(0,48,135,.10) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 10px 22px -18px rgba(2,28,79,.42) !important}
/* DEAD SPACE FIX — the translate promo banner (.tr-banner) reserves 56px above the
   search bar (body padding-top) AND 56px above the nav (header top offset) on every
   page load, but renders invisibly, leaving two cream/ivory dead strips. Hide the
   redundant promo (the EN switcher already offers translation) and reclaim both gaps. */
html body .tr-banner,html body #trBanner{display:none !important}
html body.tr-banner-active{padding-top:0 !important}
html body.tr-banner-active .nav,html body.tr-banner-active header.nav,html body.tr-banner-active .header{top:0 !important}

/* ============================================================
   SEARCH FIELD — higher-contrast, clearly-defined pill.
   Same size / shape / function — purely more visible: a deeper
   defined edge + a real drop shadow so the white pill lifts off
   the pale-blue utility bar instead of blending into it.
   ============================================================ */
html body .top-search input{
  background:#FFFFFF !important;
  border:1.6px solid #6E8CB8 !important;
  color:#0F1C33 !important;
  box-shadow:0 3px 10px -2px rgba(2,28,79,.22),0 0 0 1px rgba(0,48,135,.05),inset 0 1px 1px rgba(255,255,255,.9) !important;
}
html body .top-search input::placeholder{color:#5C6F88 !important;opacity:1 !important}
html body .top-search input:focus{
  border-color:#005EB5 !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(0,94,181,.22),0 3px 10px -2px rgba(2,28,79,.22) !important;
}

/* ============================================================
   BOOK NOW — primary CTA: no arrow, larger bolder label, richer
   navy gradient, and a slow teal "attention" pulse so it stands
   out. (Arrow is a masked ::after in the chrome CSS — killed here
   since this stylesheet loads last.)
   ============================================================ */
html body header.nav .nav-right a.nav-cta::after{content:none !important;display:none !important;width:0 !important;height:0 !important;margin:0 !important}
html body header.nav .nav-right a.nav-cta{
  background:linear-gradient(135deg,#0A3FA0 0%,#003087 55%,#00246A 100%) !important;
  font-size:16.5px !important;font-weight:700 !important;letter-spacing:.01em !important;
  padding:0 26px !important;
  animation:tbhBookPulse 2.8s ease-in-out infinite !important;
}
html body header.nav .nav-right a.nav-cta .book-long,
html body header.nav .nav-right a.nav-cta .book-short{font-size:16.5px !important;font-weight:700 !important}
html body header.nav .nav-right a.nav-cta svg{width:19px !important;height:19px !important;stroke:#fff !important}
html body header.nav .nav-right a.nav-cta:hover{
  background:linear-gradient(135deg,#0B47B0 0%,#00368F 55%,#002A78 100%) !important;
  transform:translateY(-2px) !important;
  animation:none !important;
  box-shadow:0 16px 34px -10px rgba(0,48,135,.7),0 0 0 4px rgba(0,169,206,.22),inset 0 0 0 1px rgba(255,255,255,.08) !important;
}
@keyframes tbhBookPulse{
  0%,100%{box-shadow:0 10px 24px -8px rgba(0,48,135,.55),0 0 0 0 rgba(0,169,206,0)}
  50%{box-shadow:0 12px 28px -8px rgba(0,48,135,.66),0 0 0 5px rgba(0,169,206,.17)}
}
@media (prefers-reduced-motion:reduce){
  html body header.nav .nav-right a.nav-cta{animation:none !important;box-shadow:0 10px 24px -8px rgba(0,48,135,.6) !important}
}

/* ============================================================
   "ALL SERVICES" HUB LINK — tier-2 desktop nav + mobile accordion
   A prominent pill that jumps straight to the full services page.
   ============================================================ */
html body header.nav .nav-tier2 .nav-all-item{margin-right:8px !important}
html body header.nav .nav-tier2 .nav-all-link{
  background:linear-gradient(120deg,#003087,#005EB5) !important;
  border-radius:999px !important;padding:7px 17px !important;
  box-shadow:0 7px 18px -9px rgba(0,48,135,.65) !important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease !important;
}
html body header.nav .nav-tier2 .nav-all-item>.nav-all-link span,
html body header.nav .nav-tier2 .nav-all-link span{color:#fff !important;-webkit-text-fill-color:#fff !important;font-weight:700 !important}
html body header.nav .nav-tier2 .nav-all-item:hover>.nav-all-link{
  background:linear-gradient(120deg,#00256a,#0a63c9) !important;transform:translateY(-1px) !important;
  box-shadow:0 12px 24px -10px rgba(0,48,135,.7) !important;
}
/* mobile menu "View all services" button */
.tbh-acc-allbtn{display:inline-flex !important;align-items:center !important;gap:8px !important;margin:14px 0 2px !important;padding:13px 20px !important;border-radius:12px !important;background:linear-gradient(120deg,#003087,#005EB5) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;font-weight:700 !important;font-size:15px !important;text-decoration:none !important;box-shadow:0 10px 22px -11px rgba(0,48,135,.6) !important}
.tbh-acc-allbtn:hover{background:linear-gradient(120deg,#00256a,#0a63c9) !important}

/* ============================================================
   SCROLL SMOOTHNESS — kill per-frame backdrop-blur repaints on
   always-visible fixed UI (their backgrounds are already near-opaque,
   so the frosted blur cost far more than it added).
   ============================================================ */
.register-fab,.book-fab,.whatsapp-fab,.to-top,button.to-top,[class*="-fab"],
.mobile-action-bar,.hero-trust li,.ed-chip{
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}

/* ============================================================
   INVISIBLE-TEXT FIX — hero stat/meta rows were dark ink on the
   dark photo hero (cn-/pl-/services-/mb-/cd-/py-/gs-/so-/cs-hero-meta,
   stat-*, *-hero-lede). Force readable light text inside any photo hero.
   ============================================================ */
html body .tbh-photo-hero [class*="hero-meta"],
html body .tbh-photo-hero [class*="hero-meta"] strong,
html body .tbh-photo-hero [class*="hero-meta"] b,
html body .tbh-photo-hero [class*="hero-meta"] span,
html body .tbh-photo-hero .stat,html body .tbh-photo-hero .stat-num,html body .tbh-photo-hero .stat-lbl,
html body .tbh-photo-hero [class*="hero-lede"],html body .tbh-photo-hero [class*="hero-sub"],
html body .tbh-photo-hero dl[class*="meta"],html body .tbh-photo-hero dl[class*="meta"] *{
  color:#eaf2fc !important;-webkit-text-fill-color:#eaf2fc !important;
}
html body .tbh-photo-hero [class*="hero-meta"]{border-top-color:rgba(255,255,255,.30) !important}
/* hero outline/ghost buttons: white on the photo instead of faint navy */
html body .tbh-photo-hero a[class*="ghost"],html body .tbh-photo-hero a[class*="outline"],
html body .tbh-photo-hero a[class*="secondary"],html body .tbh-photo-hero button[class*="ghost"]{
  color:#fff !important;-webkit-text-fill-color:#fff !important;border-color:rgba(255,255,255,.55) !important;
}
html body .tbh-photo-hero a[class*="ghost"] *,html body .tbh-photo-hero a[class*="outline"] *{color:#fff !important;-webkit-text-fill-color:#fff !important}

/* ============================================================
   RECOVERY / AFTERCARE GUIDES — cinematic photo hero band
   (reuses existing service/hero imagery; title moved into the band)
   ============================================================ */
.rg-photoband{min-height:300px;display:flex;align-items:center}
.rg-photoband .rg-photoband-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:54px 30px;width:100%}
.rg-photoband .rg-crumb{margin:0 0 14px}
.rg-photoband .rg-crumb ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0;font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.rg-photoband .rg-crumb a,.rg-photoband .rg-crumb li{color:#cfe0f5 !important;-webkit-text-fill-color:#cfe0f5 !important;text-decoration:none}
.rg-photoband .rg-crumb a:hover{color:#fff !important;-webkit-text-fill-color:#fff !important}
.rg-photoband-eyebrow{display:block;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#7fd4e8 !important;-webkit-text-fill-color:#7fd4e8 !important;margin-bottom:12px}
.rg-photoband h1{color:#fff !important;-webkit-text-fill-color:#fff !important;font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(2rem,3.6vw,3rem);line-height:1.05;margin:0 0 14px;max-width:22ch}
.rg-photoband .res-sub{color:#eaf2fc !important;-webkit-text-fill-color:#eaf2fc !important;font-size:1.05rem;line-height:1.6;max-width:54ch;margin:0}
@media(max-width:760px){.rg-photoband{min-height:220px}.rg-photoband .rg-photoband-inner{padding:38px 22px}}

/* breadcrumb separator was literally the letter "A" — replace with a chevron */
html body .rg-crumb li+li::before{content:"\203A" !important;color:#8aa6c8 !important}
html body .rg-photoband .rg-crumb li+li::before{color:#aac3df !important;-webkit-text-fill-color:#aac3df !important}

/* ============================================================
   DOCTOR PROFILE HERO (.pr-hero) — subtle premium clinic backdrop.
   Heavy white veil keeps the portrait + bio text crisp; adds depth.
   ============================================================ */
html body .pr-hero{
  background:
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.87) 100%),
    url('/assets/hero-team-backdrop.jpg') center/cover no-repeat,
    #eef3f9 !important;
  border-bottom:1px solid #e6ecf3 !important;
}

/* ============================================================
   P3 — mid-page brand band on service pages (reuses existing
   imagery via --mid; self-contained so it never clashes with
   the page's own .tbh-photo-hero).
   ============================================================ */
.svc-midband{position:relative;overflow:hidden;background:#0b1f3f}
.svc-midband::before{content:"";position:absolute;inset:0;background:var(--mid) center/cover no-repeat;z-index:0}
.svc-midband::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,50,.88),rgba(2,20,50,.58) 55%,rgba(2,20,50,.32));z-index:1}
.svc-midband-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:64px 30px}
.svc-midband-eyebrow{display:block;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#7fd4e8;margin-bottom:12px}
.svc-midband h2{color:#fff !important;-webkit-text-fill-color:#fff !important;font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.08;margin:0 0 14px;max-width:22ch}
.svc-midband p{color:#eaf2fc !important;-webkit-text-fill-color:#eaf2fc !important;font-size:1.06rem;line-height:1.6;max-width:54ch;margin:0 0 24px}
.svc-midband .svc-midband-cta{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#003087 !important;-webkit-text-fill-color:#003087 !important;font-weight:700;padding:13px 22px;border-radius:12px;text-decoration:none;box-shadow:0 14px 30px -14px rgba(0,0,0,.5);transition:transform .18s ease,background .18s ease}
.svc-midband .svc-midband-cta:hover{background:#eaf2fc;transform:translateY(-2px)}
@media(max-width:760px){.svc-midband-inner{padding:46px 22px}}

/* ============================================================
   DOCTOR PROFILE HERO (.pr-hero) — cinematic navy treatment.
   Full-bleed dark hero with framed portrait + white text.
   (navy gradient base so it looks right even before the image loads)
   ============================================================ */
html body .pr-hero{
  position:relative !important;
  background:
    linear-gradient(115deg, rgba(3,18,44,.94) 0%, rgba(3,20,50,.78) 52%, rgba(4,26,64,.62) 100%),
    url('/assets/hero-doctor-bg.jpg') center/cover no-repeat,
    #061a3f !important;
  border-bottom:0 !important;
}
html body .pr-hero .wrap{position:relative !important;z-index:2 !important}
html body .pr-hero .breadcrumb,html body .pr-hero .breadcrumb a,html body .pr-hero .breadcrumb span{color:#cfe0f5 !important;-webkit-text-fill-color:#cfe0f5 !important}
html body .pr-hero .breadcrumb a:hover{color:#fff !important;-webkit-text-fill-color:#fff !important}
html body .pr-hero .breadcrumb svg{stroke:#7f9dc4 !important}
html body .pr-hero .pr-hero-eyebrow{color:#7fd4e8 !important;-webkit-text-fill-color:#7fd4e8 !important}
html body .pr-hero h1,html body .pr-hero #pr-hero-h{color:#fff !important;-webkit-text-fill-color:#fff !important}
html body .pr-hero h1 .accent-italic{color:#8fd6e8 !important;-webkit-text-fill-color:#8fd6e8 !important}
html body .pr-hero .pr-hero-credentials{color:#cfe0f5 !important;-webkit-text-fill-color:#cfe0f5 !important;background:rgba(255,255,255,.07) !important;border:1px solid rgba(255,255,255,.24) !important}
html body .pr-hero .pr-hero-lead{color:#e8effb !important;-webkit-text-fill-color:#e8effb !important}
html body .pr-hero .pr-hero-photo{border-radius:18px !important;overflow:hidden !important;box-shadow:0 34px 74px -26px rgba(0,0,0,.65) !important;border:1px solid rgba(255,255,255,.18) !important}
html body .pr-hero .pr-hero-cta .btn-primary{background:#fff !important;color:#003087 !important;-webkit-text-fill-color:#003087 !important;border:0 !important;box-shadow:0 16px 34px -16px rgba(0,0,0,.55) !important}
html body .pr-hero .pr-hero-cta .btn-primary svg{stroke:#003087 !important}
html body .pr-hero .pr-hero-cta .btn-secondary{background:rgba(255,255,255,.06) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border:1.5px solid rgba(255,255,255,.5) !important}
html body .pr-hero .pr-hero-cta .btn-secondary svg{stroke:#fff !important}
html body .pr-hero .pr-hero-meta,html body .pr-hero .pr-hero-meta *{color:#dbe6f6 !important;-webkit-text-fill-color:#dbe6f6 !important}
html body .pr-hero .pr-hero-meta{border-top-color:rgba(255,255,255,.22) !important}
html body .pr-hero [class*="pr-hero-meta-label"]{color:#8fb0d8 !important;-webkit-text-fill-color:#8fb0d8 !important}

/* ============================================================
   HOME "OUR SPECIALTIES" + "THE TEAM" — de-bulk / refine.
   Tighter padding, flatter resting state, persistent arrow,
   crisp hover. Reads as a refined index, not chunky boxes.
   ============================================================ */
/* Specialties grid */
html body .ed-cats{gap:12px !important;margin-top:30px !important}
html body .ed-cat{padding:15px 18px !important;border-radius:12px !important;border:1px solid #e9eef6 !important;background:#fff !important;box-shadow:none !important}
html body .ed-cat:hover{transform:translateY(-2px) !important;box-shadow:0 14px 30px -20px rgba(0,48,135,.22) !important;border-color:#c9d8ec !important}
html body .ed-cat::before{content:"" !important;position:absolute !important;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(180deg,#003087,#00A9CE) !important;opacity:0;transition:opacity .2s ease}
html body .ed-cat:hover::before{opacity:1 !important}
html body .ed-cat h4{font-size:15.5px !important;margin:0 0 4px !important}
html body .ed-cat p{font-size:12px !important;line-height:1.45 !important}
html body .ed-cat-go{opacity:.3 !important;transform:none !important;top:16px !important;right:16px !important}
html body .ed-cat-go svg{width:16px !important;height:16px !important}
html body .ed-cat:hover .ed-cat-go{opacity:1 !important}
/* Team cards */
html body .ed-team-people{gap:10px !important}
html body .ed-person{padding:10px 14px !important;border-radius:12px !important;border:1px solid #e9eef6 !important;box-shadow:none !important;gap:12px !important}
html body .ed-person:hover{transform:translateY(-2px) !important;border-color:#c9d8ec !important;box-shadow:0 14px 30px -20px rgba(0,48,135,.24) !important}
html body .ed-person .ed-por,html body .ed-person img{width:46px !important;height:46px !important;flex:0 0 46px !important}
html body .ed-person b{font-size:14px !important}
html body .ed-person span{font-size:12px !important;margin-top:1px !important}

/* ===== SECTION DESIGN BACKGROUNDS — specialties + team (Artlist ribbons) ===== */
html body section.ed-sec#services,
html body section.ed-sec.ed-bg-pale{
  position:relative !important;
  background:#f6fafe !important;
  overflow:hidden !important;
  isolation:isolate;
}
/* the design image, sitting behind everything */
html body section.ed-sec#services::before,
html body section.ed-sec.ed-bg-pale::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-image:url('/assets/section-bg-ribbons.jpg') !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  opacity:.6 !important;
  pointer-events:none !important;
}
/* flip the ribbon on the team section so the two sections feel distinct */
html body section.ed-sec.ed-bg-pale::before{ transform:scaleX(-1) !important; }
/* soft white wash so white cards + dark text stay crisp on top */
html body section.ed-sec#services::after,
html body section.ed-sec.ed-bg-pale::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.80)) !important;
  pointer-events:none !important;
}
/* lift the real content above both overlay layers */
html body section.ed-sec#services > *,
html body section.ed-sec.ed-bg-pale > *{
  position:relative !important;
  z-index:2 !important;
}

/* ===== COMPACT "WHAT WE DO / FEATURES" (#care) + design background ===== */
html body section#care.ed-sec{
  position:relative !important;
  background:#f6fafe !important;
  overflow:hidden !important;
  isolation:isolate;
  padding:46px 0 !important;
}
html body section#care.ed-sec::before{
  content:"" !important;position:absolute !important;inset:0 !important;z-index:0 !important;
  background:url('/assets/section-bg-ribbons.jpg') top center/cover no-repeat !important;
  opacity:.5 !important;pointer-events:none !important;
}
html body section#care.ed-sec::after{
  content:"" !important;position:absolute !important;inset:0 !important;z-index:1 !important;
  background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.82)) !important;pointer-events:none !important;
}
html body section#care.ed-sec > .ed-wrap{position:relative !important;z-index:2 !important;}
/* tighter header */
html body #care .ed-feat-head{margin-bottom:20px !important;max-width:none !important}
html body #care .ed-h2--xl{font-size:clamp(24px,2.8vw,34px) !important;margin:4px 0 8px !important;max-width:22ch !important}
html body #care .ed-feat-intro{font-size:14.5px !important;line-height:1.55 !important;max-width:58ch !important;margin:0 !important}
/* three compact cards in a single row */
html body #care .ed-fgrid{
  display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:20px !important;align-items:stretch !important;
}
html body #care .ed-feat{
  display:flex !important;flex-direction:column !important;
  grid-template-columns:none !important;gap:0 !important;margin:0 !important;padding:0 !important;
  background:#fff !important;border:1px solid #e9eef6 !important;border-radius:16px !important;overflow:hidden !important;
  box-shadow:0 18px 40px -30px rgba(0,48,135,.22) !important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease !important;
}
html body #care .ed-feat:hover{transform:translateY(-3px) !important;box-shadow:0 28px 52px -28px rgba(0,48,135,.32) !important;border-color:#c9d8ec !important}
html body #care .ed-feat.rev .ed-feat-media{order:0 !important}
/* small image cap on top */
html body #care .ed-feat-media{margin:0 !important;order:0 !important}
html body #care .ed-feat .ed-photo{aspect-ratio:16/8 !important;border-radius:0 !important;box-shadow:none !important;margin:0 !important}
html body #care .ed-feat:hover .ed-photo{box-shadow:none !important}
html body #care .ed-feat .ed-photo img{border-radius:0 !important}
html body #care .ed-feat:hover .ed-photo img{transform:scale(1.03) !important}
/* compact body */
html body #care .ed-feat-body{padding:14px 18px 16px !important;display:flex !important;flex-direction:column !important;flex:1 1 auto !important}
html body #care .ed-feat-kicker{display:flex !important;align-items:center !important;gap:9px !important;margin-bottom:9px !important}
html body #care .ed-feat-ic{width:32px !important;height:32px !important;border-radius:9px !important;margin:0 !important}
html body #care .ed-feat-ic::before{display:none !important}
html body #care .ed-feat-ic svg{width:17px !important;height:17px !important}
html body #care .ed-feat-num{font-size:11px !important;margin:0 !important;letter-spacing:.08em !important}
html body #care .ed-feat h3{font-size:18.5px !important;line-height:1.16 !important;margin:0 0 7px !important;max-width:none !important}
html body #care .ed-feat-copy{margin-top:auto !important}
html body #care .ed-feat-copy p{
  font-size:13.5px !important;line-height:1.5 !important;margin:0 0 12px !important;max-width:none !important;
  display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;
}
html body #care .ed-feat .ed-link{font-size:13px !important}
html body #care .ed-feat .ed-link svg{width:15px !important;height:15px !important}
@media(max-width:900px){
  html body #care .ed-fgrid{grid-template-columns:1fr !important;gap:16px !important}
  html body #care .ed-feat .ed-photo{aspect-ratio:16/8 !important}
}

/* ===== INSURERS strip — design background + premium logo grid ===== */
html body section#insurers.ed-sec{
  position:relative !important;background:#f6fafe !important;overflow:hidden !important;isolation:isolate;
  padding:56px 0 !important;
}
html body section#insurers.ed-sec::before{
  content:"" !important;position:absolute !important;inset:0 !important;z-index:0 !important;
  background:url('/assets/section-bg-ribbons.jpg') center/cover no-repeat !important;transform:scaleX(-1) !important;
  opacity:.55 !important;pointer-events:none !important;
}
html body section#insurers.ed-sec::after{
  content:"" !important;position:absolute !important;inset:0 !important;z-index:1 !important;
  background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.82)) !important;pointer-events:none !important;
}
html body section#insurers.ed-sec > .ed-wrap{position:relative !important;z-index:2 !important;}
/* premium uniform logo grid */
html body #insurers .ed-ins{
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:14px !important;
  max-width:840px !important;margin:30px auto 0 !important;
}
html body #insurers .ed-ins span{
  min-width:0 !important;min-height:78px !important;padding:16px 20px !important;border-radius:14px !important;
  background:rgba(255,255,255,.92) !important;border:1px solid #e6edf6 !important;
  box-shadow:0 12px 26px -20px rgba(0,48,135,.22) !important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease !important;
}
html body #insurers .ed-ins span:hover{
  transform:translateY(-3px) !important;border-color:#c4d6ee !important;
  box-shadow:0 20px 38px -22px rgba(0,48,135,.34) !important;
}
html body #insurers .ed-ins img{height:38px !important;max-width:120px !important;object-fit:contain !important}
@media(max-width:720px){ html body #insurers .ed-ins{grid-template-columns:repeat(2,minmax(0,1fr)) !important} }

/* ===== FINAL CTA (.ed-close) — shrink + dark design background ===== */
html body .ed-close{
  padding:42px 0 38px !important;
  background:#061a3f !important;
}
html body .ed-close::after{
  content:"" !important;position:absolute !important;inset:0 !important;z-index:0 !important;
  background:linear-gradient(165deg,rgba(4,16,38,.82),rgba(4,16,38,.62) 45%,rgba(4,20,48,.9)),url('/assets/section-bg-navy.jpg') center/cover no-repeat !important;
  pointer-events:none !important;
}
html body .ed-close::before{z-index:1 !important}
html body .ed-close > .ed-wrap{position:relative !important;z-index:2 !important}
html body .ed-close h2{font-size:clamp(28px,3.4vw,42px) !important;margin:0 auto 10px !important}
html body .ed-close>.ed-wrap>p{font-size:16px !important;margin:0 auto 20px !important}
html body .ed-close .ed-trustrow{margin-top:20px !important}

/* ===== SHRINK: "A different feeling" values section ===== */
html body #different.ed-sec{padding:50px 0 !important}
html body #different .ed-h2{margin-bottom:0 !important}
html body #different .ed-vals{margin-top:12px !important}
html body #different .ed-val{padding:15px 0 !important}
html body #different .ed-val b{font-size:18px !important;margin:0 0 4px !important}
html body #different .ed-val span{font-size:14px !important;line-height:1.5 !important}

/* ===== SHRINK: FAQ ===== */
html body #faq.ed-sec{padding:50px 0 !important}
html body #faq .ed-h2{font-size:clamp(25px,3vw,33px) !important}
html body #faq .ed-faq{margin-top:0 !important}
html body #faq .ed-faq summary{padding:14px 44px 14px 0 !important;font-size:16px !important}
html body #faq .ed-faq summary::after{top:19px !important}
html body #faq .ed-faq details{padding:2px 0 !important}
html body #faq .ed-faq details p{font-size:14px !important;line-height:1.6 !important;margin:0 0 16px !important}

/* ===== SHRINK FOOTER: remove empty navy gap + tighten blue CTA band ===== */
html body .ed-aestrip .ed-wrap{padding:16px 28px 16px !important}
html body footer.fx .fx-main{padding-top:34px !important;padding-bottom:28px !important;gap:38px !important}
html body footer.fx .fx-cta-inner{padding:34px 24px !important}
html body footer.fx .fx-bottom{padding-top:18px !important}

/* ===== CONTRAST FIX: teal accent text on blue callout boxes / bands (site-wide) ===== */
/* Final CTA band eyebrow — always the blue closing band */
html body [class*="-final-eyebrow"]{color:#BFE6F7 !important;-webkit-text-fill-color:#BFE6F7 !important}
/* Blue "featured" process card (the highlighted middle step) */
html body [class*="process-step--featured"] [class*="-process-num"]{color:#BFE6F7 !important;-webkit-text-fill-color:#BFE6F7 !important}
html body [class*="process-step--featured"] [class*="-process-time"]{color:#dcefff !important;-webkit-text-fill-color:#dcefff !important}
html body [class*="process-step--featured"] li svg,
html body [class*="process-step--featured"] [class*="-list"] svg{color:#8fd6e8 !important}
/* Blue "probably yes" comparison card (psychiatry-style) */
html body [class*="whatfor-card--yes"] [class*="whatfor-tag"]{color:#BFE6F7 !important;-webkit-text-fill-color:#BFE6F7 !important}
html body [class*="whatfor-card--yes"] li strong{color:#ffffff !important;-webkit-text-fill-color:#ffffff !important}
/* Blue "primary" explainer card (psychology-style) — all accent text incl. price line + links */
html body [class*="explainer-card--primary"] h4,
html body [class*="explainer-card--primary"] [class*="explainer-tag"],
html body [class*="explainer-card--primary"] [class*="explainer-price"],
html body [class*="explainer-card--primary"] [class*="explainer-cta"]{color:#BFE6F7 !important;-webkit-text-fill-color:#BFE6F7 !important}
html body [class*="explainer-card--primary"] [class*="explainer-price"] a,
html body [class*="explainer-card--primary"] a{color:#8fd6e8 !important;-webkit-text-fill-color:#8fd6e8 !important}
/* Blue "our clinic" comparison card */
html body [class*="compare-card--us"] [class*="compare-card-eyebrow"],
html body [class*="compare-card--us"] [class*="-price"],
html body [class*="compare-card--us"] a{color:#BFE6F7 !important;-webkit-text-fill-color:#BFE6F7 !important}


/* ===== Google reviews hero band (ported from home, site-wide) ===== */
.grev-sec{padding-top:0 !important}
.grev-band{position:relative;overflow:hidden;background:linear-gradient(120deg,#e8f0fe 0%,#fce8e6 34%,#fef7e0 66%,#e6f4ea 100%)}
.grev-band::before{content:"";position:absolute;inset:0;background:var(--grev) center right/cover no-repeat;z-index:0}
.grev-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 40%,rgba(255,255,255,.32) 66%,rgba(255,255,255,.06) 100%);z-index:1}
.grev-band-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:56px 30px;flex-wrap:wrap}
.grev-copy{max-width:560px}
.grev-copy .ed-eyebrow{margin-bottom:10px}
.grev-h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(2rem,3.5vw,3.05rem);line-height:1.04;margin:4px 0 12px;color:#14181F}
.grev-h2 b{font-weight:700;color:#1a73e8}
.grev-sub{color:#3b4658;font-size:1.04rem;line-height:1.6;max-width:46ch;margin:0}
.grev-card{flex:0 0 auto;display:grid;grid-template-columns:auto auto;gap:2px 16px;align-items:center;background:#fff;border:1px solid #e6ecf3;border-radius:20px;padding:24px 28px;box-shadow:0 26px 64px -26px rgba(2,28,79,.42);text-decoration:none;min-width:270px;transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease}
.grev-card:hover{transform:translateY(-3px);box-shadow:0 34px 78px -26px rgba(2,28,79,.52)}
.grev-card-g{grid-row:1/3;width:48px;height:48px;flex:0 0 auto}
.grev-card-main{display:flex;align-items:baseline;gap:9px}
.grev-card-score{font-size:2.5rem;font-weight:800;color:#14181F;line-height:1}
.grev-card-stars{color:#FBBC05;font-size:1.2rem;letter-spacing:2px}
.grev-card-count{grid-column:2;color:#5b6b80;font-size:.9rem;font-weight:600}
.grev-card-cta{grid-column:1/3;margin-top:12px;color:#1a73e8;font-weight:700;font-size:.92rem}
@media(max-width:760px){.grev-band-inner{padding:38px 22px;gap:26px}.grev-card{width:100%}}


/* ===== ported home reviews grid (ed-reviews/ed-rev) — site-wide match ===== */
html body .ed-eyebrow{display:flex;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brandblue);margin:0 0 22px}
html body .ed-eyebrow b{font-weight:500;color:var(--muted-2)}
html body .ed-eyebrow::before{content:"";width:26px;height:1px;background:var(--brandblue);opacity:.5}
html body .ed-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:var(--brandblue);text-decoration:none;letter-spacing:-.01em}
html body .ed-link svg{width:18px;height:18px;transition:transform .22s ease}
html body .ed-link:hover svg{transform:translateX(4px)}
html body .ed-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
html body .ed-rev{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--hairline-soft);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm);margin:0}
html body .ed-rev blockquote{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-2)}
html body .ed-rev figcaption{margin-top:auto}
html body .ed-rev figcaption b{display:block;font-size:14px;font-weight:700;color:var(--ink)}
html body .ed-rev figcaption span{font-size:12px;color:var(--muted)}
html body .tbh-greviews{padding:0 0 72px !important}
@media(max-width:1000px){html body .ed-reviews{grid-template-columns:1fr 1fr !important}}
@media(max-width:640px){html body .ed-reviews{grid-template-columns:1fr !important}}

/* ===== Testimonials patient video — Instagram vertical (9:16) format ===== */
html body .tm-video-frame{max-width:360px !important;aspect-ratio:9/16 !important;margin-left:auto !important;margin-right:auto !important;overflow:hidden !important;position:relative !important;border-radius:18px !important}
html body .tm-video-frame img,
html body .tm-video-frame video{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important}

/* ============================================================
   HERO LEGIBILITY HARDENING — photo heroes (site-wide fix)
   Fixes dark note/callout text sitting over bright photo areas.
   ============================================================ */
html body .tbh-photo-hero [class*="-note"],
html body .tbh-photo-hero [class*="callout"],
html body .tbh-photo-hero [class*="notice"],
html body .tbh-photo-hero [class*="disclaimer"],
html body .tbh-photo-hero [class*="advisory"],
html body .tbh-photo-hero [class*="reassur"],
html body .tbh-photo-hero [class*="-info-"],
html body .tbh-photo-hero [class*="honesty"]{
  background:rgba(3,20,52,.82) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:12px !important;
  -webkit-backdrop-filter:blur(4px) !important; backdrop-filter:blur(4px) !important;
  color:#eef4fb !important; -webkit-text-fill-color:#eef4fb !important;
  box-shadow:0 10px 30px -14px rgba(0,0,0,.5) !important;
}
html body .tbh-photo-hero [class*="-note"] *,
html body .tbh-photo-hero [class*="callout"] *,
html body .tbh-photo-hero [class*="notice"] *,
html body .tbh-photo-hero [class*="disclaimer"] *,
html body .tbh-photo-hero [class*="advisory"] *,
html body .tbh-photo-hero [class*="reassur"] *,
html body .tbh-photo-hero [class*="honesty"] *{
  color:#eef4fb !important; -webkit-text-fill-color:#eef4fb !important; stroke:#eef4fb !important;
}
html body .tbh-photo-hero [class*="-note"] strong,
html body .tbh-photo-hero [class*="-note"] b,
html body .tbh-photo-hero [class*="callout"] strong,
html body .tbh-photo-hero [class*="notice"] strong,
html body .tbh-photo-hero [class*="-note"] a,
html body .tbh-photo-hero [class*="callout"] a{
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
}
html body .tbh-photo-hero [class*="-note"] a,
html body .tbh-photo-hero [class*="callout"] a{ text-decoration:underline !important; text-underline-offset:2px; }

/* Breadcrumb (incl. current page) inside photo heroes -> light */
html body .tbh-photo-hero [class*="-bc"] a,
html body .tbh-photo-hero [class*="-bc"] span,
html body .tbh-photo-hero [class*="-bc"] svg,
html body .tbh-photo-hero [class*="breadcrumb"] a,
html body .tbh-photo-hero [class*="breadcrumb"] span,
html body .tbh-photo-hero [class*="breadcrumb"] svg{
  color:#dbe7f6 !important; -webkit-text-fill-color:#dbe7f6 !important; stroke:#dbe7f6 !important;
}
html body .tbh-photo-hero [class*="-bc"] [aria-current],
html body .tbh-photo-hero [class*="breadcrumb"] [aria-current]{
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; font-weight:600 !important;
}

/* Strengthen the weakest part of the scrim so nothing sits on raw bright photo */
html body .tbh-photo-hero::after{
  background:linear-gradient(103deg,rgba(2,24,68,.90),rgba(2,24,68,.66) 42%,rgba(2,24,68,.44) 70%,rgba(2,24,68,.56)) !important;
}

/* Hero stat / meta rows -> light (covers tm-stat, hero-stat, .stat, *-num, *-label) */
html body .tbh-photo-hero [class*="stat"],
html body .tbh-photo-hero [class*="stat"] *,
html body .tbh-photo-hero [class*="-num"],
html body .tbh-photo-hero [class*="-lbl"],
html body .tbh-photo-hero [class*="-label"]{
  color:#eef4fb !important; -webkit-text-fill-color:#eef4fb !important;
  border-color:rgba(255,255,255,.28) !important;
}
html body .tbh-photo-hero [class*="stat-num"],
html body .tbh-photo-hero [class*="stat"] [class*="num"]{
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
}
html body .tbh-photo-hero [class*="stat-stars"] svg,
html body .tbh-photo-hero [class*="stat"] svg{ fill:#8fd6e8 !important; color:#8fd6e8 !important; }

/* Warn / alert / caution / emergency boxes: element's OWN text light too */
html body .tbh-photo-hero [class*="-warn"],
html body .tbh-photo-hero [class*="warn"],
html body .tbh-photo-hero [class*="-alert"],
html body .tbh-photo-hero [class*="caution"],
html body .tbh-photo-hero [class*="emergency"],
html body .tbh-photo-hero [class*="safety"],
html body .tbh-photo-hero [class*="important"]{
  color:#eef4fb !important; -webkit-text-fill-color:#eef4fb !important;
}
