@media (max-width:560px) {
  .header-inner {padding:0 14px; height:60px; grid-template-columns:auto minmax(0,1fr) auto;}
  .header-right {gap:8px; min-width:0;}
  .site-logo {min-width:0;}
  .phone-link {padding:6px;}
  .phone-link svg {width:19px; height:19px;}
  .header-left {gap:6px;}
  .search-overlay-inner {padding:18px 16px;}
  .search-input {font-size:18px;}
  .site-logo {gap:12px;}
}
.header-left {display:flex; align-items:center; gap:10px;}
.search-btn {display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; border:1.5px solid rgba(115,88,49,0.28); background:transparent; color:var(--gold-deep); cursor:pointer; padding:0; appearance:none; -webkit-appearance:none; -webkit-tap-highlight-color:transparent; touch-action:manipulation; transition:background 0.25s var(--ease), border-color 0.25s var(--ease), color 0.25s var(--ease);}
.search-btn svg {width:18px; height:18px;}
.search-btn:hover {background:var(--gold-pale); border-color:var(--gold-deep); color:var(--gold-ink);}
.search-btn[aria-expanded="true"] {background:var(--charcoal); border-color:var(--charcoal); color:var(--cream);}
.search-backdrop {position:fixed; inset:0; background:rgba(30,26,23,0.32); opacity:0; pointer-events:none; transition:opacity 0.3s var(--ease); z-index:1500;}
.search-backdrop.is-open {opacity:1; pointer-events:auto;}
.search-overlay {position:fixed; top:0; left:0; right:0; max-height:100dvh; 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); transform:translateY(-100%); transition:transform 0.4s var(--ease); z-index:1600; overflow-y:auto;}
.search-overlay.is-open {transform:translateY(0);}
.search-overlay-inner {max-width:880px; margin:0 auto; padding:36px 40px 28px;}
.search-form {position:relative; display:flex; align-items:center; gap:14px; border-bottom:1.5px solid rgba(115,88,49,0.28); padding:8px 0 14px;}
.search-form-icon {width:22px; height:22px; color:var(--gold-deep); flex-shrink:0;}
.search-input {flex:1; border:none; background:transparent; font-family:'Cormorant Garamond', Georgia, serif; font-weight:500; font-size:clamp(20px, 3vw, 32px); color:var(--text-primary); padding:6px 0; outline:none; letter-spacing:0.005em; min-width:0;}
.search-input::placeholder {color:var(--text-muted); font-style:italic; opacity:0.7;}
.search-close {width:36px; height:36px; border-radius:50%; border:1.5px solid rgba(115,88,49,0.28); background:transparent; color:var(--text-sub); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; appearance:none; -webkit-appearance:none; -webkit-tap-highlight-color:transparent; touch-action:manipulation; transition:background 0.25s var(--ease), color 0.25s var(--ease), border-color 0.25s var(--ease); flex-shrink:0;}
.search-close svg {width:16px; height:16px;}
.search-close:hover {background:var(--gold-pale); border-color:var(--gold-deep); color:var(--gold-ink);}
.search-close:focus-visible {outline:2px solid var(--gold-deep); outline-offset:3px;}
.search-shortcut-hint {font-family:'Nunito Sans', sans-serif; font-size:12px; font-weight:500; color:var(--text-muted); letter-spacing:0.04em; margin-top:12px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.search-kbd {display:inline-flex; align-items:center; justify-content:center; font-family:'Nunito Sans', sans-serif; font-size:11px; font-weight:700; letter-spacing:0.02em; color:var(--text-sub); background:var(--cream-dark); border:1px solid rgba(115,88,49,0.18); border-radius:4px; padding:2px 8px; min-width:22px; font-variant-numeric:tabular-nums lining-nums;}
.search-kbd-mac {display:inline-flex;}
.search-kbd-pc {display:none;}
body.is-platform-pc .search-kbd-mac {display:none;}
body.is-platform-pc .search-kbd-pc {display:inline-flex;}
body.is-platform-touch .search-shortcut-hint {display:none;}
.search-recent {margin-top:24px; padding-top:20px; border-top:1px solid rgba(115,88,49,0.12);}
.search-recent-head {display:flex; justify-content:space-between; align-items:center; margin-bottom:12px;}
.search-recent-label {font-size:12px; font-weight:700; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink);}
.search-recent-clear {background:none; border:none; font-family:'Nunito Sans', sans-serif; font-size:12px; font-weight:500; color:var(--text-muted); cursor:pointer; padding:4px 8px; text-decoration:underline; text-underline-offset:3px; -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
.search-recent-clear:hover {color:var(--gold-deep);}
.search-recent-pills {display:flex; flex-wrap:wrap; gap:8px;}
.search-recent-pill {display:inline-flex; align-items:center; gap:6px; font-family:'Nunito Sans', sans-serif; font-size:13px; font-weight:500; color:var(--text-body); background:var(--cream-mid); border:1px solid rgba(115,88,49,0.18); border-radius:999px; padding:6px 14px; cursor:pointer; transition:background 0.2s var(--ease), border-color 0.2s var(--ease); -webkit-tap-highlight-color:transparent; touch-action:manipulation; min-height:32px;}
.search-recent-pill:hover {background:var(--gold-pale); border-color:var(--gold-deep);}
.search-results {list-style:none; margin:24px 0 0; padding:0;}
.search-result {display:block; padding:14px 8px; border-bottom:1px solid rgba(115,88,49,0.10); cursor:pointer; transition:background 0.15s var(--ease); -webkit-tap-highlight-color:transparent;}
.search-result:hover, .search-result.is-active {background:rgba(242,229,204,0.45);}
.search-result a {display:block; text-decoration:none; color:inherit;}
.search-result-title {font-family:'Cormorant Garamond', Georgia, serif; font-weight:500; font-size:19px; color:var(--text-primary); line-height:1.3; margin-bottom:2px;}
.search-result-title mark {background:var(--gold-pale); color:var(--gold-ink); padding:0 2px; border-radius:2px;}
.search-result-meta {font-family:'Nunito Sans', sans-serif; font-size:12px; font-weight:500; color:var(--text-muted); letter-spacing:0.04em; text-transform:uppercase;}
.search-empty, .search-loading {font-family:'Nunito Sans', sans-serif; font-size:14px; color:var(--text-muted); font-style:italic; text-align:center; padding:32px 8px;}
.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;}
body.search-open {position:fixed; width:100%; overflow:hidden;}
.body-text a {color:var(--gold-ink); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.5); font-weight:600; transition:var(--transition);}
.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-body a, .treatment-body a {color:var(--gold-ink); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.45); font-weight:600; transition:color 0.3s var(--ease);}
.bento-body a:hover, .treatment-body a:hover {color:var(--charcoal); border-bottom-color:var(--charcoal);}
.expandable__content {display:grid; grid-template-rows:1fr; transition:grid-template-rows 0.55s var(--ease);}
.consult-card .expandable__preview::after {background:linear-gradient(180deg, transparent 0%, var(--white) 92%);}
.expandable__toggle {display:none; align-items:center; gap:8px; margin-top:14px; padding:6px 0; min-height:40px; background:none; border:none; cursor:pointer; font-family:'Nunito Sans', sans-serif; font-size:12.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-ink); transition:color 0.3s var(--ease);}
.expandable__toggle:hover {color:var(--charcoal);}
.expandable__toggle::after {content:''; width:7px; height:7px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:rotate(45deg); transition:transform 0.3s var(--ease);}
.expandable__toggle[aria-expanded="true"]::after {transform:rotate(-135deg);}
.faq-answer {display:grid; grid-template-rows:0fr; overflow:hidden; transition:grid-template-rows 0.4s ease;}
.faq-answer-inner {min-height:0; overflow:hidden;}
.faq-btn[aria-expanded="true"] + .faq-answer {grid-template-rows:1fr;}
.footer-dark-cols {display:grid; grid-template-columns:repeat(4, 1fr); gap:28px 32px; padding-bottom:48px; border-bottom:1px solid rgba(42,36,32,0.20);}
@media (max-width:900px) {
  .header-left {gap:8px;}
  .expandable__toggle {display:inline-flex;}
}