.enrollment-submit{margin-top:28px;width:100%}.flow-path{display:inline-block;margin-top:12px;padding:8px 12px;border-radius:999px;background:#e9f1ec;color:#174c3f;font-weight:700}
:root{--green:#153d32;--cream:#f7f3eb;--paper:#fffdf9;--wine:#8a4455;--ink:#23312c;--line:#dcd7cc;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}.booking-header{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(22px,6vw,90px);background:#fff;border-bottom:1px solid var(--line)}.booking-header a{text-decoration:none;color:var(--green)}.booking-header strong{font:600 clamp(1.6rem,3vw,2.3rem) var(--serif)}.back-link{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.booking-hero{text-align:center;padding:70px 22px 45px;background:var(--green);color:#fff}.booking-hero .eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#c9d8d1}.booking-hero h1{font:600 clamp(2.8rem,6vw,5rem)/1 var(--serif);margin:8px 0}.booking-hero .price{font:600 1.2rem var(--serif);color:#d7e3dd}.booking-hero p{max-width:720px;margin:12px auto;color:#d2ddd8}.booking-layout{display:grid;grid-template-columns:1fr 320px;gap:34px;max-width:1200px;margin:45px auto;padding:0 22px}.booking-form{background:#fff;padding:clamp(24px,5vw,54px);box-shadow:0 16px 45px rgba(20,49,40,.08)}fieldset{border:0;padding:0;margin:0 0 42px}legend{width:100%;font:600 2rem var(--serif);color:var(--green);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:22px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--green)}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #b9c0bc;border-radius:4px;background:#fff;font:inherit;color:var(--ink)}textarea{resize:vertical}.full{grid-column:1/-1}.date-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;background:var(--cream);border-left:3px solid #6c897b}.date-card h3{grid-column:1/-1;margin:0;font:600 1.3rem var(--serif);color:var(--green)}.button{width:100%;padding:16px;border:0;border-radius:4px;background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.12em;font-weight:600;cursor:pointer}.booking-aside{align-self:start;position:sticky;top:24px;background:#fff;padding:28px;border:1px solid var(--line)}.booking-aside h2{font:600 1.8rem var(--serif);color:var(--green);margin:0}.booking-aside ul{padding-left:20px}.payment-box{margin-top:25px;padding:20px;background:#eef3ef;border-left:3px solid var(--green)}.payment-box h3{margin:0;color:var(--green);font:600 1.35rem var(--serif)}.payment-box p{font-size:.82rem}.payment-status{display:inline-block;padding:5px 9px;background:#e5daca;color:#704b2d;border-radius:3px;font-size:.68rem;font-weight:600;text-transform:uppercase}.privacy{font-size:.75rem;color:#69736e}.honeypot{position:absolute;left:-9999px;width:1px;height:1px}.booking-footer{text-align:center;padding:30px;color:#64706a;font-size:.75rem}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-aside{position:static;grid-row:1}.fields{grid-template-columns:1fr}.full,.date-card{grid-column:1}.date-card{grid-template-columns:1fr}.date-card h3{grid-column:1}}
/* Large inline calendar */
.inline-calendar{grid-column:1/-1;width:100%;margin-top:7px}.calendar-control{display:grid;grid-template-columns:1fr auto;border:1px solid #9fafA7;border-radius:7px;overflow:hidden;background:#fff}.booking-form .calendar-display{margin:0;border:0;min-height:56px;padding:13px 16px;font-size:1.02rem;font-weight:600;color:var(--green);background:#fff;cursor:pointer}.calendar-trigger{min-width:132px;border:0;border-left:1px solid #cbd4cf;background:#eaf1ec;color:var(--green);display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;font:700 .76rem var(--sans);cursor:pointer}.calendar-trigger svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}.calendar-trigger:hover,.calendar-trigger:focus{background:var(--green);color:#fff}.calendar-panel{margin-top:9px;border:1px solid #bdc9c2;border-radius:10px;background:#fff;box-shadow:0 16px 36px rgba(21,61,50,.12);padding:20px}.calendar-toolbar{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:12px;margin-bottom:16px}.calendar-toolbar strong{text-align:center;color:var(--green);font:600 clamp(1.45rem,3vw,1.9rem) var(--serif)}.calendar-toolbar button{width:46px;height:42px;border:1px solid #b8c6be;border-radius:6px;background:#f3f7f4;color:var(--green);font-size:1.8rem;cursor:pointer}.calendar-toolbar button:hover{background:var(--green);color:#fff}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(42px,1fr));gap:7px}.calendar-weekday{text-align:center;padding:5px;color:#61736b;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-day{aspect-ratio:1.15;min-height:46px;border:1px solid #d7dfda;border-radius:7px;background:#fbfcfb;color:#23312c;font:700 .95rem var(--sans);cursor:pointer}.calendar-day:hover,.calendar-day:focus{border-color:var(--green);background:#e8f0eb}.calendar-day.is-today{border:2px solid #8a4455}.calendar-day.is-selected{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 5px 12px rgba(21,61,50,.2)}.calendar-footer{display:flex;justify-content:space-between;gap:12px;margin-top:17px;padding-top:15px;border-top:1px solid #e0e5e2}.calendar-footer button{border:0;background:transparent;color:var(--green);font-size:.8rem;font-weight:800;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.inline-calendar.is-open .calendar-control{border-color:var(--green);box-shadow:0 0 0 3px rgba(21,61,50,.1)}.required-key{margin:-18px 0 26px;text-align:right;color:#6c756f;font-size:.78rem;font-weight:600}.required-key span,.required-marker{color:#9c3348;font-weight:800}.required-marker{display:inline;margin-left:4px;font-size:1rem;line-height:0}.schedule-care-section .fields{grid-template-columns:1fr}.schedule-care-section .fields>label{grid-column:1/-1}.schedule-care-section .calendar-display{min-width:0;text-overflow:clip}.schedule-care-section .calendar-trigger{min-width:64px;width:64px;padding:10px}.schedule-care-section .calendar-trigger span{display:none}.schedule-care-section .calendar-trigger svg{width:27px;height:27px}@media(max-width:620px){.calendar-trigger{min-width:54px}.calendar-trigger span{display:none}.calendar-panel{padding:13px}.calendar-days{gap:4px;grid-template-columns:repeat(7,minmax(34px,1fr))}.calendar-day{min-height:40px;font-size:.86rem}.calendar-weekday{font-size:.61rem}.calendar-footer{align-items:flex-start;flex-direction:column}}
.authorization-consent{padding:24px;background:#f4f7f5;border-left:4px solid #153d32}.consent-line{display:flex!important;align-items:flex-start;gap:12px;text-transform:none;letter-spacing:0;font-size:.9rem;line-height:1.5}.consent-line input{width:19px;min-width:19px;height:19px;margin:2px 0 0}.consent-line span{color:#26332e}.fields label small{font-size:.7em;text-transform:none;letter-spacing:0;color:#6a756f}
.consent-line>span{min-width:0;flex:1}.consent-line .required-marker{display:inline;margin:0 0 0 5px;line-height:inherit;vertical-align:baseline}
.authorization-consent .fields{gap:14px}.authorization-consent .consent-line{align-items:center;padding:14px 16px;background:#fff;border:1px solid #d6dfda;border-radius:7px;gap:13px}.booking-form .authorization-consent .consent-line>input[type="checkbox"]{display:block;flex:0 0 22px;width:22px;min-width:22px;max-width:22px;height:22px;min-height:22px;margin:0;padding:0;accent-color:var(--green)}.authorization-consent .consent-line>span{font-size:.9rem;line-height:1.45}.authorization-consent .consent-line .required-marker{color:#9c3348;font-size:1rem;font-weight:800}.authorization-consent .full:not(.consent-line){margin-top:8px}
/* Keep every calendar week aligned and every selectable date a true square. */
.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.calendar-day,.calendar-blank{width:100%;aspect-ratio:1}.calendar-day{min-height:0;border-radius:9px}.calendar-blank{display:block}@media(max-width:620px){.calendar-panel{padding:13px}.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-day{min-height:0;font-size:.86rem;border-radius:7px}}
@media(min-width:701px){.calendar-panel{width:min(680px,100%);margin:10px auto 0;padding:18px}.calendar-days{gap:7px}.calendar-day,.calendar-blank{height:52px;aspect-ratio:auto}.calendar-toolbar{margin-bottom:12px}.calendar-footer{margin-top:13px;padding-top:12px}}
.booking-form .inline-calendar{width:min(680px,100%);max-width:100%;margin:7px 0 0}.booking-form .calendar-panel{width:100%;margin:10px 0 0}.booking-form .calendar-control{width:100%;grid-template-columns:minmax(0,1fr) auto}.booking-form .schedule-care-section .calendar-trigger{width:auto;min-width:132px;padding:10px 14px}.booking-form .schedule-care-section .calendar-trigger span{display:inline}.booking-form .schedule-care-section .calendar-trigger svg{width:22px;height:22px}@media(max-width:700px){.booking-form .inline-calendar{width:100%}.booking-form .schedule-care-section .calendar-trigger{width:58px;min-width:58px;padding:10px}.booking-form .schedule-care-section .calendar-trigger span{display:none}.booking-form .schedule-care-section .calendar-trigger svg{width:25px;height:25px}}
