.booking-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(7,9,11,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:booking-fade .16s ease-out}.booking-modal{position:relative;width:100%;max-width:920px;max-height:calc(100vh - 48px);overflow:hidden;background:#fff;border-radius:14px;box-shadow:0 40px 90px -28px rgba(8,32,48,.55);animation:booking-rise .2s cubic-bezier(.2,.7,.2,1)}.booking-close{position:absolute;top:16px;right:16px;z-index:3;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.92);color:var(--fg2);font-size:15px;cursor:pointer;transition:background .16s,color .16s,border-color .16s}.booking-close:hover{background:var(--nw-teal-100);color:var(--nw-teal-700);border-color:var(--nw-teal-300)}.booking-grid{display:grid;grid-template-columns:.82fr 1.18fr;min-height:540px;max-height:calc(100vh - 48px)}.booking-aside{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:44px 40px;color:#fff;background:radial-gradient(120% 120% at 80% -10%,#102b34 0,#0b1014 55%)}.booking-aside .grain{position:absolute;inset:0;background-image:var(--nw-grain-url);background-size:240px 240px;opacity:.14;mix-blend-mode:screen;pointer-events:none}.booking-eyebrow{position:relative;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--nw-teal-300);margin:0 0 14px}.booking-aside h2{position:relative;font-family:var(--font-display);font-weight:500;font-size:27px;line-height:1.1;letter-spacing:-.02em;margin:0}.booking-sub{position:relative;margin:14px 0 0;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.82)}.booking-points{position:relative;list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}.booking-points li{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;line-height:1.4;color:rgba(255,255,255,.92)}.booking-points .bp-ic{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,148,184,.2);border:1px solid rgba(0,148,184,.5);color:var(--nw-teal-300)}.booking-points .bp-ic svg{width:12px;height:12px}.booking-offers{position:relative;list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}.booking-offers li{padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}.booking-offers li:first-child{padding-top:0;border-top:none}.booking-offers .bo-h{display:flex;align-items:baseline;gap:10px;margin:0 0 5px;font-family:var(--font-display);font-weight:500;font-size:16px;color:#fff}.booking-offers .bo-dur{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--nw-teal-300)}.booking-offers .bo-d{margin:0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.72)}.booking-alt{position:relative;margin:auto 0 0;padding-top:26px;font-size:13.5px;color:rgba(255,255,255,.6)}.booking-alt a{color:var(--nw-teal-300);text-decoration:none}.booking-alt a:hover{text-decoration:underline}.booking-main{display:flex;flex-direction:column;min-width:0;background:#fff}.booking-form-wrap{flex:1 1;overflow-y:auto;padding:44px 40px}.booking-form-wrap .contact-form{margin:0}.booking-frame{width:100%;height:100%;min-height:540px;border:0;display:block}.booking-placeholder{flex:1 1;flex-direction:column;text-align:center;gap:14px;padding:48px 36px}.booking-placeholder,.booking-placeholder .bp-cal{display:flex;align-items:center;justify-content:center}.booking-placeholder .bp-cal{width:56px;height:56px;border-radius:12px;background:var(--nw-teal-100);color:var(--nw-teal-700)}.booking-placeholder .bp-cal svg{width:28px;height:28px}.booking-placeholder .bp-note{font-family:var(--font-display);font-weight:500;font-size:19px;letter-spacing:-.01em;color:var(--nw-ink-950);margin:0}.booking-placeholder .bp-sub{font-size:14px;line-height:1.55;color:var(--fg2);margin:0;max-width:38ch}.booking-placeholder .btn{margin-top:6px}@media (max-width:760px){.booking-grid{grid-template-columns:1fr;min-height:0;overflow-y:auto}.booking-aside{padding:40px 28px 30px}.booking-aside h2{font-size:23px}.booking-points{margin-top:20px}.booking-alt{margin-top:22px}.booking-frame{min-height:460px}.booking-placeholder{padding:38px 26px}.booking-form-wrap{padding:28px 24px}.booking-alt{display:none}}@keyframes booking-fade{0%{opacity:0}to{opacity:1}}@keyframes booking-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.booking-modal,.booking-overlay{animation:none}}