.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;border:1px solid transparent;border-radius:999px;padding:15px 26px;font-size:12px;line-height:1.3;letter-spacing:.07em;font-weight:800;text-transform:uppercase;transition:background .25s,transform .25s}.btn:hover{transform:translateY(-2px)}.btn i{font-size:13px;transition:transform .25s}.btn:hover i{transform:translateX(3px)}.btn-primary{background:var(--lulu-sunny-day);color:var(--lulu-ink)}.btn-primary:hover{background:#e3a91a}.btn-secondary{background:var(--lulu-splash-deep);color:white}.btn-dark{background:var(--lulu-ink);color:white}.btn-outline{border-color:currentColor;background:transparent}.btn-text{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-block:8px}.btn-text:hover i{transform:translateX(4px)}.icon-button{display:inline-grid;place-items:center;width:48px;height:48px;background:transparent;border:1px solid currentColor;border-radius:50%;flex-shrink:0}.icon-button:hover{background:#ffffff20}.site-header{position:fixed;z-index:50;inset:0 0 auto;min-height:90px;padding:10px 3.1%;display:flex;gap:30px;align-items:center;justify-content:space-between;color:white;transition:transform .3s,background .3s,min-height .3s}.site-header.scrolled{background:rgba(61,97,137,.96);backdrop-filter:blur(12px);min-height:74px}.site-header.header-hidden{transform:translateY(-100%)}.brand{flex-shrink:0}.logo{width:160px;height:70px;object-fit:contain}.desktop-nav{display:flex;gap:22px;align-items:center}.desktop-nav a{font-size:12px;font-weight:800;white-space:nowrap;padding-block:15px}.desktop-nav a:hover{border-bottom:1px solid white}.header-actions{display:flex;align-items:center;gap:22px}.header-call{font-size:13px;display:flex;gap:8px;align-items:center;min-height:44px}.site-header .btn{padding:13px 24px;min-height:46px}.menu-toggle{display:none}.mobile-menu{position:fixed;inset:0;width:100%;max-width:none;height:100svh;max-height:none;border:0;background:var(--lulu-splash-deep);color:white;padding:24px 7%;overflow:auto}.mobile-menu::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.12;background:url('../images/amenities/hotel-lulu-pool-800.webp') center/cover}.mobile-menu>*{position:relative}.mobile-menu::backdrop{background:var(--lulu-splash)}.menu-head{display:flex;justify-content:space-between;align-items:center}.mobile-menu nav{display:grid;margin:30px 0;gap:8px}.mobile-menu nav a{font-size:clamp(22px,4vh,34px);font-weight:800;min-height:44px}.mobile-menu address{font-size:14px;margin-top:28px}.socials{display:flex;gap:12px;margin-top:24px}.socials a,.socials span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%}.site-footer{padding:64px 0 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:48px;border-bottom:1px solid #ffffff40}.footer-top p{font-size:14px;letter-spacing:.15em;font-weight:800}.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr) 1.6fr;gap:30px;padding-block:56px}.footer-grid h3{font-size:12px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:20px}.footer-grid a{display:block;font-size:14px;padding-block:7px}.footer-grid address{font-size:14px;max-width:190px}.footer-grid .socials a{display:grid}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff40;padding-top:24px;font-size:12px}.mobile-conversion{display:none}.toast{position:fixed;z-index:150;bottom:28px;left:50%;transform:translateX(-50%);padding:16px 24px;border-radius:12px;background:var(--lulu-ink);color:white;font-size:15px;width:max-content;max-width:calc(100% - 32px);box-shadow:0 8px 30px #0003}/* Preserve a 44px hit area for compact footer/contact links. */
.footer-grid a{min-height:44px}
.location-section [data-phone-label]{display:inline-flex;align-items:center;min-height:44px}
