.fp-landing,.fp-dialog{--fp-ink:#101c19;--fp-green:#b8e9c9;--fp-deep:#183b2d;--fp-soft:#f0f6f1;--fp-border:#cbdcd1;color:var(--fp-ink)}
.fp-landing [hidden]{display:none!important}
.fp-wrap{width:min(100% - 56px,1152px);margin-inline:auto}
.fp-hero{background:radial-gradient(ellipse at 85% 20%,#245443,transparent 60%),#132b23;color:#fff;padding:clamp(44px,7vw,102px) 0 clamp(50px,7vw,96px)}
.fp-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(30px,5vw,74px)}
.fp-landing .fp-kicker,.fp-dialog .fp-kicker{display:flex;align-items:center;gap:9px;color:#306f55;font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}
.fp-kicker>span{background:#429472;width:7px;height:7px;border-radius:50%;flex:none}
.fp-hero .fp-kicker{color:#c0ead0}
.fp-hero .fp-kicker>span{background:#b8e9c9}
.fp-landing h1,.fp-landing h2,.fp-dialog h2,.fp-dialog h3{color:inherit;margin:0;letter-spacing:-.045em}
.fp-landing h1{font-size:clamp(38px,5.1vw,72px);line-height:1.04;max-width:660px}
.fp-landing h1 em{color:var(--fp-green);font-style:normal;white-space:nowrap}
.fp-landing h2{font-size:clamp(33px,4.1vw,52px);line-height:1.08}
.fp-landing p,.fp-dialog p{line-height:1.55}
.fp-landing .fp-lede{font-size:clamp(16px,1.5vw,19px);max-width:39ch;margin:22px 0 28px;color:#e0eee5}
.fp-landing .fp-cta{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:14px 22px;min-height:51px;border:0;border-radius:7px;background:var(--fp-green);color:#11251b!important;font:inherit;font-weight:750;text-align:center;text-decoration:none;cursor:pointer}
.fp-landing .fp-cta:hover{background:#d7f7e3}
.fp-landing .fp-cta:focus-visible,.fp-landing button:focus-visible,.fp-landing summary:focus-visible,.fp-landing a:focus-visible,.fp-dialog input:focus-visible{outline:3px solid #4aa479;outline-offset:4px}
.fp-landing .fp-small{margin:13px 0 0;color:#d6e7dc;font-size:13px}
.fp-media{margin:0;padding:9px;background:#244738;border:1px solid #608271;border-radius:15px}
.fp-media-frame{aspect-ratio:16/9;overflow:hidden;background:#172e24;border-radius:8px}
.fp-media-frame img,.fp-media-frame video,.fp-media-frame iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}
.fp-media figcaption{display:flex;justify-content:space-between;gap:12px;padding:11px 8px 3px;color:#e0eee5;font-size:12px}
.fp-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--fp-border)}
.fp-facts>div{padding:27px 25px}
.fp-facts>div+div{border-left:1px solid var(--fp-border)}
.fp-facts strong,.fp-facts span{display:block}
.fp-facts strong{font-size:22px;line-height:1.2}
.fp-facts span{font-size:14px;margin-top:6px;color:#40584c}
.fp-practitioner{display:grid;grid-template-columns:minmax(0,250px) minmax(0,540px);justify-content:center;align-items:center;gap:clamp(24px,6vw,78px);padding-block:clamp(48px,8vw,106px)}
.fp-practitioner img{display:block;width:100%;height:auto;aspect-ratio:5/6;object-fit:cover;object-position:50% 20%;border-radius:12px}
.fp-practitioner p:not(.fp-kicker),.fp-last p:not(.fp-kicker){font-size:17px;margin:17px 0 22px;color:#3e5548}
.fp-landing .fp-text-link{color:#23543d;text-decoration:underline;text-underline-offset:4px;font-weight:750}
.fp-last{background:var(--fp-soft);border-top:1px solid var(--fp-border);padding-block:clamp(46px,7vw,86px)}
.fp-close-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,85px);align-items:center}
.fp-last .fp-cta,.fp-dialog .fp-cta{background:var(--fp-deep);color:white!important}
.fp-last .fp-cta:hover,.fp-dialog .fp-cta:hover{background:#286043}
.fp-faq details{border-top:1px solid var(--fp-border);padding:15px 0}
.fp-faq details:last-child{border-bottom:1px solid var(--fp-border)}
.fp-faq summary{font-size:16px;font-weight:750;cursor:pointer}
.fp-faq details p:not(.fp-kicker){font-size:15px;margin:9px 0 0}
body:has(.fp-dialog[open]){overflow:hidden}
.fp-dialog:not([open]){display:none}
.fp-dialog{position:fixed;inset:0;margin:auto;width:min(100% - 28px,530px);height:fit-content;box-sizing:border-box;max-height:calc(100dvh - 28px);padding:0;overflow:auto;border:1px solid var(--fp-border);border-radius:17px;background:#fff;box-shadow:0 24px 84px #09201760}
.fp-dialog::backdrop{background:#0c211ad1}
.fp-dialog-inner{position:relative;padding:clamp(22px,5vw,38px)}
.fp-dialog h2{font-size:clamp(25px,5.4vw,37px);line-height:1.12;margin-right:28px}
.fp-dialog h3,.fp-dialog legend{color:var(--fp-ink);font-size:19px;font-weight:750;line-height:1.3;margin:0 0 12px}
.fp-dialog h3{letter-spacing:0}
.fp-dialog fieldset{margin:0;padding:0;border:0;min-inline-size:0}
.fp-dialog .fp-step{font-size:12px;font-weight:750;color:#40584c;margin:15px 0 8px}
.fp-dialog .fp-dismiss,.fp-dialog .fp-back{background:var(--fp-soft);color:var(--fp-ink);border:1px solid var(--fp-border);border-radius:7px;cursor:pointer;font:inherit}
.fp-dialog .fp-dismiss{position:absolute;top:14px;right:14px;width:44px;height:44px;font-size:26px;line-height:1}
.fp-dialog .fp-back{padding:11px 16px;min-height:48px}
.fp-dialog label{display:block;color:var(--fp-ink);font-size:14px;font-weight:700;margin:0 0 11px}
.fp-dialog .fp-option{display:flex;align-items:center;gap:10px;min-height:46px;padding:9px 12px;border:1px solid var(--fp-border);border-radius:7px;cursor:pointer}
.fp-dialog .fp-option:has(input:checked){background:var(--fp-soft);border-color:#387756}
.fp-dialog input[type=radio]{width:17px;height:17px;flex:none;accent-color:#286043;margin:0}
.fp-dialog input:not([type=radio]){display:block;width:100%;min-width:0;min-height:44px;margin:4px 0 0;padding:8px 10px;border:1px solid #9eafa4;border-radius:7px;color:var(--fp-ink);background:#fff;font:inherit;font-size:16px}
.fp-dialog label span{font-weight:400}
.fp-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fp-dialog .fp-form-note,.fp-dialog .fp-status{font-size:13px;margin:8px 0}
.fp-dialog .fp-form-note a{color:#23543d;text-decoration:underline}
.fp-dialog .fp-form-actions{display:flex;gap:10px;margin-top:15px}
.fp-dialog .fp-form-button{flex:1}
.fp-dialog .fp-cta:disabled{cursor:wait;opacity:.65}
.fp-dialog .fp-status:empty{display:none}
.fp-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.fp-dialog [data-fall-success]{margin-top:22px}
@media(max-width:780px){
 .fp-wrap{width:calc(100% - 36px)}
 .fp-hero-grid,.fp-close-grid{grid-template-columns:1fr}
 .fp-hero-grid{gap:27px}
 .fp-hero{padding-block:38px 35px}
 .fp-hero .fp-lede{margin:16px 0 20px}
 .fp-media-frame{aspect-ratio:16/9}
 .fp-facts>div{padding:15px 9px}
 .fp-facts strong{font-size:16px}
 .fp-facts span{font-size:11px}
 .fp-practitioner{grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:20px}
}
@media(max-width:460px){
 .fp-practitioner{grid-template-columns:1fr}
 .fp-practitioner img{width:150px}
 .fp-hero .fp-cta,.fp-last .fp-cta{width:100%}
 .fp-dialog-inner{padding:20px}
 .fp-dialog .fp-form-note{font-size:12px}
}


.fp-dialog:has([data-fall-calendar]:not([hidden])){width:min(100% - 24px,570px)}
.fp-dialog [data-fall-dialog-step]{font-weight:inherit}
.fp-dialog .fp-calendar-help{color:#40584c;font-size:13px;margin:9px 0 22px}
.fp-dialog .fp-week{background:#f4f8f4;border:1px solid #dce7df;border-radius:12px;padding:8px 12px 12px}
.fp-week-bar,.fp-time-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fp-dialog .fp-week-bar h3,.fp-dialog .fp-time-heading h3{font-size:15px;margin:0}
.fp-week-nav{display:flex;align-items:center;justify-content:flex-end;gap:3px}
.fp-week-label{min-width:90px;text-align:center;font-size:13px;font-weight:650;color:#344d40}
.fp-dialog .fp-week-arrow{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--fp-deep);cursor:pointer}
.fp-dialog .fp-week-arrow:hover:not(:disabled){background:#e1eee4}
.fp-dialog .fp-week-arrow:disabled{color:#516b5e;opacity:.48;cursor:default}
.fp-date-grid,.fp-time-grid{display:grid;gap:7px}
.fp-date-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.fp-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.fp-dialog .fp-slot{min-width:0;min-height:44px;padding:6px 2px;border:1px solid var(--fp-border);border-radius:8px;background:#fff;color:var(--fp-ink);font:inherit;font-size:13px;line-height:1.2;cursor:pointer}
.fp-dialog .fp-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px}
.fp-day span{font-size:11px;color:#476256}
.fp-day strong{font-size:19px;font-weight:750;font-variant-numeric:tabular-nums}
.fp-dialog .fp-day:disabled{color:#5d7066;border-color:transparent;background:transparent;opacity:.65;cursor:default}
.fp-dialog .fp-slot:hover:not(:disabled){border-color:#4d7a64;background:#eaf5ed}
.fp-dialog .fp-slot[aria-pressed=true]{background:#d7f0df;border-color:#42745b;color:#143e29;font-weight:750}
.fp-dialog .fp-slot[aria-pressed=true]:hover{background:#ccebd6}
.fp-dialog .fp-time-panel{margin-top:19px}
.fp-time-heading{margin-bottom:9px}
.fp-time-heading span{font-size:12px;color:#51695d}
.fp-time-grid button{white-space:nowrap;font-variant-numeric:tabular-nums}
.fp-dialog .fp-booking-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid #e1eae3}
.fp-dialog .fp-booking-summary{margin:0;color:#40584c;font-size:13px;line-height:1.4}
.fp-dialog .fp-booking-footer .fp-cta{min-height:46px;padding:10px 16px;font-size:14px;line-height:1.2}
.fp-dialog .fp-booking-footer .fp-cta:disabled{background:#e5eee8;color:#4a6255!important;opacity:1;cursor:default}
.fp-dialog .fp-calendar-link{min-height:44px;padding:4px 0;background:transparent;border:0;color:#23543d;font:inherit;font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fp-dialog .fp-calendar-link:disabled{opacity:.6;cursor:default}
@media(max-width:460px){
 .fp-dialog:has([data-fall-calendar]:not([hidden])) .fp-dialog-inner{padding:19px 14px}
 .fp-dialog .fp-week{padding:5px 7px 7px}
 .fp-date-grid,.fp-time-grid{gap:4px}
 .fp-dialog .fp-day{min-height:52px}
 .fp-day strong{font-size:17px}
 .fp-dialog .fp-slot{font-size:12px}
 .fp-dialog .fp-booking-footer{grid-template-columns:1fr;gap:7px}
 .fp-dialog .fp-booking-footer .fp-cta{width:100%}
}
