/* Scoped priority keeps global editorial !important rules out of this utility form. */
#main.booking-flow-page{background:#faf8f2!important;color:#34483e!important}
#main.booking-flow-page>.booking-flow-section{padding:64px 0 88px!important;border:0!important;background:none!important;background-image:none!important}
#main.booking-flow-page>.booking-flow-section>.wrap{width:calc(100% - 80px)!important;max-width:1100px!important;margin-inline:auto!important}
#main.booking-flow-page .booking-flow-intro{max-width:730px!important;margin:0 0 32px!important;text-align:left!important}
#main.booking-flow-page .booking-flow-intro h1{font-size:38px!important;line-height:1.18!important;font-weight:400!important;margin:0 0 16px!important;letter-spacing:-.02em!important}
#main.booking-flow-page .booking-flow-intro p{font-size:16px!important;line-height:1.65!important;max-width:640px!important;margin:0!important;color:#637067!important}
#main.booking-flow-page .booking-stepper{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;list-style:none!important;margin:0 0 44px!important;padding:0!important;border-bottom:1px solid #dce1d7!important}
#main.booking-flow-page .booking-stepper li{display:flex!important;align-items:center!important;gap:10px!important;padding:0 0 16px!important;margin:0 0 -1px!important;border-bottom:2px solid transparent!important;font-size:14px!important;line-height:1.5!important;font-weight:400!important;color:#788078!important}
#main.booking-flow-page .booking-stepper li>span{display:grid!important;place-items:center!important;width:25px!important;height:25px!important;flex:0 0 25px!important;border:1px solid #d2dacd!important;border-radius:50%!important;font-size:12px!important}
#main.booking-flow-page .booking-stepper li[aria-current]{color:#304d3d!important;border-color:#304d3d!important}#main.booking-flow-page .booking-stepper li[aria-current]>span{background:#304d3d!important;border-color:#304d3d!important;color:#fff!important}
#main.booking-flow-page .booking-flow-layout{display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;gap:64px!important;align-items:start!important}
#main.booking-flow-page .booking-flow-summary{position:sticky!important;top:204px!important;min-width:0!important;background:none!important;border:0!important;border-radius:0!important;padding:0!important}
#main.booking-flow-page .booking-flow-summary label{display:block!important;margin:0 0 12px!important;font-size:13px!important;font-weight:500!important;line-height:1.5!important;color:#647167!important}
#main.booking-flow-page .booking-flow-summary select{width:100%!important;padding:12px 32px 12px 12px!important;font:inherit!important;font-size:14px!important;line-height:1.5!important;border:1px solid #cbd3c5!important;border-radius:5px!important;background:#fffefb!important;color:#34483e!important}
#main.booking-flow-page .booking-flow-summary p{font-size:14px!important;line-height:1.65!important;margin:8px 0!important;color:#637067!important}
#main.booking-flow-page .booking-flow-summary .booking-flow-price{font-size:30px!important;line-height:1.25!important;font-weight:400!important;color:#304d3d!important;margin:24px 0 8px!important}
#main.booking-flow-page .booking-flow-summary .booking-small{font-size:12px!important;line-height:1.6!important}
#main.booking-flow-page .booking-flow-summary .booking-mode-label{font-size:13px!important;line-height:1.65!important;border-top:1px solid #dce1d7!important;padding-top:18px!important;margin-top:22px!important}
#main.booking-flow-page .booking-flow-panel{display:block!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;background-image:none!important;scroll-margin-top:200px!important;text-align:left!important}
#main.booking-flow-page [hidden]{display:none!important}
#main.booking-flow-page .booking-flow-panel h2{font-size:27px!important;line-height:1.25!important;font-weight:400!important;margin:0 0 12px!important;letter-spacing:-.01em!important}
#main.booking-flow-page .booking-flow-panel h3{font-size:19px!important;line-height:1.35!important;font-weight:400!important;margin:0 0 14px!important}
#main.booking-flow-page .booking-flow-panel>p{font-size:15px!important;line-height:1.65!important;margin:0 0 24px!important;color:#637067!important}
#main.booking-flow-page .booking-flow-document{padding:0!important;margin:24px 0 16px!important;border:0!important;border-top:1px solid #dce1d7!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#main.booking-flow-page .booking-flow-document summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:18px 0!important;list-style:none!important;font-size:15px!important;line-height:1.5!important;font-weight:500!important;cursor:pointer!important;color:#304d3d!important}
#main.booking-flow-page .booking-flow-document summary::-webkit-details-marker{display:none!important}#main.booking-flow-page .booking-flow-document summary:after{content:'+'!important;font-size:21px!important;font-weight:400!important;line-height:1!important;flex-shrink:0!important;color:#72826c!important}#main.booking-flow-page .booking-flow-document[open]>summary:after{content:'−'!important}
#main.booking-flow-page .booking-flow-document .legal-copy{max-height:320px!important;overflow:auto!important;padding:20px!important;margin:0 0 16px!important;background:#f0f2e9!important;border-radius:4px!important;overscroll-behavior:contain!important}
#main.booking-flow-page .booking-flow-document .legal-copy h2{font-size:22px!important}#main.booking-flow-page .booking-flow-document .legal-copy h3{font-size:18px!important}
#main.booking-flow-page .booking-flow-document p,#main.booking-flow-page .booking-flow-document .legal-copy p{font-size:14px!important;line-height:1.65!important;margin:0 0 16px!important}
#main.booking-flow-page .booking-flow-document>a{display:inline-block!important;font-size:13px!important;line-height:1.5!important;margin-bottom:18px!important;text-decoration:underline!important;text-underline-offset:4px!important}
#main.booking-flow-page .booking-check{display:flex!important;align-items:flex-start!important;gap:12px!important;font-size:14px!important;font-weight:400!important;line-height:1.7!important;margin:0 0 24px!important;padding:0!important;text-align:left!important;color:#47564c!important}
#main.booking-flow-page .booking-check>span{font-size:inherit!important;font-weight:400!important;line-height:inherit!important}
#main.booking-flow-page .booking-check input{width:18px!important;height:18px!important;flex:0 0 18px!important;margin:3px 0 0!important;accent-color:#304d3d!important}
#main.booking-flow-page .booking-early{margin:28px 0 0!important;padding-top:24px!important;border-top:1px solid #dce1d7!important}
#main.booking-flow-page .booking-sensitive{margin-top:24px!important;border-bottom:1px solid #dce1d7!important}#main.booking-flow-page .booking-sensitive[open]{padding-bottom:6px!important}
#main.booking-flow-page .booking-flow-panel .booking-small{font-size:12px!important;line-height:1.7!important;color:#748073!important;margin:20px 0 24px!important;max-width:590px!important}
#main.booking-flow-page .booking-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-top:28px!important}
#main.booking-flow-page .button{font-size:14px!important;line-height:1.5!important;min-height:46px!important;padding:13px 20px!important;border-radius:4px!important;white-space:normal!important;letter-spacing:0!important}
#main.booking-flow-page .booking-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;margin:28px 0!important}
#main.booking-flow-page .booking-fields .field{min-width:0!important;display:flex!important;flex-direction:column!important;gap:9px!important;margin:0!important}
#main.booking-flow-page .booking-fields label{font-size:13px!important;line-height:1.5!important;font-weight:500!important;color:#47564c!important}
#main.booking-flow-page .booking-fields input,#main.booking-flow-page .booking-fields select,#main.booking-flow-page .booking-fields textarea{width:100%!important;min-width:0!important;min-height:46px!important;padding:12px!important;border:1px solid #cbd3c5!important;border-radius:4px!important;background:#fffefb!important;color:#34483e!important;font:inherit!important;font-size:16px!important;line-height:1.5!important}
#main.booking-flow-page .booking-fields textarea{resize:vertical!important}#main.booking-flow-page .booking-wide{grid-column:1/-1!important}
#main.booking-flow-page .booking-fields .booking-small{margin:0!important}
#main.booking-flow-page .booking-notice{background:#eef1e7!important;border:0!important;border-radius:4px!important;padding:18px 20px!important;font-size:14px!important;line-height:1.7!important;color:#47564c!important}
#main.booking-flow-page .booking-received-icon{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:50%!important;background:#e8eee0!important;color:#304d3d!important;font-size:21px!important;margin-bottom:20px!important}
#main.booking-flow-page .booking-not-confirmed{font-weight:500!important;color:#304d3d!important}
#main.booking-flow-page .booking-confirmation dl{margin:24px 0!important}#main.booking-flow-page .booking-confirmation dl>div{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)!important;gap:20px!important;border-bottom:1px solid #dce1d7!important;padding:14px 0!important}
#main.booking-flow-page .booking-confirmation dt{font-size:12px!important;line-height:1.6!important;color:#748073!important}#main.booking-flow-page .booking-confirmation dd{margin:0!important;font-size:14px!important;line-height:1.6!important;overflow-wrap:anywhere!important}
#main.booking-flow-page [data-new-request]{margin-top:16px!important}
#main.booking-flow-page #booking-flow-status:empty{display:none!important}#main.booking-flow-page #booking-flow-status:not(:empty){padding:16px!important;margin:0 0 24px!important;background:#f5e9df!important;border:1px solid #d2b6a2!important;border-radius:4px!important;font-size:14px!important;line-height:1.6!important}
#main.booking-flow-page .consent-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
#main.booking-flow-page :is(input,select,textarea,button,summary,a):focus-visible{outline:2px solid #687f57!important;outline-offset:4px!important}
#main.booking-flow-page h2[tabindex]:focus{outline:none!important}
@media(max-width:959px){#main.booking-flow-page>.booking-flow-section>.wrap{width:calc(100% - 48px)!important}#main.booking-flow-page .booking-flow-layout{grid-template-columns:220px minmax(0,1fr)!important;gap:36px!important}#main.booking-flow-page .booking-flow-summary{top:140px!important}#main.booking-flow-page .booking-flow-panel{scroll-margin-top:136px!important}#main.booking-flow-page .booking-fields{grid-template-columns:1fr!important}}
@media(max-width:700px){#main.booking-flow-page>.booking-flow-section{padding:36px 0 56px!important}#main.booking-flow-page>.booking-flow-section>.wrap{width:calc(100% - 40px)!important}#main.booking-flow-page .booking-flow-intro{margin-bottom:26px!important}#main.booking-flow-page .booking-flow-intro h1{font-size:30px!important;line-height:1.2!important}#main.booking-flow-page .booking-flow-intro p{font-size:15px!important;line-height:1.65!important}#main.booking-flow-page .booking-stepper{gap:12px!important;margin-bottom:28px!important}#main.booking-flow-page .booking-stepper li{display:block!important;font-size:12px!important;line-height:1.45!important;padding-bottom:12px!important}#main.booking-flow-page .booking-stepper li>span{margin-bottom:8px!important}#main.booking-flow-page .booking-flow-layout{grid-template-columns:1fr!important;gap:30px!important}#main.booking-flow-page .booking-flow-summary{position:static!important;display:grid!important;grid-template-columns:1fr auto!important;column-gap:18px!important;padding-bottom:24px!important;border-bottom:1px solid #dce1d7!important}#main.booking-flow-page .booking-flow-summary label,#main.booking-flow-page .booking-flow-summary select{grid-column:1/-1!important}#main.booking-flow-page .booking-flow-summary .booking-flow-price{grid-column:2!important;grid-row:3/5!important;font-size:26px!important;margin:16px 0 0!important;text-align:right!important}#main.booking-flow-page .booking-flow-summary>p:not(.booking-flow-price){grid-column:1!important;font-size:13px!important;line-height:1.6!important}#main.booking-flow-page .booking-flow-summary>select+p+p{margin-top:18px!important}#main.booking-flow-page .booking-flow-summary .booking-mode-label{grid-column:1/-1!important;font-size:12px!important;border:0!important;padding:0!important;margin:10px 0 0!important}#main.booking-flow-page .booking-flow-panel h2{font-size:25px!important}#main.booking-flow-page .booking-flow-panel>p{font-size:14px!important}#main.booking-flow-page .booking-flow-document summary{font-size:14px!important}#main.booking-flow-page .booking-check{font-size:13px!important;line-height:1.7!important}#main.booking-flow-page .booking-flow-panel .booking-small{font-size:12px!important}#main.booking-flow-page .booking-actions{flex-direction:column!important}#main.booking-flow-page .booking-actions .button{width:100%!important;justify-content:center!important}#main.booking-flow-page .booking-notice{padding:16px!important;font-size:13px!important}#main.booking-flow-page .booking-confirmation dl>div{grid-template-columns:1fr!important;gap:5px!important}#main.booking-flow-page .booking-flow-document .legal-copy{padding:16px!important}}

#main.booking-flow-page>.booking-flow-section>.wrap{padding:0!important}
html body #main.booking-flow-page.flow-page>section.booking-flow-section.section{padding-block:56px 80px!important}
@media(max-width:700px){html body #main.booking-flow-page.flow-page>section.booking-flow-section.section{padding-block:36px 56px!important}}
/* Consent, details and receipt share a calm booking-card layout. */
html body #main.booking-flow-page{background:#f7f8f4!important;background-image:none!important}
#main.booking-flow-page .booking-flow-masthead{background:#e4ede1!important;border-bottom:1px solid #d8e3d4!important;padding:42px 0 54px!important;scroll-margin-top:170px!important}
#main.booking-flow-page .booking-flow-masthead>.wrap{max-width:1100px!important;width:calc(100% - 80px)!important;padding:0!important;margin:auto!important}
#main.booking-flow-page .booking-flow-intro{display:flex!important;align-items:center!important;gap:20px!important;max-width:900px!important;margin:0 0 30px!important}
#main.booking-flow-page .booking-hero-icon{display:grid!important;place-items:center!important;width:54px!important;height:54px!important;flex:0 0 54px!important;background:#345440!important;color:#fff!important;border-radius:50%!important;font-size:23px!important;line-height:1!important}
#main.booking-flow-page .booking-flow-intro h1{font-size:34px!important;margin:0 0 10px!important;line-height:1.2!important}
#main.booking-flow-page .booking-flow-intro p{font-size:15px!important;max-width:760px!important}
#main.booking-flow-page .booking-stepper{max-width:760px!important;margin:0 0 0 74px!important;gap:24px!important;border-color:#c5d3be!important}
#main.booking-flow-page .booking-stepper li{font-size:13px!important;padding-bottom:12px!important}
html body #main.booking-flow-page.flow-page>section.booking-flow-section.section{padding-block:0 72px!important;background:transparent!important}
#main.booking-flow-page>.booking-flow-section:before,#main.booking-flow-page>.booking-flow-section:after{display:none!important}
#main.booking-flow-page .booking-flow-layout{position:relative!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:30px!important;align-items:start!important;margin-top:-24px!important}
#main.booking-flow-page .booking-flow-summary{position:sticky!important;top:194px!important;display:block!important;padding:0!important;border:0!important;background:transparent!important}
#main.booking-flow-page .booking-summary-card,#main.booking-flow-page .booking-help-card{background:#fff!important;border:1px solid #e0e5dc!important;border-radius:12px!important;padding:24px!important;box-shadow:0 3px 12px #283d2d04!important}
#main.booking-flow-page .booking-summary-card h2{font-size:22px!important;line-height:1.3!important;font-weight:400!important;margin:0 0 22px!important}
#main.booking-flow-page .booking-coach{display:flex!important;align-items:center!important;gap:14px!important;padding-bottom:22px!important;margin-bottom:22px!important;border-bottom:1px solid #e7eae3!important}
#main.booking-flow-page .booking-coach img{width:64px!important;height:76px!important;border-radius:8px!important;object-fit:cover!important;object-position:50% 32%!important}
#main.booking-flow-page .booking-coach strong{display:block!important;font-size:15px!important;line-height:1.5!important;font-weight:500!important}
#main.booking-flow-page .booking-coach span{display:block!important;font-size:12px!important;line-height:1.5!important;color:#72806f!important;margin-top:4px!important}
#main.booking-flow-page .booking-flow-summary label{font-size:12px!important;margin-bottom:8px!important}
#main.booking-flow-page .booking-flow-summary select{font-size:13px!important;background:#fafbf8!important;min-height:44px!important}
#main.booking-flow-page .booking-flow-summary .booking-duration{font-size:13px!important;margin:12px 0 20px!important}
#main.booking-flow-page .booking-total{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding-top:20px!important;border-top:1px solid #e7eae3!important}
#main.booking-flow-page .booking-total>span{font-size:13px!important;line-height:1.5!important;max-width:150px!important;color:#5d6d5d!important}
#main.booking-flow-page .booking-flow-summary .booking-flow-price{font-size:28px!important;line-height:1.2!important;margin:0!important;white-space:nowrap!important}
#main.booking-flow-page .booking-flow-summary .booking-small{font-size:11px!important;margin:10px 0 18px!important;line-height:1.65!important}
#main.booking-flow-page .booking-flow-summary .booking-mode-label{font-size:12px!important;line-height:1.65!important;margin:0 -24px -24px!important;padding:16px 24px!important;background:#f0f4eb!important;border:0!important;border-radius:0 0 12px 12px!important}
#main.booking-flow-page .booking-help-card{margin-top:20px!important}
#main.booking-flow-page .booking-help-card h3{font-size:20px!important;font-weight:400!important;line-height:1.3!important;margin:0 0 12px!important}
#main.booking-flow-page .booking-help-card p{font-size:13px!important;line-height:1.7!important;margin:0 0 20px!important;color:#6a7767!important}
#main.booking-flow-page .booking-help-card .button{width:100%!important;justify-content:center!important;font-size:13px!important}
#main.booking-flow-page .booking-flow-panel{padding:26px!important;background:#fff!important;border:1px solid #e0e5dc!important;border-radius:12px!important;box-shadow:0 3px 12px #283d2d04!important}
#main.booking-flow-page .booking-flow-panel h2{font-size:25px!important}
#main.booking-flow-page .booking-flow-panel>p{font-size:14px!important;line-height:1.65!important}
#main.booking-flow-page .booking-consent-card{border:1px solid #e2e7dd!important;border-radius:8px!important;padding:0 18px!important;margin:18px 0!important;background:#fff!important}
#main.booking-flow-page .booking-consent-card .booking-flow-document{margin:0!important;border:0!important}
#main.booking-flow-page .booking-consent-card .booking-check{margin:0 0 18px!important;font-size:13px!important;line-height:1.7!important}
#main.booking-flow-page .booking-consent-card .booking-flow-document summary{font-size:14px!important;line-height:1.5!important;padding:16px 0!important}
#main.booking-flow-page .booking-consent-card .booking-check input{width:17px!important;height:17px!important;flex-basis:17px!important}
#main.booking-flow-page .booking-early.booking-consent-card{padding:18px!important}
#main.booking-flow-page .booking-early h3{font-size:17px!important;line-height:1.4!important;margin:0 0 14px!important}
#main.booking-flow-page .booking-early .booking-check{margin-bottom:0!important}
#main.booking-flow-page .booking-sensitive.booking-consent-card{background:#f8faf5!important}
#main.booking-flow-page .booking-sensitive.booking-consent-card>summary{font-size:13px!important;padding:16px 0!important}
#main.booking-flow-page .booking-flow-panel .booking-small{font-size:11px!important;margin:20px 0 24px!important}
#main.booking-flow-page .booking-actions{justify-content:space-between!important}
#main.booking-flow-page .booking-confirmation .booking-received-icon{display:none!important}
#main.booking-flow-page .booking-confirmation #booking-email-status{padding:16px!important;background:#f3f6ef!important;border-radius:6px!important;font-size:12px!important;line-height:1.65!important}
#main.booking-flow-page[data-booking-stage="3"] .booking-flow-masthead{background:#e0eddf!important}
@media(max-width:959px){#main.booking-flow-page .booking-flow-layout{grid-template-columns:minmax(0,1fr) 290px!important;gap:20px!important}#main.booking-flow-page .booking-flow-summary{top:140px!important}#main.booking-flow-page .booking-flow-masthead>.wrap{width:calc(100% - 48px)!important}#main.booking-flow-page .booking-flow-panel{padding:22px!important}}
@media(max-width:760px){#main.booking-flow-page .booking-flow-layout{grid-template-columns:1fr!important;gap:22px!important}#main.booking-flow-page .booking-flow-summary{position:static!important;grid-row:1!important}#main.booking-flow-page[data-booking-stage="3"] .booking-flow-summary{grid-row:auto!important}#main.booking-flow-page .booking-help-card{display:none!important}#main.booking-flow-page .booking-summary-card{padding:20px!important}#main.booking-flow-page .booking-summary-card h2{font-size:20px!important;margin-bottom:16px!important}#main.booking-flow-page .booking-coach{display:none!important}#main.booking-flow-page .booking-flow-summary .booking-mode-label{margin:0 -20px -20px!important;padding:14px 20px!important}#main.booking-flow-page .booking-total>span{max-width:none!important}#main.booking-flow-page .booking-flow-masthead{padding:30px 0 46px!important;scroll-margin-top:118px!important}#main.booking-flow-page .booking-flow-masthead>.wrap{width:calc(100% - 40px)!important}#main.booking-flow-page .booking-flow-intro{gap:14px!important;align-items:flex-start!important;margin-bottom:24px!important}#main.booking-flow-page .booking-hero-icon{width:36px!important;height:36px!important;flex-basis:36px!important;font-size:17px!important;margin-top:2px!important}#main.booking-flow-page .booking-flow-intro h1{font-size:27px!important;line-height:1.25!important}#main.booking-flow-page .booking-flow-intro p{font-size:13px!important;line-height:1.65!important}#main.booking-flow-page .booking-stepper{margin:0!important;max-width:none!important;gap:10px!important}#main.booking-flow-page .booking-stepper li{font-size:11px!important;line-height:1.5!important}#main.booking-flow-page .booking-stepper li>span{width:23px!important;height:23px!important;font-size:11px!important}#main.booking-flow-page .booking-flow-panel{padding:22px 18px!important}#main.booking-flow-page .booking-flow-panel h2{font-size:23px!important}#main.booking-flow-page .booking-consent-card{padding-inline:14px!important}#main.booking-flow-page .booking-early.booking-consent-card{padding:16px 14px!important}#main.booking-flow-page .booking-consent-card .booking-check{font-size:13px!important}#main.booking-flow-page .booking-summary-card .booking-duration{margin:12px 0 16px!important}#main.booking-flow-page .booking-total{padding-top:16px!important}#main.booking-flow-page .booking-flow-summary .booking-small{margin-bottom:14px!important}}
#main.booking-flow-page #booking-selected-plan{font-size:15px!important;font-weight:500!important;line-height:1.6!important;margin:0 0 14px!important;color:#345440!important}
#main.booking-flow-page[data-booking-stage="3"] label[for="booking-plan"]{display:none!important}
#main.booking-flow-page .booking-confirmation .booking-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important}
#main.booking-flow-page .booking-confirmation .booking-actions>.button{margin:0!important;width:100%!important;justify-content:center!important;text-align:center!important}
@media(max-width:600px){#main.booking-flow-page .booking-confirmation .booking-actions{grid-template-columns:1fr!important}}
#main.booking-flow-page[data-booking-stage="3"] .booking-help-card{display:block!important}
html body #main.booking-flow-page .booking-confirmation .booking-actions>.button.button-outline{background:transparent!important;background-image:none!important;color:#345440!important;border:1px solid #345440!important;box-shadow:none!important}
html body #main.booking-flow-page .booking-confirmation .booking-actions>.button.button-outline:hover{background:#f0f4eb!important}

/* Name and email belong to the shared first consent step. */
#main.booking-flow-page .booking-lead-fields{margin:24px 0 12px!important}
#main.booking-flow-page .booking-flow-panel .booking-lead-disclosure{font-size:12px!important;line-height:1.7!important;margin:14px 0 26px!important;color:#5b6b60!important}
#main.booking-flow-page .booking-lead-disclosure a{color:#345440!important;text-decoration:underline!important;text-underline-offset:3px!important}
#main.booking-flow-page .booking-contact-summary{margin:24px 0!important;padding:16px 18px!important;background:#f4f7ef!important;border-radius:6px!important;overflow-wrap:anywhere!important}
#main.booking-flow-page .booking-contact-summary strong{font-size:12px!important;font-weight:500!important;color:#657466!important}
#main.booking-flow-page .booking-contact-summary p{font-size:14px!important;line-height:1.6!important;margin:5px 0 0!important}
#main.booking-flow-page [data-booking-step="1"]>.booking-notice{margin:20px 0!important}
#main.booking-flow-page button:disabled{cursor:wait!important;opacity:.65!important}

/* Form typography: readable controls and consent copy, with restrained headings. */
html[lang] body #main.booking-flow-page{--booking-body:16px;--booking-meta:14px}
html[lang] body #main.booking-flow-page .booking-flow-intro h1{font-size:38px!important;line-height:1.2!important}
html[lang] body #main.booking-flow-page .booking-flow-panel h2{font-size:26px!important;line-height:1.25!important;margin-bottom:20px!important}
html[lang] body #main.booking-flow-page .booking-flow-panel h3{font-size:20px!important;line-height:1.3!important}
html[lang] body #main.booking-flow-page .booking-flow-intro p,
html[lang] body #main.booking-flow-page .booking-flow-panel>p,
html[lang] body #main.booking-flow-page .booking-check,
html[lang] body #main.booking-flow-page .booking-notice,
html[lang] body #main.booking-flow-page .booking-contact-summary p,
html[lang] body #main.booking-flow-page .booking-flow-document p,
html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy :is(p,li,td,th){font-size:var(--booking-body)!important;line-height:1.6!important}
html[lang] body #main.booking-flow-page .booking-check>span{font-size:inherit!important;line-height:inherit!important}
html[lang] body #main.booking-flow-page .booking-flow-panel .booking-small,
html[lang] body #main.booking-flow-page .booking-flow-panel .booking-lead-disclosure,
html[lang] body #main.booking-flow-page .booking-flow-summary .booking-small,
html[lang] body #main.booking-flow-page .booking-flow-summary .booking-mode-label,
html[lang] body #main.booking-flow-page .booking-help-card p,
html[lang] body #main.booking-flow-page .booking-total>span,
html[lang] body #main.booking-flow-page .booking-contact-summary strong,
html[lang] body #main.booking-flow-page .booking-confirmation dt,
html[lang] body #main.booking-flow-page .booking-confirmation #booking-email-status{font-size:var(--booking-meta)!important;line-height:1.6!important}
html[lang] body #main.booking-flow-page .booking-fields label,
html[lang] body #main.booking-flow-page .booking-flow-summary label,
html[lang] body #main.booking-flow-page .booking-fields :is(input,select,textarea),
html[lang] body #main.booking-flow-page .booking-flow-summary select,
html[lang] body #main.booking-flow-page .button,
html[lang] body #main.booking-flow-page .booking-stepper li,
html[lang] body #main.booking-flow-page .booking-flow-summary .booking-duration,
html[lang] body #main.booking-flow-page .booking-confirmation dd,
html[lang] body #main.booking-flow-page .booking-flow-document>a{font-size:16px!important;line-height:1.6!important}
html[lang] body #main.booking-flow-page .booking-summary-card h2,
html[lang] body #main.booking-flow-page .booking-help-card h3{font-size:20px!important;line-height:1.3!important}
html[lang] body #main.booking-flow-page .booking-coach strong{font-size:16px!important}
html[lang] body #main.booking-flow-page .booking-coach span{font-size:14px!important}
html[lang] body #main.booking-flow-page .booking-flow-document summary{font-size:16px!important;line-height:1.5!important;gap:16px!important;padding-block:16px!important}
html[lang] body #main.booking-flow-page .booking-document-title{min-width:0!important}
html[lang] body #main.booking-flow-page .booking-document-cue{display:block!important;font-family:inherit!important;font-size:14px!important;line-height:1.5!important;font-weight:400!important;color:#61765d!important;margin-top:5px!important}
html[lang] body #main.booking-flow-page .booking-flow-document .booking-cue-close{display:none!important}
html[lang] body #main.booking-flow-page .booking-flow-document[open] .booking-cue-open{display:none!important}
html[lang] body #main.booking-flow-page .booking-flow-document[open] .booking-cue-close{display:block!important}
html[lang] body #main.booking-flow-page .booking-flow-document summary:after{font-size:26px!important;color:#345440!important}
html[lang] body #main.booking-flow-page .booking-flow-document summary:hover{color:#587247!important}
@media(max-width:767px){
 html[lang] body #main.booking-flow-page{--booking-meta:14px}
 html[lang] body #main.booking-flow-page .booking-stepper li{font-size:14px!important;line-height:1.5!important}
 html[lang] body #main.booking-flow-page .booking-total>span{max-width:65%!important}
}
/* Embedded document headings sit below the consent panel's main heading. */
html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy h2{font-size:28px!important;line-height:1.3!important}
html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy h3{font-size:23px!important;line-height:1.35!important}
@media(max-width:767px){html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy h2{font-size:24px!important}html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy h3{font-size:21px!important}}
/* Expanded document content must not enlarge the parent grid track on phones. */
html[lang] body #main.booking-flow-page :is(.booking-flow-main,.booking-flow-panel,.booking-consent-card,.booking-flow-document){min-width:0!important;max-width:100%!important}
html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy{max-width:100%!important;box-sizing:border-box!important;overflow-wrap:anywhere!important}
html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy :is(p,li,td,th,h2,h3,a){overflow-wrap:anywhere!important}
@media(max-width:760px){html[lang] body #main.booking-flow-page .booking-flow-layout{grid-template-columns:minmax(0,1fr)!important}}

/* Compact, aligned form panels; full consent wording stays readable. */
html[lang] body #main.booking-flow-page .booking-flow-intro{margin-bottom:26px!important}
html[lang] body #main.booking-flow-page .booking-flow-intro h1{margin:0!important}
html[lang] body #main.booking-flow-page .booking-hero-icon{width:42px!important;height:42px!important;flex-basis:42px!important;font-size:18px!important}
html[lang] body #main.booking-flow-page .booking-lead-fields{margin:0 0 24px!important;gap:20px!important}
html[lang] body #main.booking-flow-page .booking-fields label{font-size:14px!important;font-weight:500!important}
html[lang] body #main.booking-flow-page .booking-consent-card{margin:12px 0!important}
html[lang] body #main.booking-flow-page .booking-consent-card .booking-check{font-size:16px!important;line-height:1.55!important;margin-bottom:16px!important}
html[lang] body #main.booking-flow-page .booking-early h3{font-size:18px!important;margin-bottom:12px!important}
html[lang] body #main.booking-flow-page .booking-early .booking-check{margin-bottom:0!important}
html[lang] body #main.booking-flow-page .booking-notice{font-size:14px!important;line-height:1.6!important;padding:14px 16px!important}
html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy h2{font-size:24px!important}
html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy h3{font-size:20px!important}
@media(max-width:767px){
 html[lang] body #main.booking-flow-page .booking-flow-intro h1{font-size:30px!important}
 html[lang] body #main.booking-flow-page .booking-flow-panel h2{font-size:24px!important}
 html[lang] body #main.booking-flow-page .booking-summary-card h2,html[lang] body #main.booking-flow-page .booking-help-card h3{font-size:20px!important}
 html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy h2{font-size:22px!important}
 html[lang] body #main.booking-flow-page .booking-flow-document .legal-copy h3{font-size:18px!important}
}
