@media (max-width:560px) {
  .phone-link {padding:6px;}
  .phone-link svg {width:19px; height:19px;}
  .header-search-btn {width:38px; height:38px;}
  .header-search-btn svg {width:16px; height:16px;}
  .search-overlay {padding:18px 0 22px;}
  .search-overlay-inner {padding:0 18px;}
  .search-input {font-size:20px;}
  .site-header .header-inner {height:60px; padding:0 14px;}
  .site-logo .wordmark {font-size:14px; white-space:nowrap;}
  .phone-text {display:none;}
}
.body-text a, .bento-body a, .treatment-body a {color:var(--gold-ink); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.5); font-weight:600; transition:var(--transition);}
.body-text a:hover, .bento-body a:hover, .treatment-body a:hover {color:var(--charcoal); border-bottom-color:var(--charcoal);}
.hero-image-col {background:linear-gradient(135deg, #E8DCC8 0%, #F0E8D8 100%); aspect-ratio:3/2; border-radius:0; overflow:hidden;}
.img-placeholder {background:linear-gradient(135deg, #E8DCC8 0%, #F0E8D8 100%); aspect-ratio:3/2; border-radius:0; margin:32px 0; overflow:hidden;}
.bento-card--feature {grid-column:span 3; background:linear-gradient(180deg, #FEFCF8 0%, #F5EFE5 100%); border-color:rgba(115,88,49,0.30); padding-top:72px;}
.bento-card--feature .bento-eyebrow {position:absolute; top:36px; left:32px; display:block; font-size:11px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700;}
.faq-answer {display:grid; grid-template-rows:0fr; transition:grid-template-rows 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.faq-btn[aria-expanded="true"] + .faq-answer {grid-template-rows:1fr;}
.faq-answer-inner {overflow:hidden; min-height:0;}
.faq-answer-inner p {color:var(--text-body); line-height:1.75; margin-bottom:16px; font-size:17px;}
.faq-answer-inner p:last-child {margin-bottom:0;}
.faq-answer-inner a {color:var(--gold-ink); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.45); font-weight:600;}
.faq-answer-inner a:hover {color:var(--charcoal); border-bottom-color:var(--charcoal);}
.physician-portrait {position:relative; aspect-ratio:4/5; background:linear-gradient(135deg, #E8DCC8 0%, #F0E8D8 100%); border-radius:0; overflow:hidden;}
.visually-hidden {position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.header-left {display:flex; align-items:center; gap:10px;}
.header-search-btn {width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:1px solid rgba(115,88,49,0.30); border-radius:50%; color:var(--text-primary); cursor:pointer; transition:var(--transition); -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
.header-search-btn svg {width:18px; height:18px;}
.header-search-btn:hover {background:var(--gold-pale); border-color:var(--gold-deep); color:var(--gold-deep);}
.header-search-btn[aria-expanded="true"] {background:var(--gold-pale); border-color:var(--gold-deep); color:var(--gold-deep);}
.search-overlay {position:fixed; top:0; left:0; right:0; background:rgba(254,252,248,0.985); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); border-bottom:1px solid rgba(115,88,49,0.16); z-index:1500; transform:translateY(-100%); transition:transform 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94); padding:24px 0 28px; box-shadow:0 12px 40px -12px rgba(42,36,32,0.18); visibility:hidden;}
.search-overlay.is-open {transform:translateY(0); visibility:visible;}
.search-overlay-inner {max-width:840px; margin:0 auto; padding:0 max(env(safe-area-inset-left, 0), 28px);}
.search-form {display:flex; align-items:center; gap:14px; border-bottom:1.5px solid rgba(115,88,49,0.35); padding:10px 0 14px;}
.search-form-icon {width:22px; height:22px; color:var(--gold-deep); flex:none;}
.search-input {flex:1; min-width:0; font-family:'Cormorant Garamond', serif; font-size:clamp(20px, 3vw, 32px); font-weight:500; background:transparent; border:none; color:var(--text-primary); letter-spacing:-0.005em;}
.search-input::placeholder {color:var(--text-muted); font-style:italic;}
.search-input:focus {outline:none;}
.search-close {width:40px; height:40px; background:transparent; border:none; color:var(--text-muted); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; transition:var(--transition); -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
.search-close:hover {background:rgba(115,88,49,0.08); color:var(--charcoal);}
.search-close svg {width:18px; height:18px;}
.search-results {margin-top:18px; display:flex; flex-direction:column; max-height:60vh; overflow-y:auto;}
.search-results:empty {display:none;}
.search-result-link {padding:14px 8px; font-size:15.5px; color:var(--text-primary); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.10); display:flex; align-items:center; gap:12px; -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
.search-result-link:hover, .search-result-link.is-active {background:rgba(115,88,49,0.06); color:var(--gold-deep);}
.nav-backdrop {position:fixed; inset:0; background:rgba(30,26,23,0.42); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); opacity:0; visibility:hidden; transition:opacity 0.35s var(--ease), visibility 0.35s var(--ease); z-index:998;}
img[loading="lazy"] {transition:opacity 0.4s var(--ease); opacity:0;}
img[loading="lazy"][data-loaded="true"] {opacity:1;}
@media (max-width:640px) {
  .bento-card--feature {padding-top:68px;}
}
@media (max-width:900px) {
  .faq-answer p, .faq-answer-inner p {font-size:16px; line-height:1.7;}
  .header-search-btn {width:40px; height:40px;}
  .header-search-btn svg {width:17px; height:17px;}
  .expandable .expandable__preview {display:block; position:relative; color:var(--text-body); line-height:1.72; font-size:16.5px; margin:0 0 8px; padding-bottom:28px;}
  .expandable .expandable__preview::after {content:''; position:absolute; left:0; right:0; bottom:0; height:48px; background:linear-gradient(180deg, transparent 0%, var(--cream) 92%); pointer-events:none;}
  .content-section-alt .expandable .expandable__preview::after, .consult-card .expandable .expandable__preview::after {background:linear-gradient(180deg, transparent 0%, var(--cream-mid) 92%);}
  .consult-card--feature .expandable .expandable__preview::after {background:linear-gradient(180deg, transparent 0%, var(--white) 92%);}
  .physician-feature .expandable .expandable__preview::after {background:linear-gradient(180deg, transparent 0%, var(--cream) 92%);}
  .expandable .expandable__content {display:grid; grid-template-rows:0fr; transition:grid-template-rows 0.45s var(--ease);}
  .expandable.is-open .expandable__content {grid-template-rows:1fr;}
  .expandable.is-open .expandable__preview {display:none;}
  .expandable__inner {overflow:hidden; min-height:0;}
  .expandable.is-open .expandable__inner {padding-bottom:8px;}
  .expandable__toggle {margin-top:6px; background:transparent; border:none; color:var(--gold-ink); font-family:'Nunito Sans', sans-serif; font-weight:700; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; cursor:pointer; display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:8px 0; -webkit-tap-highlight-color:transparent; touch-action:manipulation; transition:color 0.25s var(--ease);}
  .expandable__toggle:hover, .expandable__toggle:focus-visible {color:var(--charcoal);}
  .expandable__toggle-rule {display:inline-block; width:24px; height:1px; background:var(--gold-deep); transition:width 0.25s var(--ease);}
  .expandable__toggle:hover .expandable__toggle-rule {width:32px;}
  .expandable__toggle-icon {position:relative; width:12px; height:12px; display:inline-block;}
  .expandable__toggle-icon::before, .expandable__toggle-icon::after {content:''; position:absolute; background:currentColor; transition:transform 0.3s var(--ease);}
  .expandable__toggle-icon::before {top:50%; left:0; right:0; height:1.4px; transform:translateY(-50%);}
  .expandable__toggle-icon::after {top:0; bottom:0; left:50%; width:1.4px; transform:translateX(-50%) scaleY(1);}
  .expandable__toggle[aria-expanded="true"] .expandable__toggle-icon::after {transform:translateX(-50%) scaleY(0);}
  body[data-nav-open="true"] {position:fixed; width:100%; left:0; right:0;}
  .main-nav {display:block !important; position:fixed; top:0; bottom:0; right:0; width:min(86vw, 380px); background:var(--cream); transform:translateX(100%); transition:transform 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94); box-shadow:-20px 0 60px -10px rgba(42,36,32,0.18); border-left:1px solid rgba(115,88,49,0.16); z-index:1001; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding-top:env(safe-area-inset-top, 0); padding-bottom:calc(40px + env(safe-area-inset-bottom, 0)); visibility:hidden;}
  .main-nav.is-open {transform:translateX(0); visibility:visible;}
  .nav-inner {display:block !important; padding:0; max-width:none;}
  .nav-inner::before {content:'MENU'; display:block; position:sticky; top:0; background:var(--cream); z-index:5; font-family:'Cormorant Garamond', serif; font-size:12px; color:var(--gold-ink); letter-spacing:0.22em; text-transform:uppercase; padding:26px 26px 14px; border-bottom:1px solid rgba(115,88,49,0.10);}
  .nav-item {display:block !important; position:static !important; padding:0 !important;}
  .nav-item .dropdown, .nav-item .mega-dropdown {display:block !important; position:static !important; transform:none !important; opacity:1 !important; visibility:visible !important; box-shadow:none !important; background:transparent !important; border:none !important; padding:0 !important; width:auto !important; min-width:0 !important; pointer-events:auto !important;}
  .mega-grid {grid-template-columns:1fr !important; gap:0 !important;}
  .mega-col {display:block !important;}
  .nav-item > a {display:flex !important; align-items:center !important; position:relative; font-family:'Cormorant Garamond', serif !important; font-weight:500 !important; font-size:22px !important; text-transform:none !important; letter-spacing:-0.005em !important; color:var(--charcoal) !important; background:var(--cream-mid) !important; border-left:3px solid var(--gold-deep) !important; padding:20px 26px 12px 26px !important; margin:0 !important; text-decoration:none !important; transition:background 0.25s var(--ease), color 0.25s var(--ease) !important; -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
  .nav-item > a::before {content:''; display:inline-block; width:6px; height:6px; background:var(--gold-deep); transform:rotate(45deg); margin-right:14px; flex:none;}
  .nav-item > a:hover, .nav-item > a:focus-visible {color:var(--gold-deep) !important; background:var(--gold-pale) !important;}
  .nav-item > a .nav-arrow-icon {display:none !important;}
  .nav-item > a:not([aria-haspopup="true"])::after {content:'→'; margin-left:auto; font-family:'Cormorant Garamond', serif; font-weight:500; font-size:22px; color:var(--gold-deep); transition:transform 0.25s var(--ease);}
  .mega-heading {display:block; font-family:'Nunito Sans', sans-serif; font-weight:700; font-size:12.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep); padding:18px 26px 10px 26px; border-top:1px solid rgba(115,88,49,0.10); position:relative;}
  .mega-heading::before {content:''; display:inline-block; width:18px; height:1px; background:var(--gold-deep); vertical-align:middle; margin-right:12px;}
  .dropdown a, .mega-col a:not(.mega-heading) {display:block !important; font-family:'Nunito Sans', sans-serif !important; font-weight:500 !important; font-size:16px !important; color:var(--text-primary) !important; text-decoration:none !important; padding:14px 26px 14px 44px !important; border-bottom:1px solid rgba(115,88,49,0.06) !important; position:relative !important; text-transform:none !important; letter-spacing:0 !important; background:transparent !important; transition:background 0.22s var(--ease), color 0.22s var(--ease), padding-left 0.22s var(--ease) !important; -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
  .dropdown a::before, .mega-col a:not(.mega-heading)::before {content:''; position:absolute; left:26px; top:50%; width:6px; height:1px; background:var(--gold); opacity:0.7; transform:translateY(-50%); transition:width 0.22s var(--ease), opacity 0.22s var(--ease);}
  .dropdown a:hover, .dropdown a:focus-visible, .mega-col a:not(.mega-heading):hover, .mega-col a:not(.mega-heading):focus-visible {background:rgba(115,88,49,0.06) !important; color:var(--gold-deep) !important; padding-left:52px !important;}
  .dropdown a:hover::before, .mega-col a:not(.mega-heading):hover::before {width:14px; opacity:1;}
  .mega-footer {display:flex !important; flex-direction:column !important; padding:20px 26px 24px !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; margin-top:8px;}
  .mega-footer-text {font-family:'Cormorant Garamond', serif !important; font-style:italic; font-size:16px !important; line-height:1.45 !important; color:var(--text-body) !important;}
  .mega-footer-text strong {font-style:normal; color:var(--charcoal) !important;}
  .mega-footer-cta {display:flex !important; align-items:center !important; justify-content:space-between; width:100% !important; background:var(--charcoal) !important; color:var(--cream) !important; padding:15px 22px !important; font-family:'Nunito Sans', sans-serif !important; font-weight:700 !important; font-size:11.5px !important; letter-spacing:0.16em; text-transform:uppercase; text-decoration:none !important; border-radius:0; -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
  .mega-footer-cta-arrow {font-size:14px;}
}
@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 (max-width:400px) {
  .header-search-btn {width:36px; height:36px;}
  .header-search-btn svg {width:15px; height:15px;}
  .site-header .header-inner {height:58px;}
  .site-logo .wordmark {font-size:13px;}
  .btn-book {font-size:11px; padding:8px 11px;}
}
@media (min-width:901px) {
  .expandable.is-collapsed .expandable__content {display:contents !important;}
  .expandable .expandable__preview {display:none !important;}
  .expandable .expandable__toggle {display:none !important;}
  .expandable .expandable__content {display:block;}
}
@media (prefers-reduced-motion:reduce) {
  .expandable .expandable__content {transition:none !important;}
  .expandable .expandable__toggle {transition:none !important;}
  .expandable__toggle-icon::before, .expandable__toggle-icon::after {transition:none !important;}
}
@media print {
  .expandable .expandable__content {display:block !important;}
  .expandable .expandable__inner {padding-bottom:0 !important;}
  .expandable .expandable__preview {display:none !important;}
  .expandable .expandable__toggle {display:none !important;}
  .faq-answer-inner {padding-bottom:28px !important;}
  .nav-backdrop, .search-overlay {display:none !important;}
}
@media (min-width:601px) and (max-width:1024px) {
  .credential-row-inner {flex-wrap:wrap; justify-content:center; gap:28px 36px;}
  .credential-item {flex:0 0 calc(33.333% - 24px);}
  .credential-item:nth-child(-n+3) {padding-bottom:18px; border-bottom:1px solid rgba(201,169,110,0.40); margin-bottom:6px;}
  .credential-item:nth-child(n+4) {flex:0 0 calc(50% - 18px);}
  .bento-grid {grid-template-columns:repeat(2, 1fr) !important;}
  .bento-card--feature {grid-column:1 / -1;}
  .bento-card--lg {grid-column:1 / -1;}
  .page-hero {grid-template-columns:1fr !important;}
  .hero-image-col {max-height:46vh;}
  .footer-dark-cols {grid-template-columns:repeat(2, 1fr) !important; gap:36px 48px;}
  .editorial-interlude, .cta-section, .mid-cta {padding-top:88px; padding-bottom:88px;}
  .physician-feature-inner {grid-template-columns:1fr !important;}
  .physician-portrait {max-width:480px; margin:0 auto 36px;}
  .contact-inner {grid-template-columns:1fr !important; gap:36px;}
}
@media (max-width:600px) {
  .hero-page-title {font-size:clamp(32px, 9.6vw, 44px) !important; line-height:1.06 !important;}
  .hero-bio {font-size:16.5px !important; line-height:1.65 !important;}
  .section-title {font-size:clamp(30px, 8.4vw, 40px) !important; line-height:1.08 !important;}
  .body-text {font-size:16.5px !important; line-height:1.72 !important;}
  .section-eyebrow, .bento-eyebrow, .mid-cta-eyebrow, .cta-eyebrow, .contact-eyebrow, .physician-eyebrow, .editorial-interlude-eyebrow, .form-card-eyebrow {font-size:10.5px !important; letter-spacing:0.2em !important;}
  .btn-primary, .btn-secondary, .btn-submit {width:100%; min-height:52px; padding:16px 28px; font-size:13px;}
  .credential-row-inner {flex-direction:column; gap:18px;}
  .credential-item {padding-bottom:14px; border-bottom:1px solid rgba(201,169,110,0.40); width:100%;}
  .credential-item:last-child {border-bottom:0; padding-bottom:0;}
  .contact-row {flex-direction:column; align-items:flex-start; gap:6px;}
  .contact-row-value {word-break:break-word; width:100%;}
  .physician-meta {flex-direction:column !important; gap:18px;}
  .physician-meta-item {width:100%;}
  .physician-actions {flex-direction:column; align-items:stretch; gap:14px;}
  .physician-actions .btn-primary {width:100%;}
  .form-input, .form-textarea {font-size:16px !important;}
  .footer-policy-row {flex-direction:column; align-items:flex-start; gap:10px;}
  .footer-policy-row li {padding:0;}
  .footer-policy-row li + li {border-top:1px solid rgba(250,247,242,0.10); padding-top:10px;}
  .footer-dark-actions {flex-direction:column; align-items:stretch; gap:10px;}
  .footer-action-link {width:100%; justify-content:center;}
  .bento-icon svg {width:44px; height:44px;}
}
@media (max-width:768px) {
  .bento-icon svg {width:56px; height:56px;}
}