:root{--light:#f1f5f9}html{scroll-behavior:smooth}body{min-height:100vh;overflow-x:hidden}.nav{z-index:9999;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-bottom:1px solid #2157671a;justify-content:space-between;align-items:center;width:100%;padding:1.2rem 5vw;display:flex;position:fixed;top:0;left:0}.nav-logo img{width:auto;height:36px}.nav-back{letter-spacing:.08em;text-transform:uppercase;color:var(--gray);align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;transition:color .3s;display:flex}.nav-back:hover{color:var(--accent)}.nav-back svg{width:16px;height:16px}.booking-page{grid-template-columns:1fr 1fr;min-height:100vh;padding-top:72px;display:grid}.booking-info{background:var(--light);flex-direction:column;justify-content:center;padding:5rem 4rem;display:flex;position:relative;overflow:hidden}.booking-info:before{content:"";background:radial-gradient(circle, rgba(var(--accent-rgb),.06) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:500px;height:500px;position:absolute;top:-200px;right:-200px}.booking-info .eyebrow{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;font-size:.7rem;font-weight:700}.booking-info h1{letter-spacing:-.02em;color:var(--dark);margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3.2rem)}.booking-info>p{color:var(--gray);max-width:44ch;margin-bottom:3rem;font-size:1.05rem;line-height:1.7}.booking-features{flex-direction:column;gap:1.25rem;margin-bottom:3rem;display:flex}.booking-feature{align-items:flex-start;gap:1rem;display:flex}.booking-feature-icon{background:#fff;border:1px solid #0000000f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 8px #00000008}.booking-feature-icon svg{width:18px;height:18px;color:var(--accent)}.booking-feature h4{font-family:var(--font-body);color:var(--dark);margin-bottom:.15rem;font-size:.9rem;font-weight:600}.booking-feature p{color:var(--gray);font-size:.82rem;line-height:1.5}.booking-michael{background:#fff;border:1px solid #0000000f;border-radius:14px;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 4px 20px #0000000a}.booking-michael img{object-fit:cover;border:2px solid rgba(var(--accent-rgb),.15);border-radius:50%;width:56px;height:56px}.booking-michael-info h4{font-family:var(--font-body);color:var(--dark);font-size:.95rem;font-weight:600}.booking-michael-info p{color:var(--gray);letter-spacing:.05em;font-size:.75rem}.booking-calendar{flex-direction:column;justify-content:center;width:100%;max-width:560px;margin:0 auto;padding:4rem 3.5rem;display:flex}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.calendar-header h3{font-family:var(--font-body);color:var(--dark);font-size:1.1rem;font-weight:600}.calendar-nav{gap:.5rem;display:flex}.calendar-nav button{cursor:pointer;width:36px;height:36px;color:var(--dark);background:#fff;border:1px solid #0000001a;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.calendar-nav button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.calendar-nav button svg{width:16px;height:16px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:2.5rem;display:grid}.calendar-day-label{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);padding:.5rem 0;font-size:.7rem;font-weight:700}.calendar-day{aspect-ratio:1;color:var(--dark);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:.85rem;font-weight:500;transition:all .2s;display:flex;position:relative}.calendar-day:hover{background:rgba(var(--accent-rgb),.08)}.calendar-day.inactive{color:#cbd5e1;pointer-events:none}.calendar-day.today{color:var(--accent);font-weight:700}.calendar-day.today:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.calendar-day.selected{background:var(--accent);color:#fff;box-shadow:0 4px 14px rgba(var(--accent-rgb),.3);font-weight:700}.calendar-day.selected:after{display:none}.calendar-day.has-slots:before{content:"";background:#22c55e;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.calendar-day.selected:before{background:#fff9}.time-slots-section{display:none}.time-slots-section.visible{display:block}.time-slots-label{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.75rem;font-weight:700}.time-slots{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:2.5rem;display:grid}.time-slot{text-align:center;color:var(--dark);cursor:pointer;background:#fff;border:1.5px solid #00000014;border-radius:10px;padding:12px 8px;font-size:.85rem;font-weight:500;transition:all .2s}.time-slot:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.04)}.time-slot.selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 14px rgba(var(--accent-rgb),.2)}.booking-form{display:none}.booking-form.visible{display:block}.booking-form label{letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:.4rem;font-size:.75rem;font-weight:700;display:block}.booking-form input,.booking-form select,.booking-form textarea{width:100%;font-family:var(--font-body);color:var(--dark);background:#fff;border:1.5px solid #0000001a;border-radius:10px;outline:none;margin-bottom:1.25rem;padding:14px 16px;font-size:.9rem;transition:border-color .3s}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.booking-form textarea{resize:vertical;min-height:80px}.booking-form .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.btn-book{background:var(--accent);color:#fff;width:100%;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:50px;padding:16px;font-size:.85rem;font-weight:700;transition:transform .3s,box-shadow .3s}.btn-book:hover{box-shadow:0 12px 40px rgba(var(--accent-rgb),.3);transform:translateY(-2px)}.btn-book:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.booking-confirmation{text-align:center;padding:3rem 0;display:none}.booking-confirmation.visible{display:block}.confirmation-icon{background:#22c55e1a;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1.5rem;display:flex}.confirmation-icon svg{color:#22c55e;width:36px;height:36px}.booking-confirmation h3{color:var(--dark);margin-bottom:.75rem;font-size:1.5rem}.booking-confirmation p{color:var(--gray);max-width:36ch;margin:0 auto;font-size:.95rem;line-height:1.6}.confirmation-details{background:var(--light);text-align:left;border-radius:12px;margin-top:2rem;padding:1.5rem}.confirmation-details p{max-width:none;margin:.4rem 0;font-size:.85rem}.confirmation-details strong{color:var(--dark)}@media (max-width:900px){.booking-page{grid-template-columns:1fr}.booking-info{padding:3rem 2rem}.booking-calendar{padding:2.5rem 2rem}.time-slots{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.booking-form .form-row{grid-template-columns:1fr}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.6s cubic-bezier(.25,.46,.45,.94) both fadeUp}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.footer-bar{background:#fff;border-top:1px solid #21576714;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 5vw;display:flex}.footer-bar .nav-logo{font-size:1.2rem}.footer-links{gap:2rem;display:flex}.footer-links a{color:var(--gray);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;transition:color .3s}.footer-links a:hover{color:var(--accent)}.footer-copy{color:#0000004d;text-align:center;width:100%;margin-top:1rem;font-size:.7rem}
