.booking-form{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#060606bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.booking-form__dialog{position:relative;width:100%;max-width:440px;max-height:calc(100dvh - 3rem);overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:24px;padding:clamp(1.75rem,4vw,2.5rem)}.booking-form__close{position:absolute;top:1.1rem;right:1.1rem;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--fg-dim);font-size:.9rem;transition:color .15s ease,background .15s ease}.booking-form__close:hover{color:var(--fg);background:#ffffff14}.booking-form__heading{font-size:clamp(1.4rem,3vw,1.75rem);font-weight:700;letter-spacing:-.01em;padding-right:2rem}.booking-form__subhead{color:var(--fg-dim);font-size:.92rem;margin-top:.4rem}.booking-form__form{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.75rem}.booking-form__field{display:flex;flex-direction:column;gap:.4rem}.booking-form__field label{font-size:.82rem;font-weight:600;color:var(--fg-dim)}.booking-form__field input,.booking-form__field select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.7rem .85rem;color:var(--fg);font-family:var(--font-body);font-size:.95rem}.booking-form__field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.booking-form__field input:focus,.booking-form__field select:focus{outline:1.5px solid var(--accent);outline-offset:1px}.booking-form__honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.booking-form__submit{width:100%;justify-content:center;margin-top:.4rem}@media (max-width: 480px){.booking-form{padding:1rem;align-items:flex-end}.booking-form__dialog{max-width:none;border-radius:24px 24px 0 0;max-height:calc(100dvh - 2rem)}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.75rem clamp(1.5rem,5vw,4rem);transition:background .3s ease,padding .3s ease,backdrop-filter .3s ease,transform .3s ease}.nav--scrolled{background:#0a0a0acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.1rem clamp(1.5rem,5vw,4rem);border-bottom:1px solid var(--border)}.nav--hidden{transform:translateY(-100%)}.nav__logo{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:.1em}.nav__links{display:flex;gap:clamp(1.25rem,3vw,2.5rem)}.nav__link{font-size:.9rem;color:var(--fg-dim);transition:color .2s ease}.nav__link:hover{color:var(--fg)}.nav__burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;border-radius:50%;border:1px solid transparent;background:transparent;flex-shrink:0}.nav__burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--fg);transition:transform .25s ease,opacity .2s ease}.nav__burger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__burger--open span:nth-child(2){opacity:0}.nav__burger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav__sheet{display:none}@media (max-width: 640px){.nav__links,.nav__cta{display:none}.nav__burger{display:flex;width:44px;height:44px}.nav__sheet{position:fixed;top:0;left:0;right:0;z-index:99;display:flex;flex-direction:column;background:#0a0a0af7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:5.5rem 1.5rem 2rem;gap:.25rem;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .3s ease,opacity .25s ease}.nav__sheet--open{transform:translateY(0);opacity:1;pointer-events:auto}.nav__sheet-link{padding:.9rem .25rem;font-size:1.05rem;color:var(--fg-dim);border-bottom:1px solid var(--border)}.nav__sheet-cta{margin-top:1.25rem;justify-content:center;width:100%}}.footer{padding:0 clamp(1.5rem,5vw,4rem) 2.5rem;max-width:1200px;margin:0 auto}.footer__bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:1.25rem 1.75rem;margin-bottom:3rem;flex-wrap:wrap}.footer__bar-left{display:flex;align-items:center;gap:1rem;font-weight:600}.footer__logo{width:40px;height:40px;border-radius:10px;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:#0a0a0a;font-size:.75rem}.footer__grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.footer__brand{color:var(--fg-dim);font-size:.9rem;display:flex;flex-direction:column;gap:.4rem}.footer__links{display:flex;gap:3.5rem}.footer__col{display:flex;flex-direction:column;gap:.6rem;font-size:.9rem;color:var(--fg-dim)}.footer__col a:hover{color:var(--fg)}.footer__socials{display:flex;gap:.75rem}.footer__social{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.85rem}.footer__bottom{display:flex;align-items:center;justify-content:space-between;padding-top:2rem;color:var(--fg-dim);font-size:.85rem}.footer__bottom a:hover{color:var(--fg)}@media (max-width: 640px){.footer__grid{flex-direction:column}.footer__links{gap:2rem}}.footer__link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.footer__link-btn:hover{color:var(--fg)}
