/* Final header rules: shared by the homepage and the property map. */
:root{--header-height:150px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
.header{isolation:isolate}
.header nav a{font-weight:600;text-underline-offset:8px;transition:color .15s}
.header nav a:hover,.header nav a[aria-current]{color:#80622d;text-decoration:underline}
.header a:focus-visible,.header button:focus-visible{outline:3px solid #94763d;outline-offset:5px;border-radius:3px}
.menu-label{display:block;font:600 11px/1.4 var(--sans);letter-spacing:.03em;margin-top:3px}
@media(min-width:761px){
  .header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 24px;min-height:0;padding:10px 4% 0}
  .header .brand{grid-column:1;grid-row:1}
  .header .brand img{width:170px}
  .header-actions{grid-column:2;grid-row:1;justify-self:end;margin-left:0}
  .header nav,.header nav.open{display:flex;grid-column:1/-1;grid-row:2;flex-wrap:wrap;justify-content:center;position:static;gap:0 30px;max-height:none;overflow:visible;padding:3px 0;border:0;border-top:1px solid var(--rule);background:#fff;box-shadow:none}
  .header nav a{font-size:18px;min-height:50px;padding:8px 0;white-space:nowrap}
  .header .menu{display:none}
}
@media(min-width:761px) and (max-width:1000px){.header nav,.header nav.open{gap:0 22px}.header nav a{font-size:17px}}
@media(max-width:760px){
  .header{display:flex;padding:10px 4%;gap:8px;min-height:82px}
  .header .brand img{width:130px}
  .header-actions{margin-left:auto;gap:6px}
  .header-actions>.button{display:none}
  .header .languages{gap:1px}
  .header .languages button{min-width:24px;padding:6px 1px}
  .header .menu{display:flex;flex-direction:column;justify-content:center;align-items:center;width:48px;min-height:56px;gap:4px;flex-shrink:0;border:0;background:none;color:var(--ink)}
  .header .menu span{height:2px;width:25px;background:currentColor}
  .header nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - var(--header-height));overflow:auto;padding:18px 6%;background:#fff;border-bottom:1px solid var(--rule);box-shadow:0 14px 24px #12394315}
  .header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
  .header nav a{font-size:18px;padding:10px 0;min-height:48px;white-space:normal}
}
@media(max-width:360px){.header .brand img{width:105px}.header .languages button{min-width:22px}}
@media(prefers-reduced-motion:reduce){.header nav a{transition:none}}
