.intro{max-width:690px;color:var(--muted)}h1{font-size:clamp(46px,6.3vw,96px)}.progress{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:40px 0 24px;list-style:none}.progress li{font-size:11px;letter-spacing:.07em;padding:10px 14px;border:1px solid var(--line);color:var(--muted)}.progress li.active{color:var(--paper);border-color:var(--accent)}.progress li.done{border-color:var(--muted)}.builder{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:28px;align-items:start}.panel{border:1px solid var(--line);padding:32px}.choices{display:flex;flex-direction:column;gap:22px}.step{scroll-margin-top:115px;animation:reveal .3s ease-out}.step h2{font-size:32px;margin:16px 0 25px}.summary{position:sticky;top:110px}.summary h2{font-size:28px;margin:22px 0}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice{padding:20px 12px;background:#20211e;color:var(--paper);border:1px solid #62635b;text-align:left;min-height:132px;transition:border-color .15s,background .15s}.choice[aria-pressed=true]{border-color:var(--accent);background:#30231e}.choice svg{width:30px;height:30px;display:block;margin-bottom:14px}.choice strong{display:block;font-size:18px}.choice small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.helper{color:var(--muted);font-size:14px;margin:14px 0;line-height:1.6}select,input,textarea{color:var(--paper);background:#20211e;border:1px solid #62635b;border-radius:0;padding:13px;max-width:100%;}select{display:block;width:100%;margin:12px 0 0;min-height:50px}option{background:#20211e}.field{margin-top:22px}label{display:block;font-size:14px}.stepper{display:flex;margin-top:12px;width:190px}.stepper button{width:48px;background:var(--paper);color:var(--bg);border:0;font-size:24px}.stepper input{width:94px;text-align:center}.stepper button:disabled{opacity:.4;cursor:default}.included{margin:25px 0;border-left:2px solid var(--accent);padding-left:16px;font-size:14px}.included p{margin:12px 0}.extra{display:flex;gap:13px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--line)}.extra input{width:20px;height:20px;accent-color:var(--accent);margin-top:4px;flex:none}.extra span{display:block}.extra small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.line{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.line span:first-child{max-width:75%}.line strong{white-space:nowrap}.total{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin:28px 0 15px}.total strong{font-size:38px;letter-spacing:-.04em}.total span{font-size:13px}.summary .button{width:100%;margin-top:14px;text-align:center;justify-content:center}.step>.button{margin-top:25px}#reset{background:none;color:var(--paper);border:0;padding:10px 0;align-self:flex-start}#availability-status{font-size:13px;margin-top:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}#availability-form h3{font-size:30px;margin-top:15px}#availability-form input,#availability-form textarea{width:100%}#availability-form .button{margin-top:25px}.summary-subheading{font-size:11px;letter-spacing:.1em;color:var(--muted);padding-top:20px}@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.step{animation:none}html{scroll-behavior:auto}}@media(max-width:760px){.builder{grid-template-columns:1fr}.summary{position:static}.panel{padding:23px}.header-actions{gap:12px}.header{gap:12px}.total strong{font-size:34px}.progress li{font-size:10px;padding:8px}.choice{padding:15px 10px;min-height:115px}.choice strong{font-size:16px}.step h2{font-size:28px}}@media print{header,#availability-form,#reset,footer,.progress{display:none}.summary{position:static}.builder{display:block}.panel{break-inside:avoid}body{background:white;color:black}.helper{color:#444}}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.consent{display:flex;gap:12px;margin-top:24px;font-size:13px;color:var(--muted)}.consent input{width:20px!important;height:20px;flex:none;accent-color:var(--accent)}.request-success{margin-top:25px;padding:25px;border:1px solid var(--accent);background:#27221c}.request-success h3{margin:0 0 15px!important}.request-success p{margin:12px 0}.button:disabled{opacity:.5;cursor:not-allowed}
.progress button{background:none;color:var(--muted);border:1px solid var(--line);padding:12px 14px;font:inherit;font-size:11px;letter-spacing:.04em}.progress button.active{border-color:var(--accent);color:var(--paper)}.progress button.done{color:var(--paper);cursor:pointer}.progress button:disabled{cursor:default}.completed{display:grid;gap:8px;margin-bottom:18px}.completed-row{display:grid;grid-template-columns:90px 1fr auto;gap:15px;align-items:center;text-align:left;padding:15px 18px;background:#20211e;border:1px solid var(--line);color:var(--paper)}.completed-row span,.completed-row small{color:var(--muted);font-size:12px}.completed-row strong{font-size:14px;font-weight:500}.step-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:25px}.step-actions .text-link,.navigation .text-link{background:none;border:0;color:var(--paper);padding:12px 0}.navigation{display:flex;justify-content:space-between;margin-top:22px}.field-title{margin:25px 0 12px;font-size:14px}.hours-grid{grid-template-columns:repeat(4,1fr)}.hours-grid .choice{min-height:auto;padding:17px 12px}.hours-grid .choice strong{font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}#availability-form h2{font-size:32px;margin-top:0}.booking-main .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-main .hours-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.choice:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.choice:disabled{cursor:default}.step:focus{outline:none}#availability-status{line-height:1.6}#question-help:empty{display:none}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.booking-main .hours-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.completed-row{grid-template-columns:65px 1fr auto;gap:10px;padding:13px}.booking-main h1{font-size:clamp(42px,11vw,70px)}.progress{gap:6px}.progress button{font-size:10px;padding:9px}.booking-main{padding-top:110px}.summary{margin-top:10px}}

.mobile-estimate{display:none}@media(max-width:760px){body{padding-bottom:65px}.mobile-estimate{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;justify-content:space-between;align-items:center;padding:15px 22px;background:#20211e;border-top:1px solid var(--line);box-shadow:0 -8px 25px #0003;font-size:13px}.mobile-estimate strong{font-size:22px}.step-actions>.button,#availability-submit{width:100%;justify-content:center}#request-panel{scroll-margin-top:110px}}
.connection-retry{background:none;border:0;color:var(--paper);margin-top:15px;padding:10px 0;}