/* Current promoted homepage. Shared chrome/type: site.css; booking: shared-booking.css.
   Historical study assets remain independent for their explicit consumers. */

/* ---- Foundation ---- */
body { background: var(--cream); }
.v5-study { --v5-section-space: 96px; --v5-half-space: 48px; }
@media (max-width: 700px){
  .v5-study { --v5-section-space: 64px; --v5-half-space: 32px; }
}

/* ---- Hero portrait and introduction ---- */
.ph-grain { position: absolute; inset: 0px; width: 100%; height: 100%; pointer-events: none; }
.ph-grain { z-index: 1; opacity: 0.5; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.4 -.25'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E"); }
.hh { --hh-nav: 0px; --hh-h: 100svh; --hh-vis: 100svh; --hh-ink: #fff; --hh-ground: #534666; --hh-bg: #534666; position: relative; height: auto; padding: 0px; background: var(--hh-bg); }
.hh-stage { padding: 0px; --hh-layout: portrait; position: relative; top: 0px; overflow: clip; isolation: isolate; background: var(--hh-ground); }
.hh-stage { touch-action: auto; }
.hh-probe { position: absolute; left: 0px; top: 0px; width: 0px; height: var(--hh-vis); visibility: hidden; pointer-events: none; }
.hh-field { position: absolute; inset: 0px; width: 100%; height: 100%; pointer-events: none; }
.hh-overlay { position: absolute; inset: 0px; width: 100%; height: 100%; pointer-events: none; }
.hh-field { z-index: 0; }
.hh-overlay { z-index: 2; }
.hh [hidden] { display: none !important; }
.hh-card { pointer-events: none; }
.hh-card img { max-width: none; }
.hh-copy { z-index: 9; pointer-events: none; }
.hh-slide { position: absolute; left: 24px; right: 24px; top: 26px; color: var(--hh-ink); text-shadow: rgba(0, 0, 0, 0.16) 0px 1px 22px; }
.hh-slide :is(h1, h2) { margin: 0px; font: 500 clamp(30px,8.7vw,52px)/1.06 var(--display); letter-spacing: -0.035em; color: inherit; }
.hh-slide :is(h1, h2) span { display: block; }
.hh-slide p { margin: 14px 0px 0px; max-width: 30ch; font-size: 15px; line-height: 1.45; letter-spacing: -0.1px; color: inherit; opacity: 0.92; }
.hh-figure:focus-visible { outline: 3px solid var(--accent); outline-offset: 6px; border-radius: 6px; }
.hh-slide { pointer-events: none; }
.hh-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 22px; }
.hh-pricing { pointer-events: auto; display: inline-flex; align-items: center; min-height: 48px; padding: 0px 4px; font-size: 15px; font-weight: 500; color: var(--hh-ink); text-decoration: underline 1px; text-underline-offset: 4px; text-shadow: none; white-space: nowrap; }
.hh-pricing:focus-visible { outline: rgb(255, 255, 255) solid 3px; outline-offset: 3px; border-radius: 4px; }
.hh-cta .btn { pointer-events: auto; min-height: 48px; padding: 12px 20px; text-shadow: none; font-size: 15px; }
@media (min-width: 900px) and (min-aspect-ratio: 6 / 5){
  .hh-stage { --hh-layout: landscape; }
  .hh-slide { left: max(30px, 50cqw - 570px); right: auto; width: min(43cqw, 760px); top: calc(var(--hh-vis)*.5); transform: translateY(-50%); }
  .hh-slide :is(h1, h2) { font-size: clamp(44px, 3.9vw, 68px); }
  .hh-slide p { font-size: 18px; margin-top: 20px; }
}
@media (max-width: 899px), (max-aspect-ratio: 6 / 5){
  .hh-stage { flex-direction: column; justify-content: space-between; }
  .hh-copy { order: 0; }
  .hh-probe { height: 100%; }
}
.hh-v5 .hh-slide .hh-experience { display: flex; flex-wrap: wrap; max-width: none; margin: 18px 0px 0px; font: 400 15px/1.5 var(--body); letter-spacing: -0.1px; opacity: 0.9; }
.hh-experience span { white-space: nowrap; }
.hh-experience strong { font-weight: 600; }
.hh-v5 .hh-book { pointer-events: auto; margin-top: 20px; text-shadow: none; }
.hh-v5 .hh-book .hh-cta { margin-top: 0px; }
.hh-v5 .hh-book .btn-primary { color: var(--ink,#0A0A0A); }
.hh-v5 .hh-slide .hh-credential { max-width: none; margin: 0px 0px 18px; font: 500 12px/1.4 var(--body); letter-spacing: 0.02em; color: rgb(255, 255, 255); }
@media (min-width: 900px) and (min-aspect-ratio: 6 / 5){
  .hh-v5 .hh-slide .hh-experience { font-size: 16px; margin-top: 20px; }
  .hh-v5 .hh-book { margin-top: 26px; max-width: 460px; }
  .hh-v5 .hh-slide .hh-credential { font-size: 13px; }
}
@font-face { font-family: PatrickHand; src: url("/assets/fonts/patrick-hand-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
.hh-v5 .hh-stage { height: 100svh; min-height: 0px; container-type: size; display: block; }
.hh-v5 .hh-copy { position: absolute; inset: 0px; }
.hh-v5 .hh-card.hh-deb { --deb-size: min(154cqw,calc(100cqh - var(--hh-copy-bottom,270px) - 16px)); --deb-x: calc(50cqw - var(--deb-size)*.515); position: absolute; left: var(--deb-x); top: auto; bottom: 0px; width: var(--deb-size); height: var(--deb-size); margin: 0px; z-index: 4; will-change: auto; }
.hh-v5 .hh-card .hh-deb-portrait { position: relative; inset: auto; display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; border: 0px; border-radius: 0px; box-shadow: none; filter: saturate(0.8) brightness(1.03); }
.hh-v5 .hh-deb-name { position: absolute; top: auto; right: auto; min-width: 0px; margin: 0px; border: 0px; text-align: center; color: var(--ink); font-family: PatrickHand, sans-serif; letter-spacing: 0px; isolation: isolate; }
.hh-v5 .hh-deb-name { left: calc(51.5% + 28px); bottom: 24px; width: clamp(170px, 46cqw, 210px); padding: 18px 12px 16px; font-size: clamp(23px, 6cqw, 30px); line-height: 1.15; transform: translateX(-50%) rotate(-4deg); }
.hh-v5 .hh-deb-name span { display: block; margin-top: 5px; font: 400 17px / 1.3 PatrickHand, sans-serif; letter-spacing: 0.015em; opacity: 1; }
.hh-name-frame { position: absolute; inset: 0px; width: 100%; height: 100%; overflow: visible; z-index: -1; stroke: rgb(66, 54, 47); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.4; }
.hh-name-frame .name-paper { fill: rgb(255, 244, 230); }
.hh-name-frame .name-sketch { fill: none; stroke-width: 0.9; opacity: 0.7; }
.hh-v5 .hh-about { gap: 7px; text-decoration: none; border: 1px solid rgba(255, 255, 255, 0.58); border-radius: var(--radius-btn); padding: 10px 16px; }
.hh-v5 .hh-about:hover { background: rgba(255, 255, 255, 0.1); }
.hh-v5 .hh-book { max-width: 100%; }
.hh-v5 .hh-review-quote { margin: 16px 0px 0px; padding: 0px; border: 0px; background: none; color: rgb(255, 255, 255); font: italic 400 16px / 1.5 "Source Serif 4", Georgia, serif; text-shadow: none; }
.hh-v5 .hh-review-quote p { max-width: none; margin: 0px; font: inherit; letter-spacing: 0px; color: inherit; opacity: 1; }
.hh-v5 .hh-review-quote a { pointer-events: auto; color: inherit; text-decoration: none; }
.hh-v5 .hh-review-quote a:hover { text-decoration: underline; text-underline-offset: 4px; }
.hh-v5 .hh-review-quote a:focus-visible { outline: rgb(255, 255, 255) solid 2px; outline-offset: 5px; }
@media (min-width: 900px) and (min-aspect-ratio: 6 / 5){
  .hh-v5 .hh-review-quote { font-size: 18px; margin-top: 20px; }
}
.hh-v5 .hh-slide .hh-credential { font-size: 16px; line-height: 1.45; }
.hh-v5 .hh-slide .hh-experience { font-size: 16px; line-height: 1.5; gap: 4px 20px; }
@media (max-width: 899px), (max-aspect-ratio: 6 / 5){
  .hh-v5 .hh-stage .hh-slide { position: absolute; inset: 24px 24px auto; padding: 0px; transform: none; }
  .hh-v5 .hh-stage :is(h1, h2) { font-size: clamp(28px, 7.6vw, 44px); }
  .hh-v5 .hh-slide .hh-credential { margin-bottom: 14px; }
  .hh-v5 .hh-slide .hh-experience { margin-top: 14px; }
  .hh-v5 .hh-book { margin-top: 16px; }
  .hh-v5 .hh-stage .hh-card.hh-deb { margin: 0px; }
  .hh-v5 .hh-cta { gap: 10px; }
  .hh-v5 .hh-cta .btn { font-size: 13px; padding-left: 14px; padding-right: 14px; }
  .hh-v5 .hh-about { font-size: 13px; padding-left: 14px; padding-right: 14px; }
}
@media (min-width: 900px) and (min-aspect-ratio: 6 / 5){
  .hh-v5 .hh-slide { width: min(43cqw, 610px); }
  .hh-v5 .hh-card.hh-deb { --deb-size: min(72cqh,52cqw); --deb-x: calc(74cqw - var(--deb-size)*.53); }
  .hh-v5 .hh-deb-name { left: calc(55% + 66px); bottom: 36px; width: 216px; padding: 18px 14px 16px; font-size: 30px; }
  .hh-v5 .hh-deb-name span { font-size: 19px; }
}
@media (max-width: 899px) and (max-height: 740px){
  .hh-v5 .hh-stage .hh-slide { inset: 18px 20px auto; }
  .hh-v5 .hh-stage :is(h1, h2) { font-size: 26px; }
  .hh-v5 .hh-slide .hh-credential { margin-bottom: 10px; }
  .hh-v5 .hh-slide .hh-experience { margin-top: 10px; }
  .hh-v5 .hh-book { margin-top: 12px; }
  .hh-v5 .hh-deb-name { bottom: 18px; }
}
@media (max-width: 899px) and (max-height: 600px){
  .hh-v5 .hh-stage .hh-slide { inset: 16px 18px auto; }
  .hh-v5 .hh-stage :is(h1, h2) { font-size: 24px; }
  .hh-v5 .hh-cta .btn { min-height: 44px; font-size: 12px; padding: 10px 12px; }
  .hh-v5 .hh-about { min-height: 44px; font-size: 12px; padding: 10px 12px; }
  .hh-v5 .hh-deb-name { left: 51.5%; bottom: 18px; width: 162px; padding: 12px 8px; font-size: 22px; }
  .hh-v5 .hh-deb-name span { font-size: 15px; margin-top: 3px; }
}
@media (max-width: 899px) and (min-aspect-ratio: 3 / 2){
  .hh-v5 .hh-stage { --hh-layout: landscape; }
  .hh-v5 .hh-stage .hh-slide { inset: 44% auto auto 24px; width: 48cqw; transform: translateY(-50%); }
  .hh-v5 .hh-stage :is(h1, h2) { font-size: clamp(22px, 3vw, 28px); }
  .hh-v5 .hh-card.hh-deb { --deb-size: min(72cqh,48cqw); --deb-x: calc(75cqw - var(--deb-size)*.53); }
  .hh-v5 .hh-deb-name { left: calc(55% + 44px); bottom: 16px; width: 160px; padding: 12px 8px; font-size: 22px; }
  .hh-v5 .hh-deb-name span { font-size: 16px; margin-top: 2px; }
}
.hh-v5 .ph-grain { opacity: 0.035; }

/* ---- Clinical picture and chart interactions ---- */
.pz-evidence { --pz-orange: #F26327; --pz-blue: #1A5FD7; --pz-navy: #2D3142; --pz-grey: #BFC0C0; --pz-gold: #F7C948; }
.pz-evidence [hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce){
  .pz-evidence * { transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
}
.pz-evidence { padding: 72px 0px 60px; }
.pz-card { background: var(--white); border-radius: var(--radius-card); padding: 24px 18px; margin: 0px 0px 18px; min-width: 0px; }
.pz-bars { list-style: none; margin: 20px 0px 0px; padding: 0px; display: grid; gap: 13px; }
.pz-bars li { display: grid; grid-template-columns: minmax(0px, 1fr) auto; grid-template-areas: "label value" "track track"; gap: 6px 12px; align-items: baseline; }
.pz-bars .label { grid-area: label; }
.pz-bars .value { grid-area: value; }
.pz-bars .track { grid-area: track; }
.pz-bars .label { font-size: 14px; color: var(--ink); line-height: 1.3; }
.pz-bars .value { font-size: 14px; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.pz-bars .track { position: relative; height: 8px; border-radius: 0px 4px 4px 0px; background: rgb(241, 239, 236); }
.pz-bars .fill { position: absolute; left: 0px; top: 0px; bottom: 0px; width: 0px; border-radius: 0px 4px 4px 0px; background: var(--pz-orange); transition: width .9s var(--ease-out); }
.pz-stats { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; margin: 20px 0px 4px; }
.pz-stats p { margin: 0px; font-size: 13px; line-height: 1.4; color: rgba(255, 255, 255, 0.78); }
.pz-stats strong { display: block; font-size: 40px; font-weight: 500; letter-spacing: -1.6px; color: rgb(255, 255, 255); line-height: 1.05; margin-bottom: 6px; font-variant-numeric: tabular-nums; }
.pz-tip { position: absolute; z-index: 3; pointer-events: none; background: rgb(255, 255, 255); color: var(--pz-navy); font-size: 12px; font-weight: 500; line-height: 1.4; padding: 7px 10px; border-radius: 4px; white-space: nowrap; transform: translate(-50%, calc(-100% - 10px)); opacity: 0; transition: opacity 0.15s; }
.pz-tip[data-on] { opacity: 1; }
@media (min-width: 700px){
  .pz-card { padding: 30px; }
  .pz-bars li { grid-template-columns: 200px minmax(0px, 1fr) 44px; grid-template-areas: "label track value"; align-items: center; gap: 16px; }
  .pz-bars .track { height: 10px; }
  .pz-bars .value { text-align: right; }
  .pz-stats strong { font-size: 48px; }
}
@media (min-width: 1050px){
  .pz-evidence { padding-top: 96px; }
  .pz-evidence > .wrap { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.15fr); gap: 20px; align-items: start; }
  .pz-card { margin: 0px; padding: 34px; }
  .pz-bars li { grid-template-columns: 180px minmax(0px, 1fr) 44px; }
}
.pz2-kicker { margin-bottom: 18px; }
.pz2-evidence .pz-card h2 { font-size: 24px; letter-spacing: -0.6px; line-height: 1.2; margin: 0px; }
.pz2-evidence .pz-bars { margin-top: 24px; }
.pz2-cloud { position: relative; height: 380px; margin-top: 22px; touch-action: pan-y; }
.pz2-cloud svg { display: block; width: 100%; height: 100%; overflow: visible; }
.pz2-cloud text { font-family: var(--display); font-weight: 500; cursor: default; opacity: 0; transform: translateY(8px); transform-box: fill-box; transition: opacity .7s var(--ease-out),transform .9s var(--ease-out); }
.pz2-cloud.is-in text { opacity: var(--o,1); transform: none; }
.pz2-cloud.is-in[data-focus] text { opacity: 0.16; transition-duration: 0.25s; transition-delay: 0s !important; }
.pz2-cloud.is-in[data-focus] text.is-on { opacity: 1; }
@media (min-width: 700px){
  .pz2-evidence .pz-bars li { grid-template-columns: 230px minmax(0px, 1fr) 44px; }
  .pz2-cloud { height: 430px; }
}
@media (min-width: 1050px){
  .pz2-kicker { grid-column: 1 / -1; margin-bottom: 6px; }
  .pz2-evidence .pz-bars li { grid-template-columns: 205px minmax(0px, 1fr) 40px; gap: 14px; }
  .pz2-cloud { height: 450px; }
}
@media (prefers-reduced-motion: reduce){
  .pz2-cloud text { transform: none; transition: none !important; }
}
.pv4-evidence .pz-bars a.label { display: inline-block; padding: 7px 0px; margin: -7px 0px; color: var(--ink); white-space: nowrap; text-decoration: underline rgba(10, 10, 10, 0.22); text-underline-offset: 5px; }
.pv4-evidence .pz-bars a.label:hover { text-decoration-color: currentcolor; }
.pv4-evidence .pz-bars a.label span { font-size: 12px; margin-left: 2px; }
.pv4-complex .pz-stats p { color: var(--ink-soft); }
.pv4-complex .pz-stats strong { color: var(--ink); }
.pv4-complex .pz-tip { background: var(--ink); color: rgb(255, 255, 255); }
@media (min-width: 1050px){
  .pv4-evidence > .wrap { align-items: stretch; }
  .pv4-evidence .pz-card { display: flex; flex-direction: column; }
  .pv4-evidence .pz-bars { flex: 1 1 0%; display: flex; flex-direction: column; justify-content: space-between; }
  .pv4-evidence .pz-bars li { grid-template-columns: 228px minmax(0px, 1fr) 40px; }
  .pv4-evidence .pz2-cloud { flex: 1 1 0%; height: auto; min-height: 380px; }
}
.visit-refresh .pv4-complex .pz-stats strong { color: rgb(225, 110, 55); }
.visit-cloud-key { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; padding: 0px; margin: 18px 0px 0px; font-size: 11px; line-height: 1.5; color: var(--ink-soft); }
.visit-cloud-key li { display: inline-flex; align-items: center; gap: 6px; }
.visit-cloud-key li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: rgb(120, 107, 101); }
.visit-cloud-key .nerve::before { background: rgb(169, 86, 112); }
.visit-cloud-key .mood::before { background: rgb(73, 123, 117); }
.visit-cloud-key .muscles::before { background: rgb(184, 92, 58); }
.visit-refresh .pz2-cloud { margin-top: 12px; }
@media (min-width: 700px) and (max-width: 1049px){
  .visit-refresh .pv4-evidence > .wrap { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 20px; align-items: stretch; }
  .visit-refresh .pv4-evidence .pz2-kicker { grid-column: 1 / -1; margin-bottom: 0px; }
  .visit-refresh .pv4-evidence .pz-card { display: flex; flex-direction: column; margin: 0px; padding: 24px 20px; }
  .visit-refresh .pv4-evidence .pz-card h2 { font-size: 22px; min-height: 2.4em; }
  .visit-refresh .pv4-evidence .pz-bars { flex: 1 1 0%; display: flex; flex-direction: column; justify-content: space-between; }
  .visit-refresh .pv4-evidence .pz-bars li { grid-template-columns: minmax(0px, 1fr) auto; grid-template-areas: "label value" "track track"; gap: 6px 10px; }
  .visit-refresh .pv4-evidence .pz-bars .label { font-size: 13px; white-space: normal; }
  .visit-refresh .pv4-evidence .pz-bars .value { font-size: 13px; }
  .visit-refresh .pv4-evidence .pz-stats strong { font-size: 40px; }
  .visit-refresh .pv4-evidence .pz2-cloud { flex: 1 1 0%; height: auto; min-height: 330px; }
}

/* ---- Clinic photographs and identity ---- */
.hero-panel { position: relative; }
.hero-stack { display: flex; flex-direction: column; align-items: center; }
.hero-badges { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; background: var(--white); border-radius: 100px; padding: 8px 16px 8px 12px; }
.hero-badges span { display: inline-flex; align-items: center; gap: 16px; white-space: nowrap; font-size: 16px; font-weight: 500; line-height: 27.2px; color: var(--ink-soft); transition: color var(--t-base) var(--ease); }
.hero-badges span::before { content: ""; width: 20px; height: 20px; flex: 0 0 auto; border-radius: 100px; background: var(--border); transform: scale(0.3); transition: transform var(--t-base) var(--ease); }
.hero-badges span.is-active { color: var(--ink); }
.hero-badges span.is-active::before { border-radius: 0px; transform: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%230a0a0a' d='M8 0l1.9 1.2 2.2-.3 1 2 2 1-.3 2.2L16 8l-1.2 1.9.3 2.2-2 1-1 2-2.2-.3L8 16l-1.9-1.2-2.2.3-1-2-2-1 .3-2.2L0 8l1.2-1.9-.3-2.2 2-1 1-2 2.2.3z'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' d='M5 8.2l2 2L11.2 6'/%3E%3C/svg%3E") center center / contain no-repeat; }
.hero-photo { position: relative; width: 100%; backdrop-filter: blur(54px); box-shadow: rgba(0, 0, 0, 0.08) 0px 8px 32px; }
.hero-photo .shots { position: relative; aspect-ratio: 875 / 652; border-radius: 24px; overflow: hidden; }
.hero-photo img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; opacity: 0; z-index: 0; transition: opacity .45s var(--ease); }
.hero-photo .shots > :first-child,
.hero-photo .shots > :first-child img { opacity: 1; z-index: 1; }
@media (max-width: 820px){
  .hero-photo { margin-top: 30px; }
}
@media (max-width: 767px){
  .hero-badges { max-width: calc(100% - 24px); }
  .hero-photo { width: calc(100% + 24px); max-width: none; flex: 0 0 auto; margin: 0px 0px -56px; }
  .hero-photo .shots { border-radius: 16px; }
}
.portrait-clinic { padding: 65px 0px 35px; }
.portrait-clinic-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.portrait-clinic h2 { margin: 0px; font-size: 36px; letter-spacing: -1.2px; }
.portrait-clinic-head p { font-size: 14px; line-height: 1.65; }
.portrait-clinic-head a { color: var(--ink); display: inline-flex; min-height: 44px; align-items: center; text-underline-offset: 4px; }
.v5-clinic { position: relative; isolation: isolate; padding: 64px 0px 72px; }
.v5-clinic .v5-clinic-head { margin-bottom: 24px; }
.v5-clinic .v5-clinic-head h2 { color: inherit; }
.v5-clinic .v5-clinic-head h2 a { color: inherit; text-decoration: none; }
.v5-clinic .v5-clinic-neighborhoods { max-width: none; }
.v5-clinic-neighborhoods span + span::before { margin-right: 18px; opacity: 0.65; }
.v5-clinic .v5-clinic-address { margin: 0px; }
.v5-clinic a:focus-visible { outline: 3px solid var(--ink); outline-offset: 5px; }
.v5-clinic .v5-clinic-gallery { width: 100%; height: auto; margin: 0px; background: none; border-radius: 0px; }
.v5-clinic-gallery .hero-stack { --hero-shift: 0px; position: relative; inset: auto; transform: none; width: min(911px, 100%); margin: 0px auto; }
.v5-clinic-gallery .v5-clinic-values { margin: 0px; gap: 12px 20px; }
.v5-clinic-gallery .hero-photo { margin: 0px; }
.v5-clinic-gallery .v5-clinic-photos { display: block; }
.v5-clinic-gallery .v5-clinic-photos img { height: 100%; aspect-ratio: auto; border-radius: 0px; }
@media (max-width: 699px){
  .v5-clinic { padding: 40px 0px 32px; }
  .v5-clinic > .wrap { padding-left: 18px; padding-right: 18px; }
  .v5-clinic .v5-clinic-head { gap: 8px; margin-bottom: 20px; }
  .v5-clinic .v5-clinic-neighborhoods { gap: 4px 10px; margin-top: 14px; font-size: 12px; }
  .v5-clinic-neighborhoods span + span::before { margin-right: 10px; }
  .v5-clinic .v5-clinic-address { font-size: 12px; }
  .v5-clinic .v5-clinic-gallery { padding: 0px; }
  .v5-clinic-gallery .hero-stack { gap: 20px; }
  .v5-clinic-gallery .v5-clinic-values { border-radius: 20px; padding: 10px 12px; gap: 4px 12px; }
  .v5-clinic-values span { font-size: 12px; gap: 6px; line-height: 24px; }
  .v5-clinic-values span::before { width: 14px; height: 14px; }
  .v5-clinic-gallery .hero-photo { padding: 8px; margin-bottom: 0px; border-radius: 22px; }
  .v5-clinic-gallery .shots { aspect-ratio: 4 / 3; border-radius: 16px; }
}
.v5-study .v5-clinic { padding-block: var(--v5-half-space); color: rgb(247, 247, 245); background: radial-gradient(at 0px 0px, rgba(225, 110, 55, 0.62), transparent 65%), radial-gradient(at 100% 100%, rgba(225, 110, 55, 0.48), transparent 65%), linear-gradient(125deg, rgb(99, 76, 60), rgb(85, 69, 51) 48%, rgb(90, 89, 87)); }
.v5-study .v5-clinic::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: image-set(url('/images/home/hero-frame.a55368a4c426.p1.1600w.avif') type('image/avif'), url("/images/home/hero-frame.jpg") type('image/jpeg')) center center / cover; mix-blend-mode: soft-light; opacity: 0.24; }
.v5-clinic .v5-clinic-head { width: min(911px, 100%); margin: 0px auto 28px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.v5-clinic .v5-clinic-head h2 { max-width: none; font-size: clamp(34px, 4.3vw, 56px); font-weight: 500; line-height: 1.08; letter-spacing: -0.045em; }
.v5-clinic .v5-clinic-address { max-width: none; font-size: 14px; line-height: 1.6; text-align: center; color: rgb(247, 247, 245); padding: 0px; }
.v5-clinic .v5-clinic-gallery { padding: 0px; }
.v5-clinic-gallery .hero-stack { gap: 24px; }
.v5-clinic-gallery .hero-photo { padding: 14px; border: 0px; border-radius: 42px 16px; background: linear-gradient(125deg, rgb(188, 148, 121) 0%, rgb(174, 136, 111) 32%, rgb(163, 129, 105) 65%, rgb(182, 157, 134) 100%); overflow: hidden; }
.v5-clinic-gallery .shots { border-radius: 28px 5px; overflow: hidden; }
.v5-clinic .v5-clinic-neighborhoods { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; width: min(911px, 100%); margin: 24px auto 0px; padding: 0px; border: 0px; font-size: 14px; line-height: 1.5; color: rgb(247, 247, 245); text-align: center; }
.v5-clinic-neighborhoods span + span::before { content: none; }
.v5-clinic-neighborhoods span:nth-child(2) { text-align: center; }
.v5-clinic-neighborhoods span:last-child { text-align: center; }
@media (max-width: 700px){
  .v5-clinic .v5-clinic-head { gap: 10px; margin-bottom: 24px; }
  .v5-clinic .v5-clinic-head h2 { max-width: none; }
  .v5-clinic .v5-clinic-address { font-size: 13px; }
  .v5-clinic-gallery .hero-stack { gap: 20px; }
  .v5-clinic-gallery .hero-photo { padding: 8px; border-radius: 28px 12px; }
  .v5-clinic-gallery .shots { border-radius: 20px 5px; }
  .v5-clinic .v5-clinic-neighborhoods { gap: 8px 20px; margin-top: 20px; padding: 0px; font-size: 12px; }
}
.v5-clinic .v5-clinic-head h2 a { display: inline-flex; align-items: center; justify-content: center; gap: 16px; }
.v5-clinic .v5-clinic-mark { display: block; width: 44px; height: 44px; flex: 0 0 auto; object-fit: contain; }
.v5-clinic .v5-clinic-head h2 a span { white-space: nowrap; }
@media (max-width: 700px){
  .v5-clinic .v5-clinic-head h2 { font-size: clamp(26px, 8vw, 34px); }
  .v5-clinic .v5-clinic-head h2 a { gap: 12px; }
  .v5-clinic .v5-clinic-mark { width: 32px; height: 32px; }
}

/* ---- Podcast rail ---- */
.podcast { padding: 96px 0px 34px; overflow: hidden; }
.podcast-head { text-align: left; }
.podcast h2 { margin: 0px; max-width: none; font-size: clamp(28px, 6vw, 40px); letter-spacing: -1.5px; line-height: 1.08; }
.podcast-subtitle { margin: 12px 0px 0px; font-size: 16px; line-height: 1.6; color: var(--ink-soft); }
.podcast-viewport { margin: 28px -30px 0px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: 30px; scroll-snap-type: inline mandatory; scrollbar-width: none; }
.podcast-viewport::-webkit-scrollbar { display: none; }
.podcast-rail { width: max-content; margin: 0px; padding: 0px 30px 18px; display: flex; align-items: stretch; gap: 14px; list-style: none; }
.podcast-rail::after { content: ""; flex: 0 0 16px; }
.podcast-card { flex: 0 0 min(88vw, 470px); width: min(88vw, 470px); background: var(--white); border: 1px solid var(--border); border-radius: 20px; overflow: hidden; scroll-snap-align: start; scroll-margin-inline: 30px; }
.podcast-card-link { min-height: 126px; padding: 14px; color: var(--ink); display: grid; grid-template-columns: 92px minmax(0px, 1fr); gap: 17px; text-align: left; text-decoration: none; }
.podcast-card-link:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.podcast-art { width: 92px; height: 92px; min-width: 0px; margin: 0px; border-radius: 9px; background: var(--cream-2); overflow: hidden; }
.podcast-art img { width: 100%; height: 100%; display: block; object-fit: cover; }
.podcast-copy { min-width: 0px; padding: 1px 4px 0px 0px; display: flex; flex-direction: column; }
.podcast-copy h3 { margin: 0px; font-family: var(--serif); font-size: 19px; font-weight: 400; line-height: 1.12; letter-spacing: -0.35px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.podcast-caption { margin: 7px 0px 9px; color: rgb(119, 119, 119); font-size: 12px; line-height: 1.42; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.podcast-meta { margin: auto 0px 0px; color: var(--ink); font-size: 11px; font-weight: 500; line-height: 1.3; font-variant-numeric: tabular-nums; }
.podcast-card-link:hover .podcast-copy h3 { color: var(--accent); }
.podcast-all { margin-top: 3px; display: flex; justify-content: flex-end; }
.podcast-all a { color: var(--ink); font-size: 13px; font-weight: 600; text-underline-offset: 4px; }
.podcast-all a:hover { color: var(--accent); }
@media (min-width: 700px){
  .podcast { padding-top: 108px; }
  .podcast-card { flex-basis: 530px; width: 530px; }
  .podcast-card-link { min-height: 144px; grid-template-columns: 112px minmax(0px, 1fr); gap: 21px; padding: 15px; }
  .podcast-art { width: 112px; height: 112px; border-radius: 10px; }
  .podcast-copy { padding: 2px 8px 1px 0px; }
  .podcast-copy h3 { font-size: 22px; }
  .podcast-caption { font-size: 13px; }
  .podcast-meta { font-size: 12px; }
}
@media (min-width: 1100px){
  .podcast { padding-top: 118px; }
  .podcast-viewport { margin-inline: 0px; }
  .podcast-rail { padding-inline: 0px; }
}
@media (prefers-reduced-motion: reduce){
  .podcast-viewport { scroll-behavior: auto; }
}
@media (max-width: 699px){
  .visit-refresh .podcast-viewport { margin-inline: -30px; }
  .visit-refresh .podcast-card { flex-basis: calc(-100px + 100vw); width: calc(-100px + 100vw); }
  .visit-refresh .podcast-card-link { grid-template-columns: 72px minmax(0px, 1fr); gap: 12px; padding: 12px; min-height: 122px; }
  .visit-refresh .podcast-art { width: 72px; height: 72px; }
  .visit-refresh .podcast-copy h3 { font-size: 17px; }
}

/* ---- Patient stories ---- */
.home-review .who { align-items: center; flex-wrap: wrap; gap: 8px 12px; font-size: 13px; }
.v5-study .home-proof { padding-block: var(--v5-half-space); }

/* ---- Dr. Deb and modern techniques ---- */
.training { padding: 132px 0px 0px; }
.training-head { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 32px; align-items: end; margin-bottom: 52px; }
.training-head h2 { margin: 0px; max-width: 15ch; }
.training-head p { max-width: 39ch; margin: 0px; color: var(--ink-soft); line-height: 1.65; }
.tech-media { position: relative; overflow: hidden; }
.tech-media img { width: 100%; height: 100%; display: block; transition: transform .6s var(--ease); }
.tech-card:hover .tech-media img { transform: scale(1.025); }
.tech-points { margin: 24px 0px 0px; padding: 0px; display: grid; gap: 12px; }
.tech-points li { grid-template-columns: 24px 1fr; gap: 10px; font-size: 15px; line-height: 1.48; color: var(--ink-soft); }
.tech-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; border-bottom: 1px solid; padding-bottom: 3px; }
.tech-link::after { content: "↗"; font-size: 13px; }
.lineage a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.tech-a-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.tech-a-grid .tech-card { background: var(--white); border-radius: 24px; overflow: hidden; }
.tech-a-grid .tech-media { background: var(--cream-2); }
.tech-a-grid .tech-media img { object-fit: contain; }
.tech-a-grid .tech-copy { padding: 28px 30px 32px; }
.tech-a-grid h3 { margin: 0px; font-size: 30px; letter-spacing: -0.8px; }
.tech-a-grid .lineage { grid-column: 1 / -1; display: grid; grid-template-columns: 220px 1fr; gap: 34px; padding: 28px 30px; border-top: 1px solid var(--border); align-items: start; }
.tech-a-grid .lineage h3 { font-size: 21px; margin: 0px; }
.tech-a-grid .lineage p { margin: 0px; max-width: 72ch; color: var(--ink-soft); line-height: 1.65; }
@media (max-width: 820px){
  .training { padding: 88px 0px 0px; }
  .training-head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
  .training-head h2 { max-width: none; }
  .tech-a-grid { grid-template-columns: 1fr; }
  .tech-a-grid .lineage { grid-column: auto; }
}
@media (max-width: 640px){
  .tech-a-grid .tech-copy { padding: 24px 22px 28px; }
  .tech-a-grid .lineage { grid-template-columns: 1fr; gap: 12px; padding: 24px 22px; }
}
.visit-refresh a.ph-step { display: block; color: inherit; text-decoration: none; }
@media (min-width: 960px){
  .visit-refresh a.ph-step { display: flex; }
}
.ph-steps { position: relative; z-index: 1; }
.ph-step { min-height: max(270px,calc(100svh - 70px - var(--ph-h))); padding: 26px 0px 30px; box-sizing: border-box; }
.ph-eyebrow { font: 500 10px/1.5 var(--kicker); letter-spacing: 0.09em; text-transform: uppercase; color: var(--ink-2); margin: 0px 0px 10px; }
.ph-step h2 { font: 500 26px/1.12 var(--display); letter-spacing: -0.9px; margin: 0px 0px 12px; max-width: 19ch; }
.ph-step > p:not(.ph-eyebrow) { font-size: 14px; line-height: 1.6; color: var(--ink-2); margin: 0px; max-width: 40ch; }
@media (min-width: 700px){
  .ph-step { padding-top: 34px; }
  .ph-step h2 { font-size: 32px; }
}
@media (min-width: 960px){
  .ph-steps { padding-bottom: calc(var(--ph-h)*.18); }
  .ph-step { display: flex; flex-direction: column; justify-content: center; min-height: calc(var(--ph-h)*.82); padding: 0px; opacity: 0.24; transition: opacity .5s var(--ease-out); }
  .ph-step:first-child { min-height: var(--ph-h); }
  .ph-step.is-active { opacity: 1; }
  .ph-step h2 { font-size: 36px; letter-spacing: -1.2px; }
  .ph-step > p:not(.ph-eyebrow) { font-size: 15px; }
}
.ph-photo { margin: 18px 0px 6px; max-width: 440px; }
.ph-photo img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; }
.hh-after { --pz-orange: #E16E37; padding: 44px 0px 8px; }
.hh-after a:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.hh-after .ph-steps { display: grid; gap: 4px; padding-bottom: 0px; }
.hh-after .ph-step { min-height: 0px; padding: 22px 0px 26px; opacity: 1; }
.hh-after .ph-step h2 { max-width: 22ch; }
.hh-after .ph-photo { width: 100%; max-width: none; }
@media (min-width: 960px){
  .hh-after { padding: 84px 0px 16px; }
  .hh-after .ph-steps { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 40px; }
  .visit-refresh .hh-after a.ph-step { display: flex; flex-direction: column; justify-content: flex-start; min-height: 0px; padding: 0px; opacity: 1; }
  .hh-after .ph-step { display: flex; flex-direction: column; justify-content: flex-start; min-height: 0px; padding: 0px; opacity: 1; }
  .hh-after .ph-step:first-child { display: flex; flex-direction: column; justify-content: flex-start; min-height: 0px; padding: 0px; opacity: 1; }
  .hh-after .ph-step h2 { font-size: 28px; letter-spacing: -0.9px; max-width: none; }
  .hh-after .ph-step > p:not(.ph-eyebrow) { font-size: 15px; }
  .hh-after .ph-photo { width: 100%; max-width: none; margin-top: auto; padding-top: 22px; }
}
.v5-deb .hh-after { padding: 8px 0px 0px; }
.v5-deb .training { padding-top: 56px; }
@media (min-width: 960px){
  .v5-deb .hh-after { padding-top: 40px; }
  .v5-deb .hh-after .ph-steps { grid-template-columns: minmax(0px, 1fr); }
  .visit-refresh .v5-deb .hh-after a.ph-step { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.1fr); column-gap: 64px; align-items: start; }
  .v5-deb .ph-step > :not(.ph-photo) { grid-column: 1; }
  .v5-deb .hh-after .ph-step h2 { font-size: 40px; letter-spacing: -1.4px; max-width: 18ch; }
  .v5-deb .hh-after .ph-step > p:not(.ph-eyebrow) { font-size: 17px; max-width: 44ch; }
  .v5-deb .hh-after .ph-photo { grid-area: 1 / 2 / 4; margin: 0px; padding: 0px; }
  .v5-deb .training { padding-top: 96px; }
}
.v5-deb a.tech-card { display: block; color: inherit; text-decoration: none; }
.v5-deb a.tech-card:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.v5-deb .hh-after .ph-eyebrow { font: 500 18px/1.6 var(--body); letter-spacing: 0px; text-transform: none; max-width: none; margin-bottom: 14px; }
.v5-deb .v5-deb-cta { display: inline-flex; place-self: flex-start start; gap: 14px; margin-top: 24px; color: var(--ink); text-decoration: none; }
@media (min-width: 960px){
  .visit-refresh .v5-deb .hh-after a.ph-step { grid-template-rows: auto auto auto 1fr; }
  .v5-deb .hh-after .ph-photo { grid-row: 1 / 5; }
  .v5-deb .hh-after .ph-eyebrow { font-size: 20px; }
}
.v5-deb .tech-a-grid .tech-media { height: auto; padding: 0px; background: var(--white); }
.v5-deb .tech-a-grid .tech-media img { width: 100%; height: auto; object-fit: contain; }
.v5-deb .tech-points { list-style: disc; padding-left: 20px; counter-reset: none; }
.v5-deb .tech-points li { display: list-item; padding-left: 2px; counter-increment: none; }
.v5-deb .tech-points li::before { content: none; }
.v5-deb .tech-points li::marker { color: var(--ink); font-size: 0.8em; }
.v5-study .v5-deb { padding-top: var(--v5-half-space); }
.v5-study .v5-deb .hh-after { padding: 0px; }
.v5-study .v5-deb .hh-after a.ph-step { padding-top: 0px; min-height: 0px; }
.v5-study .v5-deb .training { padding-block: var(--v5-section-space) var(--v5-half-space); }

/* ---- Published articles and FAQ ---- */
.homeblog { padding: 203px 0px 0px; text-align: center; }
.homeblog h2 { margin: 0px auto 28px; max-width: none; text-align: center; }
.homeblog .blogpanel { margin-top: 40px; }
.home-cta { grid-column: 1 / -1; justify-content: center; gap: 8px; margin-top: 40px; }
.home-cta .btn { min-height: 48px; font-size: 14px; padding: 14px 22px; }
.ph-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 4px; font-size: 13px; color: var(--ink); text-underline-offset: 4px; }
.pv4-blog { padding: 72px 0px 32px; text-align: left; }
.pv4-blog .pv4-blog-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px 28px; flex-wrap: wrap; margin-bottom: 24px; }
.pv4-blog h2 { margin: 0px; text-align: left; font-size: 36px; letter-spacing: -1.2px; }
.pv4-blog .ph-link { margin: 0px; font-size: 14px; }
.pv4-blog .blogpanel { margin: 0px; padding: 0px; background: transparent; border-radius: 0px; }
.pv4-blog .bgrid { gap: 32px 24px; }
.pv4-blog .bcard { background: var(--white); border-radius: var(--radius-card); padding: 10px 10px 20px; }
.pv4-blog .bcard .t { margin-left: 10px; margin-right: 10px; }
.pv4-blog .bcard .m { margin-left: 10px; margin-right: 10px; }
.pv4-blog .bcard img { border-radius: 10px; }
.pv4-blog .bcard:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
@media (max-width: 699px){
  .pv4-blog { padding-top: 48px; }
  .pv4-blog h2 { font-size: 30px; letter-spacing: -1px; }
  .pv4-blog .bgrid { gap: 20px; }
}
.v5-faq { padding-top: 72px; }
.v5-study .homeblog { padding-block: var(--v5-half-space); }

/* ---- Specialty links ---- */
.pv4-specialties { --pz-orange: #F26327; }
.pv4-specialties { padding: 28px 0px 48px; }
.pv4-specialties h2 { margin: 0px 0px 18px; font-size: 28px; letter-spacing: -0.8px; }
.pv4-tiles { --cols: 2; --gap: 10px; --art-h: calc(((100cqw - (var(--cols) - 1)*var(--gap))/var(--cols) - 16px)*.8); container-type: inline-size; display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--gap); }
.pv4-tile:first-child { grid-column: 1 / -1; }
.pv4-tile { display: flex; flex-direction: column; gap: 12px; padding: 8px 8px 14px; border-radius: var(--radius-card); background: var(--white); color: var(--ink); text-decoration: none; transition: transform .35s var(--ease-out),box-shadow .35s var(--ease-out); }
.pv4-tile:hover { transform: translateY(-3px); box-shadow: rgba(0, 0, 0, 0.08) 0px 12px 30px; }
.pv4-art { display: grid; place-items: center; height: var(--art-h); border-radius: 10px; overflow: hidden; background: var(--bg) center/cover no-repeat; }
.pv4-art img { height: calc(var(--art-h)*.59); width: auto; max-width: none; border-radius: 8px; background: rgba(255, 255, 255, 0.62); box-shadow: rgba(0, 0, 0, 0.08) 0px 6px 18px; }
.pv4-name { font-size: 14px; font-weight: 500; line-height: 1.3; padding: 0px 6px; letter-spacing: -0.2px; }
.pv4-name span { color: var(--ink-soft); font-size: 12px; }
@media (min-width: 700px){
  .pv4-specialties { padding: 40px 0px 64px; }
  .pv4-specialties h2 { font-size: 36px; letter-spacing: -1.2px; margin-bottom: 24px; }
  .pv4-tiles { --cols: 4; --gap: 14px; grid-template-columns: repeat(12, minmax(0px, 1fr)); }
  .pv4-tile { grid-column: span 3; }
  .pv4-tile:first-child { grid-column: span 3; }
  .pv4-tile:nth-child(n+5) { grid-column: span 4; }
  .pv4-name { font-size: 15px; }
}
.visit-refresh .pv4-specialties { padding-top: 56px; padding-bottom: 20px; }
@media (min-width: 700px){
  .visit-refresh .pv4-tiles { --cols: 3; grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .visit-refresh .pv4-tile { grid-column: auto; }
  .visit-refresh .pv4-tile:nth-child(n+5) { grid-column: auto; }
  .visit-refresh .pv4-tile:first-child { grid-column: 1 / -1; }
  .visit-refresh .pv4-tile:first-child .pv4-art { height: calc(var(--art-h)*1.18); }
}
@media (min-width: 960px){
  .visit-refresh .pv4-specialties { padding-top: 36px; padding-bottom: 20px; }
  .visit-refresh .pv4-specialties h2 { font-size: 30px; margin-bottom: 18px; }
  .visit-refresh .pv4-tiles { --cols: 4; --gap: 14px; --art-h: clamp(170px,14vw,200px); grid-template-columns: repeat(12, minmax(0px, 1fr)); }
  .visit-refresh .pv4-tile { gap: 10px; padding-bottom: 12px; }
  .visit-refresh .pv4-tile:nth-child(-n+3) { grid-column: span 4; }
  .visit-refresh .pv4-tile:nth-child(n+4) { grid-column: span 3; }
  .visit-refresh .pv4-tile:first-child .pv4-art { height: var(--art-h); }
  .visit-refresh .pv4-art img { height: calc(var(--art-h)*.75); max-width: 88%; object-fit: contain; }
}
.v5-study .pv4-specialties { padding-block: var(--v5-half-space); }
