.booking-page { min-height: 100vh; background: #08090a; color: white; }
.booking-page::after { z-index: 200; }
.booking-header { background: rgba(8,9,10,.86); }
.booking-route { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.38); font: 600 8px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.booking-route > i { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 12px rgba(200,255,0,.6); }
.booking-route b { padding-left: 10px; border-left: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.65); font-weight: 500; }
.booking-main { position: relative; min-height: 100vh; overflow: hidden; background: radial-gradient(circle at 73% 38%,rgba(200,255,0,.08),transparent 26%),linear-gradient(145deg,#070809,#0b0d0c); }
.booking-main::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px); background-size: 68px 68px; mask-image: radial-gradient(circle at 70% 45%,black,transparent 68%); content: ""; }
.booking-field { position: absolute; inset: 0; pointer-events: none; opacity: .42; }
.booking-field svg { width: 100%; height: 100%; animation: bookingDrift 22s ease-in-out infinite alternate; }
.booking-lines path { fill: none; stroke: rgba(200,255,0,.1); stroke-width: .7; stroke-dasharray: 3 10; }
.booking-nodes circle { fill: var(--lime); opacity: .35; filter: drop-shadow(0 0 8px rgba(200,255,0,.8)); animation: bookingNode 4s ease-in-out infinite; }
.booking-nodes circle:nth-child(2n) { animation-delay: -2s; }
@keyframes bookingDrift { to { transform: translate3d(10px,-7px,0) scale(1.01); opacity: .7; } }
@keyframes bookingNode { 50% { opacity: .8; transform: scale(1.5); transform-box: fill-box; transform-origin: center; } }
.booking-hero { position: relative; z-index: 2; padding: 138px 0 80px; }
.booking-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(60px,7vw,110px); align-items: start; }
.booking-copy { position: sticky; top: 125px; padding-top: 34px; }
.booking-copy h1 { margin: 26px 0 0; font: 500 clamp(54px,5.5vw,82px)/.98 var(--display); letter-spacing: -.065em; }
.booking-copy h1 em { color: var(--lime); font-style: normal; }
.booking-lede { max-width: 570px; margin: 28px 0 0; color: rgba(255,255,255,.52); font-size: 17px; line-height: 1.72; }
.booking-value { margin-top: 40px; border-top: 1px solid rgba(255,255,255,.1); }
.booking-value > div { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.booking-value i { color: var(--lime); font: 500 8px/1.4 var(--mono); font-style: normal; }
.booking-value b,.booking-value small { display: block; }
.booking-value b { color: rgba(255,255,255,.78); font: 500 13px/1.3 var(--sans); }
.booking-value small { margin-top: 5px; color: rgba(255,255,255,.32); font-size: 11px; line-height: 1.45; }
.booking-proof { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 28px; }
.booking-proof span { display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.34); font: 500 7px/1 var(--mono); text-transform: uppercase; }
.booking-proof i { width: 4px; height: 4px; border-radius: 50%; background: var(--lime); }
.booking-note { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; margin-top: 36px; }
.booking-avatar { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(200,255,0,.35); border-radius: 50%; background: rgba(200,255,0,.05); color: var(--lime); font: 600 11px/1 var(--mono); }
.booking-note blockquote { margin: 0; color: rgba(255,255,255,.68); font: 500 13px/1.4 var(--display); }
.booking-note span { color: rgba(255,255,255,.27); font: 500 7px/1 var(--mono); text-transform: uppercase; }
.calendar-frame { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: rgba(14,17,16,.9); box-shadow: 0 60px 140px rgba(0,0,0,.45),0 0 90px rgba(200,255,0,.035); backdrop-filter: blur(24px); }
.calendar-frame::before { position: absolute; top: -40%; left: -30%; width: 25%; height: 180%; background: linear-gradient(90deg,transparent,rgba(200,255,0,.06),transparent); content: ""; transform: skewX(-15deg); animation: calendarScan 9s ease-in-out infinite; pointer-events: none; }
@keyframes calendarScan { 0%,15% { left: -30%;opacity:0; } 28% { opacity:1; } 75% { left: 125%;opacity:.7; } 85%,100% { left:125%;opacity:0; } }
.calendar-chrome,.calendar-context,.calendar-footer { position: relative; z-index: 2; }
.calendar-chrome { display: flex; justify-content: space-between; align-items: center; min-height: 54px; padding: 0 20px; border-bottom: 1px solid rgba(255,255,255,.09); background: rgba(7,9,8,.84); color: rgba(255,255,255,.42); font: 600 7px/1 var(--mono); letter-spacing: .1em; }
.calendar-chrome > div,.calendar-chrome > b { display: flex; align-items: center; gap: 8px; }
.calendar-chrome i { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px rgba(200,255,0,.6); }
.calendar-chrome > b { color: var(--lime); font-weight: 500; text-transform: uppercase; }
.calendar-context { display: grid; grid-template-columns: 1.5fr .5fr .6fr; border-bottom: 1px solid rgba(255,255,255,.08); }
.calendar-context > div { padding: 15px 18px; border-right: 1px solid rgba(255,255,255,.07); }
.calendar-context > div:last-child { border: 0; }
.calendar-context span,.calendar-context b { display: block; font: 500 7px/1.25 var(--mono); text-transform: uppercase; }
.calendar-context span { margin-bottom: 6px; color: rgba(255,255,255,.24); }.calendar-context b { color: rgba(255,255,255,.66); }
.calendar-embed-wrap { position: relative; min-height: 760px; background: #0a0a0b; }
.calendly-host { position: relative; z-index: 2; min-width: 320px; height: 760px; opacity: 0; transition: opacity .5s ease; }
.calendly-host.is-ready { opacity: 1; }
.calendly-host iframe { min-height: 760px !important; }
.calendar-loading { position: absolute; inset: 0; z-index: 1; display: grid; place-content: center; justify-items: center; gap: 28px; background: radial-gradient(circle,rgba(200,255,0,.06),transparent 32%),#0a0a0b; transition: opacity .4s ease,visibility .4s ease; }
.calendar-loading.is-hidden { opacity: 0; visibility: hidden; }
.calendar-loading > span { color: rgba(255,255,255,.32); font: 500 7px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.loading-orbit { position: relative; width: 100px; height: 100px; border: 1px solid rgba(200,255,0,.13); border-radius: 50%; animation: loaderSpin 4s linear infinite; }
.loading-orbit::before { position: absolute; inset: 18px; border: 1px dashed rgba(255,255,255,.12); border-radius: 50%; content: ""; }
.loading-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 12px rgba(200,255,0,.6); }
.loading-orbit i:nth-child(1) { top: 5px;left: 27px; }.loading-orbit i:nth-child(2) { right: 2px;top: 49px; }.loading-orbit i:nth-child(3) { bottom: 5px;left: 30px; }
@keyframes loaderSpin { to { transform: rotate(360deg); } }
.calendar-fallback { position: absolute; inset: 0; z-index: 4; place-content: center; justify-items: center; padding: 50px; background: #0a0a0b; text-align: center; }
.calendar-fallback:not([hidden]) { display: grid; }
.calendar-fallback > span { color: var(--lime); font: 500 8px/1 var(--mono); text-transform: uppercase; }.calendar-fallback h2 { margin: 20px 0 0; font: 500 38px/1.1 var(--display); letter-spacing: -.04em; }.calendar-fallback p { max-width: 430px; color: rgba(255,255,255,.42); font-size: 14px; }.calendar-fallback .button { margin-top: 20px; }
.calendar-footer { display: flex; justify-content: space-between; padding: 14px 18px; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.22); font: 500 6px/1 var(--mono); text-transform: uppercase; }
.booking-footer { padding: 28px 0; border-top: 1px solid rgba(255,255,255,.08); background: #050606; }
.booking-footer .shell { display: flex; justify-content: space-between; color: rgba(255,255,255,.25); font: 500 7px/1 var(--mono); text-transform: uppercase; }
.booking-footer div div { display: flex; gap: 20px; }.booking-footer a:hover { color: var(--lime); }
@media (max-width:1050px) { .booking-grid { grid-template-columns:1fr; }.booking-copy { position:static; max-width:760px; }.calendar-frame { max-width:820px; }.booking-route { display:none; } }
@media (max-width:700px) { .booking-header .nav-shell { grid-template-columns:1fr auto; }.booking-nav-actions .sign-in { display:none; }.booking-nav-actions .button { display:inline-flex; }.booking-hero { padding-top:115px; }.booking-copy { padding-top:15px; }.booking-copy h1 { font-size:50px; }.calendar-frame { border-radius:16px; }.calendar-context { grid-template-columns:1fr 1fr; }.calendar-context > div:first-child { grid-column:1/-1;border-bottom:1px solid rgba(255,255,255,.07); }.calendar-embed-wrap,.calendly-host { min-height:700px;height:700px; }.calendar-footer { gap:12px; }.booking-footer .shell { flex-direction:column;gap:16px; }.booking-footer div div { flex-wrap:wrap; } }
@media (prefers-reduced-motion:reduce) { .booking-field svg,.calendar-frame::before,.loading-orbit,.booking-nodes circle { animation:none!important; } }
