/* Shared controls for the approved static preview and the WordPress theme. */
:root {
  --focus: #9a4b28;
  --on-olive-muted: #e0e1d7;
  --line-on-olive: #77816e;
  --surface-sage: #e5e7dc;
  --surface-stone: #e1ded2;
  --line-stone: #b7b9aa;
  --line-contact: #adb595;
  --line-input: #818c6d;
  --placeholder: #59624e;
  --contact-note: #4a5541;
  --surface-warm: #d9d7ce;
  --portrait-light: #e8e3d5;
  --portrait-dark: #c3c4b1;
  --portrait-shadow: #a0a68e50;
  --portrait-outline: #747d6555;
}
.language-switcher { display:flex; align-items:center; gap:2px; flex-shrink:0; font-size:12px; letter-spacing:.04em; }
.language-switcher a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px; color:var(--ink); opacity:1; text-decoration:none; }
.language-switcher a[aria-current=page] { text-decoration:underline; text-underline-offset:5px; }
.language-switcher a:hover { color:var(--olive); text-decoration:underline; text-underline-offset:5px; }
.language-switcher a:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.nav { gap:20px; }
.nav-links > a { min-height:44px; display:inline-flex; align-items:center; }
.menu-toggle { min-width:64px; min-height:44px; color:var(--ink); }
.brand-logo { min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; }
.brand-identity .wordmark { min-width:0; }
.brand-identity .wordmark small { font-size:10px; line-height:1.45; letter-spacing:.1em; }
.footer-bottom { gap:8px 20px; }
.footer-bottom > a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
.locations a, .contact-email a { display:inline-flex; align-items:center; min-height:44px; }
.locations .location-map { display:flex; }
.area summary, .career summary, .faq-list summary, .treatment-body summary { min-height:44px; align-items:center; }
.career summary, .treatment-body summary { display:flex; }
.case-note:empty { display:none; }
@media (min-width:961px) and (max-width:1350px) {
  .nav-links .optional { display:none; }
  .nav-links { gap:18px; }
}
@media (max-width:960px) {
  html { scroll-padding-top:170px; }
  .site-header .nav { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; min-height:0; padding-block:14px 10px; }
  .site-header .brand-identity { grid-column:1/-1; min-width:0; max-width:none; gap:12px; }
  .site-header .brand-logo { width:44px; flex:0 0 44px; }
  .site-header .wordmark { font-size:23px; }
  .site-header .wordmark small { font-size:10px; line-height:1.45; letter-spacing:.07em; white-space:normal; max-width:none; margin-top:6px; }
  .language-switcher { grid-column:1; grid-row:2; justify-self:start; margin-left:0; }
  .menu-toggle { grid-column:2; grid-row:2; display:block; padding:10px 12px; font-size:12px; }
  .site-header .nav-links { display:none; position:absolute; top:100%; left:0; right:0; width:100%; padding:12px 20px 20px; background:var(--paper); border-bottom:1px solid var(--line); max-height:calc(100dvh - 160px); overflow-y:auto; overscroll-behavior:contain; }
  .site-header .nav-links.open { display:flex; flex-direction:column; align-items:stretch; gap:4px; }
  .site-header .nav-links .optional { display:flex; }
  .site-header .nav-links > a { padding-block:10px; }
  .site-header .nav-links .button { align-self:stretch; margin-top:8px; }
  .footer .brand-identity { gap:12px; max-width:100%; min-width:0; }
  .footer .brand-logo { width:44px; flex:0 0 44px; }
  .footer .wordmark { font-size:23px; white-space:normal; }
  .footer .wordmark small { font-size:10px; line-height:1.45; letter-spacing:.07em; white-space:normal; }
}
@media (max-width:380px) {
  .site-header .wordmark, .footer .wordmark { font-size:21px; }
}
