:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#163b30;background:#f5f6f0;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;line-height:1.6}
button,input,select{font:inherit}
a{color:#1a5742;text-underline-offset:4px}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b77616;outline-offset:4px}
main{max-width:1240px;margin:0 auto;padding:36px 36px 80px}
.site-header{max-width:1240px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:25px 36px;border-bottom:1px solid #d8dfd5}
.wordmark{font-size:19px;font-weight:850;letter-spacing:.12em;text-decoration:none;color:#163b30;line-height:1.2}
.wordmark span{display:block;font-size:9px;font-weight:500;letter-spacing:.35em;margin-top:7px}
.header-note{font-size:12px;color:#596c60}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(36px,4.5vw,60px);line-height:1.05;letter-spacing:-.055em;margin-bottom:18px;font-weight:650}
h2{font-size:21px;line-height:1.3;letter-spacing:-.025em}
.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:750}
.page-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 35px}
.intro{color:#617266;font-size:15px;margin-right:35px}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:36px;align-items:start}
.booking-steps{min-width:0}
.booking-section{padding:26px 0 31px;border-top:1px solid #d4ddd1}
.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.section-heading h2{margin:0}
.step-number{font-size:11px;letter-spacing:.05em;border:1px solid #bbc9bb;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}
.muted{color:#5e7063}
.small,small{font-size:12px}
.bay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px}
.bay-card{text-align:left;background:#fffef9;border:1px solid #cbd6c6;border-radius:10px;padding:17px;position:relative;min-height:175px;color:#173b2d;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.bay-card strong{font-size:23px;line-height:1.3;letter-spacing:-.03em}
.bay-card>span:not(.bay-icon):not(.selection-mark){font-size:11px}
.bay-icon{font-size:24px;line-height:1.2;align-self:flex-end}
.bay-state{margin-top:auto}
.selection-mark{display:none;font-size:11px;font-weight:700}
.bay-card[aria-pressed=true]{border:2px solid #184b38;padding:16px;background:#e8efdf}
.bay-card[aria-pressed=true] .selection-mark{display:inline}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px}
.calendar-heading p{margin:0;font-size:13px;font-weight:600}
.calendar-heading button{border:1px solid #cbd6c6;border-radius:6px;background:#fffef9;width:33px;height:32px;margin-left:5px}
.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:22px}
.date-card{min-height:83px;border:1px solid #cbd6c6;border-radius:8px;background:#fffef9;color:#1d4031;padding:10px 6px;font-size:11px;line-height:1.6}
.date-card[aria-pressed=true]{background:#1c4b38;color:white;border-color:#1c4b38;box-shadow:0 0 0 2px #f5f6f0,0 0 0 3px #1c4b38}
.date-card[aria-pressed=true]::before{content:'✓ ';font-weight:700}
label{display:block;font-size:12px;font-weight:650;margin:14px 0 7px}
input,select{max-width:100%;border:1px solid #bcccb9;border-radius:7px;padding:11px 12px;background:#fffef9;color:#183c2c}
input{width:100%}
select{min-width:200px}
.selected-context{font-size:14px;font-weight:650;margin-bottom:4px}
.text-button{border:0;background:transparent;color:#275941;font-size:11px;margin-left:auto;text-decoration:underline}
.legend{display:flex;gap:18px;font-size:10px;color:#5e7063;margin:20px 0}
#availability-message{font-size:12px}
#slots{min-height:90px}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(99px,1fr));gap:9px}
.slot{border:1px solid #bfcfbb;border-radius:7px;background:#fffef9;color:#1a4734;min-height:66px;padding:9px 5px;display:flex;flex-direction:column;align-items:center;line-height:1.5}
.slot strong{font-size:15px;font-weight:650}
.slot span{font-size:10px}
.slot:disabled{border-color:#dfe4da;background:repeating-linear-gradient(135deg,#edf0e8,#edf0e8 6px,#f2f4ed 6px,#f2f4ed 12px);color:#687466}
.slot[aria-pressed=true]{background:#1c4b38;color:white;border-color:#1c4b38}
.slot[aria-pressed=true] strong::before{content:'✓ '}
.summary{position:sticky;top:25px;border-radius:12px;background:#193e2f;color:#f7f8ed;padding:28px 25px;box-shadow:0 8px 30px #123c2210}
.summary h2{font-size:35px;letter-spacing:-.04em;margin:18px 0 5px}
.summary>p{font-size:12px;color:#d1ddc9}
.summary-rule{height:1px;background:#45604d;margin:23px 0}
.summary dl{display:block;font-size:12px}
.summary dt{color:#b4c5ab;font-size:10px;margin-top:14px}
.summary dd{margin:0;font-weight:600;font-size:13px}
.summary-foot{display:block;border-top:1px solid #45604d;margin-top:20px;padding-top:18px;font-size:10px;color:#b7c9ad}
.summary #summary-price{font-size:12px;margin-bottom:18px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.button{border:0;border-radius:7px;background:#1b5039;color:#fff;text-decoration:none;padding:13px 22px;display:inline-flex;gap:35px;align-items:center;justify-content:space-between;font-size:13px;font-weight:650}
.button:hover{background:#103c29}
.button:disabled{background:#d5ddcf;color:#51664f}
.form-message{color:#8e381c;font-size:13px;margin:14px 0}
.notice{background:#e8eddd;border-left:3px solid #53784b;padding:16px 20px;font-size:13px;margin-bottom:30px}
.hero{padding:45px;background:#e3ead8;border-radius:12px;margin:30px 0}
.hero h2{font-size:44px;line-height:1.1;margin:17px 0}
.hero p{max-width:390px}
.home-bay{list-style:none;padding:15px;border-bottom:1px solid #d8dfd5}
.status-banner{padding:20px;background:#e3ead8;font-size:20px;border-radius:9px}
.reference{font-size:12px;overflow-wrap:anywhere}
body:has(#reservation-live) main{max-width:850px}
dl{display:grid;grid-template-columns:minmax(7rem,1fr) 2fr;gap:.35rem 1rem}
dt{font-weight:600}
dd{margin:0}

@media(max-width:900px){.booking-layout{grid-template-columns:minmax(0,1fr) 260px;gap:22px}
.date-grid{gap:4px}
.bay-card{min-height:170px;padding:12px}
.bay-card[aria-pressed=true]{padding:11px}
.summary{padding:22px 19px}
}

@media(max-width:720px){main{padding:20px 18px 45px}
.site-header{padding:20px 18px}
.header-note{display:none}
.page-heading{align-items:flex-start;margin:20px 0}
.intro{max-width:150px;font-size:12px;margin:0}
.booking-layout{display:flex;flex-direction:column;gap:16px}
.booking-steps,.summary{width:100%}
.summary{position:static;order:-1}
.summary h2{font-size:27px;margin-top:9px}
.summary dl{display:grid;grid-template-columns:70px 1fr;gap:7px}
.summary dt{margin:0}
.summary .summary-rule{margin:14px 0}
.summary-foot{display:none}
.summary>p{margin-bottom:0}
.summary dl dd{font-size:12px}
.date-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(68px,1fr));padding:4px;margin-left:-4px}
.bay-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.bay-card strong{font-size:21px}
.section-heading h2{font-size:19px}
.contact-grid{grid-template-columns:1fr;gap:0}
.slot-grid{grid-template-columns:repeat(auto-fill,minmax(83px,1fr))}
.hero{padding:25px}
.hero h2{font-size:35px}
.button{max-width:100%}
}

.date-card[data-available=false]{background:#e8ebe3;color:#576452}
.summary:focus-visible{outline:3px solid #b77616;outline-offset:3px}
@media(max-width:720px){.summary{position:sticky;top:8px;max-height:42vh;overflow:auto;z-index:4}
.summary h2{font-size:23px}
.summary dl{margin:8px 0}
.summary>p{font-size:10px}
.summary .summary-rule{margin:10px 0}
}

.booking-result{max-width:680px;margin:12px auto;background:#fffef9;border:1px solid #d4ddd1;border-radius:14px;padding:clamp(20px,5vw,44px)}
.booking-result h1{font-size:clamp(32px,5vw,49px)}
.demo-notice{padding:12px 16px;background:#f8edcf;color:#59441b;border-radius:7px;font-weight:650}
.booking-details{padding:16px 0;border-block:1px solid #d4ddd1;grid-template-columns:minmax(85px,1fr) minmax(0,2fr);row-gap:10px}
.booking-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}
.booking-actions form{margin:0}
.button[hidden]{display:none}
.status-checkout{padding:20px;border:1px solid #d4ddd1;border-radius:10px;background:#fffef9;margin-bottom:20px}
.form-quote{padding:12px;background:#e8efdf;border-radius:7px;font-weight:650;margin:16px 0 0}
.form-quote:empty{display:none}
.bay-card:disabled{opacity:.65}
@media(max-width:720px){.summary{position:static;order:0;max-height:none}.calendar-heading button{width:44px;height:44px}.booking-actions .button{min-height:44px}}
