/* The full desktop header stays intact. Phones get a compact header and one menu panel. */
@media(max-width:800px){
  html{scroll-padding-top:100px}
  .header{display:grid;grid-template-columns:auto minmax(0,1fr) 40px;align-items:center;gap:10px 8px;padding:12px 16px;min-height:76px}
  .header>.wordmark{grid-column:1;grid-row:1;align-self:center}
  .header>.header-phone{grid-column:2;grid-row:1;margin:0;max-width:none;min-width:0;justify-self:end;text-align:end;padding-block:0}
  .header>.menu-toggle{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:center;width:40px;min-height:44px;padding:6px;font-size:22px;margin:0}
  .header>.header-pay,.header>.reading-controls{display:none}
  .header:has(#navigation.open){max-height:calc(100dvh - var(--contact-bar-height,72px));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;align-content:start}
  .header #navigation.open{display:grid;grid-column:1 / -1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;align-items:stretch;justify-content:stretch;gap:8px 16px;width:100%;min-width:0;max-height:none;overflow:visible;flex-wrap:nowrap;margin:4px 0 0;padding:16px 0 8px;border-top:1px solid var(--line)}
  .header #navigation.open>a{display:flex;align-items:center;width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:8px 0;font-size:clamp(16px,calc(12px * var(--text-scale,1)),22px);line-height:1.35;text-align:start;white-space:normal;overflow-wrap:normal;word-break:normal}
  .header:has(#navigation.open)>.reading-controls{display:flex;grid-column:1 / -1;grid-row:3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin:0;padding:16px 0;border-top:1px solid var(--line)}
  .header:has(#navigation.open)>.header-pay{display:flex;grid-column:1 / -1;grid-row:4;width:100%;min-width:0;margin:0 0 4px;padding:12px 16px;min-height:48px;font-size:18px;white-space:normal}
  .header .text-controls{gap:6px;flex-wrap:wrap}
  .header .text-controls>span{display:inline;font-size:13px}
  .header .language-control{display:flex;align-items:center;gap:8px}
  .header .language-control>span:not([aria-hidden]){display:inline;font-size:13px}
  .header .language-control>span[aria-hidden]{display:none}
  .header .language-control select{max-width:140px;min-height:44px}
  .header .text-controls button{min-width:38px;min-height:44px}
}
@media(max-width:580px){
  .header .wordmark{font-size:30px}
  .header .wordmark>span{font-size:8px}
  .header-phone .header-phone-number{font-size:clamp(14px,4.8vw,20px);line-height:1.45}
  .header .header-phone>span{font-size:7px;line-height:1.4;max-width:160px}
}
@media(max-width:360px){
  .header{grid-template-columns:auto minmax(0,1fr) 36px;padding-inline:12px}
  .header>.menu-toggle{width:36px}
  .header .wordmark{font-size:28px}
  .header #navigation.open{column-gap:12px}
}
