/* Reserve the opening header's space; only the visible band contracts. */
:root { --header-height:104px; --header-rest-height:104px; --header-compact-height:74px; }
html { scroll-padding-top:calc(var(--header-compact-height) + 20px); }
html:not(.js-ready) { scroll-padding-top:calc(var(--header-rest-height) + 20px); }
#main { scroll-margin-top:calc(var(--header-rest-height) - var(--header-compact-height)); }
.header-shell { position:sticky; top:0; z-index:20; height:var(--header-rest-height); pointer-events:none; }
.js-ready .site-header { position:absolute; inset:0 0 auto; }
.site-header {
  position:relative;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:0;
  height:var(--header-rest-height);
  padding:12px var(--gutter);
  gap:28px;
  background:var(--brand-ink);
  color:var(--pale);
  --header-accent:#fff1df;
  border-bottom:1px solid #f8f7f233;
  box-shadow:0 4px 18px #48423c08;
  pointer-events:auto;
  transition:height .28s ease,padding .28s ease,background-color .28s ease,box-shadow .28s ease;
}
.site-header .brand { width:300px; max-width:100%; flex-shrink:0; transition:width .28s ease; }
.site-header.is-condensed { height:var(--header-compact-height); padding-top:5px; padding-bottom:5px; box-shadow:0 5px 20px #28211c14; --header-accent:#fff1df; }
.site-header.is-condensed .brand { width:232px; }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  /* Glass lives behind the controls so the dropdown can sample the page itself. */
  .site-header,.site-header.is-condensed { background:transparent; }
  .site-header::before {
    content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
    background:var(--brand-ink);
    transition:background-color .28s ease,box-shadow .28s ease;
  }
  .site-header.is-condensed::before {
    background:rgba(72,66,60,.46);
    -webkit-backdrop-filter:blur(7px) saturate(1.08) brightness(.58);
    backdrop-filter:blur(7px) saturate(1.08) brightness(.58);
    box-shadow:inset 0 1px 0 #ffffff24,inset 0 -1px 0 #ffffff18;
  }
}
.site-nav a { position:relative; }
.site-header a:hover,
.site-nav a[aria-current='location'] { color:var(--header-accent,var(--accessible-beige)); }
.site-header a:focus-visible,
.site-header button:focus-visible { outline-color:var(--pale); }
.site-nav .nav-inquire { border-bottom:0; }
.site-nav a::after {
  content:'';
  position:absolute;
  bottom:5px;
  left:0;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
.site-nav a[aria-current='location']::after { transform:scaleX(1); }
/* Destinations receive focus after navigation; their heading identifies the section. */
main>section[tabindex='-1']:focus { outline:none; }
@media (max-width:1100px) {
  .site-header { min-height:0; }
  .site-header .menu-toggle { font-size:16px; gap:12px; min-height:48px; }
  .site-nav {
    background:var(--brand-ink);
    padding:12px var(--gutter) 24px;
    max-height:calc(100vh - var(--header-height));
    max-height:calc(100dvh - var(--header-height));
    overflow-y:auto;
    overscroll-behavior:contain;
    box-shadow:0 16px 22px #48423c12;
  }
  .site-nav a { font-size:20px; padding:16px 0; border-bottom:1px solid #f8f7f233; }
  .site-nav a::after { width:26px; bottom:9px; }
  .site-nav .nav-inquire { margin-top:0; border-bottom:1px solid #f8f7f233; }
  @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    .site-nav {
      --header-accent:#fff1df;
      background:rgba(72,66,60,.78);
      -webkit-backdrop-filter:blur(24px) saturate(1.08) brightness(.82);
      backdrop-filter:blur(24px) saturate(1.08) brightness(.82);
      box-shadow:inset 0 1px 0 #ffffff26,0 14px 24px #28211c20;
      border-bottom:1px solid #ffffff4d;
    }
  }
  html:not(.js-ready) .header-shell { position:relative; height:auto; }
  html:not(.js-ready) .site-header { position:relative; height:auto; min-height:var(--header-rest-height); }
  html:not(.js-ready) .site-nav { max-height:none; box-shadow:none; overflow:visible; }
  html:not(.js-ready) { scroll-padding-top:20px; }
}
@media (max-width:700px) {
  :root { --header-height:108px; --header-rest-height:108px; --header-compact-height:80px; }
  .site-header { min-height:0; padding:10px var(--gutter); gap:20px; }
  .site-header .brand { width:184px; max-width:calc(100% - 88px); }
  .site-header.is-condensed .brand { width:144px; }
  .site-header .menu-toggle { padding:8px 0; justify-self:auto; }
}
@media (max-height:500px) and (max-width:1100px) {
  :root { --header-height:82px; --header-rest-height:82px; --header-compact-height:66px; }
  .site-header { min-height:0; padding-top:7px; padding-bottom:7px; }
  .site-header .brand { width:250px; }
  .site-header.is-condensed .brand { width:200px; }
  .site-nav { padding-top:0; padding-bottom:14px; }
  .site-nav a { padding-top:12px; padding-bottom:12px; }
}
@media (max-height:500px) and (max-width:700px) {
  .site-header .brand { width:142px; }
  .site-header.is-condensed .brand { width:116px; }
}
@media (prefers-reduced-motion:reduce) { .site-nav a::after,.site-header,.site-header::before,.site-header .brand { transition:none; } }
html[data-motion='paused'] .site-header,
html[data-motion='paused'] .site-header::before,
html[data-motion='paused'] .site-header .brand { transition:none; }
@media (prefers-reduced-transparency:reduce) {
  .site-header::before,.site-header.is-condensed::before,.site-nav {
    background:var(--brand-ink); -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none;
  }
}
@media print {
  .header-shell { position:static; }
  .js-ready .site-header { position:static; box-shadow:none; background:var(--brand-ink); -webkit-backdrop-filter:none; backdrop-filter:none; }
  .site-header::before { display:none; }
  html { scroll-padding-top:0; }
}
