/* Healthy Bones and Joints Clinic: the visual system. Tokens → reset → base → layout → components → utilities.
   Values and their sources: docs/REGISTRY.md §Tokens. Decisions: docs/DECISIONS.md. */

/* ── 1. Tokens ─────────────────────────────────────────────────────────────── */
:root{
  /* brand: fills, icons, rules. Gold is NOT text-safe on light grounds (D-007) */
  --hbj-gold:var(--wp--preset--color--gold);
  --hbj-gold-warm:var(--wp--preset--color--gold-warm);
  --hbj-gold-muted:var(--wp--preset--color--gold-muted);
  --hbj-gold-light:var(--wp--preset--color--gold-light);
  --hbj-gold-fill:var(--wp--preset--color--gold-fill);
  --hbj-gold-fill-hover:var(--wp--preset--color--gold-fill-hover);
  --hbj-gold-ink:var(--wp--preset--color--gold-ink);          /* gold as text on light: 4.9:1+ */

  /* grounds */
  --hbj-bg:var(--wp--preset--color--cream);
  --hbj-bg-alt:var(--wp--preset--color--cream-alt);
  --hbj-bg-card:var(--wp--preset--color--white);
  --hbj-bg-dark:var(--wp--preset--color--ink);
  --hbj-bg-dark-raised:var(--wp--preset--color--ink-raised);
  --hbj-bg-dark-alt:var(--wp--preset--color--ink-alt);

  /* text, per ground */
  --hbj-heading:var(--wp--preset--color--charcoal);
  --hbj-text:var(--wp--preset--color--umber);
  --hbj-heading-on-dark:var(--wp--preset--color--ivory);
  --hbj-text-on-dark:var(--wp--preset--color--taupe);
  --hbj-text-subtle-on-dark:var(--wp--preset--color--stone);  /* dark grounds only: 3.1:1 on light */
  --hbj-accent-on-dark:var(--wp--preset--color--gold);

  /* lines and states */
  --hbj-border:var(--wp--preset--color--sand);
  --hbj-border-on-dark:var(--wp--preset--color--ink-line);
  --hbj-line-on-dark-strong:rgb(245 240 232 / .45);                 /* ivory at 45%: ghost button edge */
  --hbj-backdrop:rgb(0 0 0 / .5);
  --hbj-whatsapp:var(--wp--preset--color--whatsapp);         /* the floating chat button's fill */
  --hbj-hero-fade:rgb(22 21 15 / 0);                          /* ink, transparent: the hero photo's fade end */
  --hbj-dot-on-dark:rgb(201 169 110 / .22);                   /* gold at 22%: the blog banners' dot field (D-043) */
  --hbj-focus:var(--wp--preset--color--gold);                 /* 8.2:1 on ink; on light see D-007 */
  --hbj-focus-on-light:var(--wp--preset--color--gold-ink);

  /* fonts (values in theme.json) */
  --hbj-font-heading:var(--wp--preset--font-family--heading);
  --hbj-font-body:var(--wp--preset--font-family--body);

  /* type scale: one scale, every page (D-006). Fluid from 390px to 1440px */
  --hbj-fs-display:clamp(2.75rem, 2.286rem + 1.905vw, 4rem);   /* 44 → 64, a figure that IS the artwork */
  --hbj-fs-h1:clamp(2rem, 1.536rem + 1.905vw, 3.25rem);         /* 32 → 52 */
  --hbj-fs-section:clamp(1.875rem, 1.504rem + 1.524vw, 2.875rem); /* 30 → 46, every section H2 */
  --hbj-fs-h2:clamp(1.625rem, 1.439rem + .762vw, 2.125rem);     /* 26 → 34, an H2 outside a section head */
  --hbj-fs-h3:clamp(1.3125rem, 1.218rem + .381vw, 1.5625rem);   /* 21 → 25 */
  --hbj-fs-sub:clamp(1.1875rem, 1.095rem + .381vw, 1.4375rem);  /* 19 → 23, Cormorant italic subtitle */
  --hbj-fs-lead:1.1875rem;  /* 19px */
  --hbj-fs-body:1.0625rem;  /* 17px (D-006, raised a step 2026-10-16) */
  --hbj-fs-small:1rem;      /* 16px */
  --hbj-fs-label:.8125rem;  /* 13px eyebrows, buttons, nav */
  --hbj-fw-light:300; --hbj-fw-medium:500; --hbj-fw-semibold:600; --hbj-fw-bold:700;
  --hbj-lh-tight:1.1; --hbj-lh-heading:1.18; --hbj-lh-body:1.7;
  --hbj-ls-heading:-.02em; --hbj-ls-label:.14em; --hbj-ls-eyebrow:.2em;

  /* layout */
  --hbj-container:1320px;
  --hbj-container-narrow:960px;   /* FAQ lists, single-column text sections */
  --hbj-gutter:16px;
  --hbj-section-pad:clamp(3rem, 2.257rem + 3.048vw, 5rem);     /* 48 → 80 */
  --hbj-header-h:64px;
  --hbj-space-1:.25rem; --hbj-space-2:.5rem; --hbj-space-3:.75rem; --hbj-space-4:1rem;
  --hbj-space-5:1.5rem; --hbj-space-6:2rem; --hbj-space-7:3rem; --hbj-space-8:4rem;
  --hbj-r-sm:4px; --hbj-r-md:8px; --hbj-r-lg:16px; --hbj-r-xl:24px; --hbj-r-pill:999px;
  --hbj-shadow-md:0 4px 16px rgb(0 0 0 / .12), 0 2px 6px rgb(0 0 0 / .08);
  --hbj-shadow-lg:0 10px 40px rgb(0 0 0 / .15), 0 4px 12px rgb(0 0 0 / .1);
  --hbj-t-fast:.28s; --hbj-t-med:.38s; --hbj-ease:cubic-bezier(.4,0,.2,1);
  --hbj-z-header:100; --hbj-z-sub:110;
}
@media (min-width:640px){ :root{ --hbj-gutter:24px; } }
@media (min-width:1024px){ :root{ --hbj-gutter:40px; --hbj-header-h:72px; } }

/* ── 2. Reset ─────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;}
h1,h2,h3,h4,p,figure,dl,dd,blockquote{margin:0;}
img,svg,video{display:block;max-width:100%;height:auto;}
picture{display:contents;}  /* hbj_picture(): the <img> keeps its slot's grid and size rules */
:where(ul,ol)[class*="hbj-"]{margin:0;padding:0;list-style:none;}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0;}
address{font-style:normal;}
[hidden]{display:none!important;}
.wp-block-template-part{display:contents;}

/* ── 3. Base ──────────────────────────────────────────────────────────────── */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:var(--hbj-font-body);font-size:var(--hbj-fs-body);line-height:var(--hbj-lh-body);
  color:var(--hbj-text);background:var(--hbj-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
h1,h2,h3,h4{font-family:var(--hbj-font-heading);font-variant-numeric:lining-nums;font-weight:var(--hbj-fw-medium);line-height:var(--hbj-lh-heading);
  letter-spacing:var(--hbj-ls-heading);color:var(--hbj-heading);}
a{color:inherit;}
:focus-visible{outline:2px solid var(--hbj-focus-ring, var(--hbj-focus-on-light));outline-offset:3px;}
.hbj-section--dark,.hbj-header,.hbj-footer,.hbj-menu{--hbj-focus-ring:var(--hbj-focus);}
.hbj-skip-link{position:absolute;left:-9999px;top:0;z-index:1000;padding:.75rem 1rem;background:var(--hbj-gold-fill);
  color:var(--hbj-bg-dark);font-weight:var(--hbj-fw-semibold);text-decoration:none;}
.hbj-skip-link:focus{left:.5rem;top:.5rem;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

/* ── 4. Layout ────────────────────────────────────────────────────────────── */
.hbj-container{width:100%;max-width:var(--hbj-container);margin-inline:auto;padding-inline:var(--hbj-gutter);}
.hbj-section{padding-block:var(--hbj-section-pad);scroll-margin-top:var(--hbj-header-h);}
.hbj-section--alt{background:var(--hbj-bg-alt);}
.hbj-section--dark{background:var(--hbj-bg-dark);color:var(--hbj-text-on-dark);--hbj-heading:var(--hbj-heading-on-dark);}

/* ── 5. Components ────────────────────────────────────────────────────────── */

/* Buttons */
.hbj-btn{--btn-bg:transparent;--btn-ink:var(--hbj-heading);--btn-line:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:48px;padding:.875rem 2rem;
  font-family:var(--hbj-font-body);font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-bold);line-height:1.2;
  letter-spacing:var(--hbj-ls-label);text-transform:uppercase;text-decoration:none;text-align:center;
  color:var(--btn-ink);background:var(--btn-bg);border:1.5px solid var(--btn-line);border-radius:0;
  transition:background-color var(--hbj-t-fast) var(--hbj-ease),border-color var(--hbj-t-fast) var(--hbj-ease),color var(--hbj-t-fast) var(--hbj-ease);}
.hbj-btn--primary{--btn-bg:var(--hbj-gold-fill);--btn-ink:var(--hbj-bg-dark);--btn-line:var(--hbj-gold-fill);}
.hbj-btn--primary:hover{--btn-bg:var(--hbj-gold);--btn-line:var(--hbj-gold);}
.hbj-btn--ghost{--btn-ink:var(--hbj-heading-on-dark);--btn-line:var(--hbj-line-on-dark-strong);}
.hbj-btn--ghost:hover{--btn-line:var(--hbj-heading-on-dark);}
.hbj-btn--outline{--btn-ink:var(--hbj-accent-on-dark);--btn-line:var(--hbj-border-on-dark);}
.hbj-btn--outline:hover{--btn-line:var(--hbj-gold-muted);}
.hbj-btn--small{min-height:40px;padding:.625rem 1.125rem;letter-spacing:.04em;text-transform:none;font-weight:var(--hbj-fw-medium);font-size:.8125rem;border-radius:var(--hbj-r-sm);}
.hbj-btn--block{display:flex;width:100%;}
.hbj-btn__icon{width:1.125em;height:1.125em;flex:none;}
.hbj-actions{display:flex;flex-wrap:wrap;gap:var(--hbj-space-4);}

/* Header */
.hbj-header{position:sticky;top:0;z-index:var(--hbj-z-header);background:var(--hbj-bg-dark);
  border-bottom:1px solid var(--hbj-border-on-dark);color:var(--hbj-heading-on-dark);}
.hbj-header__inner{display:flex;align-items:center;gap:var(--hbj-space-6);min-height:var(--hbj-header-h);}
.hbj-logo{display:inline-flex;flex:none;align-items:center;min-height:44px;}
.hbj-logo__img{width:auto;height:44px;}
.hbj-header__cta{display:flex;flex:none;align-self:stretch;}
.hbj-header__cta .hbj-btn{min-height:var(--hbj-header-h);padding-inline:1.5rem;}
@media (min-width:1024px){ .hbj-logo__img{height:52px;} }

/* Nav (desktop) */
.hbj-nav{margin-left:auto;}
.hbj-nav__list{display:flex;align-items:center;gap:var(--hbj-space-2);}
.hbj-nav__item{position:relative;display:flex;align-items:center;}
.hbj-nav__link,.hbj-menu-link{display:inline-flex;align-items:center;min-height:44px;padding-inline:.75rem;
  font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-medium);letter-spacing:var(--hbj-ls-label);text-transform:uppercase;
  text-decoration:none;color:var(--hbj-heading-on-dark);transition:color var(--hbj-t-fast) var(--hbj-ease);}
.hbj-nav__link:hover,.hbj-nav__link[aria-current="page"],.hbj-nav__item--current-branch>.hbj-nav__link{color:var(--hbj-accent-on-dark);}
.hbj-nav__item--has-sub>.hbj-nav__link{padding-right:0;}
.hbj-nav__link{white-space:nowrap;}
/* Six items once the blog has posts (D-043): between the nav breakpoint and 1360px the bar is
   tightened (padding, tracking, gaps) so it fits at 1180 without wrapping; wider screens unchanged. */
@media (min-width:1180px) and (max-width:1359.98px){
  .hbj-header__inner{gap:var(--hbj-space-4);}
  .hbj-nav__link{padding-inline:.5rem;letter-spacing:.09em;}
  .hbj-header__cta .hbj-btn{padding-inline:1.125rem;letter-spacing:.09em;}
}
.hbj-nav__toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:44px;color:var(--hbj-text-on-dark);}
.hbj-nav__chevron{width:16px;height:16px;transition:transform var(--hbj-t-fast) var(--hbj-ease);}
.hbj-nav__toggle[aria-expanded="true"] .hbj-nav__chevron{transform:rotate(180deg);}
.hbj-nav__sub{position:absolute;top:100%;left:0;z-index:var(--hbj-z-sub);min-width:17rem;padding-block:var(--hbj-space-2);
  background:var(--hbj-bg-dark-raised);border:1px solid var(--hbj-border-on-dark);box-shadow:var(--hbj-shadow-lg);
  visibility:hidden;opacity:0;transform:translateY(6px);
  transition:opacity var(--hbj-t-fast) var(--hbj-ease),transform var(--hbj-t-fast) var(--hbj-ease),visibility 0s linear var(--hbj-t-fast);}
.hbj-nav__item--has-sub:hover>.hbj-nav__sub,.hbj-nav__item--has-sub:focus-within>.hbj-nav__sub,
.hbj-nav__toggle[aria-expanded="true"]+.hbj-nav__sub{visibility:visible;opacity:1;transform:none;transition-delay:0s;}
.hbj-nav__sublink{display:block;padding:.625rem 1.25rem;font-size:var(--hbj-fs-small);line-height:1.4;text-decoration:none;color:var(--hbj-text-on-dark);}
.hbj-nav__sublink:hover,.hbj-nav__sublink[aria-current="page"]{color:var(--hbj-heading-on-dark);background:var(--hbj-bg-dark-alt);}
.hbj-nav__sublink[aria-current="page"]{box-shadow:inset 2px 0 0 var(--hbj-gold);}

/* Menu button and dialog (below the nav breakpoint) */
.hbj-menu-link,.hbj-menu-btn{margin-left:auto;}
.hbj-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-12px;color:var(--hbj-heading-on-dark);}
.hbj-menu-btn svg,.hbj-menu__close svg{width:28px;height:28px;}
.hbj-menu{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;
  background:var(--hbj-bg-dark);color:var(--hbj-heading-on-dark);overflow-y:auto;}
.hbj-menu::backdrop{background:var(--hbj-backdrop);}
html:has(.hbj-menu[open]){overflow:hidden;}
.hbj-menu__bar{display:flex;align-items:center;justify-content:space-between;min-height:var(--hbj-header-h);
  padding-inline:var(--hbj-gutter);border-bottom:1px solid var(--hbj-border-on-dark);}
.hbj-menu__close{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-12px;}
.hbj-menu__list{padding:var(--hbj-space-4) var(--hbj-gutter);}
.hbj-menu__item{border-bottom:1px solid var(--hbj-border-on-dark);}
.hbj-menu__row{display:flex;align-items:center;justify-content:space-between;}
.hbj-menu__link{flex:1;display:block;padding-block:1rem;font-family:var(--hbj-font-heading);font-size:1.5rem;
  line-height:1.2;text-decoration:none;color:var(--hbj-heading-on-dark);}
.hbj-menu__link[aria-current="page"]{color:var(--hbj-accent-on-dark);}
.hbj-menu__toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--hbj-text-on-dark);}
.hbj-menu__chevron{width:20px;height:20px;transition:transform var(--hbj-t-fast) var(--hbj-ease);}
.hbj-menu__toggle[aria-expanded="true"] .hbj-menu__chevron{transform:rotate(180deg);}
.hbj-menu__sub{padding-bottom:var(--hbj-space-4);}
.hbj-menu__sublink{display:block;padding:.625rem 0 .625rem var(--hbj-space-4);font-size:var(--hbj-fs-body);text-decoration:none;color:var(--hbj-text-on-dark);}
.hbj-menu__sublink[aria-current="page"]{color:var(--hbj-accent-on-dark);}
.hbj-menu__foot{display:grid;gap:var(--hbj-space-3);padding:var(--hbj-space-5) var(--hbj-gutter) var(--hbj-space-7);}

@media (max-width:1179.98px){  /* the nav breakpoint: 1180 (header needs ~1116px) */
  .hbj-nav{display:none;}
  .hbj-header__inner{flex-wrap:wrap;gap:0;}
  .hbj-header__cta{order:3;flex:1 0 100%;margin:0 0 var(--hbj-space-3);}  /* D-005: the mockup's full-width row, now Call */
  .hbj-header__cta .hbj-btn{flex:1;min-height:48px;}
}
@media (min-width:1180px){
  .hbj-menu-link,.hbj-menu-btn,.hbj-menu{display:none!important;}
}

/* Page title band (text pages, 404, archives) */
.hbj-page-title{padding-block:clamp(2.5rem, 1.9rem + 2.4vw, 4rem);}
.hbj-page-title__title{font-size:var(--hbj-fs-h1);font-weight:var(--hbj-fw-light);line-height:var(--hbj-lh-tight);}
.hbj-page-title__lead{max-width:60ch;margin-top:var(--hbj-space-4);font-size:var(--hbj-fs-lead);}
.hbj-page-title .hbj-actions{margin-top:var(--hbj-space-6);}

/* Prose (Mode B content: legal and text pages) */
.hbj-prose{max-width:calc(720px + 2 * var(--hbj-gutter));padding-block:var(--hbj-section-pad);color:var(--hbj-text);}
.hbj-prose :where(p,ul,ol,h2,h3,h4,blockquote,figure,table){margin-block:0 1em;}
.hbj-prose h2{margin-top:1.6em;font-size:var(--hbj-fs-h2);}
.hbj-prose h3{margin-top:1.4em;font-size:var(--hbj-fs-h3);}
.hbj-prose a{color:var(--hbj-gold-ink);text-underline-offset:.15em;}
.hbj-prose :where(ul,ol){padding-left:1.25em;}

/* Footer */
.hbj-footer{background:var(--hbj-bg-dark);color:var(--hbj-text-on-dark);border-top:1px solid var(--hbj-border-on-dark);}
.hbj-footer__grid{display:grid;gap:var(--hbj-space-7) var(--hbj-space-6);padding-block:clamp(3rem, 2.5rem + 2vw, 4.5rem);}
@media (min-width:640px){ .hbj-footer__grid{grid-template-columns:1fr 1fr;} }
@media (min-width:1180px){ .hbj-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.25fr;} }  /* 2×2 until the desktop nav (D-030) */
.hbj-footer__blurb{max-width:34ch;margin-top:var(--hbj-space-5);font-size:var(--hbj-fs-small);}
.hbj-footer__title{padding-bottom:var(--hbj-space-4);margin-bottom:var(--hbj-space-4);border-bottom:1px solid var(--hbj-border-on-dark);
  font-family:var(--hbj-font-body);font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-semibold);letter-spacing:var(--hbj-ls-eyebrow);
  text-transform:uppercase;color:var(--hbj-accent-on-dark);}
.hbj-footer__links{display:grid;gap:var(--hbj-space-1);}
.hbj-footer__link{display:inline-block;padding-block:.3125rem;font-size:var(--hbj-fs-small);text-decoration:none;color:var(--hbj-text-on-dark);
  transition:color var(--hbj-t-fast) var(--hbj-ease);}
.hbj-footer__link:hover,.hbj-footer__link[aria-current="page"]{color:var(--hbj-heading-on-dark);}
.hbj-footer__link[aria-current="page"]{text-decoration:underline;text-underline-offset:.2em;}
.hbj-footer__name{font-family:var(--hbj-font-heading);font-size:1.25rem;font-weight:var(--hbj-fw-semibold);color:var(--hbj-heading-on-dark);}
.hbj-footer__facts{display:grid;gap:var(--hbj-space-3);margin-block:var(--hbj-space-4) var(--hbj-space-5);font-size:var(--hbj-fs-small);}
.hbj-footer__fact{display:grid;grid-template-columns:20px 1fr;gap:var(--hbj-space-3);align-items:start;}
.hbj-footer__fact>.hbj-footer__link{padding-block:0;}
.hbj-footer__icon{width:16px;height:16px;margin-top:.25rem;color:var(--hbj-gold-muted);}
.hbj-footer__hours-title{font-weight:var(--hbj-fw-semibold);color:var(--hbj-heading-on-dark);}
.hbj-footer__bottom{border-top:1px solid var(--hbj-border-on-dark);}
.hbj-footer__bottom-inner{display:grid;gap:var(--hbj-space-4);padding-block:var(--hbj-space-6);font-size:.8125rem;}
@media (min-width:1024px){ .hbj-footer__bottom-inner{grid-template-columns:1fr 1.6fr 1fr;align-items:center;} }
.hbj-footer__disclaimer{color:var(--hbj-text-subtle-on-dark);}
@media (min-width:1024px){ .hbj-footer__disclaimer{text-align:center;} }
.hbj-footer__legal{display:flex;flex-wrap:wrap;gap:var(--hbj-space-2) var(--hbj-space-5);}
@media (min-width:1024px){ .hbj-footer__legal{justify-content:flex-end;} }
.hbj-footer__legal .hbj-footer__link{font-size:.8125rem;}

/* Opening hours list */
.hbj-hours{display:grid;gap:var(--hbj-space-1);margin-top:var(--hbj-space-2);}
.hbj-hours__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--hbj-space-4);}
.hbj-hours__row dt,.hbj-hours__row dd{white-space:nowrap;}  /* a time never breaks; a narrow row drops the times below the day (D-030) */
.hbj-hours__row dd{margin-left:auto;}
.hbj-hours__row dt{color:var(--hbj-heading-on-dark);}
.hbj-hours__row--closed dd{font-style:italic;}

/* Grounds: light by default; --dark re-declares the context variables (playbook 03 §7) */
.hbj-section,.hbj-cta,.hbj-hero{--hbj-ink-accent:var(--hbj-gold-ink);--hbj-eyebrow-ink:var(--hbj-gold-ink);--hbj-rule:var(--hbj-border);
  --hbj-card-bg:var(--hbj-bg-card);--hbj-card-line:var(--hbj-border);--hbj-card-title:var(--hbj-heading);--hbj-card-text:var(--hbj-text);
  --hbj-chip-bg:var(--hbj-bg-alt);--hbj-chip-line:var(--hbj-border);}
.hbj-section--white{background:var(--hbj-bg-card);}
.hbj-section--dark,.hbj-cta,.hbj-hero{--hbj-ink-accent:var(--hbj-gold-warm);--hbj-eyebrow-ink:var(--hbj-gold-muted);--hbj-rule:var(--hbj-border-on-dark);
  --hbj-card-bg:var(--hbj-bg-dark-raised);--hbj-card-line:var(--hbj-border-on-dark);--hbj-card-title:var(--hbj-heading-on-dark);--hbj-card-text:var(--hbj-text-on-dark);
  --hbj-chip-bg:var(--hbj-bg-dark-alt);--hbj-chip-line:var(--hbj-border-on-dark);--hbj-text:var(--hbj-text-on-dark);}
.hbj-container--narrow{max-width:calc(var(--hbj-container-narrow) + 2 * var(--hbj-gutter));}
.hbj-accent{color:var(--hbj-ink-accent);}

/* Eyebrow and section head */
.hbj-eyebrow{display:flex;align-items:center;gap:var(--hbj-space-3);margin-bottom:var(--hbj-space-4);font-size:var(--hbj-fs-label);
  font-weight:var(--hbj-fw-semibold);letter-spacing:var(--hbj-ls-eyebrow);text-transform:uppercase;color:var(--hbj-eyebrow-ink);}
.hbj-eyebrow::before{content:"";width:2rem;height:1px;background:currentColor;}
.hbj-eyebrow--center{justify-content:center;}
.hbj-eyebrow--center::after{content:"";width:2rem;height:1px;background:currentColor;}
.hbj-section__head{max-width:46rem;margin-bottom:clamp(2rem, 1.5rem + 2vw, 3.5rem);}
.hbj-section__head--center{margin-inline:auto;text-align:center;}
.hbj-section__title{font-size:var(--hbj-fs-section);}
.hbj-section__lead{max-width:38rem;margin-top:var(--hbj-space-5);font-size:var(--hbj-fs-lead);color:var(--hbj-text);}
.hbj-section__head--center .hbj-section__lead{margin-inline:auto;}
.hbj-subtitle{margin:calc(-1 * var(--hbj-space-5)) 0 var(--hbj-space-5);font-family:var(--hbj-font-heading);font-style:italic;
  font-weight:var(--hbj-fw-light);font-size:var(--hbj-fs-sub);color:var(--hbj-ink-accent);}
.hbj-flow>*+*{margin-top:1em;}
.hbj-flow a,.hbj-aside-grid__intro p a{color:var(--hbj-ink-accent);font-weight:var(--hbj-fw-semibold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;}
.hbj-actions{margin-top:var(--hbj-space-6);}
.hbj-actions--center{justify-content:center;}
.hbj-btn--outline-light{--btn-ink:var(--hbj-heading);--btn-line:var(--hbj-gold-muted);--btn-bg:var(--hbj-bg-alt);}
.hbj-btn--outline-light:hover{--btn-line:var(--hbj-gold-ink);}
.hbj-section--dark .hbj-btn--outline-light{--btn-ink:var(--hbj-heading-on-dark);--btn-bg:transparent;}

/* Home hero */
.hbj-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;background:var(--hbj-bg-dark);color:var(--hbj-text-on-dark);}
.hbj-hero__media{position:absolute;inset:0 0 auto auto;z-index:-1;width:100%;height:100%;}
.hbj-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, var(--hbj-bg-dark) 0%, var(--hbj-bg-dark) 30%, var(--hbj-hero-fade) 75%),
  linear-gradient(0deg, var(--hbj-bg-dark) 0%, var(--hbj-hero-fade) 30%);}
.hbj-hero__img{width:100%;height:100%;object-fit:cover;object-position:70% center;filter:brightness(.5);}
.hbj-hero__inner{display:flex;align-items:center;min-height:clamp(32rem, 22rem + 30vw, 44rem);padding-block:clamp(3.5rem, 2rem + 4vw, 6rem);}
.hbj-hero__content{max-width:38rem;}
.hbj-hero__title{font-size:var(--hbj-fs-h1);font-weight:var(--hbj-fw-light);line-height:var(--hbj-lh-heading);color:var(--hbj-heading-on-dark);}
.hbj-hero__title em{font-style:normal;color:var(--hbj-gold-warm);}
.hbj-hero__title::after{content:"";display:block;width:3rem;height:2px;margin-top:var(--hbj-space-5);background:var(--hbj-gold);}
.hbj-hero__text{max-width:30rem;margin-top:var(--hbj-space-5);font-size:var(--hbj-fs-lead);}
.hbj-hero__doctor{display:flex;align-items:center;gap:var(--hbj-space-4);margin-top:var(--hbj-space-6);padding-top:var(--hbj-space-5);border-top:1px solid var(--hbj-border-on-dark);}
.hbj-hero__initials{display:grid;place-items:center;flex:none;width:3.5rem;height:3.5rem;border:2px solid var(--hbj-gold);border-radius:50%;
  font-family:var(--hbj-font-heading);font-size:1.25rem;color:var(--hbj-gold-warm);background:var(--hbj-bg-dark-raised);}
.hbj-hero__doctor-info{display:grid;gap:.125rem;}
.hbj-hero__doctor-name{font-family:var(--hbj-font-heading);font-size:1.25rem;color:var(--hbj-heading-on-dark);}
.hbj-hero__doctor-role{font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-semibold);letter-spacing:var(--hbj-ls-label);text-transform:uppercase;color:var(--hbj-gold);}
.hbj-hero__doctor-place{display:inline-flex;align-items:center;gap:.375rem;font-size:var(--hbj-fs-small);}
.hbj-hero__pin{width:14px;height:14px;color:var(--hbj-gold-muted);}
.hbj-hero__stats{border-top:1px solid var(--hbj-border-on-dark);background:var(--hbj-bg-dark-alt);}
.hbj-hero__stats-list{display:grid;grid-template-columns:repeat(2,1fr);}
.hbj-hero__stat{display:flex;flex-direction:column;align-items:center;gap:var(--hbj-space-3);padding:var(--hbj-space-5) var(--hbj-space-3);text-align:center;
  font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-semibold);letter-spacing:var(--hbj-ls-label);text-transform:uppercase;color:var(--hbj-text-on-dark);}
.hbj-hero__stat-icon{width:28px;height:28px;color:var(--hbj-gold);}
@media (min-width:900px){
  .hbj-hero__stats-list{grid-template-columns:repeat(4,1fr);}
  .hbj-hero__stat+.hbj-hero__stat{border-left:1px solid var(--hbj-border-on-dark);}
}
@media (max-width:899.98px){
  .hbj-hero__media{position:relative;height:auto;aspect-ratio:3/2;order:-1;}
  .hbj-hero__media::after{background:linear-gradient(0deg, var(--hbj-bg-dark) 0%, var(--hbj-hero-fade) 45%);}
  .hbj-hero__inner{min-height:0;padding-top:0;margin-top:-3rem;}
}

/* Split layout: text beside media or a card */
.hbj-split{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem, 1.5rem + 3vw, 5rem);align-items:center;}
.hbj-split--top{align-items:start;}
@media (min-width:1024px){ .hbj-split{grid-template-columns:repeat(2,minmax(0,1fr));} }
.hbj-split__text>.hbj-section__head{margin-bottom:var(--hbj-space-6);}

/* Doctor section */
.hbj-doctor__media{position:relative;display:grid;width:100%;max-width:26rem;}  /* photo + card one column wide below 1280 (D-030) */
.hbj-doctor__photo{width:100%;max-width:26rem;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:var(--hbj-r-lg);justify-self:end;}
.hbj-doctor__creds{display:grid;gap:var(--hbj-space-4);margin-top:calc(-1 * var(--hbj-space-7));margin-inline:var(--hbj-space-4);padding:var(--hbj-space-5) var(--hbj-space-6);
  position:relative;background:var(--hbj-bg-card);border:1px solid var(--hbj-border);border-radius:var(--hbj-r-lg);box-shadow:var(--hbj-shadow-lg);
  font-size:var(--hbj-fs-small);color:var(--hbj-heading);}
.hbj-doctor__creds li{display:grid;grid-template-columns:20px 1fr;gap:var(--hbj-space-3);align-items:start;line-height:1.4;}
.hbj-doctor__cred-icon{width:20px;height:20px;color:var(--hbj-gold-ink);}
@media (min-width:1024px){ .hbj-doctor__media{justify-self:end;} }
@media (min-width:1280px){  /* below this the floating card covered his face (D-030) */
  .hbj-doctor__media{max-width:none;}
  .hbj-doctor__creds{position:absolute;left:0;top:50%;max-width:19rem;margin:0;transform:translateY(-50%);}
}

/* Hospitals */
.hbj-hospitals__grid{display:grid;gap:var(--hbj-space-4);}
@media (min-width:640px){ .hbj-hospitals__grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1024px){ .hbj-hospitals__grid{grid-template-columns:repeat(3,1fr);} }
@media (min-width:1280px){ .hbj-hospitals__grid{grid-template-columns:repeat(4,1fr);} }
.hbj-hospital{display:grid;grid-template-columns:auto 1fr;gap:var(--hbj-space-4);padding:var(--hbj-space-5);background:var(--hbj-card-bg);
  border:1px solid var(--hbj-card-line);border-radius:var(--hbj-r-md);}
.hbj-hospital__icon,.hbj-card__icon,.hbj-feature__icon,.hbj-step__icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;
  border:1px solid var(--hbj-chip-line);border-radius:var(--hbj-r-sm);background:var(--hbj-chip-bg);color:var(--hbj-ink-accent);}
.hbj-hospital__icon svg,.hbj-card__icon svg,.hbj-feature__icon svg,.hbj-step__icon svg{width:22px;height:22px;}
/* Body is a column so Directions sits at the card's foot: every card in a row ends level. */
.hbj-hospital__body{display:flex;flex-direction:column;align-items:flex-start;}
.hbj-hospital__name{font-family:var(--hbj-font-body);font-size:var(--hbj-fs-body);font-weight:var(--hbj-fw-semibold);letter-spacing:0;line-height:1.35;}
.hbj-hospital__area{display:flex;align-items:center;gap:.375rem;margin-top:.25rem;font-size:var(--hbj-fs-small);color:var(--hbj-gold);}
.hbj-hospital__pin{width:14px;height:14px;}
.hbj-hospital__addr{margin-top:var(--hbj-space-2);margin-bottom:var(--hbj-space-2);font-size:.9375rem;line-height:1.55;}
.hbj-hospital__map{display:inline-flex;align-items:center;gap:.375rem;min-height:44px;margin-top:auto;font-size:var(--hbj-fs-label);
  font-weight:var(--hbj-fw-bold);letter-spacing:var(--hbj-ls-label);text-transform:uppercase;text-decoration:none;color:var(--hbj-gold);}
.hbj-hospital__map:hover{color:var(--hbj-gold-light);}
.hbj-hospital__ext{width:14px;height:14px;}

/* Intro beside a card grid (conditions) */
.hbj-aside-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--hbj-space-7);}
@media (min-width:1024px){
  .hbj-aside-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--hbj-space-8);align-items:start;}
  .hbj-aside-grid__intro{position:sticky;top:calc(var(--hbj-header-h) + var(--hbj-space-6));}
}
.hbj-aside-grid__intro>p{margin-top:var(--hbj-space-4);}
.hbj-aside-grid__intro .hbj-section__head{margin-bottom:var(--hbj-space-5);}
.hbj-aside-grid__intro .hbj-section__title::after{content:"";display:block;width:3rem;height:2px;margin-top:var(--hbj-space-5);background:var(--hbj-gold);}
.hbj-count{display:inline-flex;align-items:center;gap:var(--hbj-space-4);margin-block:var(--hbj-space-6);padding:var(--hbj-space-4) var(--hbj-space-5);
  background:var(--hbj-bg-card);border:1px solid var(--hbj-border);border-left:3px solid var(--hbj-gold);border-radius:var(--hbj-r-md);box-shadow:var(--hbj-shadow-md);}
.hbj-count__num{font-variant-numeric:lining-nums;font-family:var(--hbj-font-heading);font-size:2.25rem;line-height:1;color:var(--hbj-heading);}
.hbj-count__label{max-width:9rem;font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-semibold);letter-spacing:var(--hbj-ls-label);line-height:1.4;text-transform:uppercase;color:var(--hbj-heading);}
.hbj-aside-grid__intro .hbj-btn{display:flex;width:fit-content;}

/* D-019: decorative numerals are drawn from data-num, so they stay out of the accessibility tree and contrast checks */
.hbj-card__num::before,.hbj-feature__num::before,.hbj-step__num::before{content:attr(data-num);}

/* Cards: one component; --2/--3 set the grid, --dark the treatment (playbook 01 §5) */
.hbj-cards{display:grid;gap:var(--hbj-space-5);}
@media (min-width:640px){ .hbj-cards--2,.hbj-cards--3{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1024px){ .hbj-cards--3{grid-template-columns:repeat(3,1fr);} }
@media (min-width:640px) and (max-width:1023.98px){ .hbj-cards--3>:last-child:nth-child(odd){grid-column:1/-1;} }  /* no lone half-width card (D-030) */
.hbj-cards--dark{--hbj-card-bg:var(--hbj-bg-dark);--hbj-card-line:var(--hbj-bg-dark);--hbj-card-title:var(--hbj-heading-on-dark);--hbj-card-text:var(--hbj-text-on-dark);
  --hbj-chip-bg:var(--hbj-bg-dark-alt);--hbj-chip-line:var(--hbj-border-on-dark);--hbj-ink-accent:var(--hbj-gold);--hbj-focus-ring:var(--hbj-focus);}
.hbj-card{position:relative;display:flex;flex-direction:column;gap:var(--hbj-space-4);padding:clamp(1.5rem, 1.2rem + 1vw, 2rem);background:var(--hbj-card-bg);
  border:1px solid var(--hbj-card-line);border-radius:var(--hbj-r-lg);transition:box-shadow var(--hbj-t-fast) var(--hbj-ease),border-color var(--hbj-t-fast) var(--hbj-ease);}
.hbj-card:hover{border-color:var(--hbj-gold-muted);box-shadow:var(--hbj-shadow-md);}
.hbj-card__num{font-variant-numeric:lining-nums;position:absolute;top:1rem;right:1.25rem;font-family:var(--hbj-font-heading);font-size:3.5rem;line-height:1;color:var(--hbj-card-line);}
.hbj-card__title{position:relative;font-size:var(--hbj-fs-h3);color:var(--hbj-card-title);}
.hbj-card__link{color:inherit;text-decoration:underline dotted var(--hbj-gold-muted);text-decoration-thickness:1px;text-underline-offset:.25em;}
.hbj-card__link::after{content:"";position:absolute;inset:-100vmax;}
.hbj-card{overflow:hidden;}
.hbj-card__link:focus-visible{outline:none;}
.hbj-card:has(.hbj-card__link:focus-visible){outline:2px solid var(--hbj-focus-ring, var(--hbj-focus-on-light));outline-offset:3px;}
.hbj-card__text{font-size:var(--hbj-fs-small);color:var(--hbj-card-text);}
.hbj-card__more{display:flex;align-items:center;justify-content:space-between;gap:var(--hbj-space-3);margin-top:auto;padding-top:var(--hbj-space-5);
  border-top:1px solid var(--hbj-border-on-dark);font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-bold);letter-spacing:var(--hbj-ls-label);
  text-transform:uppercase;color:var(--hbj-gold);}
.hbj-card__arrow{width:16px;height:16px;flex:none;transition:transform var(--hbj-t-fast) var(--hbj-ease);}
/* Title arrow (D-025): slides right when the card is hovered or its link focused. */
.hbj-card__tail{white-space:nowrap;}
.hbj-card__go{display:inline-block;width:.75em;height:.75em;margin-left:.35em;vertical-align:-.02em;color:var(--hbj-ink-accent);
  transition:transform var(--hbj-t-fast) var(--hbj-ease);}
.hbj-card:hover .hbj-card__go,.hbj-card:hover .hbj-card__arrow,.hbj-card:has(.hbj-card__link:focus-visible) :is(.hbj-card__go,.hbj-card__arrow){transform:translateX(.35em);}

/* Why choose: badges and numbered features */
.hbj-badges{display:flex;flex-wrap:wrap;gap:var(--hbj-space-3) var(--hbj-space-6);margin-bottom:clamp(2.5rem, 2rem + 2vw, 4rem);padding:var(--hbj-space-4) var(--hbj-space-5);
  background:var(--hbj-bg-dark-raised);border:1px solid var(--hbj-border-on-dark);border-radius:var(--hbj-r-md);}
.hbj-badge{font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-semibold);letter-spacing:.06em;color:var(--hbj-gold-light);}
.hbj-features{display:grid;gap:0 var(--hbj-space-6);}
@media (min-width:640px){ .hbj-features{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1024px){ .hbj-features{grid-template-columns:repeat(3,1fr);} }
.hbj-feature{position:relative;display:grid;align-content:start;gap:var(--hbj-space-4);padding-block:var(--hbj-space-6);border-top:1px solid var(--hbj-rule);}
.hbj-feature__num,.hbj-step__num{font-variant-numeric:lining-nums;font-family:var(--hbj-font-heading);font-size:3.5rem;line-height:1;color:var(--hbj-rule);}
.hbj-feature__num{position:absolute;top:var(--hbj-space-5);right:0;}
.hbj-feature__title,.hbj-step__title{font-size:var(--hbj-fs-h3);}
.hbj-feature__text,.hbj-step__text{font-size:var(--hbj-fs-small);}
.hbj-why__actions{display:flex;flex-wrap:wrap;gap:var(--hbj-space-4);padding-top:var(--hbj-space-6);border-top:1px solid var(--hbj-rule);}

/* Steps (care journey) */
.hbj-steps{display:grid;gap:var(--hbj-space-6);list-style:none;margin:0;padding:0;}
@media (min-width:640px){ .hbj-steps{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1024px){ .hbj-steps{grid-template-columns:repeat(4,1fr);gap:var(--hbj-space-7);} }
.hbj-step{position:relative;display:grid;gap:var(--hbj-space-4);align-content:start;padding-top:var(--hbj-space-6);border-top:3px solid var(--hbj-border);}
.hbj-step__num{color:var(--hbj-gold-light);}
@media (min-width:1024px){
  .hbj-step:not(:last-child)::after{content:"→";position:absolute;top:1.25rem;right:calc(-1 * var(--hbj-space-7) / 2 - .5rem);color:var(--hbj-gold-muted);}
}

/* Reviews */
.hbj-reviews__inner{text-align:center;}
.hbj-reviews__stars{display:inline-flex;gap:.25rem;margin-bottom:var(--hbj-space-5);color:var(--hbj-gold);}
.hbj-reviews__star{width:22px;height:22px;fill:currentColor;}
.hbj-reviews .hbj-section__head{margin-bottom:0;}
.hbj-reviews__star--off{color:var(--hbj-border-on-dark);}
.hbj-review{max-width:44rem;margin:var(--hbj-space-7) auto 0;}
.hbj-review .hbj-reviews__stars{margin-bottom:var(--hbj-space-4);}
.hbj-review__text{margin:0;font-family:var(--hbj-font-heading);font-size:var(--hbj-fs-h3);line-height:1.45;color:var(--hbj-heading-on-dark);}
.hbj-review__text p+p{margin-top:1em;}
.hbj-review__by{margin-top:var(--hbj-space-5);font-size:var(--hbj-fs-small);color:var(--hbj-text-on-dark);}
.hbj-review__name{font-weight:var(--hbj-fw-bold);color:var(--hbj-heading-on-dark);}

/* Clinic: address card, facts list, map, strip */
.hbj-clinic__card{padding:var(--hbj-space-5) var(--hbj-space-6);background:var(--hbj-bg-card);border:1px solid var(--hbj-border);border-left:3px solid var(--hbj-gold);
  border-radius:var(--hbj-r-md);box-shadow:var(--hbj-shadow-md);}
.hbj-clinic__name{display:flex;align-items:center;gap:var(--hbj-space-3);font-family:var(--hbj-font-heading);font-size:1.375rem;color:var(--hbj-heading);}
.hbj-clinic__icon{width:20px;height:20px;color:var(--hbj-gold-ink);}
.hbj-clinic__address{margin-top:var(--hbj-space-3);padding-left:calc(20px + var(--hbj-space-3));}
.hbj-facts{margin-top:var(--hbj-space-6);}
.hbj-facts__row{display:grid;gap:var(--hbj-space-2) var(--hbj-space-5);padding-block:var(--hbj-space-5);border-top:1px solid var(--hbj-border);}
.hbj-facts__row:last-child{border-bottom:1px solid var(--hbj-border);}
@media (min-width:640px){ .hbj-facts__row{grid-template-columns:11rem 1fr;} }
.hbj-facts dt{display:flex;align-items:center;align-self:start;min-height:1.7em;gap:var(--hbj-space-3);font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-bold);letter-spacing:var(--hbj-ls-label);
  text-transform:uppercase;color:var(--hbj-heading);}
.hbj-facts__icon{width:16px;height:16px;flex:none;color:var(--hbj-gold-ink);}
.hbj-facts dd a{color:var(--hbj-gold-ink);font-weight:var(--hbj-fw-semibold);}
.hbj-facts__strong{font-size:1.25rem;}
.hbj-facts .hbj-hours{margin-top:0;}
.hbj-facts .hbj-hours__row dt{display:block;font-size:inherit;font-weight:var(--hbj-fw-medium);letter-spacing:0;text-transform:none;}
.hbj-facts .hbj-hours__row dd{text-align:right;padding-right:.15em;}
.hbj-hours__row--closed dd{padding-right:.15em;}
.hbj-map{display:grid;min-height:22rem;overflow:hidden;background:var(--hbj-bg-alt);border:1px solid var(--hbj-border);border-radius:var(--hbj-r-lg);box-shadow:var(--hbj-shadow-md);}
@media (min-width:1024px){ .hbj-map{position:sticky;top:calc(var(--hbj-header-h) + var(--hbj-space-6));min-height:32rem;} }
.hbj-map__frame{width:100%;height:100%;min-height:inherit;border:0;}
.hbj-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--hbj-space-5);margin-top:clamp(2.5rem, 2rem + 2vw, 4rem);
  padding:clamp(1.5rem, 1rem + 2vw, 2.5rem);background:var(--hbj-bg-dark);border-radius:var(--hbj-r-lg);color:var(--hbj-text-on-dark);--hbj-focus-ring:var(--hbj-focus);}
.hbj-strip__title{font-family:var(--hbj-font-heading);font-size:var(--hbj-fs-h2);color:var(--hbj-heading-on-dark);}
.hbj-strip .hbj-actions{display:flex;flex-wrap:wrap;gap:var(--hbj-space-4);margin-top:0;}

/* Areas card */
.hbj-areas{padding:clamp(1.5rem, 1rem + 2vw, 2.5rem);background:var(--hbj-bg);border:1px solid var(--hbj-border);border-top:3px solid var(--hbj-gold);border-radius:var(--hbj-r-lg);}
.hbj-areas__label{margin-bottom:var(--hbj-space-4);font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-semibold);letter-spacing:var(--hbj-ls-eyebrow);text-transform:uppercase;color:var(--hbj-text);}
.hbj-areas__primary{display:inline-flex;align-items:center;gap:var(--hbj-space-3);margin-bottom:var(--hbj-space-6);padding:.75rem 1.5rem;background:var(--hbj-gold-fill);
  border-radius:var(--hbj-r-pill);font-family:var(--hbj-font-heading);font-size:1.25rem;color:var(--hbj-bg-dark);}
.hbj-areas__pin{width:18px;height:18px;}
.hbj-areas__list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--hbj-space-2) var(--hbj-space-5);padding-top:var(--hbj-space-5);border-top:1px solid var(--hbj-border);}
@media (min-width:480px){ .hbj-areas__list{grid-template-columns:repeat(3,1fr);} }
.hbj-areas__list li{position:relative;padding-left:1rem;color:var(--hbj-heading);}
.hbj-areas__list li::before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--hbj-gold-muted);}
.hbj-areas__note{margin-top:var(--hbj-space-5);padding-top:var(--hbj-space-5);border-top:1px solid var(--hbj-border);font-size:var(--hbj-fs-small);font-style:italic;}

/* FAQ: native <details>; light and dark through the ground's variables */
.hbj-faq{border-top:1px solid var(--hbj-rule);}
.hbj-faq__item{border-bottom:1px solid var(--hbj-rule);}
.hbj-faq__q{display:flex;align-items:center;justify-content:space-between;gap:var(--hbj-space-5);min-height:44px;padding-block:var(--hbj-space-5);cursor:pointer;
  list-style:none;font-family:var(--hbj-font-heading);font-size:clamp(1.1875rem, 1.1rem + .4vw, 1.4375rem);line-height:1.3;color:var(--hbj-heading);}
.hbj-faq__q::-webkit-details-marker{display:none;}
.hbj-faq__icon{width:20px;height:20px;flex:none;color:var(--hbj-ink-accent);transition:transform var(--hbj-t-fast) var(--hbj-ease);}
.hbj-faq__item[open] .hbj-faq__icon{transform:rotate(180deg);}
.hbj-faq__a{padding-bottom:var(--hbj-space-5);max-width:62rem;}
.hbj-faq__a>*+*{margin-top:.9em;}
.hbj-faq__a a{color:var(--hbj-ink-accent);font-weight:var(--hbj-fw-semibold);}
.hbj-faq__a ul{padding-left:1.25em;}

/* Closing CTA band */
.hbj-section--dark+.hbj-cta{border-top:1px solid var(--hbj-border-on-dark);}
.hbj-cta{background:var(--hbj-bg-dark);color:var(--hbj-text-on-dark);--hbj-focus-ring:var(--hbj-focus);}
.hbj-cta__inner{max-width:calc(48rem + 2 * var(--hbj-gutter));text-align:center;}
.hbj-cta__title{font-size:var(--hbj-fs-h1);font-weight:var(--hbj-fw-light);color:var(--hbj-heading-on-dark);}
.hbj-cta__text{max-width:38rem;margin:var(--hbj-space-5) auto 0;font-size:var(--hbj-fs-lead);}
.hbj-cta__text strong{color:var(--hbj-gold-warm);}
.hbj-cta__actions{display:flex;justify-content:center;margin-top:var(--hbj-space-6);}
.hbj-cta__facts{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--hbj-space-2) var(--hbj-space-6);margin-top:var(--hbj-space-6);font-size:var(--hbj-fs-small);}
.hbj-cta__facts li{display:inline-flex;align-items:center;gap:.5rem;}
.hbj-cta__check{width:16px;height:16px;flex:none;color:var(--hbj-gold);}
.hbj-cta__sig{display:inline-flex;align-items:center;gap:var(--hbj-space-4);margin-top:var(--hbj-space-7);padding-top:var(--hbj-space-6);border-top:1px solid var(--hbj-border-on-dark);text-align:left;}
.hbj-cta__avatar{width:3.5rem;height:3.5rem;object-fit:cover;object-position:center top;border:2px solid var(--hbj-gold-muted);border-radius:50%;}
.hbj-cta__sig-text{display:grid;}
.hbj-cta__sig-name{font-family:var(--hbj-font-heading);font-size:1.25rem;color:var(--hbj-heading-on-dark);}
.hbj-cta__sig-cred{font-size:var(--hbj-fs-small);}

/* Page hero (service and about pages) and breadcrumbs */
.hbj-phero{padding-block:clamp(2rem, 1.5rem + 2vw, 3.5rem) clamp(3rem, 2rem + 3vw, 5rem);}
.hbj-phero__title{max-width:22ch;font-size:var(--hbj-fs-h1);font-weight:var(--hbj-fw-light);color:var(--hbj-heading-on-dark);}
.hbj-phero__lead{max-width:44rem;margin-top:var(--hbj-space-5);font-size:var(--hbj-fs-lead);}
.hbj-phero__lead>*+*{margin-top:1em;}
.hbj-phero__facts{display:flex;flex-wrap:wrap;gap:var(--hbj-space-3) var(--hbj-space-6);margin-top:var(--hbj-space-6);font-size:var(--hbj-fs-small);}
.hbj-phero__facts li{display:inline-flex;align-items:center;gap:.5rem;}
.hbj-phero__icon{width:18px;height:18px;color:var(--hbj-gold);}
.hbj-phero--split .hbj-subtitle{margin:var(--hbj-space-4) 0 0;}
.hbj-phero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--hbj-space-7);align-items:center;}
@media (min-width:900px){ .hbj-phero__grid{grid-template-columns:1.3fr 1fr;} }
.hbj-phero__photo{width:100%;max-width:24rem;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:var(--hbj-r-lg);}
/* Service hero photo (D-031): behind the text from 900px, fading to ink on the left where the text
   sits; above the breadcrumb below. Same brightness as the home hero (D-027). Scoped to --photo: the
   about hero's portrait shares .hbj-phero__media and must stay a plain 4:5 photo (D-049). */
.hbj-phero--photo{position:relative;isolation:isolate;}
.hbj-phero--photo .hbj-phero__media{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.hbj-phero--photo .hbj-phero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, var(--hbj-bg-dark) 0%, var(--hbj-bg-dark) 45%, var(--hbj-hero-fade) 85%),
  linear-gradient(0deg, var(--hbj-bg-dark) 0%, var(--hbj-hero-fade) 25%);}
.hbj-phero__img{width:100%;height:100%;object-fit:cover;object-position:right center;filter:brightness(.5);}
@media (max-width:899.98px){
  .hbj-phero--photo{padding-top:0;}
  .hbj-phero--photo .hbj-phero__media{position:relative;z-index:0;aspect-ratio:16/9;margin-bottom:var(--hbj-space-5);}
  .hbj-phero--photo .hbj-phero__media::after{background:linear-gradient(0deg, var(--hbj-bg-dark) 0%, var(--hbj-hero-fade) 40%);}
}
.hbj-crumbs{margin-bottom:var(--hbj-space-6);font-size:var(--hbj-fs-small);}
.hbj-crumbs__list{display:flex;flex-wrap:wrap;gap:var(--hbj-space-2);}
.hbj-crumbs__list li+li::before{content:"/";margin-right:var(--hbj-space-2);color:var(--hbj-gold-muted);}
.hbj-crumbs a{color:var(--hbj-text-on-dark);text-underline-offset:.2em;}
.hbj-crumbs [aria-current]{color:var(--hbj-heading-on-dark);}

/* Long-form service article with its "On this page" aside */
.hbj-article-wrap{background:var(--hbj-bg-card);}
.hbj-article-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--hbj-space-7);}
@media (min-width:1024px){
  .hbj-article-grid{grid-template-columns:18rem minmax(0,1fr);gap:var(--hbj-space-8);align-items:start;}
  .hbj-toc{position:sticky;top:calc(var(--hbj-header-h) + var(--hbj-space-5));max-height:calc(100vh - var(--hbj-header-h) - 2.5rem);overflow-y:auto;}
}
.hbj-toc{display:grid;gap:var(--hbj-space-5);align-content:start;}
.hbj-toc__box{padding:var(--hbj-space-5);background:var(--hbj-bg);border:1px solid var(--hbj-border);border-radius:var(--hbj-r-md);}
.hbj-toc__title{margin-bottom:var(--hbj-space-3);font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-semibold);letter-spacing:var(--hbj-ls-eyebrow);text-transform:uppercase;color:var(--hbj-gold-ink);}
.hbj-toc__list{display:grid;gap:.125rem;margin:0;padding:0;list-style:none;counter-reset:toc;}
.hbj-toc__list a{display:block;padding:.375rem 0;font-size:.9375rem;line-height:1.4;text-decoration:none;color:var(--hbj-heading);}
.hbj-toc__list a:hover{color:var(--hbj-gold-ink);text-decoration:underline;}
.hbj-toc__card{display:grid;gap:var(--hbj-space-3);padding:var(--hbj-space-5);background:var(--hbj-bg-dark);border-radius:var(--hbj-r-md);color:var(--hbj-text-on-dark);
  font-size:var(--hbj-fs-small);--hbj-focus-ring:var(--hbj-focus);}
.hbj-toc__card-title{font-family:var(--hbj-font-heading);font-size:1.25rem;color:var(--hbj-heading-on-dark);}
.hbj-toc__card .hbj-hours{margin-top:0;}
.hbj-toc__card .hbj-btn{padding-inline:1rem;letter-spacing:.08em;white-space:nowrap;}
@media (max-width:1023.98px){ .hbj-toc__card{display:none;} }
.hbj-article{max-width:46rem;}
.hbj-article__section{scroll-margin-top:calc(var(--hbj-header-h) + 1rem);}
.hbj-article__section+.hbj-article__section{margin-top:clamp(2.5rem, 2rem + 2vw, 3.5rem);padding-top:clamp(2.5rem, 2rem + 2vw, 3.5rem);border-top:1px solid var(--hbj-border);}
.hbj-article__title{margin-bottom:var(--hbj-space-5);font-size:var(--hbj-fs-h2);}
.hbj-prose-body{color:var(--hbj-text);}
.hbj-prose-body>*+*{margin-top:1em;}
.hbj-prose-body h3{margin-top:1.75em;font-size:var(--hbj-fs-h3);scroll-margin-top:calc(var(--hbj-header-h) + 1rem);}
.hbj-prose-body h4{margin-top:1.5em;font-family:var(--hbj-font-body);font-size:var(--hbj-fs-body);font-weight:var(--hbj-fw-semibold);letter-spacing:0;color:var(--hbj-heading);}
.hbj-prose-body ul{padding-left:0;list-style:none;}
.hbj-prose-body li{position:relative;padding-left:1.375rem;}
.hbj-prose-body li+li{margin-top:.5em;}
.hbj-prose-body li::before{content:"";position:absolute;left:.25rem;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--hbj-gold-muted);}
.hbj-prose-body strong{font-weight:var(--hbj-fw-semibold);color:var(--hbj-heading);}
.hbj-prose-body a{color:var(--hbj-gold-ink);font-weight:var(--hbj-fw-semibold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;}

.hbj-more{margin-top:var(--hbj-space-5);border:1px solid var(--hbj-border);border-radius:var(--hbj-r-md);background:var(--hbj-bg);}
.hbj-more__toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--hbj-space-4);min-height:44px;padding:var(--hbj-space-4) var(--hbj-space-5);
  cursor:pointer;list-style:none;font-weight:var(--hbj-fw-semibold);color:var(--hbj-gold-ink);}
.hbj-more__toggle::-webkit-details-marker{display:none;}
.hbj-more__icon{width:20px;height:20px;flex:none;transition:transform var(--hbj-t-fast) var(--hbj-ease);}
.hbj-more[open] .hbj-more__icon{transform:rotate(180deg);}
.hbj-more>.hbj-prose-body{padding:0 var(--hbj-space-5) var(--hbj-space-5);}

/* Doctor bio band (service pages) */
.hbj-bio{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--hbj-space-7);align-items:center;}
@media (min-width:900px){ .hbj-bio{grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:var(--hbj-space-8);} }
.hbj-bio__photo{width:100%;max-width:26rem;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:var(--hbj-r-lg);}
.hbj-bio .hbj-section__head{margin-bottom:var(--hbj-space-5);}
.hbj-bio .hbj-section__title{font-size:var(--hbj-fs-h2);}
.hbj-bio__more{margin-top:var(--hbj-space-5);}
.hbj-bio__more a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-bold);letter-spacing:var(--hbj-ls-label);
  text-transform:uppercase;text-decoration:none;color:var(--hbj-gold-ink);}
.hbj-bio__arrow{width:16px;height:16px;}

/* Experience figures (about) */
.hbj-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--hbj-space-4);}
.hbj-stat{display:grid;gap:var(--hbj-space-2);padding:var(--hbj-space-6) var(--hbj-space-5);background:var(--hbj-bg);border:1px solid var(--hbj-border);border-radius:var(--hbj-r-lg);}
.hbj-stat__num{font-variant-numeric:lining-nums;font-family:var(--hbj-font-heading);font-size:var(--hbj-fs-display);line-height:1;color:var(--hbj-gold-ink);}
.hbj-stat__label{font-size:var(--hbj-fs-label);font-weight:var(--hbj-fw-semibold);letter-spacing:var(--hbj-ls-label);text-transform:uppercase;color:var(--hbj-heading);}
/* Compact: a row of three inside a text column (home doctor, D-050); one per line on phones and at
   1024–1279, where the split's text column is too narrow for three (labels touched the tile edge). */
.hbj-stats--compact{grid-template-columns:minmax(0,1fr);gap:var(--hbj-space-3);margin-top:var(--hbj-space-6);}
.hbj-stats--compact .hbj-stat{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--hbj-space-4);padding:var(--hbj-space-4) var(--hbj-space-5);}
.hbj-stats--compact .hbj-stat__num{font-size:var(--hbj-fs-h2);}
@media (min-width:36rem) and (max-width:63.99rem), (min-width:80rem){
  .hbj-stats--compact{grid-template-columns:repeat(3,minmax(0,1fr));}
  .hbj-stats--compact .hbj-stat{grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--hbj-space-2);padding-inline:var(--hbj-space-4);}
}

/* Floating WhatsApp button (D-011) */
.hbj-wa{position:fixed;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:90;display:grid;place-items:center;
  width:3.5rem;height:3.5rem;border-radius:50%;background:var(--hbj-whatsapp);color:var(--hbj-bg-card);box-shadow:var(--hbj-shadow-lg);
  transition:transform var(--hbj-t-fast) var(--hbj-ease);--hbj-focus-ring:var(--hbj-whatsapp);}
.hbj-wa:hover{transform:scale(1.06);}
.hbj-wa__icon{width:30px;height:30px;stroke-width:1.8;}
html:has(.hbj-menu[open]) .hbj-wa{display:none;}

/* ── 6. Utilities ─────────────────────────────────────────────────────────── */
.hbj-u-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
