/* Navigation: warm serif lettering and generous touch targets. */
.header{min-height:122px;gap:28px}
.header nav{gap:8px;align-items:center}
.header nav a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 19px;border:1px solid transparent;border-radius:999px;font:normal 17px/1.2 var(--serif);letter-spacing:-.15px;color:var(--ink);transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}
.header nav a:not(.nav-contact){border-color:#b28c542e;background:#fff9ec45}
.header nav a:not(.nav-contact):hover{background:#eadbc0;border-color:#b28c5480;color:var(--ink)}
.header nav a[aria-current="location"]{background:#eadbc0;border-color:#b28c5499;box-shadow:inset 0 0 0 3px #f6eedc70}
.header nav a.nav-contact{gap:12px;margin-left:12px;padding:12px 22px;background:var(--ink);border-color:var(--ink);color:#fff8e9;box-shadow:0 3px 0 #50311f12}
.header nav a.nav-contact:hover{color:#fff8e9;background:#754b2d;border-color:#754b2d;box-shadow:0 4px 12px #50311f20}
.header .nav-contact span{margin:0;font-family:Arial,sans-serif;font-size:16px}
.header nav a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:900px){.header{gap:18px}.header nav a{padding:10px 14px;font-size:16px}.header nav a.nav-contact{margin-left:4px;padding:12px 17px}}
@media(max-width:800px){.header nav a.nav-contact{display:none}}
@media(max-width:580px){.header{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding-top:21px;padding-bottom:18px;min-height:0}.header .brand{font-size:41px}.header .brand span{font-size:9px;letter-spacing:6px}.header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;max-width:430px}.header nav a{min-height:44px;font-size:15px;padding:10px 5px;white-space:nowrap}.header nav a.nav-contact{display:none}}
@media(prefers-reduced-motion:reduce){.header nav a{transition:none}}
/* Keep navigation available, with anchor spacing based on its actual height. */
html{scroll-padding-top:calc(var(--navigation-height,140px) + 18px)}
.header{position:sticky;top:0;z-index:20;max-width:none;min-height:104px;padding-left:max(40px,calc((100% - 1100px)/2));padding-right:max(40px,calc((100% - 1100px)/2));background:rgba(246,238,220,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 5px 18px #50311f08;border-bottom:1px solid var(--line)}
@media(max-width:800px){.header{padding-left:25px;padding-right:25px}}
@media(max-width:580px){.header{min-height:0;padding:12px 22px;gap:10px}.header .brand{font-size:34px}.header .brand span{font-size:8px;letter-spacing:5px}}
