.booking{padding-block:clamp(26px,4vw,52px) clamp(60px,8vw,100px)}.booking-head{text-align:center;max-width:620px;margin-inline:auto}.booking-title{letter-spacing:.03em;margin:10px 0 0;font-size:clamp(30px,5.6vw,50px);line-height:1.05}.booking-lede{margin:12px 0 0;font-size:16.5px}.progress{align-items:center;gap:clamp(4px,1vw,10px);max-width:760px;margin:clamp(24px,3.5vw,40px) auto 0;display:flex}.progress-step{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.progress-bar{background:#4e321633;border-radius:2px;height:4px;display:block}.progress-bar.is-done{background:var(--color-brand-green)}.progress-label{font:600 11px var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:#1a1a1880;margin-top:9px;display:block}.progress-label.is-current{color:var(--color-brand-green)}.restored{max-width:760px;font:400 14px var(--font-body);color:var(--color-brand-brown);text-align:center;margin:16px auto 0}.restored-clear{color:var(--color-brand-green);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.form-layout{grid-template-columns:1fr;align-items:start;gap:clamp(18px,2.6vw,32px);margin-top:clamp(22px,3vw,36px);display:grid}.form-steps{flex-direction:column;gap:clamp(14px,2vw,22px);min-width:0;display:flex}.step{background:var(--color-brand-cream);border:1px solid var(--color-brand-rule);border-radius:14px;padding:clamp(20px,3vw,32px)}.step-title{letter-spacing:.05em;margin:0 0 4px;font-size:clamp(22px,3.2vw,28px)}.step-sub{font:400 14.5px var(--font-body);color:#1a1a18b3;margin:0 0 22px}.fieldset{border:0;margin:0 0 24px;padding:0}.fieldset:last-of-type{margin-bottom:0}.group-label{font:600 12px var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-brand-brown);margin:0 0 10px;padding:0}.optional{text-transform:none;letter-spacing:0;color:#1a1a188c;font-weight:400}.hint{font:400 13px var(--font-body);color:#1a1a189e;margin:10px 0 0}.hint-centre{text-align:center}.two-up{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px;display:grid}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.tile{flex-direction:column;gap:8px;min-height:104px;display:flex}.tile-top{justify-content:space-between;align-items:center;display:flex}.tile-from{font:600 12px var(--font-body);letter-spacing:.06em;text-transform:uppercase;opacity:.8}.tile-name{letter-spacing:.04em;color:inherit;font-size:19px;line-height:1.15}.tile-window{min-height:92px}.tile-hours{font:500 13.5px var(--font-body);opacity:.75}.pill-row{flex-wrap:wrap;gap:10px;display:flex}.pill-lg{min-height:50px;padding:13px 22px;font-size:15px;font-weight:600}.addon-list{flex-direction:column;gap:10px;display:flex}.addon{align-items:center;gap:14px;min-height:64px;display:flex}.addon-copy{flex:1}.addon-name{font:600 15.5px var(--font-body);color:var(--color-brand-ink);display:block}.addon-note{font:400 13.5px var(--font-body);color:#1a1a18ad;display:block}.addon-price{font:600 15px var(--font-body);color:var(--color-brand-brown);flex:none}.calendar{background:#fff;border:1px solid #4e32162e;border-radius:12px;padding:clamp(12px,2vw,18px)}.cal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cal-nav{width:44px;height:44px;color:var(--color-brand-green);cursor:pointer;background:0 0;border:1px solid #4e321633;border-radius:999px;flex:none;justify-content:center;align-items:center;display:flex}.cal-nav:hover{background:#163e1f12}.cal-title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-brand-green);text-align:center;font-size:clamp(19px,2.6vw,23px);font-weight:600}.cal-dow{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.cal-dow span{text-align:center;font:600 10.5px var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:#4e3216a6;padding:6px 0}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-day{min-height:46px;color:var(--color-brand-ink);font:400 15px var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:flex}.cal-day:hover:not(:disabled):not(.is-in-range){background:#163e1f14}.cal-day:disabled{opacity:.32;cursor:default}.cal-day.is-outside{color:#1a1a184d}.cal-day.is-today{color:var(--color-brand-brown);font-weight:700}.cal-day.is-in-range{background:var(--color-brand-selected);color:var(--color-brand-green);border-radius:4px;font-weight:600}.cal-day.is-in-range.is-row-start{border-radius:999px 4px 4px 999px}.cal-day.is-in-range.is-row-end{border-radius:4px 999px 999px 4px}.cal-day.is-edge{background:var(--color-brand-green);color:var(--color-brand-cream);border-radius:999px}.cal-foot{border-top:1px solid #4e321624;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.cal-range{min-width:180px;font:500 14.5px var(--font-body);color:var(--color-brand-green);flex:1}.cal-chip{font:600 13.5px var(--font-body);color:var(--color-brand-green);cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #163e1f59;border-radius:999px;min-height:44px;padding:11px 18px}.cal-chip-active{background:var(--color-brand-green);color:var(--color-brand-cream);align-items:center;display:flex}.cal-chip-quiet{color:var(--color-brand-brown);border:1px solid #4e321638;font-weight:500}.zip-ok{font:500 14.5px var(--font-body);color:var(--color-brand-green);align-items:center;gap:10px;margin:14px 0 0;display:flex}.consent{cursor:pointer;font:400 14.5px/1.6 var(--font-body);color:var(--color-brand-ink);align-items:flex-start;gap:14px;margin-top:22px;display:flex}.consent input:checked+.checkbox-box{border-color:var(--color-brand-green);background:var(--color-brand-green)}.consent input:focus-visible+.checkbox-box{outline:2px solid var(--color-brand-green);outline-offset:2px}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.submit{border-radius:9px;width:100%;min-height:58px;margin-top:22px;padding:18px;font-size:17px}.submit:disabled{opacity:.55;cursor:not-allowed}.step-nav{justify-content:space-between;gap:12px;margin-top:26px;display:flex}.step-nav.is-next-only{justify-content:flex-end}.step-nav.is-back-only{justify-content:flex-start;margin-top:20px}.step-back{color:var(--color-brand-brown);border-color:#4e321640;padding:15px 22px}.step-next{border-radius:8px;padding:15px 28px}.estimate{background:var(--color-brand-green);color:var(--color-brand-cream);border-radius:14px;padding:clamp(20px,2.6vw,26px)}.estimate-label{font:600 11.5px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#f6ede5b3;margin:0}.estimate-total{font-family:var(--font-display);margin:8px 0 0;font-size:clamp(38px,6vw,52px);font-weight:600;line-height:1}.estimate-basis{font:400 13.5px var(--font-body);color:#f6ede5b8;margin:6px 0 0}.estimate-rule{background:#f6ede538;height:1px;margin:18px 0}.estimate-lines{flex-direction:column;gap:11px;margin:0;display:flex}.estimate-line{align-items:baseline;gap:10px;display:flex}.estimate-line dt{font:400 14.5px var(--font-body);color:#f6ede5e0}.estimate-line:after{content:"";border-bottom:1px dotted #f6ede54d;flex:1;order:1}.estimate-line dd{font:600 14.5px var(--font-body);order:2;margin:0}.estimate-fine{font:400 13px/1.6 var(--font-body);color:#f6ede5b8;margin:0}.estimate-fine strong{color:var(--color-brand-cream);font-weight:600}.estimate-ask{font:600 15px var(--font-body);color:var(--color-brand-cream);border:1.5px solid #f6ede566;border-radius:8px;justify-content:center;align-items:center;min-height:50px;margin-top:18px;padding:14px;text-decoration:none;display:flex}.estimate-ask:hover{color:var(--color-brand-cream);background:#f6ede51f}.outcome{text-align:center;max-width:680px;margin-inline:auto;padding-block:clamp(48px,8vw,110px)}.outcome-icon{width:74px;height:74px;color:var(--color-brand-cream);border-radius:50%;justify-content:center;align-items:center;margin-inline:auto;display:flex}.outcome-icon-ok{background:var(--color-brand-green)}.outcome-icon-warn{background:var(--color-brand-brown)}.outcome-title{margin:26px 0 0;font-size:clamp(30px,5.6vw,48px);line-height:1.06}.outcome-body{color:#1a1a18d9;text-wrap:pretty;max-width:46ch;margin:16px auto 0;font-size:17.5px;line-height:1.7}.outcome-summary{background:var(--color-brand-cream);text-align:left;border:1px solid #4e32162e;border-radius:12px;margin:30px 0 0;padding:22px}.outcome-label{font:500 11.5px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-brand-brown);margin:0}.outcome-label-light{color:#f6ede5b8}.outcome-line{font-family:var(--font-display);color:var(--color-brand-green);margin:10px 0 0;font-size:22px;line-height:1.35}.outcome-note{font:400 15px var(--font-body);color:#1a1a18bf;margin:8px 0 0}.outcome-contact{background:var(--color-brand-green);border-radius:12px;margin:28px 0 0;padding:24px}.outcome-phone{font-family:var(--font-display);color:var(--color-brand-cream);letter-spacing:.02em;margin-top:8px;font-size:clamp(28px,5vw,38px);font-weight:600;text-decoration:none;display:block}.outcome-email{font:400 14.5px var(--font-body);color:#f6ede5cc;word-break:break-word;margin:10px 0 0}.outcome-foot{color:#1a1a18bf;margin:26px 0 0;font-size:15.5px}.outcome-actions{justify-content:center;margin-top:14px}@media (width>=1000px){.form-layout{grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr)}.estimate{position:sticky;top:88px}}
