/* Guest header: Menu / Partners / primary booking CTA. */
@media(min-width:901px){
  .nav{position:fixed;inset:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;
    padding:calc(76px + env(safe-area-inset-top)) 24px calc(30px + env(safe-area-inset-bottom));
    background:var(--ground);color:var(--ink);font-size:19px;transform:translateY(-100%);
    transition:transform .4s cubic-bezier(.3,.8,.3,1);z-index:79;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav a{padding:13px 0;border-bottom:1px solid var(--line);min-height:52px}
  .top.open .nav{transform:none}
  .top.open{background:var(--ground);color:var(--ink)}
  .burger{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;order:2;position:relative;z-index:81}
  .top .mark{position:relative;z-index:81}
  .top .btn.book{order:3;position:relative;z-index:81;white-space:nowrap}
  .top{padding:10px 14px;gap:10px}
  .has-sub{flex-direction:row;flex-wrap:wrap;width:100%;border-bottom:1px solid var(--line)}
  .has-sub .parent{flex:1;padding:13px 0;border-bottom:0;min-height:52px}
  .subtoggle{min-width:52px;min-height:52px;font-size:16px}
  .sub{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;background:transparent;width:100%;padding:0 0 10px;display:none}
  .top:not(.solid) .sub{background:transparent;color:inherit}
  .has-sub.open .sub{display:block}
  .sub a{padding:11px 0 11px 18px;font-size:17px;opacity:.85;border-bottom:0}
  .has-sub::after{display:none}
}

.nav{visibility:hidden}.top.open .nav{visibility:visible}

.top .header-partners{order:3;position:relative;z-index:81;display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap;text-decoration:none;font-size:13.5px;opacity:.88;border-bottom:1px solid transparent}
.top .header-partners:hover,.top .header-partners:focus-visible{opacity:1;border-bottom-color:currentColor}
.top .btn.book{order:4;min-height:44px}
@media(min-width:901px){.top{padding:12px 20px;gap:16px}}
@media(max-width:560px){
 .top{padding:10px;gap:8px}
 .top .mark{font-size:14px}
 .top .mark span{font-size:7.5px;letter-spacing:.16em}
 .top .burger{font-size:12px;padding:0 8px}
 .top .header-partners{font-size:12px}
 .top .btn.book{font-size:12px;padding:0 9px}
}
@media(max-width:360px){
 .top{padding:10px 8px;gap:6px}
 .top .mark{font-size:12px}
 .top .mark span{font-size:6.5px;letter-spacing:.12em}
 .top .burger{padding:0 6px}
 .top .btn.book{padding:0 7px}
}

/* Keep long public document names within narrow phone screens. */
#legal-documents .facts li>*{min-width:0;overflow-wrap:anywhere}
