/* Dr. Supriya's Holkar Dental Care. Black and gold. */
:root {
  --ink: #0d0d0d;
  --ink-2: #1b1b1b;
  --gold: #f2be4b;
  --gold-hover: #e6ad2c;
  --gold-text: #7a5600;
  --butter: #fff4d6;
  --butter-2: #fffaea;
  --paper: #ffffff;
  --line: #e6dfcb;
  --muted: #55524a;
  --indigo: #0d0d0d;
  --ok: #17663a;
  --err: #b3261e;
  --font-head: "Bricolage Grotesque", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-body: "Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
  --header-h: 84px;
  --gutter: 20px;
  --maxw: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: clip; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.65;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; }
img { height: auto; display: block; }
a { color: var(--ink); text-decoration-line: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: 4px; transition: text-decoration-color .18s, background-color .18s; }
a:hover { text-decoration-color: var(--ink); }
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: 700; line-height: 1.12; letter-spacing: -0.02em; margin: 0 0 .6em; color: var(--ink); text-wrap: balance; }
h1 { font-size: clamp(2.2rem, 4.8vw, 3.9rem); }
h2 { font-size: clamp(1.7rem, 3.2vw, 2.5rem); }
h3 { font-size: 1.25rem; letter-spacing: -0.01em; }
p { margin: 0 0 1em; }
ul, ol { padding-left: 1.25rem; }
address { font-style: normal; }
:focus-visible { outline: 3px solid var(--indigo); outline-offset: 3px; border-radius: 4px; }
.hd-header :focus-visible, .hd-section--dark :focus-visible, .hd-footer :focus-visible, .hd-drawer :focus-visible, .hd-mbar :focus-visible { outline-color: var(--gold); }
[hidden] { display: none !important; }

.hd-i { width: 1.25em; height: 1.25em; flex: none; }
.hd-i--fill { fill: currentColor; stroke: none; }
.hd-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.hd-skip { position: absolute; left: 12px; top: -80px; z-index: 200; background: var(--gold); color: var(--ink); padding: .7rem 1rem; border-radius: 10px; font-weight: 700; }
.hd-skip:focus { top: 12px; }
.hd-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.hd-wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.hd-wrap--narrow { max-width: 820px; }
.hd-wrap--mid { max-width: 1000px; }

/* Buttons */
.hd-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; padding: .85rem 1.45rem; border-radius: 999px; border: 2px solid transparent; font: 600 1rem/1.2 var(--font-body); text-decoration: none; cursor: pointer; transition: background-color .18s, color .18s, border-color .18s, transform .18s; }
.hd-btn:active { transform: translateY(1px); }
.hd-btn--gold { background: var(--gold); color: var(--ink); }
.hd-btn--gold:hover { background: var(--gold-hover); }
.hd-btn--dark { background: var(--ink); color: #fff; }
.hd-btn--dark:hover { background: #2b2b2b; }
.hd-btn--outline-dark { border-color: var(--ink); color: var(--ink); background: transparent; }
.hd-btn--outline-dark:hover { background: var(--ink); color: #fff; }
.hd-btn--outline-light { border-color: rgba(255,255,255,.55); color: #fff; background: transparent; }
.hd-btn--outline-light:hover { background: #fff; color: var(--ink); }
.hd-btn--ghost-light { border-color: rgba(255,255,255,.35); color: #fff; }
.hd-btn--ghost-light:hover { background: rgba(255,255,255,.12); }
.hd-btn--sm { padding: .62rem 1.1rem; font-size: .95rem; }
.hd-btn--block { width: 100%; }
.hd-link { display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; color: var(--ink); text-decoration: none; margin: 0 .6rem .6rem 0; padding: .55rem .6rem .55rem 1.1rem; border: 2px solid var(--ink); border-radius: 999px; background: transparent; transition: background-color .2s, color .2s; }
.hd-link .hd-i { width: 1.9rem; height: 1.9rem; padding: .4rem; border-radius: 50%; background: var(--gold); color: var(--ink); transition: transform .2s, background-color .2s; }
.hd-link:hover { background: var(--ink); color: #fff; text-decoration: none; }
.hd-link:hover .hd-i { transform: translateX(3px); }
.hd-iconbtn { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: inherit; cursor: pointer; }
.hd-iconbtn:hover { background: rgba(255,255,255,.22); }

/* Header: a floating black capsule */
.hd-header { position: sticky; top: 0; z-index: 60; height: 0; color: #fff; }
.admin-bar .hd-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .hd-header { top: 46px; } }
.hd-header__row { transition: background-color .3s ease, color .3s ease, border-color .3s ease; display: flex; align-items: center; gap: 1.25rem; min-height: 64px; position: relative; top: 12px; padding: 6px 12px 6px 10px; background: rgba(13,13,13,.95); -webkit-backdrop-filter: saturate(160%) blur(10px); backdrop-filter: saturate(160%) blur(10px); border: 1px solid rgba(255,255,255,.1); border-radius: 999px; box-shadow: 0 12px 32px rgba(0,0,0,.22); }
.hd-main > section:first-child { padding-top: calc(var(--header-h) + 2.25rem); }
.hd-brand { display: inline-flex; align-items: center; gap: .75rem; color: #fff; text-decoration: none; flex: none; }
.hd-brand img { border-radius: 50%; width: 46px; height: 46px; }
.hd-brand__name { font: 700 1.06rem/1.1 var(--font-head); letter-spacing: -0.01em; }
.hd-brand__top { display: block; font-size: .74rem; color: var(--gold); font-weight: 600; letter-spacing: .02em; margin-bottom: 2px; }
.hd-nav { margin-left: auto; display: none; }
.hd-nav > ul { display: flex; align-items: center; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.hd-nav a { color: #fff; text-decoration: none; font-weight: 500; padding: .55rem .9rem; border-radius: 999px; display: inline-block; }
.hd-nav a:hover { background: rgba(255,255,255,.1); }
.hd-nav a[aria-current="page"] { color: var(--gold); background: rgba(242,190,75,.16); }
.hd-nav__drop { position: relative; display: flex; align-items: center; }
.hd-nav__toggle { background: none; border: 0; color: #fff; width: 32px; height: 36px; margin-left: -.55rem; cursor: pointer; display: grid; place-items: center; border-radius: 8px; }
.hd-nav__toggle .hd-i { width: 1em; height: 1em; transition: transform .18s; }
.hd-nav__toggle[aria-expanded="true"] .hd-i { transform: rotate(180deg); }
.hd-nav__panel { position: absolute; left: 50%; top: 100%; padding-top: 22px; transform: translateX(-50%) translateY(6px); opacity: 0; visibility: hidden; transition: opacity .16s, transform .16s, visibility .16s; z-index: 5; }
.hd-nav__panel > ul { list-style: none; margin: 0; padding: .6rem; display: grid; grid-template-columns: repeat(2, 280px); gap: .15rem; background: var(--ink-2); border: 1px solid #333; border-radius: 18px; box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.hd-nav__panel a { display: flex; align-items: center; gap: .65rem; width: 100%; padding: .6rem .75rem; border-radius: 12px; font-size: .96rem; }
.hd-nav__panel a .hd-i { color: var(--gold); }
.hd-nav__panel a[aria-current="page"] { box-shadow: none; background: rgba(242,190,75,.14); border-radius: 12px; }
.hd-nav__drop.is-open .hd-nav__panel, .hd-nav__drop:focus-within .hd-nav__panel { opacity: 1; visibility: visible; transform: translateX(-50%); }
@media (hover: hover) { .hd-nav__drop:hover .hd-nav__panel { opacity: 1; visibility: visible; transform: translateX(-50%); } }
.hd-header__actions { display: flex; align-items: center; gap: .75rem; margin-left: auto; }
.hd-header__phone { display: none; align-items: center; gap: .45rem; color: #fff; text-decoration: none; font-weight: 600; white-space: nowrap; }
.hd-header__phone .hd-i { color: var(--gold); }
.hd-header__book { display: none; }
.hd-header__row .hd-btn { white-space: nowrap; }
.hd-burger { background: rgba(255,255,255,.12); color: #fff; border: 0; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
.hd-burger .hd-i { width: 1.5em; height: 1.5em; }
@media (min-width: 760px) { .hd-header__book { display: inline-flex; } }
@media (min-width: 1040px) {
  .hd-header__actions { margin-left: 0; }
  .hd-nav { display: block; }
  .hd-burger { display: none; }
}
@media (min-width: 1240px) { .hd-header__phone { display: inline-flex; } }
@media (max-width: 420px) { .hd-brand__name { font-size: .92rem; } .hd-brand img { width: 40px; height: 40px; } .hd-header__row { gap: .5rem; } }

/* Drawer */
.hd-drawer { position: fixed; inset: 0; z-index: 120; background: var(--ink); color: #fff; overflow-y: auto; padding: 0 var(--gutter) 2rem; display: flex; flex-direction: column; }
.hd-drawer__bar { display: flex; align-items: center; justify-content: space-between; min-height: var(--header-h); }
.hd-drawer__title { font: 700 1.1rem var(--font-head); color: var(--gold); }
.hd-drawer__list { list-style: none; margin: 1rem 0; padding: 0; }
.hd-drawer__list > li { border-bottom: 1px solid #2a2a2a; }
.hd-drawer__list a, .hd-drawer__list summary { display: block; color: #fff; text-decoration: none; padding: 1rem .25rem; font: 600 1.35rem/1.2 var(--font-head); cursor: pointer; }
.hd-drawer__list summary { list-style: none; display: flex; justify-content: space-between; align-items: center; }
.hd-drawer__list summary::-webkit-details-marker { display: none; }
.hd-drawer__list summary::after { content: "+"; color: var(--gold); font-size: 1.5rem; }
.hd-drawer__list details[open] summary::after { content: "\2212"; }
.hd-drawer__list details ul { list-style: none; padding: 0 0 .75rem .75rem; margin: 0; }
.hd-drawer__list details a { font: 500 1.05rem var(--font-body); padding: .6rem .25rem; color: #e4dfd0; }
.hd-drawer a[aria-current="page"] { color: var(--gold); }
.hd-drawer__cta { display: grid; gap: .75rem; margin-top: auto; padding-top: 1.5rem; }
body.hd-lock { overflow: hidden; }

/* Hero */
.hd-hero { background: var(--butter); padding-block: clamp(2.5rem, 6vw, 5rem); overflow: clip; }
.hd-hero__grid { display: grid; gap: 2.5rem; align-items: center; }
.hd-lede { font-size: clamp(1.08rem, 1.5vw, 1.25rem); color: #38352d; max-width: 56ch; }
.hd-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.6rem 0 1.6rem; }
.hd-hero__facts { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; font-size: .98rem; }
.hd-hero__facts li { display: flex; align-items: center; gap: .6rem; }
.hd-hero__facts .hd-i { color: #8a6410; }
.hd-stars { display: inline-flex; gap: 1px; color: #d99a00; }
.hd-stars .hd-i { width: 1.05em; height: 1.05em; }
.hd-hero__media { position: relative; }
.hd-hero__img { width: 100%; aspect-ratio: 4 / 4.4; object-fit: cover; object-position: 84% 20%; border-radius: 160px 28px 28px 28px; background: #e9e1c8; }
.hd-hero__tag { position: absolute; left: -10px; bottom: 22px; background: var(--ink); color: #fff; padding: .8rem 1.2rem; border-radius: 16px 16px 16px 4px; display: grid; line-height: 1.25; box-shadow: 0 10px 26px rgba(0,0,0,.25); }
.hd-hero__tag strong { font-family: var(--font-head); font-size: 1.1rem; }
.hd-hero__tag span { color: var(--gold); font-size: .9rem; }
@media (min-width: 900px) {
  .hd-hero__grid { grid-template-columns: 1.15fr .85fr; gap: 4rem; }
  .hd-hero__img { aspect-ratio: 4 / 5; }
}
@media (prefers-reduced-motion: no-preference) {
  .hd-hero__text > * { animation: hd-rise .7s cubic-bezier(.2,.7,.2,1) both; }
  .hd-hero__text > :nth-child(2) { animation-delay: .08s; }
  .hd-hero__text > :nth-child(3) { animation-delay: .16s; }
  .hd-hero__text > :nth-child(4) { animation-delay: .24s; }
  .hd-hero__img { animation: hd-reveal 1s cubic-bezier(.2,.7,.2,1) both; }
  .hd-hero__tag { animation: hd-rise .7s .55s cubic-bezier(.2,.7,.2,1) both; }
}
@keyframes hd-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes hd-reveal { from { clip-path: inset(0 0 100% 0 round 160px 28px 28px 28px); } to { clip-path: inset(0 0 0 0 round 160px 28px 28px 28px); } }

/* Sections */
.hd-section { padding-block: clamp(3rem, 6.5vw, 5.5rem); }
.hd-section--tint { background: var(--butter-2); border-block: 1px solid #f3e7c2; }
.hd-section--dark { background: var(--ink); color: #e8e3d4; }
.hd-section--dark h2, .hd-section--dark h3 { color: #fff; }
.hd-sechead { max-width: 60ch; margin-bottom: 2rem; }
.hd-sechead p { color: var(--muted); font-size: 1.1rem; margin: 0; }
.hd-sechead--row { max-width: none; display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; }
.hd-sechead--row p { margin: 0; }
.hd-split { display: grid; gap: 2rem; align-items: start; }
.hd-split__head p { color: var(--muted); }
@media (min-width: 900px) {
  .hd-split { grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 4rem; }
  .hd-split__head { position: sticky; top: calc(var(--header-h) + 24px); }
}
.hd-fine { font-size: .9rem; color: var(--muted); }
.hd-more { margin-top: 1.5rem; }

/* Treatment index */
.hd-index { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); column-gap: 2.5rem; }
.hd-index li { border-top: 1px solid var(--line); }
.hd-index a { display: flex; align-items: center; gap: 1rem; padding: 1.1rem .35rem; text-decoration: none; color: var(--ink); border-radius: 14px; transition: background-color .18s; }
.hd-index a:hover { background: var(--butter); }
.hd-index__icon { width: 46px; height: 46px; border-radius: 50%; background: var(--butter); display: grid; place-items: center; flex: none; transition: background-color .18s; }
.hd-index a:hover .hd-index__icon { background: var(--gold); }
.hd-index__body { display: grid; flex: 1; min-width: 0; }
.hd-index__name { font: 700 1.1rem/1.25 var(--font-head); }
.hd-index__desc { color: var(--muted); font-size: .95rem; line-height: 1.45; margin-top: 2px; }
.hd-index__go { color: var(--ink); transition: transform .18s; }
.hd-index a:hover .hd-index__go { transform: translateX(4px); }
.hd-section--tint .hd-index a:hover { background: #fff; }

/* Meet */
.hd-meet__grid { display: grid; gap: 2.5rem; align-items: center; }
.hd-meet__img { width: 100%; max-width: 420px; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 12%; border-radius: 999px 999px 28px 28px; margin-inline: auto; }
.hd-meet__text p { max-width: 58ch; }
.hd-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem 2rem; margin: 2rem 0; }
.hd-stats div { border-left: 3px solid var(--gold); padding-left: 1rem; }
.hd-stats dt { font: 700 clamp(1.8rem, 3.4vw, 2.6rem)/1 var(--font-head); color: var(--gold); }
.hd-stats dd { margin: .35rem 0 0; font-size: .95rem; color: #cfc9b8; }
.hd-stats--wide { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin: 0; }
@media (min-width: 900px) { .hd-meet__grid { grid-template-columns: .8fr 1.2fr; gap: 5rem; } }

/* Compare slider */
.hd-smile { display: grid; gap: 2rem; }
.hd-smile__text { display: grid; gap: .25rem; max-width: 70ch; }
.hd-smile__text p { color: var(--muted); margin-bottom: .6em; }
.hd-smile__text .hd-link { margin-top: .25rem; }
.hd-compare { position: relative; width: 100%; max-width: 1092px; margin-inline: auto; aspect-ratio: 1092 / 352; border-radius: 28px 28px 8px 28px; overflow: hidden; background: #ddd; touch-action: pan-y; user-select: none; }
.hd-compare img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hd-compare__before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.hd-compare__handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; background: var(--gold); transform: translateX(-50%); box-shadow: 0 0 0 1px rgba(13,13,13,.35); pointer-events: none; }
.hd-compare__handle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); border-radius: 50%; background: var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d0d0d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center / 24px no-repeat; box-shadow: 0 4px 14px rgba(0,0,0,.3); }
.hd-compare input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.hd-compare:focus-within .hd-compare__handle::after { outline: 3px solid var(--indigo); outline-offset: 3px; }
.hd-compare__label { position: absolute; bottom: 12px; padding: .25rem .75rem; border-radius: 999px; background: rgba(13,13,13,.8); color: #fff; font-size: .85rem; font-weight: 600; pointer-events: none; }
.hd-compare__label--b { left: 12px; }
.hd-compare__label--a { right: 12px; }
@media (max-width: 600px) { .hd-compare { aspect-ratio: 1092 / 520; } }

/* Steps */
.hd-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.75rem; counter-reset: step; }
.hd-steps li { counter-increment: step; position: relative; padding-top: 3.6rem; }
.hd-steps li::before { content: counter(step); position: absolute; top: 0; left: 0; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: var(--gold); color: var(--ink); display: grid; place-items: center; font: 700 1.2rem var(--font-head); }
.hd-steps h3 { margin-bottom: .3em; }
.hd-steps p { color: var(--muted); margin: 0; }
@media (min-width: 800px) {
  .hd-steps { grid-template-columns: repeat(4, 1fr); gap: 2rem; }
  .hd-steps li:not(:last-child)::after { content: ""; position: absolute; top: 1.35rem; left: 3.4rem; right: -1rem; border-top: 2px dashed #d9c27a; }
}
.hd-steps--stack { grid-template-columns: 1fr !important; gap: 1.25rem; margin: 1.25rem 0 2rem; }
.hd-steps--stack li { padding: 0 0 0 3.8rem; min-height: 2.8rem; }
.hd-steps--stack li::after { display: none !important; }
.hd-steps--stack h3 { margin-top: .1em; }

/* Photo wall */
.hd-wall { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 12px; }
.hd-wall li { break-inside: avoid; margin-bottom: 12px; }
.hd-wall__item { display: block; width: 100%; padding: 0; border: 0; background: var(--butter); cursor: zoom-in; overflow: hidden; border-radius: 14px; position: relative; }
.hd-wall li:nth-child(3n+1) .hd-wall__item { border-radius: 28px 14px 14px 14px; }
.hd-wall li:nth-child(4n+2) .hd-wall__item { border-radius: 14px 28px 14px 14px; }
.hd-wall img { width: 100%; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.hd-wall__item:hover img { transform: scale(1.04); }
@media (min-width: 700px) { .hd-wall { columns: 3; column-gap: 16px; } .hd-wall li { margin-bottom: 16px; } }
@media (min-width: 1000px) { .hd-wall { columns: 4; } }

/* Reviews */
.hd-gpanel { display: grid; border-radius: 28px; overflow: hidden; border: 2px solid var(--ink); }
.hd-gpanel__score { background: var(--ink); color: #fff; padding: 2rem; display: grid; justify-items: start; align-content: center; gap: .35rem; }
.hd-gpanel__num { font: 700 4.2rem/1 var(--font-head); color: var(--gold); }
.hd-gpanel__score .hd-stars { font-size: 1.35rem; }
.hd-gpanel__sub { color: #cfc9b8; font-size: .95rem; }
.hd-gpanel__text { padding: 2rem; display: grid; gap: 1rem; align-content: center; background: #fff; }
.hd-gpanel__text p { margin: 0; font-size: 1.1rem; }
.hd-gpanel__btns { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (min-width: 760px) { .hd-gpanel { grid-template-columns: 280px 1fr; } }
.hd-reviews__live { min-height: 120px; }

/* Areas */
.hd-chips { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.hd-chips li { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border-radius: 999px; background: var(--butter); font-weight: 600; }
.hd-chips .hd-i { color: #8a6410; }

/* Posts */
.hd-postgrid { display: grid; gap: 2.25rem 1.75rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.hd-post { display: flex; flex-direction: column; gap: 1rem; }
.hd-post__media { display: block; overflow: hidden; border-radius: 22px 22px 22px 6px; background: var(--butter); }
.hd-post__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 24%; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.hd-post__media:hover .hd-post__img { transform: scale(1.04); }
.hd-post__meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; font-size: .88rem; color: var(--muted); margin: 0 0 .4rem; }
.hd-post__meta a { color: var(--gold-text); font-weight: 700; text-decoration: none; }
.hd-post__meta a:hover { text-decoration: underline; }
.hd-post__title { font-size: 1.3rem; margin: 0 0 .5rem; }
.hd-post__title a { color: var(--ink); text-decoration: none; }
.hd-post__title a:hover { text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 3px; }
.hd-post__excerpt { color: var(--muted); font-size: .98rem; margin: 0 0 .6rem; }
.hd-postgrid--list .hd-post--feature { grid-column: 1 / -1; }
@media (min-width: 900px) {
  .hd-postgrid--list .hd-post--feature { display: grid; grid-template-columns: 1.15fr 1fr; gap: 2.5rem; align-items: center; }
  .hd-post--feature .hd-post__img { aspect-ratio: 16 / 11; }
  .hd-post--feature .hd-post__title { font-size: 2rem; }
  .hd-post--feature .hd-post__excerpt { font-size: 1.08rem; }
}
.hd-catnav { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2.25rem; }
.hd-catnav a { padding: .5rem 1rem; border: 1.5px solid var(--ink); border-radius: 999px; color: var(--ink); text-decoration: none; font-weight: 600; font-size: .95rem; }
.hd-catnav a:hover { background: var(--butter); }
.hd-catnav a[aria-current="page"] { background: var(--ink); color: #fff; }
.hd-empty { font-size: 1.15rem; }
.navigation.pagination { margin-top: 3rem; }
.nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: .4rem; }
.nav-links .page-numbers { min-width: 44px; height: 44px; padding: 0 .8rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; border: 1.5px solid var(--line); text-decoration: none; color: var(--ink); font-weight: 600; }
.nav-links a.page-numbers:hover { border-color: var(--ink); }
.nav-links .page-numbers.current { background: var(--ink); color: var(--gold); border-color: var(--ink); }

/* FAQ */
.hd-faq { border-bottom: 1px solid var(--line); }
.hd-faq__item { border-top: 1px solid var(--line); }
.hd-faq__item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem .25rem; cursor: pointer; font: 700 1.1rem/1.35 var(--font-head); letter-spacing: -0.01em; }
.hd-faq__item summary::-webkit-details-marker { display: none; }
.hd-faq__item summary:hover { color: #5b4100; }
.hd-faq__item summary .hd-i { transition: transform .2s; color: var(--gold-text); }
.hd-faq__item[open] summary .hd-i { transform: rotate(180deg); }
.hd-faq__a { padding: 0 .25rem 1.25rem; color: #3b382f; max-width: 68ch; }
.hd-faq__a p { margin: 0; }

/* Inner hero */
.hd-phero { background: var(--butter); padding-block: clamp(2rem, 4.5vw, 3.5rem) clamp(2.25rem, 5vw, 4rem); border-bottom: 1px solid #f0e2b4; overflow: clip; }
.hd-phero__grid { display: grid; gap: 2rem; align-items: center; }
.hd-phero h1 { font-size: clamp(2rem, 4.2vw, 3.3rem); max-width: 20ch; }
.hd-phero--post h1 { max-width: 24ch; font-size: clamp(1.9rem, 3.8vw, 3rem); }
.hd-phero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.hd-phero__img { width: 100%; max-height: 420px; aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 22%; border-radius: 28px 28px 28px 110px; }
@media (min-width: 900px) { .hd-phero__grid.has-photo { grid-template-columns: 1.3fr .7fr; gap: 4rem; } }
.hd-crumbs { margin-bottom: 1rem; font-size: .9rem; }
.hd-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem .5rem; padding: 0; margin: 0; }
.hd-crumbs li + li::before { content: "/"; color: #9a8f6b; margin-right: .5rem; }
.hd-crumbs a { color: #3b382f; }
.hd-crumbs [aria-current] { color: var(--muted); }
.hd-chip { margin: 0 0 .75rem; }
.hd-chip a { display: inline-block; background: var(--ink); color: var(--gold); padding: .3rem .85rem; border-radius: 999px; font-size: .85rem; font-weight: 700; text-decoration: none; }
.hd-byline { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; color: var(--muted); font-size: .95rem; margin: 1rem 0 0; }
.hd-byline a { color: var(--ink); font-weight: 600; }

/* Article layout and sidebar */
.hd-layout { display: grid; gap: 2.5rem; align-items: start; }
.hd-article { min-width: 0; }
.hd-article__hero { margin: 0 0 2rem; }
.hd-article__img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 26%; border-radius: 26px 26px 26px 6px; background: var(--butter); }
@media (min-width: 1000px) {
  .hd-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 4rem; }
}
.hd-side { display: grid; gap: 1rem; }
@media (min-width: 1000px) {
  .hd-side { position: sticky; top: calc(var(--header-h) + 24px); max-height: calc(100vh - var(--header-h) - 40px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-bottom: 4px; }
  .admin-bar .hd-side { top: calc(var(--header-h) + 56px); max-height: calc(100vh - var(--header-h) - 72px); }
}
@media (max-width: 999px) { .hd-toc { display: none; } }
.hd-toc { border: 1.5px solid var(--line); border-radius: 20px; padding: 1.1rem 1rem 1rem; background: #fff; }
.hd-toc h2, .hd-sidecard h2 { font: 700 1.05rem/1.2 var(--font-head); margin: 0 0 .7rem; letter-spacing: -0.01em; }
.hd-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.hd-toc a { display: block; padding: .5rem .75rem; border-left: 3px solid transparent; border-radius: 0 10px 10px 0; color: #4a473f; text-decoration: none; font-size: .95rem; line-height: 1.35; transition: background-color .15s, color .15s, border-color .15s; }
.hd-toc a:hover { background: var(--butter-2); color: var(--ink); }
.hd-toc a.is-active { border-left-color: var(--gold); background: var(--butter); color: var(--ink); font-weight: 700; }
.hd-sidecard { border-radius: 20px; padding: 1.25rem; }
.hd-sidecard--book { background: var(--gold); border-radius: 20px 20px 20px 4px; }
.hd-sidecard--book p { font-size: .96rem; margin-bottom: 1rem; }
.hd-sidecard__call { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: .75rem; color: var(--ink); font-weight: 700; text-decoration: none; }
.hd-sidecard__call:hover { text-decoration: underline; }
.hd-sidecard--doc { background: var(--ink); color: #e8e3d4; }
.hd-sidecard--doc h2 { color: #fff; margin: 0 0 .15rem; }
.hd-sidecard--doc .hd-link { color: var(--gold); margin: 0; }
.hd-doc { display: flex; gap: .9rem; align-items: center; margin-bottom: .75rem; }
.hd-doc p { margin: 0; font-size: .9rem; color: #cfc9b8; line-height: 1.4; }
.hd-doc__img { width: 76px; height: 76px; flex: none; border-radius: 50%; object-fit: cover; object-position: 50% 12%; border: 2px solid var(--gold); }
.hd-doc__line { font-size: .92rem; margin-bottom: .6rem; }
.hd-sidecard--links { border: 1.5px solid var(--line); background: #fff; }
.hd-sidecard--links ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.hd-sidecard--links a { display: block; padding: .45rem 0; font-weight: 600; font-size: .96rem; }
h2[id], h3[id] { scroll-margin-top: calc(var(--header-h) + 24px); }
.admin-bar h2[id] { scroll-margin-top: calc(var(--header-h) + 56px); }

/* Prose */
.hd-prose { font-size: 1.0625rem; line-height: 1.78; max-width: 72ch; }
.hd-prose > * + * { margin-top: 1.1em; }
.hd-prose h2 { margin-top: 2.2em; margin-bottom: .55em; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.hd-prose h3 { margin-top: 1.6em; margin-bottom: .4em; }
.hd-prose p { margin-bottom: 0; }
.hd-prose ul, .hd-prose ol { padding-left: 1.4rem; display: grid; gap: .45rem; }
.hd-prose ul li::marker { color: var(--gold); font-size: 1.1em; }
.hd-prose ol li::marker { color: var(--gold-text); font-weight: 700; }
.hd-prose a { color: var(--indigo); text-decoration: underline; text-decoration-thickness: 1px; }
.hd-prose a:hover { text-decoration-thickness: 2px; }
.hd-prose blockquote { margin-inline: 0; padding: .4rem 0 .4rem 1.25rem; border-left: 4px solid var(--gold); font-family: var(--font-head); font-size: 1.2rem; line-height: 1.45; }
.hd-prose img { border-radius: 18px; }
.hd-prose figure { margin-inline: 0; }
.hd-prose table { width: 100%; border-collapse: collapse; font-size: .96rem; display: block; overflow-x: auto; }
.hd-prose th, .hd-prose td { border: 1px solid var(--line); padding: .6rem .8rem; text-align: left; }
.hd-prose th { background: var(--butter); }
.hd-prose h2.hd-h2--plain { font-size: 1.4rem; }
.hd-article > .hd-prose:first-child { margin-top: 0; }
.hd-article.hd-prose > p:first-child { font-size: 1.15rem; }
.hd-ticks { list-style: none; padding-left: 0 !important; }
.hd-ticks li { display: flex; gap: .7rem; align-items: flex-start; }
.hd-ticks .hd-i { color: #fff; background: var(--ink); border-radius: 50%; padding: 4px; width: 1.55rem; height: 1.55rem; margin-top: .2rem; }
.hd-linklist { padding-left: 1.2rem; }
.hd-endcta { margin-top: 3rem; background: var(--ink); color: #e8e3d4; border-radius: 24px; padding: 1.75rem; display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.hd-endcta h2 { color: #fff; font-size: 1.4rem; margin: 0 0 .25rem; }
.hd-endcta p { margin: 0; }
.hd-after { margin-top: 3rem; }
.hd-after h2 { font-size: 1.5rem; }

/* About */
.hd-facts { margin: 1.5rem 0 0; display: grid; gap: .9rem; }
.hd-facts div { border-left: 3px solid var(--gold); padding-left: .9rem; }
.hd-facts dt { font-size: .85rem; color: var(--muted); font-weight: 600; }
.hd-facts dd { margin: 0; font-weight: 600; }
.hd-principles { display: grid; gap: 2rem; }
.hd-principles h3 { font-size: 1.3rem; }
.hd-principles p { color: #3b382f; margin: 0; }
@media (min-width: 800px) { .hd-principles { grid-template-columns: repeat(3, 1fr); gap: 3rem; } .hd-principles > div { border-top: 3px solid var(--ink); padding-top: 1.1rem; } }
.hd-trio { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.hd-trio img { width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; object-position: 50% 20%; border-radius: 22px; }
.hd-trio li:nth-child(2) img { border-radius: 22px 22px 120px 22px; }
@media (min-width: 700px) { .hd-trio { grid-template-columns: repeat(3, 1fr); gap: 18px; } }

/* Contact */
.hd-contact { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 900px) { .hd-contact { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.hd-contactlist { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 1.25rem; }
.hd-contactlist li { display: flex; gap: 1rem; }
.hd-contactlist > li > .hd-i { width: 2.75rem; height: 2.75rem; padding: .7rem; border-radius: 50%; background: var(--butter); color: var(--ink); }
.hd-contactlist div { display: grid; gap: .1rem; }
.hd-contactlist strong { font-family: var(--font-head); }
.hd-contact__form { background: var(--butter); border-radius: 28px 28px 28px 6px; padding: clamp(1.4rem, 3vw, 2.25rem); scroll-margin-top: calc(var(--header-h) + 20px); }
.hd-contact__form:focus { outline: none; }
.hd-contact__form h2 { font-size: 1.7rem; }

/* Thanks / 404 */
.hd-thanks { text-align: center; }
.hd-thanks .hd-lede { margin-inline: auto; }
.hd-thanks__icon { display: inline-grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--gold); margin-bottom: 1.25rem; }
.hd-thanks__icon .hd-i { width: 2rem; height: 2rem; stroke-width: 2.4; }
.hd-thanks__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.5rem; }
.hd-search { display: flex; gap: .5rem; justify-content: center; margin-top: 2rem; flex-wrap: wrap; }
.hd-search input { padding: .8rem 1rem; border: 1.5px solid #cfc7b0; border-radius: 999px; min-width: min(320px, 100%); font: inherit; }

/* Forms */
.hd-form { display: grid; gap: 1rem; grid-template-columns: 1fr; margin-top: 1.25rem; }
@media (min-width: 640px) { .hd-form:not(.hd-form--compact) { grid-template-columns: 1fr 1fr; } .hd-form:not(.hd-form--compact) .hd-field--wide, .hd-form:not(.hd-form--compact) .hd-form__foot { grid-column: 1 / -1; } }
.hd-field { display: grid; gap: .35rem; }
.hd-field label { font-weight: 700; font-size: .95rem; }
.hd-opt { font-weight: 400; color: var(--muted); }
.hd-field input, .hd-field select, .hd-field textarea { width: 100%; font: inherit; color: var(--ink); background: #fff; border: 1.5px solid #cfc7b0; border-radius: 12px; padding: .8rem 1rem; min-height: 50px; }
.hd-field textarea { min-height: 96px; resize: vertical; }
.hd-field input:focus, .hd-field select:focus, .hd-field textarea:focus { outline: 3px solid rgba(242,190,75,.6); border-color: var(--ink); }
.hd-field [aria-invalid="true"] { border-color: var(--err); background: #fff6f5; }
.hd-hint { font-size: .85rem; color: var(--muted); }
.hd-field__err { color: var(--err); font-size: .88rem; font-weight: 600; }
.hd-form__foot { display: grid; gap: .75rem; }
.hd-form__status { margin: 0; font-weight: 600; min-height: 1.2em; }
.hd-form__status.is-ok { color: var(--ok); }
.hd-form__status.is-err { color: var(--err); }
.hd-form__note { margin: 0; font-size: .92rem; color: var(--muted); }
.hd-form button[disabled] { opacity: .65; cursor: progress; }

/* Dialogs */
.hd-dialog { border: 0; padding: 0; border-radius: 26px; width: min(520px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); background: #fff; color: var(--ink); overflow: auto; }
.hd-dialog::backdrop { background: rgba(13,13,13,.72); }
.hd-dialog__panel { padding: clamp(1.4rem, 4vw, 2rem); position: relative; }
.hd-dialog__panel h2 { font-size: 1.6rem; padding-right: 3rem; margin-bottom: .3em; }
.hd-dialog__lede { color: var(--muted); margin: 0; }
.hd-dialog__close { position: absolute; top: 12px; right: 12px; background: var(--butter); color: var(--ink); z-index: 2; }
.hd-dialog__close:hover { background: var(--gold); }
@media (prefers-reduced-motion: no-preference) {
  .hd-dialog[open] { animation: hd-pop .22s cubic-bezier(.2,.7,.2,1); }
  .hd-dialog[open]::backdrop { animation: hd-fade .22s; }
}
@keyframes hd-pop { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes hd-fade { from { opacity: 0; } to { opacity: 1; } }
.hd-lightbox { width: min(980px, 100vw - 16px); background: transparent; overflow: visible; color: #fff; }
.hd-lightbox[open] { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .5rem; }
.hd-lightbox figure { margin: 0; text-align: center; min-width: 0; }
.hd-lightbox img { margin: 0 auto; max-height: calc(100dvh - 130px); width: auto; max-width: 100%; border-radius: 18px; background: #222; }
.hd-lightbox figcaption { margin-top: .75rem; font-size: .95rem; color: #e8e3d4; }
.hd-lightbox .hd-dialog__close { top: -4px; right: 0; background: var(--gold); }
.hd-lightbox__nav { background: rgba(255,255,255,.18); color: #fff; }
@media (max-width: 600px) { .hd-lightbox[open] { grid-template-columns: 1fr; } .hd-lightbox__nav { position: fixed; bottom: 14px; z-index: 3; } .hd-lightbox__prev { left: 14px; } .hd-lightbox__next { right: 14px; } .hd-lightbox img { max-height: calc(100dvh - 190px); } }

/* Footer */
.hd-footer { background: var(--ink); color: #d8d2c2; margin-top: 0; }
.hd-footer a { color: #d8d2c2; text-decoration: none; }
.hd-footer a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--gold); }
.hd-footer h2 { font: 700 1.05rem var(--font-head); color: #fff; margin-bottom: 1rem; letter-spacing: 0; }
.hd-footer__cta { background: var(--gold); color: var(--ink); padding-block: clamp(2rem, 4vw, 3rem); }
.hd-footer__cta h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); color: var(--ink); margin: 0 0 .3rem; }
.hd-footer__cta p { margin: 0; }
.hd-footer__ctarow { display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; align-items: center; justify-content: space-between; }
.hd-footer__ctabtns { display: flex; flex-wrap: wrap; gap: .75rem; }
.hd-footer .hd-btn--dark { color: #fff; }
.hd-footer .hd-btn--dark:hover { color: #fff; text-decoration: none; background: #2b2b2b; }
.hd-footer .hd-btn--outline-dark { color: var(--ink); }
.hd-footer .hd-btn--outline-dark:hover { color: #fff; text-decoration: none; }
.hd-footer .hd-btn--outline-light { color: #fff; }
.hd-footer .hd-btn--outline-light:hover { color: var(--ink); text-decoration: none; }
.hd-footer__grid { display: grid; gap: 2.25rem; padding-block: clamp(2.5rem, 5vw, 4rem) 2rem; }
@media (min-width: 700px) { .hd-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .hd-footer__grid { grid-template-columns: 1.3fr 1fr .8fr 1.3fr; gap: 3rem; } }
.hd-footer__brand p { max-width: 36ch; margin: 1rem 0; }
.hd-brand--footer .hd-brand__name { color: #fff; }
.hd-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; font-size: .98rem; }
.hd-footer__visit p { display: flex; gap: .7rem; margin: 0 0 .8rem; align-items: flex-start; }
.hd-footer__visit .hd-i { color: var(--gold); margin-top: .2rem; }
.hd-social { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; padding: 0; }
.hd-social a { display: inline-grid; place-items: center; min-width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid #3a3a3a; color: #fff; }
.hd-social a:hover { background: var(--gold); border-color: var(--gold); color: var(--ink); text-decoration: none; }
.hd-social__text { padding-inline: 1rem; border-radius: 999px !important; font-weight: 600; font-size: .92rem; }
.hd-footer__mapwrap { display: grid; gap: 1rem; padding-bottom: 2.5rem; justify-items: start; }
.hd-map { width: 100%; border-radius: 24px 24px 24px 6px; overflow: hidden; background: #222; }
.hd-map iframe { display: block; width: 100%; height: clamp(260px, 36vw, 380px); border: 0; }
.hd-footer__bar { border-top: 1px solid #2a2a2a; padding-block: 1.1rem; font-size: .9rem; }
.hd-footer__barrow { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; justify-content: space-between; }
.hd-footer__barrow p { margin: 0; }

/* Floating actions */
.hd-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: grid; grid-template-columns: repeat(3, 1fr); background: var(--ink); border-top: 2px solid var(--gold); padding-bottom: env(safe-area-inset-bottom); }
.hd-mbar a { display: grid; justify-items: center; gap: 2px; padding: .55rem .25rem .5rem; color: #fff; text-decoration: none; font-size: .78rem; font-weight: 600; min-height: 56px; align-content: center; }
.hd-mbar a .hd-i { color: var(--gold); width: 1.35rem; height: 1.35rem; }
.hd-mbar__book { background: var(--gold); color: var(--ink) !important; }
.hd-mbar__book .hd-i { color: var(--ink) !important; }
@media (max-width: 759px) { body { padding-bottom: calc(58px + env(safe-area-inset-bottom)); } .hd-wafab { display: none !important; } }
@media (min-width: 760px) { .hd-mbar { display: none; } }
.hd-wafab { position: fixed; right: 20px; bottom: 20px; z-index: 70; width: 56px; height: 56px; border-radius: 50%; background: var(--gold); color: var(--ink); display: grid; place-items: center; box-shadow: 0 8px 22px rgba(0,0,0,.3); transition: transform .18s; }
.hd-wafab:hover { transform: scale(1.07); }
.hd-wafab .hd-i { width: 1.7rem; height: 1.7rem; }

/* Mobile spacing */
@media (max-width: 640px) {
  .hd-hero__tag { left: 10px; }
  .hd-index { grid-template-columns: 1fr; }
  .hd-gpanel__score, .hd-gpanel__text { padding: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print {
  .hd-header, .hd-footer, .hd-mbar, .hd-wafab, .hd-side, .hd-dialog { display: none !important; }
}

/* Third-party chat buttons (for example Click to Chat) must never sit on top of the mobile action bar or our own button */
@media (max-width: 759px) {
  .ht-ctc, .ht-ctc-chat, #ht-ctc-chat, .joinchat, #wa-widget-send-button, .wa__btn_popup, .qlwapp { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}
@media (min-width: 760px) {
  .ht-ctc, .ht-ctc-chat, #ht-ctc-chat, .joinchat, .wa__btn_popup, .qlwapp { z-index: 65 !important; }
}


/* v4: capsule turns gold over dark sections */
.hd-header.is-on-dark .hd-header__row { background: rgba(242,190,75,.97); border-color: rgba(13,13,13,.12); box-shadow: 0 12px 32px rgba(0,0,0,.35); }
.hd-header.is-on-dark .hd-brand, .hd-header.is-on-dark .hd-brand__top, .hd-header.is-on-dark .hd-nav a, .hd-header.is-on-dark .hd-nav__toggle, .hd-header.is-on-dark .hd-header__phone, .hd-header.is-on-dark .hd-header__phone .hd-i { color: var(--ink); }
.hd-header.is-on-dark .hd-nav a:hover { background: rgba(13,13,13,.1); }
.hd-header.is-on-dark .hd-nav a[aria-current="page"] { color: var(--ink); background: rgba(13,13,13,.14); }
.hd-header.is-on-dark .hd-burger { background: rgba(13,13,13,.12); color: var(--ink); }
.hd-header.is-on-dark .hd-header__row .hd-btn--gold { background: var(--ink); color: #fff; }
.hd-header.is-on-dark :focus-visible { outline-color: var(--ink); }
@media (prefers-reduced-motion: reduce) { .hd-header__row { transition: none; } }

/* v4: hero buttons side by side */
.hd-hero__actions, .hd-phero__actions { display: flex; flex-wrap: nowrap; gap: .6rem; align-items: stretch; }
.hd-hero__actions .hd-btn, .hd-phero__actions .hd-btn { white-space: nowrap; padding-inline: 1.2rem; }
@media (max-width: 640px) {
  .hd-hero__actions .hd-btn__label, .hd-phero__actions .hd-btn__label, .hd-hero__actions .hd-btn__word, .hd-phero__actions .hd-btn__word { display: none; }
  .hd-hero__actions .hd-btn, .hd-phero__actions .hd-btn { padding-inline: 1.1rem; }
  .hd-hero__actions .hd-btn[data-hd-book], .hd-phero__actions .hd-btn[data-hd-book] { min-width: 3.4rem; }
}

/* v4: WhatsApp button */
.hd-wafab { background: #25D366; color: #fff; }
.hd-wafab .hd-i { width: 1.9rem; height: 1.9rem; }
.hd-i--wa { stroke: none; }

/* v4: map under areas */
.hd-areas__map { position: relative; margin-top: clamp(1.5rem, 3vw, 2.25rem); border-radius: 24px; overflow: hidden; border: 1px solid rgba(13,13,13,.12); background: var(--butter); }
.hd-areas__map iframe { display: block; width: 100%; height: clamp(280px, 40vw, 420px); border: 0; }
.hd-areas__maplink { position: absolute; left: 14px; bottom: 14px; box-shadow: 0 6px 18px rgba(0,0,0,.25); }


/* ===== v5 ===== */
.hd-section--tight { padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.hd-header__phone { display: none; width: 46px; height: 46px; border-radius: 50%; align-items: center; justify-content: center; background: rgba(255,255,255,.12); color: #fff; transition: background-color .2s, transform .2s; }
.hd-header__phone .hd-i { width: 1.3rem; height: 1.3rem; color: var(--gold); }
.hd-header__phone:hover { background: rgba(255,255,255,.22); }
@media (min-width: 760px) { .hd-header__phone { display: inline-flex; } }
@media (min-width: 1240px) { .hd-header__phone { display: inline-flex; } }
.hd-header.is-on-dark .hd-header__phone { background: rgba(13,13,13,.12); }
.hd-header.is-on-dark .hd-header__phone .hd-i { color: var(--ink); }

/* Body links and note links: black with a gold underline, never blue */
.hd-form__note a, .hd-fine a, .hd-prose p a, .hd-prose li a, .hd-contactlist a { color: var(--ink); font-weight: 600; text-decoration-color: var(--gold); text-decoration-thickness: 3px; }
.hd-form__note a:hover, .hd-fine a:hover, .hd-prose p a:hover, .hd-prose li a:hover { background: var(--butter); text-decoration-color: var(--gold); }
.hd-footer a { text-decoration: none; }

/* Buttons always sit side by side */
.hd-footer__ctabtns { display: flex; flex-wrap: nowrap; gap: .6rem; }
.hd-footer__ctabtns .hd-btn { white-space: nowrap; }
@media (max-width: 640px) {
  .hd-footer__ctabtns .hd-btn__label, .hd-footer__ctabtns .hd-btn__word { display: none; }
  .hd-footer__ctabtns .hd-btn[data-hd-book] { min-width: 3.4rem; }
}

/* Treatments */
.hd-treat { background: var(--paper); }
.hd-treat__head { display: grid; gap: 1.25rem; margin-bottom: clamp(2rem, 4vw, 3.25rem); align-items: end; }
.hd-treat__title { font-size: clamp(2.5rem, 6.4vw, 5rem); line-height: .98; letter-spacing: -.03em; margin: 0; max-width: 14ch; }
.hd-treat__side p { font-size: clamp(1.1rem, 1.6vw, 1.3rem); color: var(--muted); margin: 0 0 1rem; max-width: 34ch; }
@media (min-width: 900px) { .hd-treat__head { grid-template-columns: 1.5fr 1fr; gap: 4rem; } .hd-treat__side { padding-bottom: .5rem; } }
.hd-tgrid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .hd-tgrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .hd-tgrid { grid-template-columns: repeat(5, 1fr); gap: 16px; } }
.hd-tcard { position: relative; display: flex; flex-direction: column; gap: .5rem; height: 100%; min-height: 15rem; padding: 1.5rem 1.4rem 1.4rem; border-radius: 26px; background: var(--butter); color: var(--ink); text-decoration: none; overflow: hidden; transition: transform .35s cubic-bezier(.22,1,.36,1), background-color .25s, color .25s, box-shadow .35s; }
.hd-tcard:hover { transform: translateY(-6px); background: var(--ink); color: #fff; box-shadow: 0 22px 40px rgba(13,13,13,.18); text-decoration: none; }
.hd-tcard__icon { width: 3.6rem; height: 3.6rem; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--ink); margin-bottom: auto; transition: background-color .25s, transform .35s cubic-bezier(.22,1,.36,1); }
.hd-tcard__icon .hd-i { width: 1.9rem; height: 1.9rem; }
.hd-tcard:hover .hd-tcard__icon { background: var(--gold); transform: rotate(-8deg) scale(1.06); }
.hd-tcard__name { font: 700 clamp(1.3rem, 1.7vw, 1.5rem)/1.1 var(--font-head); letter-spacing: -.02em; margin-top: 1.5rem; }
.hd-tcard__desc { font-size: 1rem; line-height: 1.35; color: #4b473d; transition: color .25s; }
.hd-tcard:hover .hd-tcard__desc { color: #d9d3c0; }
.hd-tcard__go { position: absolute; top: 1.4rem; right: 1.3rem; width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid rgba(13,13,13,.25); transition: background-color .25s, border-color .25s, transform .35s; }
.hd-tcard__go .hd-i { width: 1.1rem; height: 1.1rem; }
.hd-tcard:hover .hd-tcard__go { background: var(--gold); border-color: var(--gold); color: var(--ink); transform: rotate(-45deg); }

/* Contact page */
.hd-qa { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .hd-qa { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .hd-qa { grid-template-columns: repeat(4, 1fr); } }
.hd-qa__card { position: relative; display: grid; gap: .15rem; height: 100%; padding: 1.3rem 1.3rem 1.2rem; border-radius: 24px; background: var(--butter); color: var(--ink); text-decoration: none; transition: background-color .25s, color .25s, transform .3s cubic-bezier(.22,1,.36,1); }
.hd-qa__card:hover { background: var(--ink); color: #fff; transform: translateY(-4px); text-decoration: none; }
.hd-qa__icon { width: 3rem; height: 3rem; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--ink); margin-bottom: .9rem; transition: background-color .25s; }
.hd-qa__icon .hd-i { width: 1.4rem; height: 1.4rem; }
.hd-qa__card:hover .hd-qa__icon { background: var(--gold); }
.hd-qa__label { font-size: .9rem; color: #5b5646; transition: color .25s; }
.hd-qa__card:hover .hd-qa__label { color: #cfc9b8; }
.hd-qa__value { font: 700 1.25rem/1.2 var(--font-head); letter-spacing: -.01em; overflow-wrap: anywhere; }
.hd-qa__value--sm { font-size: 1rem; }
.hd-qa__go { position: absolute; top: 1.2rem; right: 1.2rem; width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%; border: 1.5px solid rgba(13,13,13,.25); transition: background-color .25s, border-color .25s, transform .3s; }
.hd-qa__go .hd-i { width: 1rem; height: 1rem; }
.hd-qa__card:hover .hd-qa__go { background: var(--gold); border-color: var(--gold); color: var(--ink); transform: rotate(-45deg); }
.hd-contact { align-items: stretch; }
@media (min-width: 900px) { .hd-contact { grid-template-columns: 1fr 1.05fr; gap: 2.5rem; } }
.hd-contact__info h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); margin-bottom: 1rem; }
.hd-infocard { display: grid; gap: 1.2rem; padding: clamp(1.25rem, 3vw, 1.9rem); border: 1.5px solid var(--line); border-radius: 28px; background: #fff; }
.hd-infocard__row { display: flex; gap: 1rem; align-items: flex-start; }
.hd-infocard__row > .hd-i { flex: none; width: 2.9rem; height: 2.9rem; padding: .75rem; border-radius: 50%; background: var(--butter); }
.hd-infocard__row div { display: grid; gap: .1rem; }
.hd-infocard__row strong { font-family: var(--font-head); font-size: 1.1rem; }
.hd-infocard__row span { color: var(--muted); }
.hd-infocard__btns { display: flex; flex-wrap: wrap; gap: .6rem; padding-top: .4rem; border-top: 1px solid var(--line); margin-top: .2rem; padding-top: 1.2rem; }
.hd-contact__form--dark { background: var(--ink); color: #fff; border-radius: 32px; padding: clamp(1.5rem, 3.5vw, 2.6rem); }
.hd-contact__form--dark h2 { color: #fff; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.hd-contact__form--dark > p { color: #d9d3c0; margin: .4rem 0 0; }
.hd-contact__form--dark .hd-field label { color: #fff; }
.hd-contact__form--dark .hd-opt, .hd-contact__form--dark .hd-hint, .hd-contact__form--dark .hd-form__note { color: #cfc9b8; }
.hd-contact__form--dark .hd-form__note a { color: #fff; text-decoration-color: var(--gold); }
.hd-contact__form--dark .hd-form__note a:hover { background: rgba(255,255,255,.12); }
.hd-contact__form--dark .hd-field__err, .hd-contact__form--dark .hd-form__status.is-err { color: #ffb3ad; }
.hd-contact__form--dark .hd-form__status.is-ok { color: #8fe0ad; }
.hd-contact__form--dark .hd-field input:focus, .hd-contact__form--dark .hd-field select:focus, .hd-contact__form--dark .hd-field textarea:focus { outline-color: var(--gold); border-color: var(--gold); }
.hd-form { align-items: start; }

/* Forms: clearer states and 16px inputs so phones do not zoom */
.hd-field input, .hd-field select, .hd-field textarea { font-size: 1rem; transition: border-color .18s, box-shadow .18s; }
.hd-field input:focus, .hd-field select:focus, .hd-field textarea:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 4px rgba(242,190,75,.55); }
.hd-field [aria-invalid="true"] { border-color: var(--err); box-shadow: 0 0 0 3px rgba(179,38,30,.12); }
.hd-field__err { display: block; }

/* Booking popup: bottom sheet on phones */
@media (max-width: 600px) {
  .hd-dialog:not(.hd-lightbox) { width: 100vw; max-width: 100vw; margin: auto 0 0; border-radius: 26px 26px 0 0; max-height: 94dvh; }
  .hd-dialog:not(.hd-lightbox) .hd-dialog__panel { padding: 1.4rem 1.2rem calc(1.4rem + env(safe-area-inset-bottom)); }
  .hd-dialog:not(.hd-lightbox) .hd-dialog__panel::before { content: ""; display: block; width: 44px; height: 5px; border-radius: 3px; background: #d8d1bb; margin: -.4rem auto 1rem; }
}
.hd-dialog:not(.hd-lightbox) { overscroll-behavior: contain; }
.hd-dialog .hd-form { gap: .85rem; margin-top: 1rem; }

/* Motion: hidden until revealed. Only active when the script switches on .js-motion. */
.js-motion :is(.hd-hero__text > *, .hd-phero__text > *, .hd-sechead, .hd-treat__head > *, .hd-split__head > *, .hd-meet__text > *, .hd-smile__text > *, .hd-footer__ctarow > *, .hd-hero__media, .hd-phero__media, .hd-meet__media, .hd-compare, .hd-areas__map, .hd-gpanel, .hd-reviews__live, .hd-tgrid > li, .hd-stats > div, .hd-chips > li, .hd-postgrid > *, .hd-steps > li, .hd-qa > li, .hd-infocard, .hd-contact__form, .hd-wall > li, .hd-footer__grid > *):not(.is-in) { opacity: 0; transform: translateY(34px); }
.js-motion .hd-header__row:not(.is-in) { opacity: 0; transform: translateY(-26px); }
.js-motion .hd-dialog[open] { animation: none; }
@media (prefers-reduced-motion: reduce) { .hd-tcard, .hd-qa__card, .hd-link .hd-i { transition: none; } }
@media (max-width: 559px) { .hd-tcard { min-height: 10.5rem; } .hd-tcard__name { margin-top: 1rem; } }

/* v6: button rows stay on one line */
.hd-btnrow { display: flex; flex-wrap: nowrap; align-items: center; gap: .6rem; margin-top: 1.1rem; }
.hd-btnrow .hd-btn, .hd-btnrow .hd-link { white-space: nowrap; margin: 0; }
.hd-smile__text .hd-btnrow { margin-top: 1.25rem; }
.hd-areas .hd-btnrow { margin-top: 1.4rem; }
@media (max-width: 640px) { .hd-x { display: none; } .hd-btnrow .hd-link { padding-left: .9rem; } }
@media (max-width: 640px) { .hd-cap { display: inline-block; } .hd-cap::first-letter { text-transform: uppercase; } }

/* v7: post hero, category chip, FAQ in posts */
.hd-chip a { background: var(--ink); color: var(--gold); }
.hd-chip a:hover { background: var(--gold); color: var(--ink); }
.hd-byline a, .hd-post__meta a { text-decoration: none; }
.hd-phero--post { padding-block: clamp(1.25rem, 2.6vw, 2rem) clamp(1.4rem, 3vw, 2.25rem); }
.hd-phero--post .hd-chip { margin: .6rem 0 .5rem; }
.hd-phero--post h1 { max-width: 34ch; font-size: clamp(1.7rem, 3.1vw, 2.55rem); line-height: 1.08; margin: 0; text-wrap: balance; }
.hd-phero--post .hd-byline { margin-top: .75rem; }
.hd-prose .hd-faq { margin: 1rem 0 2rem; }
.hd-prose .hd-faq__item summary { font-size: 1.08rem; }
.hd-prose .hd-faq__a > :first-child { margin-top: 0; }
.hd-prose .hd-faq__a > :last-child { margin-bottom: 0; }
.hd-prose .hd-faq__item summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; border-radius: 8px; }
.hd-main > .hd-phero--post:first-child { padding-top: calc(var(--header-h) + .6rem); }
