.planner-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.planner-actions .copy-button{background:transparent;border:1px solid var(--line);color:var(--olive);font-size:10px;padding:0 12px}.planner-actions .copy-button:hover:not(:disabled){background:var(--pale)}.reservation-link{display:flex;align-items:center;justify-content:space-between;background:var(--olive);color:white;gap:8px;padding:0 13px;height:40px;font-size:11px;letter-spacing:.2px}.reservation-link:hover{background:#414b38}.reservation-link[aria-disabled=true]{opacity:.35;cursor:default}.reservation-link>span{font-size:17px}.reservation-page .site-shell{max-width:1300px}.reservation-page .site-header{height:88px}.back-to-space{margin-left:auto;font-size:11px;letter-spacing:.5px;color:var(--muted)}.back-to-space:hover{color:var(--olive)}.booking-main{padding:0 0 55px}.booking-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:36px 0 26px}.booking-heading h1{font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:1.7px;margin:14px 0}.booking-lead{font-size:12px;color:var(--muted);line-height:2;letter-spacing:.4px;margin:0}.booking-mark{font-family:var(--serif);font-size:37px;line-height:1.15;color:#929885;margin:0 36px 0 0}.booking-mark em{font-weight:400}.preview-banner{display:flex;align-items:center;gap:16px;border:1px solid #daddd2;background:#eeefe8;padding:12px 17px;color:#657058}.preview-banner>span{font-size:10px;white-space:nowrap;border-right:1px solid #cfd5c6;padding-right:16px}.preview-banner p{font-size:11px;line-height:1.7;margin:0}.booking-steps{list-style:none;padding:24px 0 25px;margin:0;display:flex;gap:0;max-width:640px}.booking-steps li{display:flex;align-items:center;gap:9px;flex:1;position:relative;color:#969b8e;font-size:11px}.booking-steps li>span{border:1px solid #d6dacd;width:27px;height:27px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:11px;flex-shrink:0}.booking-steps li[aria-current=step]{color:var(--olive)}.booking-steps li[aria-current=step]>span{background:var(--olive);color:white;border-color:var(--olive)}.booking-steps li.is-complete>span{background:var(--pale);color:var(--olive)}.booking-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:56px;align-items:start}.booking-content{min-width:0}.booking-content fieldset{border:0;border-top:1px solid var(--line);padding:22px 0 24px;margin:0;min-width:0}.booking-content legend{font-size:16px;font-family:var(--serif);padding:0 17px 0 0;letter-spacing:.6px}.booking-content legend>span{font-family:var(--sans);font-size:9px;color:#8a937b;letter-spacing:1px;margin-right:12px}.fieldset-note{font-size:11px;color:var(--muted);margin:0 0 22px;line-height:1.8}.booking-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}.booking-field{min-width:0}.booking-content label{font-size:12px;font-weight:400;margin-bottom:10px}.booking-content label>span:not(.required-label){font-size:10px;font-weight:400}.booking-content .required-label{font-size:8px;letter-spacing:.1px;color:#67765b;background:#e9ecdf;padding:2px 5px;margin-left:7px;vertical-align:1px}.booking-content input,.booking-content select{height:45px;font-size:13px;background:#fcfcfa;padding:0 13px}.booking-content input::placeholder,.booking-content textarea::placeholder{color:#a4a89c;font-size:11px}.booking-content input[aria-invalid=true],.booking-content select[aria-invalid=true]{border-color:#ad654b;background:#fffaf6}.booking-content textarea{display:block;width:100%;background:#fcfcfa;border:1px solid #d4d7cc;border-radius:0;padding:13px;font:12px/1.8 var(--sans);resize:vertical;min-height:115px;color:var(--ink)}.number-with-unit{position:relative}.number-with-unit input{padding-right:48px}.number-with-unit>span{position:absolute;right:14px;top:16px;font-size:10px;color:var(--muted);pointer-events:none}.field-hint{font-size:10px;color:#838a78;line-height:1.8;margin:7px 0 0}.time-hint{margin-top:13px}.purpose-row{margin-top:23px}.booking-content .field-error{font-size:11px;line-height:1.7;margin:6px 0 0;color:#9a513a}.booking-alert{border-left:3px solid #a06b4e;padding:14px 18px;margin-bottom:25px;background:#f1eae1;color:#845c46;font-size:12px;line-height:1.8}.booking-alert p{margin:0 0 5px}.booking-alert ul{padding-left:18px;margin:0}.booking-alert a{text-decoration:underline;text-underline-offset:3px}.overtime-note{font-size:11px;line-height:1.8;background:#eee9dd;border-left:2px solid #ac9c79;padding:12px 14px;color:#847657;margin:12px 0 0}.booking-ack{border-top:1px solid var(--line);padding:23px 0}.booking-ack label{display:flex;align-items:start;gap:11px;cursor:pointer;line-height:1.9;margin:0!important}.booking-ack input{width:17px!important;height:17px!important;flex-shrink:0;margin:3px 0 0;accent-color:var(--olive)}.booking-ack label>span{font-size:11px!important;color:#747b69}.booking-ack strong{font-weight:500;color:var(--olive)}.booking-primary,.booking-secondary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px;font-size:12px;letter-spacing:.5px;padding:12px 20px;border:1px solid var(--olive);border-radius:0}.booking-primary{background:var(--olive);color:#fff;width:100%}.booking-primary:hover{background:#414b38}.booking-primary>span{font-size:19px}.booking-secondary{background:transparent;color:var(--olive);justify-content:center;border-color:var(--line)}.booking-secondary:hover{background:var(--pale)}.action-note{text-align:center;font-size:10px;line-height:1.8;color:#8b9182;margin:12px 0 0}.booking-summary{position:sticky;top:22px;border:1px solid var(--line);background:#fbfbf7}.summary-image{position:relative;aspect-ratio:2.05;overflow:hidden}.summary-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 64%}.summary-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#242b2355,transparent 70%)}.summary-image>span{position:absolute;bottom:16px;left:21px;color:white;letter-spacing:2px;font-size:8px;z-index:1}.summary-body{padding:24px 23px 20px}.summary-body h2{font-family:var(--serif);font-size:23px;letter-spacing:1px;font-weight:400;margin:11px 0 20px}.summary-date{font-size:13px;letter-spacing:.3px;color:var(--ink);line-height:1.9;white-space:pre-line;margin:0 0 19px}.summary-facts{margin:0;border-top:1px solid var(--line);padding:14px 0}.summary-facts>div{display:grid;grid-template-columns:70px 1fr;gap:8px;line-height:1.9;padding:3px 0;font-size:10px}.summary-facts dt{color:var(--muted)}.summary-facts dd{margin:0;text-align:right;overflow-wrap:anywhere}.summary-estimate{background:var(--pale);padding:17px 16px}.summary-estimate>p:first-child{margin:0;font-size:10px;display:flex;justify-content:space-between;gap:8px}.summary-estimate>p:first-child>span{font-size:9px;color:var(--muted)}.summary-estimate>strong{display:block;font-family:var(--serif);font-weight:400;font-size:36px;letter-spacing:-.9px;line-height:1.4;margin-top:5px}.summary-estimate>p:last-child{font-size:9px;color:#6c765f;line-height:1.8;margin:6px 0 0}.summary-overtime{font-size:11px;color:#8c7750;margin:12px 0 0}.summary-note{color:#858d78;font-size:10px;line-height:1.85;margin:13px 0 5px}.summary-rule{font-size:9px;color:#8a907f;line-height:2;border-top:1px solid var(--line);padding-top:13px;margin:13px 0 0}.summary-body .text-button{font-size:10px}.summary-body .daily-details{margin-top:9px;max-height:200px}.summary-body td{font-size:9px}.summary-body td small{font-size:8px}.view-heading{border-top:1px solid var(--line);padding:24px 0}.view-heading h2{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.6;letter-spacing:1px;margin:13px 0}.view-heading>p:last-child{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.review-group{margin-bottom:27px}.review-group h3{font-size:12px;font-weight:500;letter-spacing:.8px;margin:0 0 10px;color:var(--olive)}.review-group dl{margin:0;border-top:1px solid var(--line)}.review-group dl>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.9}.review-group dt{color:#8b9180;font-size:11px}.review-group dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-notice{padding:18px 20px;background:var(--pale);margin:27px 0}.review-notice strong{font-size:12px;font-weight:500;color:var(--olive)}.review-notice p{margin:7px 0 0;font-size:11px;line-height:1.9;color:#778169}.review-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:13px}.completion-icon{width:58px;height:58px;border:1px solid #bfc7b2;color:var(--olive);display:flex;align-items:center;justify-content:center;font-size:25px;margin:7px 0 29px}.completion-lead{font-size:12px;line-height:2.2;color:var(--muted);margin:20px 0}.completion-lead strong{color:var(--olive);font-weight:500}#complete-title{font-family:var(--serif);font-size:33px;font-weight:400;line-height:1.65;letter-spacing:1.3px;margin:12px 0}.completion-status{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 30px}.completion-status>span{padding:7px 10px;background:var(--pale);color:#73815e;font-size:10px}.next-flow{border-top:1px solid var(--line);padding-top:22px}.next-flow h3{font-size:12px;font-weight:500;letter-spacing:.5px;margin:0 0 18px}.next-flow ol{list-style:none;padding:0;margin:0}.next-flow li{display:flex;gap:16px;padding:0 0 22px;font-size:12px}.next-flow li>span{font-size:9px;color:#929d83;letter-spacing:1px;padding-top:2px}.next-flow li p{font-size:11px;line-height:1.9;color:var(--muted);margin:7px 0 0}.completion-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.back-link{display:inline-block;color:var(--olive);font-size:11px;letter-spacing:.3px;margin-top:25px;padding:8px 0}.back-link:hover{text-decoration:underline;text-underline-offset:5px}.reservation-page footer{font-size:8px}.booking-content [tabindex='-1']:focus{outline:none}
@media(max-width:1100px){.booking-layout{gap:30px;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr)}.summary-body{padding:21px 19px}.booking-heading h1{font-size:29px}.booking-field-grid{column-gap:18px}.review-group dl>div{grid-template-columns:110px minmax(0,1fr)}}
@media(max-width:800px){.booking-layout{grid-template-columns:1fr;gap:26px}.booking-summary{position:static;grid-row:1;display:grid;grid-template-columns:.8fr 1.2fr}.summary-image{aspect-ratio:auto;min-height:250px}.summary-body h2{margin:8px 0 11px}.summary-date{margin-bottom:10px;font-size:12px}.summary-facts{padding:10px 0}.summary-body{padding:20px}.summary-note,.summary-rule{font-size:9px}.booking-heading{padding:29px 0 23px}.booking-mark{font-size:30px;margin-right:0}.booking-heading h1{font-size:27px}.booking-steps{max-width:none;padding:21px 0}.summary-estimate>strong{font-size:31px}.booking-lead{font-size:11px}.booking-content{grid-row:2}}
@media(max-width:680px){.planner-actions{grid-template-columns:1fr 1.25fr;gap:8px}.reservation-link{height:46px;font-size:11px;padding:0 12px}.planner-actions .copy-button{font-size:10px;padding:0 10px}.reservation-page .site-shell{padding:0 20px}.reservation-page .site-header{height:77px;gap:10px}.back-to-space{display:none}.booking-heading{padding:27px 0 23px}.booking-heading h1{font-size:24px;letter-spacing:.7px;margin:13px 0}.booking-mark{display:none}.booking-lead{font-size:11px;line-height:1.95}.preview-banner{gap:10px;padding:11px 12px;align-items:start}.preview-banner>span{font-size:9px;padding-right:10px;margin-top:2px}.preview-banner p{font-size:10px}.booking-steps{padding:21px 0;gap:8px}.booking-steps li{font-size:10px;gap:7px}.booking-steps li>span{width:23px;height:23px;font-size:9px}.booking-layout{gap:28px}.booking-summary{display:block}.summary-image{height:115px;min-height:0;aspect-ratio:auto}.summary-image img{object-position:center 58%}.summary-body{padding:19px}.summary-body h2{font-size:20px;margin:8px 0 12px}.summary-date{font-size:12px;margin-bottom:12px}.summary-facts{padding:9px 0;display:grid;grid-template-columns:1fr 1fr;gap:3px 15px}.summary-facts>div{display:block;padding:2px 0;font-size:10px}.summary-facts dt{font-size:9px}.summary-facts dd{text-align:left;font-size:10px}.summary-facts>div:nth-child(2){grid-column:1;grid-row:2}.summary-facts>div:nth-child(3){grid-column:2;grid-row:1}.summary-estimate{padding:13px 15px}.summary-estimate>strong{font-size:32px}.summary-note{font-size:9px}.summary-note br{display:none}.summary-rule{font-size:9px;margin-top:9px;padding-top:10px}.booking-field-grid{gap:17px 15px}.booking-content legend{font-size:16px}.booking-content fieldset{padding:18px 0 24px}.fieldset-note{font-size:11px;margin-bottom:19px}.booking-content label{font-size:11px;line-height:1.7;margin-bottom:8px}.booking-content .required-label{font-size:7px;margin-left:4px}.booking-content input,.booking-content select{height:45px;padding:0 10px;font-size:12px}.number-with-unit input{padding-right:43px}.number-with-unit>span{right:10px}.booking-content input::placeholder{font-size:10px}.field-hint{font-size:9px}.purpose-row{grid-template-columns:1fr 1fr}.booking-content textarea{font-size:12px}.booking-content input[type=text],.booking-content input[type=email],.booking-content input[type=tel]{font-size:14px}.booking-content fieldset:nth-of-type(2) .booking-field-grid{grid-template-columns:1fr}.booking-ack{padding:20px 0}.booking-ack label>span{font-size:10px!important}.action-note{font-size:9px}.booking-primary,.booking-secondary{font-size:11px;padding:12px 15px}.view-heading{padding-top:20px}.view-heading h2{font-size:22px;letter-spacing:.7px}.view-heading>p:last-child{font-size:10px}.review-group dl>div{grid-template-columns:90px minmax(0,1fr);gap:10px;padding:12px 0;font-size:11px}.review-group dt{font-size:10px}.review-group h3{font-size:12px}.review-notice{padding:16px}.review-notice p{font-size:10px}.review-actions{grid-template-columns:1fr;gap:10px}.review-actions .booking-secondary{grid-row:2}.completion-icon{margin-top:0;width:49px;height:49px;font-size:23px}#complete-title{font-size:28px}.completion-lead{font-size:11px}.completion-lead br{display:none}.completion-status>span{font-size:9px;padding:6px 8px}.next-flow li p{font-size:10px}.booking-main{padding-bottom:35px}.reservation-page footer{font-size:7px}}
.mobile-plan-bar{display:none}
@media(max-width:680px){.booking-summary{grid-row:2}.booking-content{grid-row:1}.mobile-plan-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:13px 15px;margin-bottom:25px;background:var(--pale)}.mobile-plan-bar>span{font-size:9px;color:var(--olive)}.mobile-plan-bar small{font-size:8px;margin-left:3px}.mobile-plan-bar strong{font-family:var(--serif);font-size:25px;font-weight:400;margin-left:auto;letter-spacing:-.5px}.mobile-plan-bar a{font-size:9px;color:var(--olive);width:100%;text-align:right}.booking-summary{scroll-margin-top:18px}}
.booking-location{color:var(--muted);padding-left:20px;flex-shrink:0}.booking-location>p:last-child{font-size:11px;line-height:2;margin:12px 0 0;letter-spacing:.3px}
@media(max-width:800px){.booking-location{display:none}.booking-heading h1{font-size:28px}}
.plan-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-type-selector{display:flex;border:1px solid var(--line);flex-shrink:0;background:var(--paper)}.plan-type-selector button{padding:6px 9px;font-size:9px;white-space:nowrap;color:var(--muted)}.plan-type-selector button[aria-pressed=true]{background:var(--olive);color:white}.rate-strip strong>span{font:inherit;letter-spacing:inherit}.hourly-rate-note{font-size:9px;color:var(--olive);margin:-11px 0 15px;line-height:1.7}.hourly-controls{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:0 0 15px}.hourly-controls select{height:37px;font-size:11px}.hourly-controls label{font-size:10px;margin-bottom:7px}.day-plan-suggestion{padding:10px 0 0;display:flex;flex-wrap:wrap;gap:5px;color:var(--olive);font-size:9px;line-height:1.8}.day-plan-suggestion button{padding:0;text-decoration:underline;text-underline-offset:3px;font-size:9px;color:var(--olive)}.plan-choice-field{margin-bottom:23px}.summary-comparison{font-size:10px;line-height:1.9;color:var(--olive);padding:10px 0 0;margin:0}.hourly-booking-note{color:var(--olive)}
@media(max-width:680px){.plan-type-selector button{font-size:9px;padding:6px 8px}.plan-heading{gap:7px}.plan-heading h2{font-size:21px}.hourly-controls{gap:14px;margin-bottom:17px}.hourly-controls select{height:42px;font-size:12px}.hourly-controls label{font-size:10px}.hourly-rate-note{font-size:9px;margin-top:-14px;margin-bottom:18px}.day-plan-suggestion,.day-plan-suggestion button{font-size:10px}.estimate-main>span{font-size:8px}.summary-facts>div:nth-child(4){grid-column:2;grid-row:2}}
@media(max-width:360px){.plan-heading{flex-wrap:wrap;gap:0;margin-bottom:14px}.plan-heading h2{width:100%;margin-bottom:10px}.plan-type-selector{margin-bottom:3px}}
