:root{--copper:#b87333;--copper-hover:#a06228;--black:#1a1a1a;--gray-dark:#666;--gray-mid:#999;--gray-light:#e0e0e0;--gray-bg:#fafafa;--white:#fff;--copper-tint:#fffaf5;--space-xs:10px;--space-sm:20px;--space-md:30px;--space-lg:40px;--space-xl:60px;--space-xxl:80px;--text-xs:11px;--text-sm:12px;--text-base:15px;--text-lg:18px;--text-xl:24px;--text-2xl:32px}*{margin:0;padding:0;box-sizing:border-box}.font-serif-primary{font-family:Crimson Text,Georgia,serif}.font-sans-primary{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.text-heading-primary{font-size:var(--text-2xl);font-weight:300;color:var(--black);line-height:1.2}.text-heading-secondary{font-size:var(--text-lg);font-weight:400;color:var(--copper);line-height:1.3}.text-body-primary{font-size:var(--text-base);color:var(--black);line-height:1.6}.text-body-secondary{font-size:var(--text-base);color:var(--gray-dark);line-height:1.8}.text-caption{font-size:var(--text-xs);color:var(--gray-mid);letter-spacing:2px;text-transform:uppercase;font-family:-apple-system,sans-serif}.text-brand{color:var(--copper)}.booking-container{max-width:600px;width:100%;margin:0 auto;padding:0 var(--space-md)}.booking-header{text-align:center;margin-bottom:var(--space-xl)}.booking-section{margin-bottom:var(--space-lg)}.step{display:none}.step.active{display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.progress-dots{display:flex;justify-content:center;gap:15px;margin-bottom:var(--space-xl)}.dot{width:8px;height:8px;border-radius:50%;background:var(--gray-light);transition:all .3s ease}.dot.active{background:var(--copper);transform:scale(1.5)}.btn{display:inline-block;padding:15px 40px;background:transparent;border:1px solid var(--gray-light);color:var(--gray-dark);font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;font-family:-apple-system,sans-serif;text-decoration:none;cursor:pointer;transition:all .3s ease}.btn:hover:not(:disabled){border-color:var(--copper);color:var(--copper)}.btn:disabled{opacity:.3;cursor:not-allowed}.btn-primary{background:var(--copper);color:var(--white);border-color:var(--copper)}.btn-primary:hover:not(:disabled){background:var(--copper-hover);border-color:var(--copper-hover);color:var(--white)}.btn-full{width:100%}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-size:var(--text-sm);letter-spacing:2px;text-transform:uppercase;color:var(--gray-dark);margin-bottom:10px;font-family:-apple-system,sans-serif}.form-input,.form-select,.form-textarea{width:100%;padding:15px;background:var(--gray-bg);border:1px solid var(--gray-light);font-family:Georgia,serif;font-size:var(--text-base);color:var(--black);transition:all .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--copper);background:var(--white)}.form-textarea{min-height:120px;resize:vertical;line-height:1.6}.form-select:disabled{opacity:.6;cursor:not-allowed}.time-slots{margin-bottom:var(--space-lg)}.time-slot{background:var(--gray-bg);padding:25px;cursor:pointer;transition:all .3s ease;border:2px solid transparent;text-align:center;margin-bottom:15px;border-radius:0}.time-slot:hover{background:#f5f5f5;border-color:var(--gray-light)}.time-slot.selected{background:var(--copper-tint);border-color:var(--copper)}.time-slot-day{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gray-mid);margin-bottom:8px;font-family:-apple-system,sans-serif}.time-slot-date{font-size:var(--text-xl);color:var(--black);margin-bottom:5px;font-family:Georgia,serif}.time-slot-time{font-size:16px;color:var(--copper);margin-bottom:10px;font-family:Georgia,serif}.time-slot-duration{font-size:var(--text-xs);color:var(--gray-mid);font-family:-apple-system,sans-serif}.navigation{display:flex;justify-content:space-between;margin-top:var(--space-lg);gap:var(--space-sm)}.booking-card{background:var(--gray-bg);padding:var(--space-lg);border:1px solid var(--gray-light);margin-bottom:var(--space-md)}.booking-card-center,.text-center{text-align:center}.text-left{text-align:left}.text-italic{font-style:italic}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mb-xxl{margin-bottom:var(--space-xxl)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-xxl{margin-top:var(--space-xxl)}@media (max-width:768px){.booking-container{padding:0 var(--space-sm)}.time-slot{padding:20px}.navigation{flex-direction:column-reverse;gap:10px}.btn{width:100%}.text-heading-primary{font-size:var(--text-xl)}.booking-header{margin-bottom:var(--space-lg)}.btn{min-height:44px;padding:12px 24px}.time-slot{min-height:60px}}@media (max-width:480px){:root{--space-lg:30px;--space-xl:40px;--space-xxl:60px}.booking-container{padding:0 var(--space-xs)}.time-slot{padding:15px}.text-heading-primary{font-size:28px;line-height:1.3}.section-header{font-size:10px;letter-spacing:1.5px}}*,:after,:before{box-sizing:border-box}.font-serif-primary{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background-image:none}.btn:focus{outline:2px solid var(--copper);outline-offset:2px}.form-input,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:2px solid var(--copper);outline-offset:-2px}.step.active{animation:fadeInUp .5s ease}@media (prefers-contrast:high){:root{--gray-light:#999;--copper-tint:#f5f5f5}.btn{border-width:2px}}@media (prefers-reduced-motion:reduce){.btn,.dot,.fade-in,.loading-spinner,.step.active,.time-slot,.transition-all{animation:none;transition:none}}.fade-in{animation:fadeInUp .5s ease}.transition-all{transition:all .3s ease}.loading-spinner{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid var(--gray-light);border-top-color:var(--copper);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.section-header{font-size:var(--text-xs);letter-spacing:3px;text-transform:uppercase;color:var(--copper);text-align:center;margin-bottom:var(--space-lg);font-family:-apple-system,sans-serif}