@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";.booking-page{color:#1b1b18;background:#f7f5f0;min-height:100dvh;font-family:DM Sans,Arial,sans-serif}.booking-page *{box-sizing:border-box}.booking-header{border-bottom:1px solid #dad4c9;justify-content:space-between;align-items:center;height:88px;padding:0 clamp(24px,5vw,88px);display:flex}.booking-header a{color:inherit;text-decoration:none}.booking-brand{letter-spacing:-.045em;font:500 1.42rem/1 Playfair Display,Georgia,serif}.booking-brand span{letter-spacing:.15em;text-transform:uppercase;margin-top:5px;font:.62rem/1 DM Mono,monospace;display:block}.back-link{text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #1b1b18;padding-bottom:5px;font:.75rem/1 DM Mono,monospace}.booking-shell{grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);max-width:1500px;margin:auto;display:grid}.booking-intro{background:#e9e4d9;flex-direction:column;align-self:start;min-height:calc(100dvh - 88px);padding:clamp(50px,7vw,104px) clamp(24px,5vw,88px) 0;display:flex;position:sticky;top:0;overflow:hidden}.booking-eyebrow,.step-number{letter-spacing:.1em;text-transform:uppercase;color:#9c4938;font:500 .75rem/1.4 DM Mono,monospace}.booking-intro h1{letter-spacing:-.065em;margin:28px 0 24px;font:500 clamp(3.4rem,6vw,6.5rem)/.98 Playfair Display,Georgia,serif}.booking-intro h1 em{font-weight:500}.booking-intro>p:not(.booking-eyebrow){max-width:455px;font-size:1.1rem;line-height:1.6}.intro-photo{background:url(/images/volleyball-serve.jpg) 50% 45%/cover;flex:1;min-height:300px;margin-top:48px}.booking-form-wrap{padding:clamp(40px,5.7vw,90px) clamp(24px,6vw,100px) 90px}.book-step{border-bottom:1px solid #d9d2c7;margin-bottom:48px;padding-bottom:48px}.book-step:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.book-step h2,.booking-success h2{letter-spacing:-.05em;margin:14px 0 24px;font:500 clamp(2rem,3.2vw,3rem)/1.15 Playfair Display,Georgia,serif}.service-options{gap:10px;display:grid}.service-option{cursor:pointer;text-align:left;color:#1b1b18;background:0 0;border:1px solid #c8c0b4;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:18px 20px;font:500 1rem DM Sans,sans-serif;display:flex}.service-option small{color:#68645b;text-align:right;font-size:.83rem}.service-option.selected,.time-options .selected{color:#f7f5f0;background:#262721;border-color:#262721}.service-option.selected small{color:#e1d9c9}.time-note{color:#68645b;margin:-8px 0 25px}.booking-page label{margin:0 0 20px;font-size:.92rem;font-weight:600;display:block}.booking-page input,.booking-page textarea,.booking-page select{color:#1b1b18;background:#fffefa;border:1px solid #c6bfb3;border-radius:0;width:100%;min-height:49px;margin-top:9px;padding:12px 14px;font:1rem DM Sans,sans-serif;display:block}.booking-page textarea{resize:vertical}.booking-page select{cursor:pointer}.time-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.time-options button{color:#1b1b18;cursor:pointer;background:0 0;border:1px solid #c8c0b4;min-height:50px;font:500 .9rem DM Mono,monospace}.time-options button.selected{color:#fff}.fields-two{grid-template-columns:1fr 1fr;gap:16px;display:grid}.status-box{background:#eee9df;border:1px solid #c8c0b4;padding:22px;line-height:1.55}.status-box a{text-underline-offset:3px}.form-error{color:#7f2d1c;background:#f4e6df;border-left:3px solid #a94e3b;padding:10px 14px}.submit-booking{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:#262721;border:1px solid #262721;width:100%;min-height:57px;margin-top:7px;font:500 .8rem DM Mono,monospace}.submit-booking:hover:not(:disabled){background:#a94e3b;border-color:#a94e3b}.submit-booking:disabled{opacity:.45;cursor:not-allowed}.fine-print{color:#68645b;font-size:.86rem;line-height:1.5}.trap{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.booking-success{padding:60px 0}.booking-success p{max-width:530px;font-size:1.1rem;line-height:1.6}.booking-success a{color:inherit;text-underline-offset:4px}.booking-page :focus-visible{outline-offset:3px;outline:3px solid #a94e3b}@media (max-width:850px){.booking-shell{grid-template-columns:1fr}.booking-intro{min-height:0;padding:50px 24px 0;position:static}.booking-intro h1{font-size:clamp(3.2rem,10vw,5rem)}.intro-photo{min-height:260px;margin-top:35px}.booking-form-wrap{width:100%;max-width:700px;margin:auto;padding:45px 24px 80px}}@media (max-width:520px){.booking-header{height:76px;padding:0 18px}.back-link{font-size:.66rem}.fields-two{grid-template-columns:1fr;gap:0}.time-options{grid-template-columns:repeat(2,minmax(0,1fr))}.service-option{flex-direction:column;align-items:flex-start;gap:4px}.service-option small{text-align:left}}
