.booking-hero{min-height:430px}.booking-hero .hero-copy{padding-block:52px}.booking-hero h1{font-size:clamp(48px,4.7vw,66px);line-height:1.13}.booking-hero .hero-photo>img{object-position:66% center;filter:saturate(.5)}.booking-hero p:not(.eyebrow){font-size:16px;max-width:470px}.booking-heading{margin-bottom:38px}.booking-heading h2{font-size:34px}.booking-heading p:last-child{margin-top:18px;max-width:590px}.reservation-flow{max-width:1040px;margin:auto}.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0 0 40px;border-bottom:1px solid var(--line);gap:22px}.booking-steps li{padding-bottom:16px;font-size:14px;display:flex;align-items:center;gap:12px;color:#6f685e;border-bottom:2px solid transparent}.booking-steps li[aria-current]{color:var(--deep);border-color:var(--deep);font-weight:600}.booking-steps span{font-size:12px}.booking{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#f9f5ee}.calendar,.times{padding:32px}.calendar{border-right:1px solid var(--line)}.monthbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.monthbar h3{margin:0;font-size:18px}.arrows{display:flex;gap:6px}.week,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.week{margin-bottom:12px;text-align:center;font-size:12px;color:#625c54}.days button{height:44px;min-width:0;border:1px solid #9b9185;border-radius:3px;color:var(--ink);background:transparent;font-size:14px}.days button:disabled{border-color:transparent;color:#827b72;opacity:.55;background:transparent}.days button[aria-pressed=true]{background:var(--olive);color:var(--ivory);border-color:var(--olive)}.days button:not(:disabled):hover{border-color:var(--deep);background:var(--sand);color:var(--ink)}.calendar-legend{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#6a6257;margin-top:24px}.calendar #month-empty{margin-top:20px}.times .eyebrow{font-size:12px;margin-bottom:16px}.times h3{font-size:20px}.service-info{display:flex;gap:18px;justify-content:space-between;font-size:12px;color:#625c54;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}.slot-group h3{font-size:14px;margin-bottom:12px}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}.slot{background:transparent;border:1px solid #9b9185;border-radius:3px;height:44px;font-size:14px;color:var(--ink)}.slot[aria-pressed=true]{background:var(--olive);color:var(--ivory);border-color:var(--olive)}.slot:hover{border-color:var(--deep)}.timezone{font-size:12px;margin:18px 0 0;color:#625c54}.selection{display:flex;align-items:center;justify-content:space-between;gap:24px;grid-column:1/-1;border-top:1px solid var(--line);padding:26px 32px;background:#eee6dc}.selection p{margin:5px 0 0;font-size:16px}.selection .eyebrow{font-size:11px}.selection .button{min-width:190px}.service-field{grid-column:1/-1;padding:24px 32px;border-bottom:1px solid var(--line);margin:0}.booking-help{font-size:14px;padding-top:24px}.booking-help a,.check a,.booking-sheet p a{border-bottom:1px solid currentColor}.loading{padding:24px 0;font-size:15px}.booking-sheet{max-width:660px;margin:0 auto;border-top:1px solid var(--line);padding-top:28px}.booking-sheet h3{font-size:28px}.booking-sheet .reservation-summary{color:var(--deep);margin-bottom:32px}.text-button{background:none;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;display:block;min-height:44px;padding:10px 0;margin:0 0 30px;font-size:14px}.check{display:flex;align-items:start;gap:13px;font-size:14px;margin:24px 0;cursor:pointer}.check input{flex-shrink:0;width:20px;height:20px;accent-color:var(--olive);margin:2px 0 0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-sheet dl{margin:30px 0;padding:24px;background:#ebe2d6}.booking-sheet dt{font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.booking-sheet dd{margin:0 0 20px;font-size:16px;overflow-wrap:anywhere}.booking-sheet dd:last-child{margin-bottom:0}.booking-sheet #confirm{width:100%}.success{padding-bottom:30px}.includes p{line-height:2}.includes .small{line-height:1.7}.reservation-flow .status{margin-bottom:24px}.booking-wrap .booking-heading{max-width:1040px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.calendar,.times{padding:24px}.slot-grid{grid-template-columns:repeat(3,1fr)}.booking-hero{min-height:420px}.booking-hero h1{font-size:50px}.booking-hero .hero-copy{padding-block:38px}}
@media(max-width:620px){.booking-hero .hero-copy{padding:40px 24px 32px}.booking-hero h1{font-size:45px}.booking-hero .hero-photo{height:220px}.booking-hero .hero-photo>img{object-position:center 45%}.booking-hero .eyebrow{margin-bottom:20px}.booking-hero p:not(.eyebrow){margin-bottom:15px}.booking-hero .text-link{font-size:12px}.booking-wrap{padding-inline:16px;padding-top:50px}.booking-heading{padding-inline:8px}.booking-heading h2{font-size:30px}.booking-heading p{font-size:16px}.booking-steps{gap:10px;margin-bottom:26px}.booking-steps li{font-size:12px;gap:6px;align-items:center}.booking-steps span{font-size:11px}.booking{grid-template-columns:1fr}.calendar{border-right:0;border-bottom:1px solid var(--line)}.calendar,.times{padding:25px 18px}.week,.days{gap:2px}.days button{height:44px;font-size:14px}.monthbar{margin-bottom:22px;gap:12px}.monthbar h3{font-size:17px}.calendar-legend{margin-top:18px;font-size:11px}.times{padding-top:28px}.slot-grid{grid-template-columns:repeat(4,1fr)}.selection{padding:22px 18px;display:block}.selection .button{width:100%;margin-top:20px}.selection p{font-size:15px}.booking-sheet{padding-inline:8px}.booking-sheet h3{font-size:25px}.booking-sheet .button{width:100%;margin-top:8px}.booking-help{font-size:13px;padding-inline:8px;overflow-wrap:anywhere}.check{font-size:13px}.includes p{font-size:16px;line-height:1.9}}
@media(max-width:350px){.slot-grid{grid-template-columns:repeat(3,1fr)}.booking-steps li{font-size:11px;gap:4px}.days button{height:44px}.booking-hero h1{font-size:40px}}
