.booking-page button{font:inherit;cursor:pointer;color:var(--rose)}.booking-intro{text-align:center;padding:55px 6% 42px;background-image:var(--gingham);background-size:30px 30px}.booking-intro h1{font:48px/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 25px}.booking-intro h1 em{font:86px/1.3 var(--script);letter-spacing:0;color:#bda25e}.booking-intro>p:not(.eyebrow){font-size:17px;max-width:690px;margin:0 auto 25px}.booking-status{max-width:750px;margin:25px auto 0;padding:20px 26px;background:#fffdf7;border:1px solid #e6d29f;text-align:left;border-radius:8px}.booking-status strong{display:block;font-size:17px;margin-bottom:6px}.booking-status span{display:block;font-size:15px;color:var(--muted)}.service-section{padding:48px 6% 40px;max-width:1500px;margin:auto}.booking-section-title{text-align:center;margin-bottom:30px}.booking-section-title .eyebrow{margin-bottom:10px}.booking-section-title h2{font-size:36px}.booking-section-title>p:last-child{margin-top:12px;color:var(--muted)}.service-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border:0;padding:0;margin:0;min-width:0}.service-option{position:relative;display:block;cursor:pointer;min-width:0}.service-option>input{appearance:none;position:absolute;width:18px;height:18px;right:17px;top:16px;padding:0;margin:0;border-radius:50%;background:#fffdf7;border:1px solid #bba375;z-index:1}.service-option>input:checked{border:5px solid #ab8c4b}.service-option>input:focus-visible{outline:3px solid #6f6043;outline-offset:5px}.service-card{display:flex;flex-direction:column;height:100%;padding:25px 21px;background:#fffdf7;border:1px solid #e5d8bd;border-radius:10px;transition:background .2s,box-shadow .2s}.service-option>input:checked+.service-card{background:#fff7e3;border:1px solid #b99b58;box-shadow:0 5px 18px #c8ab601b}.service-brand{display:block;font-size:12px;line-height:1.5;letter-spacing:.06em;padding-right:20px;min-height:40px;color:#85704b}.service-card>strong{display:block;font:25px/1.2 var(--serif);margin:15px 0}.service-card>span:not(.service-brand){font-size:16px;color:var(--muted);margin-bottom:24px}.service-card small{font-size:13px;line-height:1.6;margin-top:auto;color:#776649}.booking-calendar-section{padding:15px 6% 60px;max-width:1500px;margin:auto;scroll-margin-top:25px}.calendar-shell{background:#fffdf7;border:1px solid #e4d2a6;padding:35px;border-radius:12px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:30px}.calendar-heading .eyebrow{margin-bottom:8px}.calendar-heading h2{font-size:36px}.calendar-heading>p{font-size:14px;color:var(--muted);margin:0;text-align:right}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:35px}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.month-nav h3{font-size:25px;margin:0;text-align:center}.month-nav button{border:1px solid #dfceaa;background:#fffaf0;border-radius:6px;padding:10px 12px;font-size:14px}.month-nav button:hover{background:#f9edcd}.month-nav button:disabled{opacity:.45;cursor:default}.month-grid{border-collapse:separate;border-spacing:5px;width:100%;table-layout:fixed}.month-grid th{font-size:13px;font-weight:500;padding:5px 0 10px;color:#7b6e56}.month-grid th abbr{text-decoration:none}.month-grid td{height:50px;padding:0;text-align:center;background:#faf8f2;border-radius:5px;font-size:15px;color:#918b7f}.month-grid .popup-column{background:#fbefd2;color:#776340}.month-grid th.popup-column{border-radius:5px}.month-grid td.today{box-shadow:inset 0 0 0 1px #918065;font-weight:600;color:#514737}.month-grid td.blank{background:transparent}.calendar-note{font-size:13px;color:var(--muted);margin:19px 0 12px;display:flex;gap:10px;align-items:flex-start}.calendar-note span{display:inline-block;flex-shrink:0;width:16px;height:16px;margin-top:3px;background:#fbefd2;border:1px solid #e5d4ae;border-radius:3px}.current-month{border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:14px;padding:4px 0}.event-panel{background:#faf4e6;padding:28px;border-radius:9px;border:1px solid #ecddbd}.event-panel .eyebrow{margin-bottom:12px}.event-panel h3{font-size:30px}.event-panel>p:not(.eyebrow){font-size:15px;color:var(--muted)}.empty-calendar{padding:22px 0 10px;margin-top:20px;border-top:1px solid #e1ce9f}.empty-calendar h4{font:25px/1.25 var(--serif);margin:0 0 13px}.empty-calendar p{font-size:15px;color:var(--muted);margin-bottom:16px}.event-panel .button{margin-top:12px}.booking-visit{text-align:center;padding:55px 6%;background-image:var(--gingham);background-size:28px 28px;border-top:1px solid var(--line)}.booking-visit>p:not(.eyebrow){margin-top:22px}.booking-visit-note{font-size:14px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.service-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.service-brand{min-height:18px}.calendar-layout{grid-template-columns:1fr}.calendar-pane{max-width:650px;width:100%;margin:auto}.event-panel{padding:25px}.calendar-shell{padding:25px}}
@media(max-width:700px){.booking-intro{padding:38px 6% 30px}.booking-intro h1{font-size:37px}.booking-intro h1 em{font-size:66px}.booking-intro>p:not(.eyebrow){font-size:16px}.booking-status{padding:18px}.service-section{padding:35px 6% 25px}.service-picker{gap:12px}.service-card{padding:23px 15px 18px}.service-card>strong{font-size:22px;margin-top:12px}.service-brand{font-size:12px;min-height:54px}.service-card>span:not(.service-brand){font-size:15px;margin-bottom:18px}.service-card small{font-size:12px}.calendar-shell{padding:19px 12px}.calendar-heading{display:block;margin-bottom:23px}.calendar-heading>p{text-align:left;margin-top:16px}.calendar-heading h2{font-size:33px}.calendar-heading,.event-panel{padding-inline:10px}.month-nav{gap:5px}.month-nav h3{font-size:22px}.month-nav button{font-size:13px;padding:10px 7px}.month-grid{border-spacing:3px}.month-grid td{height:42px;font-size:14px}.month-grid th{font-size:12px}.calendar-layout{gap:24px}.event-panel{padding:22px 18px}.booking-visit h2{font-size:35px}.booking-page header .small{font-size:12px}.booking-section-title h2{font-size:32px}}
@media(max-width:360px){.service-picker{grid-template-columns:1fr}.service-brand{min-height:0}.month-nav h3{font-size:20px}}

#appointments.booking-calendar-section{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding-top:30px;padding-bottom:65px}.appointment-intro{padding:25px}.appointment-intro h2{font-size:43px;margin-bottom:25px}.appointment-intro>p:not(.eyebrow){max-width:470px;color:var(--muted);font-size:17px}@media(max-width:700px){#appointments.booking-calendar-section{grid-template-columns:1fr;gap:20px;padding-top:15px}.appointment-intro{padding:10px 0}.appointment-intro h2{font-size:35px}}
