:root {--cream:#FAF7F2; --cream-mid:#F5EFE5; --cream-dark:#EDE4D6; --white:#FEFCF8; --gold:#C9A96E; --gold-light:#DEC28E; --gold-pale:#F2E5CC; --gold-deep:#8B6F3F; --gold-ink:#735831; --gold-bronze:#5C4A28; --charcoal:#2A2420; --text-primary:#1E1A17; --text-body:#2D2622; --text-sub:#4A3D32; --text-muted:#6B5949; --footer-bg-from:#F5EFE5; --footer-bg-to:#EFE7D9; --fs-xs:13px; --fs-sm:14.5px; --fs-base:17.5px; --fs-md:21px; --fs-lg:28px; --fs-xl:clamp(34px, 5.2vw, 56px); --fs-2xl:clamp(48px, 6.6vw, 82px); --ls-tight:-0.012em; --ls-snug:0.005em; --ls-wide:0.06em; --ls-wider:0.12em; --ls-widest:0.22em; --lh-tight:1.15; --lh-snug:1.28; --lh-base:1.65; --lh-loose:1.78; --sp-section:clamp(64px, 8vw, 104px); --sp-section-tight:clamp(44px, 6vw, 72px); --transition:all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); --ease:cubic-bezier(0.25, 0.46, 0.45, 0.94);}
*, *::before, *::after {margin:0; padding:0; box-sizing:border-box;}
html {scroll-behavior:smooth; scroll-padding-top:132px; -webkit-text-size-adjust:100%;}
.skip-link {scroll-behavior:auto;}
body {font-family:'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background:var(--cream); color:var(--text-body); font-size:var(--fs-base); line-height:var(--lh-base); letter-spacing:0.005em; overflow-x:hidden; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; font-feature-settings:"liga","kern","calt";}
a:focus-visible, button:focus-visible {outline:2px solid var(--gold-deep); outline-offset:3px; border-radius:2px;}
.skip-link {position:absolute; top:-100px; left:0; background:var(--charcoal); color:var(--cream); padding:14px 22px; z-index:10000; text-decoration:none; font-size:var(--fs-sm); font-weight:700;}
.skip-link:focus {top:0;}
.age-bar {background:var(--cream-mid); color:var(--text-body); font-size:14px; text-align:center; padding:14px 40px; line-height:1.55; border-bottom:1px solid rgba(115,88,49,0.16); font-weight:500; letter-spacing:0.005em;}
.age-bar strong {color:var(--charcoal); font-weight:700; margin-right:5px;}
.site-header {position:sticky; top:0; z-index:1000; background:rgba(254,252,248,0.97); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); border-bottom:1px solid rgba(115,88,49,0.14); transition:box-shadow 0.3s;}
.site-header.scrolled {box-shadow:0 6px 30px rgba(42,36,32,0.08);}
.header-inner {display:grid; grid-template-columns:1fr auto 1fr; align-items:center; max-width:1440px; margin:0 auto; padding:0 40px; height:84px;}
.site-logo {text-align:center; text-decoration:none;}
.site-logo .wordmark {font-family:'Cormorant Garamond', serif; font-size:26px; font-weight:500; letter-spacing:0.14em; color:var(--text-primary); text-transform:uppercase; display:block; line-height:1.1;}
.site-logo .sub-line {font-size:11px; letter-spacing:0.26em; color:var(--gold-ink); text-transform:uppercase; display:block; margin-top:4px; font-weight:700;}
.phone-link {font-size:var(--fs-sm); letter-spacing:var(--ls-wide); color:var(--text-sub); text-decoration:none; font-weight:700; text-transform:uppercase; transition:color 0.3s var(--ease); display:inline-flex; align-items:center; gap:8px;}
.phone-link:hover {color:var(--gold-ink);}
.phone-link svg {width:15px; height:15px;}
.header-right {display:flex; justify-content:flex-end; align-items:center; gap:24px;}
.btn-book {background:var(--charcoal); color:var(--cream); font-size:var(--fs-sm); font-weight:700; letter-spacing:var(--ls-wide); text-transform:uppercase; padding:14px 30px; text-decoration:none; border:1.5px solid var(--charcoal); transition:var(--transition); cursor:pointer; display:inline-block;}
.btn-book:hover {background:transparent; color:var(--charcoal);}
.hamburger {display:none; background:none; border:none; cursor:pointer; padding:8px; flex-direction:column; gap:5px; min-width:44px; min-height:44px; align-items:center; justify-content:center;}
.hamburger span {display:block; width:22px; height:1.8px; background:var(--charcoal); transition:transform 0.3s, opacity 0.3s;}
.visually-hidden {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.header-left {display:flex; align-items:center; gap:10px; min-width:0;}
.search-btn {width:42px; height:42px; border-radius:50%; background:transparent; border:1.5px solid rgba(115,88,49,0.28); color:var(--text-sub); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; flex-shrink:0; transition:var(--transition); -webkit-tap-highlight-color:transparent; touch-action:manipulation; appearance:none; -webkit-appearance:none; font:inherit;}
.search-btn svg {width:18px; height:18px; transition:transform 0.3s var(--ease);}
.search-btn:hover {border-color:var(--gold-deep); background:var(--gold-pale); color:var(--gold-ink);}
.search-btn:hover svg {transform:scale(1.06);}
.search-btn:focus-visible {outline:2px solid var(--gold-deep); outline-offset:3px;}
.search-btn.is-active {background:var(--charcoal); border-color:var(--charcoal); color:var(--cream);}
.search-backdrop {position:fixed; inset:0; background:rgba(30,26,23,0.32); z-index:1099; opacity:0; visibility:hidden; transition:opacity 0.3s var(--ease), visibility 0.3s var(--ease);}
.search-backdrop.is-open {opacity:1; visibility:visible;}
.search-overlay {position:fixed; top:0; left:0; right:0; max-height:100dvh; overflow-y:auto; -webkit-overflow-scrolling:touch; background:rgba(254,252,248,0.99); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); border-bottom:1px solid rgba(115,88,49,0.16); box-shadow:0 14px 44px rgba(42,36,32,0.10); z-index:1100; transform:translateY(-100%); opacity:0; visibility:hidden; transition:transform 0.4s var(--ease), opacity 0.3s var(--ease), visibility 0.4s var(--ease);}
.search-overlay.is-open {transform:translateY(0); opacity:1; visibility:visible;}
.search-overlay-inner {max-width:880px; margin:0 auto; padding:36px 40px 28px; display:flex; flex-direction:column; gap:14px;}
.search-label {font-family:'Cormorant Garamond', serif; font-size:12px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700;}
.search-form {display:flex; align-items:center; gap:14px; border-bottom:1.5px solid rgba(115,88,49,0.30); padding-bottom:14px; transition:border-color 0.3s var(--ease); margin:0;}
.search-form:focus-within {border-color:var(--gold-deep);}
.search-form .search-icon {width:22px; height:22px; color:var(--gold-ink); flex-shrink:0;}
.search-input {flex:1; min-width:0; background:transparent; border:none; outline:none; font-family:'Cormorant Garamond', serif; font-size:clamp(20px, 3vw, 32px); color:var(--text-primary); letter-spacing:0.01em; padding:6px 0; font-weight:500; width:100%; -webkit-appearance:none; appearance:none; border-radius:0;}
.search-input::placeholder {color:var(--text-muted); font-style:italic; font-weight:400;}
.search-input::-webkit-search-cancel-button, .search-input::-webkit-search-decoration {-webkit-appearance:none; appearance:none;}
.search-close {background:none; border:none; cursor:pointer; color:var(--text-sub); padding:8px; min-width:40px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; transition:var(--transition); flex-shrink:0; -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
.search-close:hover {color:var(--gold-ink); background:var(--cream-mid);}
.search-close svg {width:20px; height:20px;}
.search-hint {font-size:12.5px; color:var(--text-muted); letter-spacing:0.04em; display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center;}
.search-hint kbd {font-family:'Nunito Sans', -apple-system, sans-serif; font-size:11px; background:var(--cream-mid); color:var(--text-sub); padding:2px 7px; border-radius:3px; border:1px solid rgba(115,88,49,0.18); font-weight:700; margin:0 2px; white-space:nowrap;}
.search-results {display:none; flex-direction:column; gap:2px; margin-top:6px; max-height:60dvh; overflow-y:auto; -webkit-overflow-scrolling:touch;}
.search-results.is-visible {display:flex;}
.search-results-heading {font-size:11px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; padding:14px 4px 6px; display:flex; justify-content:space-between; align-items:center;}
.search-result-item {display:block; padding:14px 12px; text-decoration:none; color:var(--text-body); border-radius:4px; border:1px solid transparent; transition:background 0.18s var(--ease), border-color 0.18s var(--ease);}
.search-result-item:hover, .search-result-item:focus-visible, .search-result-item.is-active {background:var(--cream-mid); border-color:rgba(115,88,49,0.18); outline:none;}
.search-result-title {font-family:'Cormorant Garamond', serif; font-size:18px; font-weight:600; color:var(--text-primary); letter-spacing:var(--ls-tight); line-height:1.3; display:block; margin-bottom:2px;}
.search-result-title mark {background:var(--gold-pale); color:var(--text-primary); padding:0 2px; border-radius:2px;}
.search-result-meta {font-size:12px; color:var(--text-muted); letter-spacing:var(--ls-wide); text-transform:uppercase;}
.search-state {padding:18px 4px; color:var(--text-muted); font-size:14.5px; font-style:italic;}
.search-state-error {color:#8a4030;}
.search-chips {display:flex; flex-wrap:wrap; gap:8px; padding:6px 0 0;}
.search-chip {background:var(--cream-mid); border:1px solid rgba(115,88,49,0.22); color:var(--text-sub); font-size:13px; letter-spacing:0.02em; padding:7px 14px; border-radius:999px; cursor:pointer; font-family:inherit; transition:var(--transition); -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
.search-chip:hover {background:var(--gold-pale); border-color:var(--gold-deep); color:var(--gold-ink);}
body[data-search-open="true"] {position:fixed; width:100%; overflow:hidden;}
.main-nav {position:relative; background:var(--white); border-bottom:1px solid rgba(115,88,49,0.14);}
.nav-inner {max-width:1440px; margin:0 auto; padding:0 40px; display:flex; justify-content:center; flex-wrap:wrap;}
.nav-item {position:relative;}
.nav-item > a {display:block; padding:15px 18px; font-size:var(--fs-sm); font-weight:700; letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--text-sub); text-decoration:none; transition:color 0.3s var(--ease); white-space:nowrap;}
.nav-item > a:hover {color:var(--gold-ink);}
.nav-arrow-icon {display:inline-block; margin-left:4px; font-size:10px; opacity:0.6; transition:transform 0.25s ease;}
.nav-item:hover .nav-arrow-icon {transform:translateY(2px); opacity:1;}
.dropdown {display:none; position:absolute; top:100%; left:0; min-width:260px; background:var(--white); border:1px solid rgba(115,88,49,0.14); border-top:3px solid var(--gold); box-shadow:0 20px 50px rgba(42,36,32,0.12); z-index:999; padding:14px 0;}
.nav-item:hover .dropdown {display:block;}
.dropdown a {display:block; padding:11px 26px; font-size:var(--fs-sm); color:var(--text-body); text-decoration:none; font-weight:500; letter-spacing:0.01em; transition:var(--transition);}
.dropdown a:hover {color:var(--gold-ink); background:rgba(250,247,242,0.6);}
.nav-item.has-mega {position:static;}
.mega-dropdown {display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); width:1120px; max-width:calc(100vw - 40px); background:var(--white); border:1px solid rgba(115,88,49,0.14); border-top:3px solid var(--gold); box-shadow:0 30px 80px rgba(42,36,32,0.14); z-index:999; padding:0;}
.nav-item.has-mega:hover .mega-dropdown {display:block;}
.mega-grid {display:grid; grid-template-columns:repeat(3, 1fr); padding:44px 56px 36px; gap:0;}
.mega-col {display:flex; flex-direction:column; padding:0 32px; border-left:1px solid rgba(115,88,49,0.10);}
.mega-col:first-child {padding-left:0; border-left:none;}
.mega-col:last-child {padding-right:0;}
.mega-section {margin-bottom:28px;}
.mega-section:last-child {margin-bottom:0;}
.mega-heading {display:inline-block; font-family:'Cormorant Garamond', serif; font-size:22px; font-weight:500; line-height:1.2; letter-spacing:0.005em; color:var(--charcoal); margin:0 0 16px; padding:0 0 10px; border-bottom:1px solid var(--gold); min-width:88px;}
.mega-col a {display:block; padding:9px 0; font-family:'Nunito Sans', sans-serif; font-size:14.5px; font-weight:500; color:var(--text-body); text-decoration:none; transition:all 0.25s cubic-bezier(0.25,0.46,0.45,0.94); letter-spacing:0.005em; position:relative;}
.mega-col a::before {content:''; position:absolute; left:0; top:50%; width:0; height:1px; background:var(--gold-deep); transition:width 0.25s ease; transform:translateY(-50%); opacity:0;}
.mega-col a:hover {color:var(--gold-ink); padding-left:16px;}
.mega-col a:hover::before {width:10px; opacity:1;}
.mega-footer {display:flex; justify-content:space-between; align-items:center; background:var(--cream); padding:22px 50px; border-top:1px solid rgba(115,88,49,0.14); gap:20px;}
.mega-footer-text {font-family:'Cormorant Garamond', serif; font-size:19px; font-style:italic; color:var(--text-body); line-height:1.4;}
.mega-footer-text strong {font-style:normal; font-weight:600; color:var(--charcoal);}
.mega-footer-cta {display:inline-flex; align-items:center; gap:12px; font-family:'Nunito Sans', sans-serif; font-size:12px; font-weight:700; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--charcoal); text-decoration:none; padding:13px 22px; border:1px solid var(--gold-deep); background:var(--white); transition:all 0.3s ease; white-space:nowrap; flex-shrink:0;}
.mega-footer-cta:hover {background:var(--charcoal); color:var(--cream); border-color:var(--charcoal);}
.mega-footer-cta-arrow {font-family:'Cormorant Garamond', serif; font-size:18px; font-weight:500; letter-spacing:0;}
.breadcrumb {background:var(--white); border-bottom:1px solid rgba(115,88,49,0.08);}
.breadcrumb-inner {max-width:1440px; margin:0 auto; padding:14px 40px; display:flex; gap:8px; align-items:center; font-size:var(--fs-sm); color:var(--text-sub);}
.breadcrumb-inner a {color:var(--text-sub); text-decoration:none; font-weight:500; transition:color 0.3s var(--ease);}
.breadcrumb-inner a:hover {color:var(--gold-ink);}
.breadcrumb-inner .sep {color:var(--gold-deep); opacity:0.7;}
.breadcrumb-inner .current {color:var(--text-primary); font-weight:700;}
.anchor-nav {background:var(--white); border-bottom:1px solid rgba(115,88,49,0.08); padding:0 40px; position:sticky; top:84px; z-index:90;}
.anchor-nav-inner {max-width:1440px; margin:0 auto; display:flex; align-items:center; gap:18px; height:52px;}
.anchor-link {font-size:var(--fs-sm); font-weight:700; letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--text-sub); text-decoration:none; transition:color 0.3s var(--ease); white-space:nowrap; position:relative; padding:8px 0;}
.anchor-link:hover, .anchor-link.is-active {color:var(--gold-ink);}
.anchor-link.is-active::after {content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--gold-deep);}
.anchor-link--cta {margin-left:auto;}
.anchor-sep {color:var(--gold); opacity:0.55; font-size:14px;}
i.i-italic {font-style:italic; font-weight:inherit;}
.section-eyebrow {font-size:11.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); display:block; margin-bottom:14px; font-weight:700; line-height:1.4;}
.section-title {font-family:'Cormorant Garamond', serif; font-size:var(--fs-xl); font-weight:500; line-height:1.1; color:var(--text-primary); margin-bottom:18px; letter-spacing:var(--ls-tight);}
.section-title i.i-italic {font-style:italic; font-weight:400; color:var(--text-sub);}
.body-text {font-size:var(--fs-base); color:var(--text-body); line-height:var(--lh-base); margin-bottom:18px;}
.body-text a:hover {color:var(--charcoal); border-bottom-color:var(--charcoal);}
.btn-primary {display:inline-flex; align-items:center; gap:12px; background:var(--charcoal); color:var(--cream); font-size:var(--fs-sm); font-weight:700; letter-spacing:var(--ls-wider); text-transform:uppercase; padding:18px 38px; text-decoration:none; border:1.5px solid var(--charcoal); transition:var(--transition); cursor:pointer;}
.btn-primary:hover {background:var(--gold-deep); border-color:var(--gold-deep); color:var(--white); transform:translateY(-2px); box-shadow:0 14px 32px -14px rgba(139,111,63,0.55);}
.btn-primary::after {content:'→'; transition:transform 0.2s; font-weight:400;}
.btn-primary:hover::after {transform:translateX(4px);}
.btn-secondary {display:inline-flex; align-items:center; gap:12px; background:transparent; color:var(--charcoal); font-size:var(--fs-sm); font-weight:700; letter-spacing:var(--ls-wider); text-transform:uppercase; padding:18px 38px; text-decoration:none; border:1.5px solid var(--charcoal); transition:var(--transition); cursor:pointer;}
.btn-secondary:hover {background:var(--charcoal); color:var(--cream);}
.link-arrow {display:inline-flex; align-items:center; gap:12px; font-size:var(--fs-sm); letter-spacing:var(--ls-wider); text-transform:uppercase; color:var(--gold-ink); text-decoration:none; font-weight:700; transition:gap 0.2s, color 0.2s; padding:4px 0;}
.link-arrow:hover {gap:18px; color:var(--charcoal);}
.link-arrow::after {content:'→'; font-weight:500;}
.page-hero {display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; max-width:1440px; margin:0 auto; padding:64px 40px 72px; background:linear-gradient(135deg, rgba(240,232,216,0.55) 0%, rgba(242,229,204,0.4) 100%); border-bottom:3px solid var(--gold);}
.hero-image-col {background:linear-gradient(135deg, #E8DCC8 0%, #F0E8D8 100%); aspect-ratio:3/2; border-radius:2px; overflow:hidden;}
.hero-image-col img {width:100%; height:100%; object-fit:cover; display:block;}
.hero-text-col {padding:20px 0;}
.hero-page-title {font-family:'Cormorant Garamond', serif; font-size:var(--fs-2xl); font-weight:500; color:var(--text-primary); margin-bottom:24px; line-height:1.05; letter-spacing:var(--ls-tight);}
.hero-page-title i.i-italic {font-style:italic; font-weight:400; color:var(--text-sub);}
.hero-bio {font-size:19px; color:var(--text-body); line-height:1.7; margin-bottom:0; max-width:560px; font-weight:400;}
.credential-row {background:var(--white); border-top:1px solid rgba(115,88,49,0.20); border-bottom:1px solid rgba(115,88,49,0.20); padding:34px 40px;}
.credential-row-inner {max-width:1440px; margin:0 auto; display:flex; align-items:flex-start; justify-content:center; flex-wrap:wrap; gap:0;}
.credential-item {flex:1; min-width:180px; text-align:center; padding:8px 28px; position:relative;}
.credential-item:not(:last-child)::after {content:''; position:absolute; right:0; top:50%; transform:translateY(-50%); width:1px; height:64px; background:linear-gradient(180deg, transparent 0%, rgba(201,169,110,0.25) 15%, rgba(201,169,110,0.85) 50%, rgba(201,169,110,0.25) 85%, transparent 100%);}
.credential-item:not(:last-child)::before {content:''; position:absolute; right:0; top:50%; transform:translate(50%, -50%) rotate(45deg); width:6px; height:6px; background:var(--gold); box-shadow:0 0 0 3px var(--white); z-index:1;}
.credential-label {display:flex; flex-direction:column; justify-content:flex-end; align-items:center; min-height:2.4em; font-size:13px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:10px; line-height:1.2;}
.credential-value {display:block; font-family:'Nunito Sans', system-ui, sans-serif; font-size:18px; font-weight:700; color:var(--text-primary); line-height:1.4; letter-spacing:0.01em; font-variant-numeric:tabular-nums lining-nums;}
.credential-value i.i-italic {font-style:normal; font-weight:500; color:var(--text-body); display:block; margin-top:3px; font-size:14.5px; letter-spacing:0.02em;}
.content-section {padding:var(--sp-section) 40px; max-width:1440px; margin:0 auto; background:var(--cream); border-top:2px solid var(--gold);}
.content-section-alt {padding:var(--sp-section) 40px; background:var(--cream-dark); max-width:1440px; margin:0 auto; border-top:2px solid var(--gold);}
.split-layout {display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start;}
.split-sticky {position:sticky; top:200px;}
.bdh-quote {background:linear-gradient(135deg, var(--gold-pale) 0%, rgba(242,229,204,0.5) 100%); padding:32px 34px; margin:28px 0; border-left:3px solid var(--gold-deep); border-radius:0;}
.bdh-quote blockquote {font-family:'Cormorant Garamond', serif; font-size:23px; font-weight:500; color:var(--text-primary); line-height:1.45; margin-bottom:18px; font-style:italic; letter-spacing:0.005em;}
.bdh-quote cite {font-size:var(--fs-sm); color:var(--text-sub); letter-spacing:0.03em; display:block; font-style:normal; font-weight:600;}
.img-placeholder {background:linear-gradient(135deg, #E8DCC8 0%, #F0E8D8 100%); aspect-ratio:3/2; border-radius:2px; margin:32px 0; overflow:hidden;}
.img-placeholder img {width:100%; height:100%; object-fit:cover; display:block;}
.bento-grid {display:grid; grid-template-columns:repeat(6, 1fr); grid-auto-rows:minmax(220px, auto); gap:18px; margin-top:8px;}
.bento-card {background:var(--white); border:1px solid rgba(115,88,49,0.18); padding:36px 32px; position:relative; transition:var(--transition); display:flex; flex-direction:column; overflow:hidden;}
.bento-card::before {content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, var(--gold) 0%, var(--gold-deep) 100%); transform:scaleX(0); transform-origin:left; transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);}
.bento-card:hover {border-color:rgba(115,88,49,0.4); box-shadow:0 24px 50px -28px rgba(42,36,32,0.20); transform:translateY(-2px);}
.bento-card:hover::before {transform:scaleX(1);}
.bento-card--lg {grid-column:span 4;}
.bento-card--md {grid-column:span 3;}
.bento-card--sm {grid-column:span 2;}
.bento-card--feature + .bento-card--md {padding-top:72px;}
.bento-icon {width:48px; height:48px; margin-bottom:22px; color:var(--gold-deep); flex-shrink:0;}
.bento-icon svg {width:100%; height:100%;}
.bento-title {font-family:'Cormorant Garamond', serif; font-size:24px; font-weight:500; color:var(--text-primary); margin-bottom:14px; line-height:1.2; letter-spacing:var(--ls-tight);}
.bento-title i.i-italic {font-style:italic; font-weight:400; color:var(--text-sub);}
.bento-body {font-size:16px; color:var(--text-body); line-height:1.7; margin:0;}
.editorial-interlude {background: radial-gradient(ellipse at 30% 20%, rgba(201,169,110,0.10) 0%, transparent 60%), linear-gradient(180deg, #2A2420 0%, #1F1A16 100%); padding:clamp(80px, 11vw, 124px) 40px; position:relative; overflow:hidden;}
.editorial-interlude::before {content:''; position:absolute; top:48px; left:50%; transform:translateX(-50%); width:60px; height:1px; background:linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);}
.editorial-interlude-inner {max-width:1080px; margin:0 auto; text-align:center; position:relative; z-index:2;}
.editorial-interlude-eyebrow {display:block; font-size:11.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:36px;}
.editorial-interlude-quote {font-family:'Cormorant Garamond', serif; font-style:italic; font-weight:400; font-size:clamp(30px, 4.4vw, 56px); line-height:1.3; color:#FAF7F2; letter-spacing:-0.005em; margin-bottom:44px;}
.editorial-interlude-quote::before, .editorial-interlude-quote::after {content:''; display:inline-block; width:8px; height:8px; background:var(--gold); transform:rotate(45deg); margin:0 14px; vertical-align:middle; opacity:0.75;}
.editorial-interlude-cite {display:block; font-family:'Nunito Sans', sans-serif; font-style:normal; font-size:12.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:rgba(250,247,242,0.78); font-weight:700;}
.editorial-interlude-cite i.i-italic {font-family:'Cormorant Garamond', serif; font-style:italic; font-size:16px; letter-spacing:0.02em; color:rgba(250,247,242,0.92); text-transform:none; font-weight:400; display:block; margin-top:8px;}
.consultation-intro {margin-bottom:44px; max-width:820px;}
.consultation-steps-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:36px;}
.consult-card {position:relative; background:var(--white); border:1px solid rgba(115,88,49,0.18); border-top:3px solid var(--gold); padding:38px 30px;}
.consult-card--feature {background:linear-gradient(180deg, #FEFCF8 0%, #F5EFE5 100%); border-top:3px solid var(--gold-deep); box-shadow:0 18px 50px -24px rgba(42,36,32,0.18);}
.consult-tag {position:absolute; top:-16px; left:50%; transform:translateX(-50%); display:inline-block; font-size:11.5px; letter-spacing:0.26em; text-transform:uppercase; color:var(--cream); font-weight:700; padding:10px 22px; background:var(--charcoal); border:1px solid var(--charcoal); box-shadow:0 10px 28px -10px rgba(42,36,32,0.55); line-height:1; white-space:nowrap;}
.consult-byline {display:block; margin-top:2px; margin-bottom:14px; font-family:'Cormorant Garamond', serif; font-style:italic; font-weight:500; font-size:21px; color:var(--gold-deep); line-height:1.1;}
.consult-tech {font-family:'Cormorant Garamond', serif; font-style:italic; font-weight:600; color:var(--gold-deep); font-size:1.06em; letter-spacing:0;}
.consult-num {display:block; font-family:'Cormorant Garamond', serif; font-size:44px; font-weight:400; color:var(--gold-deep); line-height:1; margin-bottom:16px; letter-spacing:-0.02em; opacity:0.85;}
.consultation-step-title {font-family:'Cormorant Garamond', serif; font-size:24px; font-weight:500; color:var(--text-primary); margin-bottom:14px; letter-spacing:var(--ls-tight);}
.consult-tech-link {color:inherit; text-decoration:none; border-bottom:1px solid rgba(139,111,63,0.45); transition:border-color 0.2s ease;}
.consult-tech-link:hover {border-bottom-color:var(--gold-deep);}
.mid-cta {background:var(--cream-dark); padding:72px 40px; text-align:center; border-top:1px solid rgba(115,88,49,0.25); border-bottom:1px solid rgba(115,88,49,0.25);}
.mid-cta-inner {max-width:780px; margin:0 auto;}
.mid-cta-eyebrow {display:block; font-size:11.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:16px;}
.mid-cta-title {font-family:'Cormorant Garamond', serif; font-size:clamp(30px, 3.8vw, 44px); font-weight:500; color:var(--text-primary); line-height:1.15; margin-bottom:16px; letter-spacing:var(--ls-tight);}
.mid-cta-title i.i-italic {font-style:italic; font-weight:400; color:var(--text-sub);}
.mid-cta-sub {font-size:17px; color:var(--text-body); line-height:1.7; margin-bottom:32px; max-width:580px; margin-left:auto; margin-right:auto;}
.mid-cta-actions {display:flex; justify-content:center; flex-wrap:wrap; gap:14px;}
.treatment-list {max-width:920px;}
.treatment-category {margin-top:32px; margin-bottom:0; padding:30px 34px; background:var(--cream-dark); border-left:3px solid var(--gold-deep); border-radius:2px;}
.treatment-category-label {font-size:11.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:18px; display:block;}
.treatment-item {margin-bottom:26px; padding-bottom:26px; border-bottom:2px solid var(--gold-pale);}
.treatment-item:last-child {border-bottom:none; margin-bottom:0; padding-bottom:0;}
.treatment-name {font-family:'Cormorant Garamond', serif; font-size:24px; font-weight:500; color:var(--text-primary); margin-bottom:8px; letter-spacing:var(--ls-tight);}
.treatment-name a {color:inherit; text-decoration:none; border-bottom:1px solid transparent; transition:var(--transition);}
.treatment-name a:hover {color:var(--gold-ink); border-bottom-color:var(--gold-deep);}
.treatment-provider {font-size:12.5px; color:var(--text-sub); letter-spacing:var(--ls-wider); text-transform:uppercase; font-weight:700; margin-bottom:16px; display:inline-block;}
.treatment-body {font-size:var(--fs-base); color:var(--text-body); line-height:var(--lh-base);}
.treatment-footnote {margin-top:32px; padding:20px 26px; background:rgba(254,252,248,0.7); border:1px solid rgba(115,88,49,0.20); font-size:14.5px; color:var(--text-sub); line-height:1.7;}
.treatment-footnote a {color:var(--gold-ink); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.45); font-weight:700;}
.treatment-footnote a:hover {color:var(--charcoal); border-bottom-color:var(--charcoal);}
.faq-section {max-width:920px; background:var(--cream-dark); padding:36px 40px; border-radius:2px;}
.faq-item {border-bottom:1px solid rgba(115,88,49,0.22);}
.faq-item:last-child {border-bottom:none;}
.faq-btn {width:100%; padding:22px 0; background:none; border:none; text-align:left; cursor:pointer; display:flex; justify-content:space-between; align-items:flex-start; gap:24px; transition:color 0.3s var(--ease); font-family:'Cormorant Garamond', serif; font-size:21px; font-weight:500; color:var(--text-primary); letter-spacing:var(--ls-tight); line-height:1.35;}
.faq-btn:hover {color:var(--gold-ink);}
.faq-q {flex:1;}
.faq-icon {flex-shrink:0; width:22px; height:22px; position:relative; display:inline-block; transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94); margin-top:8px;}
.faq-icon::before, .faq-icon::after {content:''; position:absolute; background:var(--gold-deep); transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);}
.faq-icon::before {top:50%; left:0; right:0; height:1.6px; transform:translateY(-50%);}
.faq-icon::after {top:0; bottom:0; left:50%; width:1.6px; transform:translateX(-50%);}
.faq-btn[aria-expanded="true"] .faq-icon::after {transform:translateX(-50%) scaleY(0);}
.faq-answer {max-height:0; overflow:hidden; transition:max-height 0.4s ease;}
.faq-btn[aria-expanded="true"] + .faq-answer {max-height:800px; padding-bottom:28px;}
.faq-answer p {color:var(--text-body); line-height:1.75; margin-bottom:16px; font-size:17px;}
.faq-answer p:last-child {margin-bottom:0;}
.faq-answer a {color:var(--gold-ink); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.45); font-weight:600;}
.faq-answer a:hover {color:var(--charcoal); border-bottom-color:var(--charcoal);}
.physician-feature {background:var(--cream); padding:var(--sp-section) 40px; position:relative; border-top:1px solid rgba(115,88,49,0.18);}
.physician-feature-inner {max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr 1.1fr; gap:72px; align-items:center;}
.physician-portrait {position:relative; aspect-ratio:4/5; background:linear-gradient(135deg, #E8DCC8 0%, #F0E8D8 100%); border-radius:2px; overflow:hidden;}
.physician-portrait img {width:100%; height:100%; object-fit:cover; display:block;}
.physician-text {padding:8px 0;}
.physician-eyebrow {display:block; font-size:11.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:20px;}
.physician-name {font-family:'Cormorant Garamond', serif; font-size:clamp(40px, 5vw, 62px); font-weight:500; color:var(--text-primary); line-height:1.05; letter-spacing:var(--ls-tight); margin-bottom:10px;}
.physician-name i.i-italic {font-style:italic; font-weight:400; color:var(--text-sub); display:block; font-size:0.7em; margin-top:6px;}
.physician-credentials {font-family:'Cormorant Garamond', serif; font-style:italic; font-size:21px; font-weight:500; color:var(--gold-deep); margin-bottom:32px; line-height:1.4; letter-spacing:0.005em;}
.physician-rule {width:64px; height:1px; background:linear-gradient(90deg, var(--gold-deep) 0%, transparent 100%); margin-bottom:32px;}
.physician-philosophy {font-size:17.5px; line-height:1.78; color:var(--text-body); margin-bottom:20px;}
.physician-philosophy:last-of-type {margin-bottom:36px;}
.physician-meta {display:flex; flex-wrap:wrap; gap:32px; margin-bottom:36px; padding:26px 0; border-top:1px solid rgba(115,88,49,0.20); border-bottom:1px solid rgba(115,88,49,0.20);}
.physician-meta-item {flex:1; min-width:140px;}
.physician-meta-label {display:block; font-size:11px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:8px;}
.physician-meta-value {display:block; font-family:'Nunito Sans', system-ui, sans-serif; font-size:18px; font-weight:700; color:var(--text-primary); line-height:1.4; letter-spacing:0.01em; font-variant-numeric:tabular-nums lining-nums;}
.physician-meta-value i.i-italic {font-style:normal; font-weight:500; color:var(--text-body); display:block; margin-top:3px; font-size:14.5px; letter-spacing:0.02em;}
.physician-actions {display:flex; flex-wrap:wrap; gap:18px; align-items:center;}
.cta-section {position:relative; background: radial-gradient(ellipse at 50% 0%, rgba(201,169,110,0.12) 0%, transparent 55%), linear-gradient(180deg, #F5EFE5 0%, #EDE4D6 60%, #E8DBC2 100%); padding:clamp(80px, 11vw, 112px) 40px; text-align:center; border-top:1px solid rgba(115,88,49,0.25); border-bottom:1px solid rgba(115,88,49,0.25); overflow:hidden;}
.cta-section::before, .cta-section::after {content:''; position:absolute; top:24px; width:60px; height:60px; border:1px solid rgba(115,88,49,0.45); opacity:0.7;}
.cta-section::before {left:24px; border-right:none; border-bottom:none;}
.cta-section::after {right:24px; border-left:none; border-bottom:none;}
.cta-inner {position:relative; max-width:780px; margin:0 auto; padding:64px 56px; background:rgba(254,252,248,0.6); border:1px solid var(--gold-deep); box-shadow: 0 0 0 6px rgba(254,252,248,0.55), 0 0 0 7px rgba(115,88,49,0.45), 0 30px 80px -30px rgba(42,36,32,0.22);}
.cta-ornament {display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:22px;}
.cta-ornament-line {width:64px; height:1px; background:linear-gradient(90deg, transparent 0%, var(--gold-deep) 100%);}
.cta-ornament-line.right {background:linear-gradient(90deg, var(--gold-deep) 0%, transparent 100%);}
.cta-ornament-diamond {width:9px; height:9px; background:var(--gold-deep); transform:rotate(45deg); flex-shrink:0;}
.cta-eyebrow {display:block; font-size:11.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:20px;}
.cta-title {font-family:'Cormorant Garamond', serif; font-size:clamp(36px, 5vw, 56px); font-weight:500; color:var(--text-primary); line-height:1.1; margin-bottom:18px; letter-spacing:var(--ls-tight);}
.cta-title i.i-italic {font-style:italic; font-weight:400; color:var(--text-sub);}
.cta-sub {font-size:18px; color:var(--text-body); line-height:1.7; margin-bottom:32px; max-width:580px; margin-left:auto; margin-right:auto;}
.cta-actions {display:flex; justify-content:center; gap:14px; flex-wrap:wrap;}
.contact-section {background:var(--cream); padding:var(--sp-section) 40px; border-top:1px solid rgba(115,88,49,0.18);}
.contact-inner {max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr 1.15fr; gap:72px; align-items:start;}
.contact-intro {position:sticky; top:200px;}
.contact-eyebrow {display:block; font-size:11.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:20px;}
.contact-title {font-family:'Cormorant Garamond', serif; font-size:clamp(42px, 5.2vw, 64px); font-weight:500; color:var(--text-primary); line-height:1.05; margin-bottom:20px; letter-spacing:var(--ls-tight);}
.contact-title i.i-italic {font-style:italic; font-weight:400; color:var(--text-sub);}
.contact-lede {font-size:18px; line-height:1.75; color:var(--text-body); margin-bottom:32px; max-width:440px;}
.contact-ornament {display:flex; align-items:center; gap:12px; margin-bottom:32px;}
.contact-ornament-diamond {width:8px; height:8px; background:var(--gold-deep); transform:rotate(45deg);}
.contact-ornament-line {flex:1; max-width:80px; height:1px; background:linear-gradient(90deg, var(--gold-deep) 0%, transparent 100%);}
.contact-deck {margin-bottom:32px;}
.contact-row {display:flex; align-items:flex-start; gap:20px; padding:18px 0; border-bottom:1px solid rgba(115,88,49,0.20);}
.contact-row:last-child {border-bottom:none;}
.contact-row-label {flex-shrink:0; width:100px; font-size:13px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; padding-top:4px; line-height:1.2;}
.contact-row-value {font-family:'Nunito Sans', system-ui, sans-serif; font-size:17px; font-weight:600; color:var(--text-primary); line-height:1.55; letter-spacing:0.02em; text-decoration:none; font-variant-numeric:tabular-nums lining-nums; transition:color 0.3s var(--ease);}
.contact-row-value:hover {color:var(--gold-ink);}
.contact-hours-mini {font-family:'Nunito Sans', system-ui, sans-serif; font-size:15px; font-weight:500; color:var(--text-body); line-height:1.85; padding-top:24px; border-top:1px solid rgba(115,88,49,0.20); font-variant-numeric:tabular-nums lining-nums;}
.contact-hours-mini strong {display:block; font-size:13px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:12px; line-height:1.2;}
.contact-form-wrap {position:relative; background:var(--white); padding:56px 52px; border:1px solid rgba(115,88,49,0.25); box-shadow:0 30px 80px -40px rgba(42,36,32,0.18);}
.form-card-eyebrow {display:block; font-size:11.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:14px;}
.form-card-title {font-family:'Cormorant Garamond', serif; font-size:30px; font-weight:500; color:var(--text-primary); margin-bottom:36px; letter-spacing:var(--ls-tight);}
.form-row {display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-bottom:26px;}
.form-group {margin-bottom:26px;}
.form-label {display:block; font-size:11.5px; letter-spacing:var(--ls-wider); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:10px;}
.form-optional {font-size:10.5px; font-weight:600; letter-spacing:0.1em; color:var(--text-muted); text-transform:none; margin-left:6px;}
.form-input {width:100%; border:none; border-bottom:1.5px solid rgba(115,88,49,0.38); background:transparent; padding:14px 0; font-family:'Nunito Sans', sans-serif; font-size:16px; color:var(--text-primary); transition:border-color 0.25s; -webkit-appearance:none; border-radius:0;}
.form-input::placeholder {color:var(--text-muted); opacity:0.7;}
.form-input:focus {outline:none; border-bottom-color:var(--gold-deep); border-bottom-width:2px;}
.form-textarea {resize:vertical; min-height:120px; line-height:1.65;}
.form-footer {display:flex; gap:26px; align-items:flex-start; flex-wrap:wrap; margin-top:8px;}
.form-disclaimer {flex:1; font-size:13px; color:var(--text-sub); line-height:1.65; min-width:200px; font-weight:500;}
.btn-submit {flex-shrink:0; display:inline-flex; align-items:center; gap:12px; background:var(--charcoal); color:var(--cream); font-family:'Nunito Sans', sans-serif; font-size:13px; font-weight:700; letter-spacing:var(--ls-wider); text-transform:uppercase; padding:17px 36px; border:1.5px solid var(--charcoal); cursor:pointer; transition:all 0.25s ease;}
.btn-submit::after {content:'→'; transition:transform 0.2s; font-weight:400;}
.btn-submit:hover {background:var(--gold-deep); border-color:var(--gold-deep); color:var(--white);}
.btn-submit:hover::after {transform:translateX(4px);}
.form-success {display:none; position:absolute; inset:0; background:var(--white); align-items:center; justify-content:center; text-align:center; padding:40px;}
.form-success.is-visible {display:flex;}
.form-success-inner {max-width:400px;}
.form-success-icon {display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border:1.5px solid var(--gold-deep); color:var(--gold-deep); font-size:24px; margin-bottom:24px; border-radius:50%;}
.form-success h3 {font-family:'Cormorant Garamond', serif; font-size:28px; font-weight:500; color:var(--charcoal); margin-bottom:12px; letter-spacing:var(--ls-tight);}
.form-success p {color:var(--text-body); font-size:16px; line-height:1.65;}
.site-footer-dark {position:relative; background:linear-gradient(180deg, var(--footer-bg-from) 0%, var(--footer-bg-to) 100%); color:var(--charcoal); border-top:none;}
.site-footer-dark::before {content:''; display:block; height:4px; background:linear-gradient(90deg, transparent 0%, var(--gold-deep) 12%, var(--gold) 50%, var(--gold-deep) 88%, transparent 100%);}
.footer-dark-inner {max-width:1440px; margin:0 auto; padding:76px 40px 0;}
.footer-dark-top {display:flex; justify-content:space-between; align-items:center; padding-bottom:38px; border-bottom:1px solid rgba(42,36,32,0.20); margin-bottom:48px; flex-wrap:wrap; gap:24px;}
.footer-dark-logo {text-decoration:none; display:inline-block;}
.footer-dark-wordmark {font-family:'Cormorant Garamond', serif; font-size:32px; font-weight:500; letter-spacing:0.16em; color:var(--charcoal); display:block; text-transform:uppercase; line-height:1.05;}
.footer-dark-subline {font-size:11.5px; letter-spacing:var(--ls-widest); color:var(--gold-ink); text-transform:uppercase; display:block; margin-top:10px; font-weight:700;}
.footer-social {display:flex; align-items:center; gap:14px;}
.footer-social-label {font-size:11.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-right:6px;}
.footer-social-link {display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid rgba(42,36,32,0.5); color:var(--charcoal); text-decoration:none; transition:all 0.25s ease; background:rgba(254,252,248,0.4);}
.footer-social-link:hover {border-color:var(--charcoal); color:var(--cream); background:var(--charcoal); transform:translateY(-2px);}
.footer-dark-cols {display:grid; grid-template-columns:repeat(6, 1fr); gap:28px; padding-bottom:48px; border-bottom:1px solid rgba(42,36,32,0.20);}
.footer-dark-heading {font-family:'Cormorant Garamond', serif; font-size:19px; font-weight:600; color:var(--charcoal); margin-bottom:22px; letter-spacing:0.01em; padding-bottom:14px; position:relative;}
.footer-dark-heading::after {content:''; position:absolute; left:0; bottom:0; width:32px; height:1.5px; background:var(--gold-deep);}
.footer-dark-col ul {list-style:none;}
.footer-dark-col li {margin-bottom:12px;}
.footer-dark-col a {color:var(--charcoal); text-decoration:none; font-size:14.5px; font-weight:600; transition:all 0.2s ease; line-height:1.5; letter-spacing:0.005em; position:relative; padding-left:0;}
.footer-dark-col a:hover {color:var(--gold-ink); padding-left:6px;}
.footer-dark-contact-line {margin-bottom:18px; line-height:1.55;}
.footer-dark-contact-line a {color:var(--charcoal); text-decoration:none; transition:color 0.2s; font-weight:600; font-size:15px; letter-spacing:0.01em; font-variant-numeric:tabular-nums lining-nums;}
.footer-dark-contact-line a:hover {color:var(--gold-ink);}
.footer-dark-label {display:block; color:var(--gold-ink); font-weight:700; font-size:12.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; margin-bottom:7px; line-height:1.2;}
.footer-dark-value {display:block; color:var(--charcoal); font-size:15px; font-weight:600; line-height:1.55; letter-spacing:0.01em; font-variant-numeric:tabular-nums lining-nums;}
.footer-dark-hours {font-size:15px; color:var(--charcoal); line-height:1.85; margin-top:18px; font-weight:600; padding-top:18px; border-top:1px solid rgba(42,36,32,0.20); font-variant-numeric:tabular-nums lining-nums;}
.footer-dark-hours strong {display:block; color:var(--gold-ink); font-weight:700; font-size:12.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; margin-bottom:10px; line-height:1.2;}
.footer-dark-bottom {display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:24px; padding:34px 0 40px; margin-top:4px;}
.footer-dark-legal {flex:1; min-width:280px; max-width:820px;}
.footer-dark-copy {font-size:13.5px; color:var(--text-body); line-height:1.7; letter-spacing:0.01em; font-weight:500; margin-bottom:0; font-variant-numeric:tabular-nums lining-nums;}
.footer-policy-row {list-style:none; display:flex; flex-wrap:wrap; align-items:center; margin:0; padding:0; margin-top:16px; padding-top:16px; border-top:1px solid rgba(42,36,32,0.18);}
.footer-policy-row li {display:flex; align-items:center; line-height:1;}
.footer-policy-row li:not(:last-child)::after {content:'·'; margin:0 12px; color:var(--gold-deep); font-weight:700; font-size:14px;}
.footer-policy-row a {font-size:11.5px; letter-spacing:var(--ls-wider); text-transform:uppercase; font-weight:700; color:var(--charcoal); text-decoration:none; transition:color 0.2s ease;}
.footer-policy-row a:hover {color:var(--gold-ink);}
.footer-dark-actions {display:flex; gap:8px; flex-wrap:wrap;}
.footer-action-link {display:inline-flex; align-items:center; gap:9px; padding:12px 22px; background:rgba(254,252,248,0.65); border:1px solid rgba(42,36,32,0.4); color:var(--charcoal); text-decoration:none; font-size:12px; font-weight:700; letter-spacing:var(--ls-wider); text-transform:uppercase; transition:all 0.25s ease;}
.footer-action-link:hover {background:var(--charcoal); border-color:var(--charcoal); color:var(--cream);}
img, svg, video {max-width:100%; height:auto;}
.expandable {position:relative;}
.expandable__content {display:grid; grid-template-rows:1fr; transition:grid-template-rows 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.expandable__inner {overflow:hidden; min-height:0;}
.expandable.is-collapsed .expandable__content {grid-template-rows:0fr;}
.expandable.is-collapsed .expandable__preview {display:block;}
.expandable__preview {display:none; position:relative; margin-bottom:14px;}
.expandable__preview p {font-size:var(--fs-base); color:var(--text-body); line-height:var(--lh-base); margin:0;}
.expandable__preview::after {content:''; position:absolute; left:0; right:0; bottom:0; height:2.4em; background:linear-gradient(180deg, transparent 0%, var(--cream) 92%); pointer-events:none;}
.content-section-alt .expandable__preview::after, .faq-section .expandable__preview::after, .treatment-category .expandable__preview::after {background:linear-gradient(180deg, transparent 0%, var(--cream-dark) 92%);}
.bento-card .expandable__preview::after, .consult-card .expandable__preview::after, .contact-form-wrap .expandable__preview::after {background:linear-gradient(180deg, transparent 0%, var(--white) 92%);}
.consult-card--feature .expandable__preview::after {background:linear-gradient(180deg, transparent 0%, #FAF4E9 92%);}
.expandable__toggle {display:none; margin-top:18px; background:transparent; border:none; padding:12px 0 6px; cursor:pointer; font-family:'Nunito Sans', sans-serif; font-size:12px; font-weight:700; letter-spacing:var(--ls-wider); text-transform:uppercase; color:var(--gold-ink); -webkit-tap-highlight-color:transparent; touch-action:manipulation; min-height:44px; align-items:center; gap:10px; transition:color 0.25s var(--ease), gap 0.25s var(--ease); position:relative;}
.expandable__toggle::before {content:''; display:inline-block; width:24px; height:1px; background:var(--gold-deep); transition:background-color 0.25s var(--ease), width 0.25s var(--ease);}
.expandable__toggle:hover, .expandable__toggle:focus-visible {color:var(--charcoal); gap:14px; outline:none;}
.expandable__toggle:hover::before, .expandable__toggle:focus-visible::before {background:var(--charcoal); width:32px;}
.expandable__toggle-icon {display:inline-block; width:12px; height:12px; position:relative; margin-left:6px; transition:transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.expandable__toggle-icon::before, .expandable__toggle-icon::after {content:''; position:absolute; background:currentColor; transition:transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.expandable__toggle-icon::before {top:50%; left:0; right:0; height:1.5px; transform:translateY(-50%);}
.expandable__toggle-icon::after {top:0; bottom:0; left:50%; width:1.5px; transform:translateX(-50%);}
.expandable:not(.is-collapsed) .expandable__toggle-icon::after {transform:translateX(-50%) scaleY(0);}
.faq-answer {max-height:none; display:grid; grid-template-rows:0fr; transition:grid-template-rows 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94); overflow:hidden;}
.faq-answer-inner {min-height:0; overflow:hidden; padding-bottom:0; transition:padding-bottom 0.4s var(--ease);}
.faq-btn[aria-expanded="true"] + .faq-answer {max-height:none; grid-template-rows:1fr; padding-bottom:0;}
.faq-btn[aria-expanded="true"] + .faq-answer .faq-answer-inner {padding-bottom:28px;}
.faq-btn {min-height:64px; -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
.nav-backdrop {position:fixed; inset:0; background:rgba(30,26,23,0.42); opacity:0; visibility:hidden; z-index:998; transition:opacity 0.35s var(--ease), visibility 0.35s var(--ease); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);}
.nav-backdrop.is-open {opacity:1; visibility:visible;}
.img-placeholder img, .hero-image-col img, .physician-portrait img {transition:opacity 0.6s ease;}
.site-logo {display:flex; flex-direction:row; align-items:center; justify-content:center; gap:20px; text-align:left; text-decoration:none;}
.logo-mark {width:44px; height:44px; object-fit:contain; flex-shrink:0; display:block; vertical-align:middle;}
.logo-text-group {display:flex; flex-direction:column; justify-content:center; padding-left:20px; border-left:1px solid rgba(201,169,110,0.4);}
.footer-dark-logo {display:flex; flex-direction:row; align-items:center; gap:24px; text-align:left; text-decoration:none;}
.footer-logo-mark {width:52px; height:52px; object-fit:contain; flex-shrink:0; display:block;}
.footer-logo-text {display:flex; flex-direction:column; justify-content:center; padding-left:24px; border-left:1px solid rgba(201,169,110,0.4);}
.bento-card--feature .bento-eyebrow {position:absolute; top:36px; left:32px; font-size:11px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:0;}
.bento-card--feature {grid-column:span 3; padding-top:72px; background:linear-gradient(180deg, #FEFCF8 0%, #F5EFE5 100%); border-color:rgba(115,88,49,0.30);}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  .expandable__content, .expandable__toggle, .expandable__toggle::before, .expandable__toggle-icon::before, .expandable__toggle-icon::after {transition:none !important;}
}
@media (max-width:768px) {
  .age-bar {font-size:13px; padding:12px 18px; line-height:1.5;}
  .bento-icon {width:56px; height:56px; margin-bottom:18px;}
  .editorial-interlude {padding:84px 22px;}
  .editorial-interlude-quote::before, .editorial-interlude-quote::after {width:6px; height:6px; margin:0 10px;}
  .consultation-steps-grid {grid-template-columns:1fr; gap:18px;}
}
@media (max-width:900px) {
  .header-inner {padding:0 20px; height:72px;}
  .hamburger {display:flex;}
  .phone-link {display:inline-flex; gap:0; padding:8px;}
  .phone-link .phone-text {display:none;}
  .phone-link svg {width:20px; height:20px;}
  .header-right {gap:14px;}
  .btn-book {padding:11px 20px; font-size:13px; letter-spacing:0.08em;}
  .site-logo .wordmark {font-size:21px; letter-spacing:0.12em;}
  .site-logo .sub-line {font-size:10px; letter-spacing:0.24em;}
  .header-left {gap:6px;}
  .search-btn {width:40px; height:40px;}
  .search-btn svg {width:17px; height:17px;}
  .search-overlay-inner {padding:24px 20px 22px; gap:10px;}
  .search-result-title {font-size:17px;}
  .credential-row {padding:24px 22px;}
  .credential-item {flex:1 1 45%; min-width:0; padding:14px 16px;}
  .credential-item::after, .credential-item::before {display:none;}
  .physician-feature {padding:72px 22px;}
  .physician-feature-inner {grid-template-columns:1fr; gap:48px;}
  .physician-portrait {aspect-ratio:3/4; max-width:480px; margin:0 auto;}
  .physician-meta {gap:24px;}
  .header-inner {padding:0 20px;}
  .nav-inner {padding:0;}
  .main-nav {display:none;}
  .main-nav.is-open {display:block;}
  .nav-inner {flex-direction:column; align-items:stretch;}
  .nav-item {width:100%; border-bottom:1px solid rgba(115,88,49,0.12);}
  .nav-item.has-mega {position:relative; width:100%;}
  .nav-item > a {padding:16px 24px;}
  .dropdown {position:static; min-width:auto; border:none; box-shadow:none; background:rgba(115,88,49,0.04);}
  .nav-item:hover .dropdown, .nav-item.is-open .dropdown {display:block;}
  .mega-dropdown {position:static; width:100%; max-width:none; transform:none; left:auto; border:none; box-shadow:none; background:rgba(115,88,49,0.04); padding:0;}
  .nav-item.has-mega:hover .mega-dropdown, .nav-item.has-mega.is-open .mega-dropdown {display:block;}
  .mega-grid {grid-template-columns:1fr; padding:8px 0; gap:0;}
  .mega-col {padding:0; border-left:none; border-top:1px solid rgba(115,88,49,0.10);}
  .mega-col:first-child {border-top:none;}
  .mega-section {margin-bottom:8px; padding:0 24px;}
  .mega-heading {margin:18px 0 10px; padding-bottom:8px; font-size:19px;}
  .mega-col a {padding:10px 24px;}
  .mega-col a:hover {padding-left:34px;}
  .mega-footer {flex-direction:column; align-items:flex-start; padding:22px 24px; gap:14px;}
  .mega-footer-cta {width:100%; justify-content:center;}
  .breadcrumb-inner {padding:14px 22px; font-size:13.5px;}
  .anchor-nav {padding:0; top:72px;}
  .anchor-nav-inner {flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:0 22px; gap:18px; scrollbar-width:none;}
  .anchor-nav-inner::-webkit-scrollbar {display:none;}
  .anchor-link {padding:14px 0; font-size:13px;}
  .content-section, .content-section-alt {padding:56px 22px;}
  .split-layout {gap:40px;}
  .bdh-quote {padding:26px 24px;}
  .bdh-quote blockquote {font-size:20px; line-height:1.5;}
  .faq-section {padding:28px 26px;}
  .faq-btn {font-size:19px; padding:20px 0; gap:18px;}
  .faq-answer p {font-size:16px; line-height:1.7;}
  .treatment-category {padding:26px 24px;}
  .treatment-name {font-size:22px;}
  .expandable[data-collapsible="true"] .expandable__toggle {display:inline-flex;}
  .main-nav {display:block; position:fixed; top:0; bottom:0; right:0; width:min(86vw, 380px); background:var(--cream); z-index:1001; transform:translateX(100%); transition:transform 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94); overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; box-shadow:-20px 0 60px -10px rgba(42,36,32,0.18); border-left:1px solid rgba(115,88,49,0.16); border-bottom:none; padding-top:env(safe-area-inset-top, 0); padding-bottom:calc(40px + env(safe-area-inset-bottom, 0));}
  .main-nav.is-open {transform:translateX(0);}
  .nav-inner::before {content:'MENU'; display:block; font-family:'Cormorant Garamond', serif; font-size:12px; letter-spacing:var(--ls-widest); color:var(--gold-ink); font-weight:700; text-transform:uppercase; padding:26px 26px 14px; border-bottom:1px solid rgba(115,88,49,0.14); background:var(--cream); position:sticky; top:0; z-index:2;}
  .nav-inner {padding:0 0 16px;}
  .nav-item {width:100%; border-bottom:1px solid rgba(115,88,49,0.18);}
  .nav-item:last-child {border-bottom:none;}
  .nav-item > a {display:flex; align-items:center; gap:14px; font-family:'Cormorant Garamond', serif; font-size:22px; font-weight:500; letter-spacing:-0.005em; text-transform:none; color:var(--charcoal); padding:20px 26px 12px; line-height:1.15; text-decoration:none; position:relative; background:var(--cream-mid); border-left:3px solid var(--gold-deep);}
  .nav-item > a::before {content:''; flex-shrink:0; width:6px; height:6px; background:var(--gold-deep); transform:rotate(45deg); margin-right:2px;}
  .nav-item > a:hover, .nav-item > a:focus-visible, .nav-item > a:active {color:var(--gold-deep); background:var(--gold-pale);}
  .nav-item > a:not([aria-haspopup="true"])::after {content:'→'; margin-left:auto; font-family:'Cormorant Garamond', serif; font-size:20px; color:var(--gold-deep); font-weight:400; line-height:1; transition:transform 0.25s var(--ease);}
  .nav-item > a:not([aria-haspopup="true"]):hover::after {transform:translateX(4px);}
  .nav-arrow-icon {display:none;}
  .dropdown, .mega-dropdown {display:block !important; position:static !important; width:100% !important; max-width:none !important; transform:none !important; background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important; min-width:0 !important;}
  .mega-grid {grid-template-columns:1fr !important; padding:0 !important; gap:0 !important;}
  .mega-col {padding:0 !important; border-left:none !important; border-top:none !important;}
  .mega-section {margin:0 !important; padding:6px 0 4px !important; border-top:1px solid rgba(115,88,49,0.10) !important;}
  .mega-section:first-child {border-top:none !important;}
  .mega-heading {display:flex !important; align-items:center !important; gap:12px !important; font-family:'Nunito Sans', sans-serif !important; font-size:12.5px !important; font-weight:700 !important; letter-spacing:0.18em !important; text-transform:uppercase !important; color:var(--gold-deep) !important; border:none !important; padding:18px 26px 10px !important; margin:0 !important;}
  .mega-heading::before {content:''; flex-shrink:0; width:18px; height:1px; background:var(--gold-deep);}
  .dropdown a, .mega-col a {display:block !important; font-family:'Nunito Sans', sans-serif !important; font-size:16px !important; font-weight:500 !important; letter-spacing:0 !important; color:var(--text-primary) !important; text-transform:none !important; padding:13px 26px 13px 44px !important; line-height:1.4 !important; text-decoration:none !important; border-bottom:1px solid rgba(115,88,49,0.06) !important; transition:background 0.2s var(--ease), color 0.2s var(--ease), padding-left 0.2s var(--ease) !important; -webkit-tap-highlight-color:transparent; position:relative;}
  .dropdown a:last-child, .mega-col a:last-of-type, .mega-col a:last-child {border-bottom:none !important;}
  .dropdown a::before, .mega-col a::before {content:'' !important; position:absolute !important; left:26px !important; top:50% !important; width:6px !important; height:1px !important; background:var(--gold) !important; transform:translateY(-50%) !important; opacity:0.7 !important; transition:width 0.2s var(--ease), opacity 0.2s var(--ease) !important;}
  .dropdown a:active, .mega-col a:active, .dropdown a:hover, .mega-col a:hover {background:rgba(115,88,49,0.06) !important; color:var(--gold-deep) !important; padding-left:52px !important;}
  .dropdown a:active::before, .mega-col a:active::before, .dropdown a:hover::before, .mega-col a:hover::before {width:14px !important; opacity:1 !important; background:var(--gold-deep) !important;}
  .mega-footer {flex-direction:column !important; align-items:stretch !important; padding:20px 26px 24px !important; margin:14px 0 0 !important; background:linear-gradient(180deg, var(--cream-mid) 0%, var(--cream-dark) 100%) !important; border-top:1px solid rgba(115,88,49,0.20) !important; gap:14px !important;}
  .mega-footer-text {font-family:'Cormorant Garamond', serif !important; font-size:16px !important; line-height:1.45 !important; font-style:italic !important; color:var(--text-body) !important;}
  .mega-footer-text strong {color:var(--charcoal) !important; font-style:normal !important;}
  .mega-footer-cta {width:100% !important; justify-content:center !important; padding:15px 22px !important; font-size:11.5px !important; background:var(--charcoal) !important; color:var(--cream) !important; border-color:var(--charcoal) !important;}
  body[data-nav-open="true"] {overflow:hidden; position:fixed; width:100%;}
}
@media (max-width:560px) {
  .header-inner {padding:0 14px; height:60px;}
  .header-right {gap:8px;}
  .site-logo .wordmark {font-size:14px; letter-spacing:0.05em; white-space:nowrap;}
  .site-logo .sub-line {font-size:8px; letter-spacing:0.18em; margin-top:3px;}
  .btn-book {padding:9px 13px; font-size:11.5px; letter-spacing:0.06em;}
  .btn-book-extra {display:none;}
  .phone-link {display:none;}
  .hamburger {padding:6px; min-width:40px; min-height:40px;}
  .anchor-nav {top:60px;}
  .header-left {gap:4px;}
  .search-btn {width:38px; height:38px;}
  .search-btn svg {width:16px; height:16px;}
  .search-overlay-inner {padding:18px 16px 18px; gap:8px;}
  .search-form {gap:10px; padding-bottom:12px;}
  .search-form .search-icon {width:18px; height:18px;}
  .search-input {font-size:18px; padding:8px 0;}
  .search-close {min-width:36px; min-height:36px; padding:6px;}
  .search-close svg {width:18px; height:18px;}
  .search-label {font-size:11px;}
  .search-hint {font-size:11.5px;}
  .search-result-item {padding:12px 10px;}
  .search-result-title {font-size:16px;}
  .credential-item {flex:1 1 100%; padding:16px 0;}
  .credential-item::after, .credential-item::before {display:none !important;}
  .credential-item:not(:last-child) {border-bottom:1px solid rgba(201,169,110,0.40);}
  .mid-cta {padding:52px 22px;}
  .mid-cta-actions {flex-direction:column;}
  .mid-cta-actions a {width:100%; justify-content:center;}
  .physician-meta {flex-direction:column; gap:22px; padding:22px 0;}
  .physician-meta-item {flex:1 1 100%; min-width:0;}
  .contact-row {flex-direction:column; gap:6px; align-items:flex-start; padding:16px 0;}
  .contact-row-label {width:auto; padding-top:0;}
  .contact-row-value {width:100%; word-break:break-word; overflow-wrap:break-word;}
  .logo-mark {width:34px; height:34px;}
  .logo-text-group {padding-left:14px;}
  .site-logo {gap:12px;}
}
@media (hover:none) and (pointer:coarse) {
  .search-hint .kbd-shortcut {display:none;}
  .link-arrow, .phone-link, .anchor-link, .footer-policy-row a, .contact-row-value, .footer-dark-col a {min-height:44px; display:inline-flex; align-items:center;}
  .footer-dark-col li {margin-bottom:6px;}
}
@media (max-width:360px) {
  .header-left {gap:2px;}
  .search-btn {width:36px; height:36px;}
}
@media (max-width:1100px) {
  .page-hero {grid-template-columns:1fr; gap:36px; padding:52px 40px 60px;}
  .hero-image-col {aspect-ratio:16/9;}
}
@media (max-width:640px) {
  .page-hero {padding:44px 22px 52px; gap:28px;}
  .hero-bio {font-size:17px; line-height:1.65;}
  .bento-grid {grid-template-columns:1fr; gap:14px;}
  .bento-card--lg, .bento-card--md, .bento-card--sm, .bento-card--feature {grid-column:span 1;}
  .bento-card {padding:30px 24px;}
  .bento-title {font-size:22px;}
  .cta-section {padding:68px 18px;}
  .cta-inner {padding:48px 28px;}
  .cta-actions {flex-direction:column; align-items:stretch;}
  .cta-actions a {width:100%; justify-content:center;}
  .contact-section {padding:68px 18px;}
  .contact-form-wrap {padding:36px 24px;}
  .form-row {grid-template-columns:1fr; gap:0;}
  .form-footer {flex-direction:column; align-items:stretch; gap:18px;}
  .btn-submit {width:100%; justify-content:center;}
}
@media (max-width:1000px) {
  .split-layout {grid-template-columns:1fr; gap:40px;}
  .split-sticky {position:static;}
  .bento-grid {grid-template-columns:repeat(4, 1fr);}
  .bento-card--lg {grid-column:span 4;}
  .bento-card--md {grid-column:span 2;}
  .bento-card--sm {grid-column:span 2;}
  .bento-card--feature {grid-column:span 4;}
  .contact-inner {grid-template-columns:1fr; gap:48px;}
  .contact-intro {position:static;}
  .contact-title {font-size:clamp(36px, 6vw, 52px);}
}
@media (max-width:1200px) {
  .footer-dark-cols {grid-template-columns:repeat(3, 1fr);}
}
@media (max-width:700px) {
  .footer-dark-inner {padding:62px 22px 0;}
  .footer-dark-top {flex-direction:column; align-items:flex-start; gap:20px;}
  .footer-dark-cols {grid-template-columns:1fr; gap:28px;}
  .footer-dark-bottom {flex-direction:column; align-items:flex-start;}
  .footer-dark-wordmark {font-size:26px;}
}
@supports(padding:env(safe-area-inset-left)) {
  .header-inner, .nav-inner, .breadcrumb-inner, .anchor-nav-inner, .footer-dark-inner, .age-bar {padding-left:max(env(safe-area-inset-left), 14px); padding-right:max(env(safe-area-inset-right), 14px);}
}
@media (min-width:901px) {
  .expandable.is-collapsed .expandable__content {grid-template-rows:1fr;}
  .expandable.is-collapsed .expandable__preview {display:none;}
  .expandable__toggle {display:none !important;}
}
@media (min-width:601px) and (max-width:1024px) {
  .content-section, .content-section-alt {padding:clamp(56px, 7vw, 84px) 32px;}
  .page-hero {padding:56px 32px 64px; gap:32px; grid-template-columns:1fr;}
  .hero-image-col {aspect-ratio:16/9; max-height:46vh;}
  .hero-page-title {font-size:clamp(40px, 5.4vw, 64px);}
  .hero-bio {font-size:18px; line-height:1.7;}
  .credential-row {padding:30px 28px;}
  .credential-item {flex:1 1 calc(33.333% - 0px); min-width:140px; padding:14px 18px;}
  .credential-item::after, .credential-item::before {display:none;}
  .credential-item:nth-child(n+1):nth-child(-n+3) {border-bottom:1px solid rgba(201,169,110,0.30); padding-bottom:22px; margin-bottom:6px;}
  .bento-grid {grid-template-columns:repeat(2, 1fr); gap:16px;}
  .bento-card--lg {grid-column:span 2;}
  .bento-card--md {grid-column:span 1;}
  .bento-card--sm {grid-column:span 1;}
  .bento-card--feature {grid-column:span 2;}
  .bento-card {padding:32px 28px;}
  .consultation-steps-grid {grid-template-columns:repeat(3, 1fr); gap:14px;}
  .consult-card {padding:32px 22px;}
  .consultation-step-title {font-size:21px;}
  .physician-feature-inner {grid-template-columns:1fr; gap:44px;}
  .physician-feature {padding:clamp(64px, 8vw, 88px) 32px;}
  .physician-name {font-size:clamp(36px, 5vw, 52px);}
  .physician-portrait {aspect-ratio:3/4; max-width:480px; margin:0 auto;}
  .contact-inner {grid-template-columns:1fr; gap:44px;}
  .contact-intro {position:static; max-width:none;}
  .contact-form-wrap {padding:44px 36px;}
  .footer-dark-cols {grid-template-columns:repeat(2, 1fr); gap:36px 28px;}
  .footer-dark-inner {padding:64px 32px 0;}
}
@media (min-width:768px) and (max-width:1024px) {
  .editorial-interlude {padding:90px 32px;}
  .cta-section {padding:88px 32px;}
  .cta-inner {padding:54px 44px;}
  .mid-cta {padding:64px 32px;}
}
@media (max-width:600px) {
  :root {--sp-section:clamp(56px, 9vw, 72px);}
  .content-section, .content-section-alt {padding:60px 20px;}
  .page-hero {padding:36px 20px 44px; gap:24px;}
  .hero-text-col {padding:0;}
  .hero-page-title {font-size:clamp(32px, 9.6vw, 44px); line-height:1.06; margin-bottom:18px;}
  .hero-bio {font-size:16.5px; line-height:1.65;}
  .hero-image-col {aspect-ratio:4/3; max-height:50vh; border-radius:3px;}
  .section-eyebrow {font-size:10.5px; letter-spacing:0.2em; margin-bottom:12px;}
  .section-title {font-size:clamp(30px, 8.4vw, 40px); line-height:1.08; margin-bottom:14px;}
  .body-text {font-size:16.5px; line-height:1.72; margin-bottom:16px;}
  .credential-row {padding:28px 18px;}
  .credential-item {padding:18px 0; min-height:auto;}
  .credential-label {font-size:10.5px; letter-spacing:0.2em; margin-bottom:8px;}
  .credential-value {font-size:17px;}
  .credential-value i.i-italic {font-size:13.5px; margin-top:2px;}
  .btn-primary, .btn-secondary {padding:16px 28px; font-size:13px; letter-spacing:0.1em; width:100%; justify-content:center; min-height:52px;}
  .bdh-quote {padding:24px 22px; margin:22px 0;}
  .bdh-quote blockquote {font-size:18.5px; line-height:1.5; margin-bottom:14px;}
  .bento-grid {gap:12px; margin-top:6px;}
  .bento-card {padding:28px 22px;}
  .bento-title {font-size:21px; line-height:1.18; margin-bottom:12px;}
  .bento-body {font-size:15.5px; line-height:1.68;}
  .bento-icon {width:44px; height:44px; margin-bottom:16px;}
  .editorial-interlude {padding:70px 20px;}
  .editorial-interlude::before {top:38px;}
  .editorial-interlude-eyebrow {margin-bottom:28px; font-size:10.5px;}
  .editorial-interlude-quote {font-size:clamp(22px, 6.4vw, 30px); line-height:1.36; margin-bottom:34px;}
  .editorial-interlude-quote::before, .editorial-interlude-quote::after {width:5px; height:5px; margin:0 9px;}
  .consult-card {padding:34px 24px;}
  .consult-num {font-size:38px; margin-bottom:14px;}
  .consultation-step-title {font-size:21px; margin-bottom:12px;}
  .consult-tag {font-size:10.5px; padding:9px 18px; letter-spacing:0.22em; top:-14px;}
  .treatment-category {padding:24px 22px; margin-top:24px;}
  .treatment-category-label {font-size:10.5px; letter-spacing:0.2em; margin-bottom:14px;}
  .treatment-name {font-size:20px; margin-bottom:6px;}
  .treatment-provider {font-size:11.5px; letter-spacing:0.16em; margin-bottom:12px;}
  .treatment-body {font-size:16px; line-height:1.7;}
  .treatment-item {margin-bottom:22px; padding-bottom:22px;}
  .treatment-footnote {padding:18px 20px; font-size:13.5px; line-height:1.7; margin-top:26px;}
  .faq-section {padding:24px 20px;}
  .faq-btn {font-size:17.5px; padding:18px 0; gap:14px; line-height:1.38;}
  .faq-icon {width:18px; height:18px; margin-top:6px;}
  .faq-answer-inner p {font-size:15.5px; line-height:1.72;}
  .faq-btn[aria-expanded="true"] + .faq-answer .faq-answer-inner {padding-bottom:22px;}
  .physician-feature {padding:64px 20px;}
  .physician-feature-inner {gap:36px;}
  .physician-name {font-size:clamp(34px, 8.8vw, 44px);}
  .physician-credentials {font-size:17px; margin-bottom:24px;}
  .physician-philosophy {font-size:16.5px; line-height:1.72;}
  .physician-meta {padding:20px 0; gap:20px; margin-bottom:28px;}
  .physician-meta-value {font-size:16.5px;}
  .physician-meta-value i.i-italic {font-size:13px;}
  .physician-actions {gap:14px; flex-direction:column; align-items:stretch;}
  .physician-actions .btn-primary {width:100%; justify-content:center;}
  .mid-cta {padding:54px 20px;}
  .mid-cta-eyebrow {font-size:10.5px;}
  .mid-cta-title {font-size:clamp(26px, 7.6vw, 36px); line-height:1.14;}
  .mid-cta-sub {font-size:15.5px; margin-bottom:26px;}
  .cta-section {padding:60px 16px;}
  .cta-inner {padding:42px 26px; box-shadow: 0 0 0 4px rgba(254,252,248,0.55), 0 0 0 5px rgba(115,88,49,0.45), 0 20px 50px -24px rgba(42,36,32,0.22);}
  .cta-section::before, .cta-section::after {width:44px; height:44px; top:18px;}
  .cta-section::before {left:18px;}
  .cta-section::after {right:18px;}
  .cta-title {font-size:clamp(28px, 8.4vw, 40px); line-height:1.12;}
  .cta-sub {font-size:16px; line-height:1.65; margin-bottom:26px;}
  .contact-section {padding:60px 16px;}
  .contact-title {font-size:clamp(34px, 8.8vw, 46px);}
  .contact-lede {font-size:16.5px;}
  .contact-form-wrap {padding:32px 22px;}
  .form-card-title {font-size:24px; margin-bottom:28px;}
  .form-label {font-size:10.5px; letter-spacing:0.16em;}
  .form-input {font-size:16px;}
  .anchor-link {font-size:12px; padding:14px 4px; letter-spacing:0.1em;}
  .anchor-link.is-active {color:var(--charcoal);}
  .anchor-link.is-active::after {height:2.5px; background:var(--gold-deep);}
  .footer-dark-inner {padding:54px 20px 0;}
  .footer-dark-wordmark {font-size:24px; letter-spacing:0.14em;}
  .footer-dark-heading {font-size:17px; margin-bottom:18px; padding-bottom:12px;}
  .footer-dark-col a {font-size:14px;}
  .footer-dark-bottom {padding:28px 0 36px; gap:20px;}
  .footer-policy-row {flex-direction:column; align-items:flex-start; gap:0; margin-top:14px; padding-top:14px;}
  .footer-policy-row li:not(:last-child)::after {display:none;}
  .footer-policy-row li {padding:8px 0; width:100%; border-bottom:1px solid rgba(42,36,32,0.10);}
  .footer-policy-row li:last-child {border-bottom:none;}
  .footer-policy-row a {font-size:11px;}
  .footer-dark-actions {width:100%; flex-direction:column; gap:8px;}
  .footer-action-link {width:100%; justify-content:center; padding:14px 20px;}
}
@media (max-width:400px) {
  .header-inner {padding:0 12px; height:58px;}
  .site-logo .wordmark {font-size:13px; letter-spacing:0.04em;}
  .btn-book {padding:8px 11px; font-size:11px; letter-spacing:0.04em;}
  .anchor-nav {top:58px;}
  .content-section, .content-section-alt {padding:52px 16px;}
  .hero-page-title {font-size:30px;}
  .section-title {font-size:28px;}
  .editorial-interlude-quote {font-size:21px;}
  .cta-title {font-size:26px;}
  .contact-title {font-size:32px;}
  .form-row {gap:0;}
  .bdh-quote {padding:22px 18px;}
  .faq-btn {font-size:16.5px;}
  .logo-mark {width:30px; height:30px;}
  .logo-text-group {padding-left:12px;}
  .site-logo {gap:10px;}
}
@media print {
  .expandable.is-collapsed .expandable__content {grid-template-rows:1fr !important;}
  .expandable__preview {display:none !important;}
  .expandable__toggle {display:none !important;}
  .faq-answer {grid-template-rows:1fr !important;}
  .faq-answer-inner {padding-bottom:18px !important;}
  .nav-backdrop, .main-nav {display:none !important;}
}