.booking-page{background:radial-gradient(circle at 8% 5%, color-mix(in srgb, var(--color-sun-light) 80%, transparent) 0 9%, transparent 9.2%),radial-gradient(circle at 95% 18%, color-mix(in srgb, var(--color-sky) 34%, transparent) 0 12%, transparent 12.2%),linear-gradient(180deg, var(--color-cream), var(--color-page) 34%, var(--color-mint));min-height:calc(100svh - 76px);padding:clamp(2.5rem,6vw,5.5rem) 0 clamp(4.5rem,8vw,7.5rem);position:relative;overflow:clip}.booking-page-heading{text-align:center;max-width:760px;margin:0 auto clamp(2rem,5vw,3.8rem)}.booking-page-heading .label{gap:.55rem}.booking-page-heading h1{color:var(--color-primary-dark);letter-spacing:-.055em;margin-top:.75rem;font-size:clamp(2.35rem,6vw,4.8rem);line-height:1.02}.booking-page-heading>p{max-width:650px;color:var(--color-text-muted);margin:1rem auto 0;font-size:clamp(1rem,1.7vw,1.12rem);line-height:1.7}.booking-journey{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(1rem,2.5vw,2rem);width:100%;max-width:1160px;margin:0 auto;scroll-margin-top:6.5rem;display:grid}.booking-story{border:1px solid color-mix(in srgb, var(--color-sky-strong) 15%, var(--color-border));background:color-mix(in srgb, var(--color-white) 88%, transparent);box-shadow:var(--shadow-color);border-radius:34px 34px 82px;padding:.7rem;position:sticky;top:6.5rem;overflow:hidden}.booking-story-art{aspect-ratio:4/3;background:var(--color-sky-light);border-radius:26px 26px 70px;width:100%;position:relative;overflow:hidden}.booking-story-art img{object-fit:cover}.booking-story-caption{border-radius:var(--radius-pill);background:var(--color-sun-light);color:var(--color-primary-dark);align-items:center;gap:.6rem;margin:.85rem .55rem 0;padding:.72rem .85rem;display:flex}.booking-story-caption>span{background:var(--color-white);width:30px;height:30px;color:var(--color-sun);border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;display:inline-flex}.booking-story-caption p{font-size:.82rem;font-weight:700;line-height:1.35}.booking-story-trust{color:var(--color-text-muted);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:.55rem;margin:.85rem .7rem .65rem;display:grid}.booking-story-trust svg{color:var(--color-teal);margin-top:.12rem}.booking-story-trust p{font-size:.75rem;line-height:1.55}.booking-form-card{border:1px solid color-mix(in srgb, var(--color-primary) 12%, var(--color-border));background:color-mix(in srgb, var(--color-white) 94%, transparent);min-width:0;box-shadow:var(--shadow-soft);border-radius:34px;padding:clamp(1rem,3vw,2rem)}.booking-progress{border-bottom:1px solid var(--color-border);margin-bottom:clamp(1.7rem,4vw,2.6rem);padding-bottom:1.25rem}.booking-progress-topline{color:var(--color-text-muted);letter-spacing:.055em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;font-size:.74rem;font-weight:700;display:flex}.booking-progress-topline strong{color:var(--color-primary)}.booking-progress-track{border-radius:var(--radius-pill);background:var(--color-sage-light);height:7px;margin-top:.65rem;overflow:hidden}.booking-progress-track>span{border-radius:inherit;background:linear-gradient(90deg, var(--color-teal), var(--color-sky-strong), var(--color-apricot));height:100%;transition:width var(--transition-slow);display:block}.booking-step-list{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:.85rem;list-style:none;display:grid}.booking-step-list li{min-width:0;color:var(--color-text-muted);justify-items:center;gap:.35rem;display:grid;position:relative}.booking-step-list li:before{content:"";z-index:0;background:var(--color-border);height:1px;position:absolute;top:13px;left:-50%;right:50%}.booking-step-list li:first-child:before{display:none}.booking-step-list li>span{z-index:1;border:1px solid var(--color-border);background:var(--color-white);border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:.7rem;font-weight:700;display:inline-flex;position:relative}.booking-step-list li small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.64rem;font-weight:700;overflow:hidden}.booking-step-list .booking-step-current{color:var(--color-primary)}.booking-step-list .booking-step-current>span{border-color:var(--color-primary);background:var(--color-primary);box-shadow:0 0 0 4px var(--color-sage-light);color:var(--color-white)}.booking-step-list .booking-step-complete{color:var(--color-primary)}.booking-step-list .booking-step-complete:before{background:var(--color-sage)}.booking-step-list .booking-step-complete>span{border-color:var(--color-sage);background:var(--color-sage-light);color:var(--color-primary-dark)}.booking-form,.booking-step-panel{min-width:0}.booking-step-panel h2{max-width:650px;color:var(--color-primary-dark);letter-spacing:-.045em;margin-top:.35rem;font-size:clamp(1.65rem,3.8vw,2.65rem);line-height:1.12}.booking-step-panel h2:focus{outline:0}.booking-step-panel fieldset{border:0;min-width:0;margin:1.4rem 0 0;padding:0}.booking-step-panel legend{width:100%;color:var(--color-text);margin-bottom:.7rem;font-size:.9rem;font-weight:700;line-height:1.45}.booking-step-panel legend>span{color:var(--color-apricot)}.booking-step-eyebrow{color:var(--color-sky-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.73rem;font-weight:700}.booking-step-lead{max-width:650px;color:var(--color-text-muted);margin-top:.85rem;font-size:.94rem;line-height:1.7}.booking-step-icon{background:var(--color-sky-light);width:52px;height:52px;color:var(--color-sky-strong);border-radius:18px;justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.booking-welcome-note,.booking-reassurance,.booking-send-note,.booking-safety-note{border-radius:18px;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:.7rem;margin-top:1.35rem;padding:1rem;display:grid}.booking-welcome-note svg,.booking-reassurance svg,.booking-send-note svg,.booking-safety-note svg{margin-top:.1rem}.booking-welcome-note p,.booking-reassurance p,.booking-send-note p,.booking-safety-note p{color:var(--color-text-muted);font-size:.84rem;line-height:1.6}.booking-welcome-note{background:var(--color-apricot-light);color:var(--color-apricot)}.booking-skip-note{color:var(--color-text-muted);margin-top:1rem;font-size:.76rem;font-weight:600}.booking-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.6rem;display:grid}.booking-field-grid .booking-field:last-child{grid-column:1/-1}.booking-field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);display:grid}.booking-fieldsets{gap:.2rem;display:grid}.booking-field{min-width:0}.booking-field>label{color:var(--color-text);font-size:.85rem;font-weight:700;line-height:1.4;display:block}.booking-field>label span{color:var(--color-apricot)}.booking-field input,.booking-field textarea{border:1px solid var(--color-border);background:var(--color-white);width:100%;color:var(--color-text);font:inherit;transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base);border-radius:14px;margin-top:.5rem;font-size:1rem}.booking-field input::placeholder,.booking-field textarea::placeholder{color:color-mix(in srgb, var(--color-text-muted) 62%, transparent)}.booking-field input:hover,.booking-field textarea:hover{border-color:var(--color-sage)}.booking-field input:focus,.booking-field textarea:focus{border-color:var(--color-teal);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-sage) 30%, transparent);background:var(--color-page);outline:0}.booking-field input[aria-invalid=true],.booking-field textarea[aria-invalid=true]{border-color:var(--color-apricot)}.booking-field input{min-height:50px;padding:.72rem .85rem}.booking-field textarea{resize:vertical;min-height:126px;padding:.85rem;line-height:1.6}.booking-field--wide{margin-top:1.5rem}.booking-field-hint{color:var(--color-text-muted);margin-top:.3rem;font-size:.76rem;line-height:1.5}.booking-field-error{color:var(--color-primary-dark);margin-top:.45rem;font-size:.76rem;font-weight:700;line-height:1.4}.booking-choices{flex-wrap:wrap;gap:.55rem;display:flex}.booking-choice{border:1px solid var(--color-border);background:var(--color-white);min-height:46px;color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);border-radius:14px;align-items:center;gap:.5rem;padding:.55rem .72rem;font-size:.82rem;font-weight:600;line-height:1.35;display:inline-flex;position:relative}.booking-choice input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.booking-choice:hover{border-color:var(--color-sage);color:var(--color-primary-dark);transform:translateY(-1px)}.booking-choice:has(input:focus-visible){outline:2px solid var(--color-teal);outline-offset:2px}.booking-choice--selected{border-color:color-mix(in srgb, var(--color-primary) 44%, var(--color-border));background:var(--color-sage-light);color:var(--color-primary-dark)}.booking-choice--selected .booking-choice-mark{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.booking-choice-mark{border:1px solid var(--color-border);background:var(--color-page);color:#0000;border-radius:6px;flex:0 0 19px;justify-content:center;align-items:center;width:19px;height:19px;display:inline-flex}.booking-choices--compact{gap:.45rem}.booking-choices--compact .booking-choice{min-height:42px;padding:.48rem .62rem;font-size:.78rem}.booking-concern-groups{gap:.6rem;margin-top:1.5rem;display:grid}.booking-concern-groups details{border:1px solid var(--color-border);background:var(--color-white);transition:border-color var(--transition-base);border-radius:18px}.booking-concern-groups details[open]{border-color:color-mix(in srgb, var(--color-sky-strong) 33%, var(--color-border))}.booking-concern-groups details[open] .booking-summary-plus{transform:rotate(45deg)}.booking-concern-groups details .booking-choices{padding:0 .85rem .9rem}.booking-concern-groups summary{cursor:pointer;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:.7rem;min-height:66px;padding:.65rem .8rem;list-style:none;display:grid}.booking-concern-groups summary::-webkit-details-marker{display:none}.booking-concern-groups summary>span:nth-child(2){gap:.12rem;min-width:0;display:grid}.booking-concern-groups summary strong{color:var(--color-primary-dark);font-size:.84rem;line-height:1.3}.booking-concern-groups summary small{color:var(--color-text-muted);font-size:.7rem;font-weight:600}.booking-concern-icon{background:var(--color-sage-light);width:42px;height:42px;color:var(--color-teal);border-radius:13px;justify-content:center;align-items:center;display:inline-flex}.booking-concern-icon--sky{background:var(--color-sky-light);color:var(--color-sky-strong)}.booking-concern-icon--apricot{background:var(--color-apricot-light);color:var(--color-apricot)}.booking-concern-icon--sun{background:var(--color-sun-light);color:var(--color-sun)}.booking-summary-plus{background:var(--color-mint);width:28px;height:28px;color:var(--color-primary);transition:transform var(--transition-base);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:inline-flex}.booking-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.booking-service-option{border:1px solid var(--color-border);background:var(--color-white);cursor:pointer;min-width:0;min-height:138px;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);border-radius:20px;grid-template-columns:44px minmax(0,1fr);align-content:start;gap:.75rem;padding:.9rem;display:grid;position:relative}.booking-service-option input{opacity:0;width:1px;height:1px;position:absolute}.booking-service-option>span:nth-child(3){gap:.25rem;min-width:0;display:grid}.booking-service-option strong{color:var(--color-primary-dark);font-size:.85rem;line-height:1.3}.booking-service-option small{color:var(--color-text-muted);font-size:.7rem;line-height:1.45}.booking-service-option:hover{border-color:var(--color-sage);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.booking-service-option:has(input:focus-visible){outline:2px solid var(--color-teal);outline-offset:2px}.booking-service-option--selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-sage-light)}.booking-service-option--selected .booking-service-check{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.booking-service-icon{background:var(--color-sky-light);width:44px;height:44px;color:var(--color-sky-strong);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.booking-service-check{border:1px solid var(--color-border);background:var(--color-page);color:#0000;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:absolute;bottom:.7rem;right:.7rem}.booking-followup{border:1px solid color-mix(in srgb, var(--color-apricot) 20%, var(--color-border));background:linear-gradient(145deg, var(--color-cream), var(--color-apricot-light));border-radius:22px;margin-top:1.4rem;padding:clamp(.85rem,2.5vw,1.3rem)}.booking-reassurance{background:var(--color-sky-light);color:var(--color-sky-strong)}.booking-reassurance strong{color:var(--color-primary-dark);font-size:.86rem}.booking-reassurance p{margin-top:.2rem}.booking-safety-note{border:1px solid color-mix(in srgb, var(--color-apricot) 30%, var(--color-border));background:var(--color-apricot-light);color:var(--color-apricot)}.booking-safety-note strong{color:var(--color-primary-dark)}.booking-consent{border:1px solid var(--color-border);background:var(--color-mint);border-radius:22px;gap:.75rem;margin-top:1.5rem;padding:clamp(.9rem,2.5vw,1.25rem);display:grid}.booking-consent>div{color:var(--color-teal);grid-template-columns:25px minmax(0,1fr);gap:.65rem;display:grid}.booking-consent>div strong{color:var(--color-primary-dark);font-size:.88rem}.booking-consent>div p{color:var(--color-text-muted);margin-top:.15rem;font-size:.76rem;line-height:1.5}.booking-consent>label{border:1px solid var(--color-border);background:var(--color-white);min-height:44px;color:var(--color-text);cursor:pointer;border-radius:14px;grid-template-columns:21px minmax(0,1fr);align-items:start;gap:.65rem;padding:.65rem .75rem;font-size:.78rem;font-weight:600;line-height:1.5;display:grid;position:relative}.booking-consent>label input{opacity:0;width:1px;height:1px;position:absolute}.booking-consent>label>span{border:1px solid var(--color-border);color:#0000;border-radius:6px;justify-content:center;align-items:center;width:21px;height:21px;display:inline-flex}.booking-consent>label:has(input:checked){border-color:var(--color-sage)}.booking-consent>label:has(input:checked)>span{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.booking-consent>label:has(input:focus-visible){outline:2px solid var(--color-teal);outline-offset:2px}.booking-consent>.booking-field-error{margin-top:-.4rem}.booking-send-note{border:1px solid color-mix(in srgb, var(--color-sky-strong) 18%, var(--color-border));background:var(--color-sky-light);color:var(--color-sky-strong)}.booking-actions{z-index:5;border:1px solid color-mix(in srgb, var(--color-white) 62%, var(--color-border));border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-white) 90%, transparent);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:.7rem;margin-top:2rem;padding:.55rem;display:flex;position:sticky;bottom:.75rem}.booking-back,.booking-next,.booking-submit{border-radius:var(--radius-pill);min-height:48px;font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.55rem;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-flex}.booking-back{color:var(--color-text-muted);background:0 0;padding:.7rem .95rem}.booking-back:hover{background:var(--color-mint);color:var(--color-primary-dark)}.booking-next,.booking-submit{background:var(--color-primary);min-width:160px;color:var(--color-white);box-shadow:0 10px 24px color-mix(in srgb, var(--color-primary) 22%, transparent);transition:background-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);padding:.72rem 1.1rem;position:relative;overflow:hidden}.booking-next:before,.booking-submit:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-white) 42%, transparent), transparent);width:32%;animation:3.8s ease-in-out infinite booking-button-glimmer;position:absolute;inset:-2px auto -2px -42%;transform:skew(-18deg)}.booking-next:hover,.booking-submit:hover{background:var(--color-primary-dark);color:var(--color-white);box-shadow:0 14px 30px color-mix(in srgb, var(--color-primary) 28%, transparent);transform:translateY(-2px)}.booking-next>*,.booking-submit>*{z-index:1;position:relative}.booking-submit{background:linear-gradient(110deg, var(--color-primary), var(--color-teal));min-width:230px}.booking-complete{text-align:center;padding:clamp(.5rem,2vw,1rem) 0}.booking-complete h2{color:var(--color-primary-dark);letter-spacing:-.045em;margin-top:.35rem;font-size:clamp(1.8rem,4vw,2.8rem)}.booking-complete>p:not(.booking-step-eyebrow,.booking-destination-note){max-width:560px;color:var(--color-text-muted);margin:.8rem auto 0;font-size:.94rem;line-height:1.7}.booking-complete-icon{background:var(--color-sage-light);width:58px;height:58px;color:var(--color-primary);border-radius:20px;justify-content:center;align-items:center;margin:0 auto 1rem;display:inline-flex}.booking-summary{border:1px solid var(--color-border);background:var(--color-page);text-align:left;border-radius:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.5rem auto;display:grid;overflow:hidden}.booking-summary div{min-width:0;padding:1rem}.booking-summary div:not(:last-child){border-right:1px solid var(--color-border)}.booking-summary dt{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:700}.booking-summary dd{color:var(--color-primary-dark);margin-top:.25rem;font-size:.8rem;font-weight:700;line-height:1.4}.booking-submit--ready{width:fit-content;margin:0 auto}.booking-message-preview{border:1px solid var(--color-border);background:var(--color-white);text-align:left;border-radius:18px;max-width:620px;margin:1rem auto 1.25rem;overflow:hidden}.booking-message-preview summary{min-height:48px;color:var(--color-primary-dark);cursor:pointer;align-items:center;padding:.75rem 1rem;font-size:.8rem;font-weight:700;display:flex}.booking-message-preview textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-mint);width:calc(100% - 1rem);color:var(--color-text);font:inherit;border-radius:13px;outline:0;margin:0 .5rem .5rem;padding:.85rem;font-size:1rem;line-height:1.55}.booking-message-preview textarea:focus-visible{border-color:var(--color-sky-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-sky) 34%, transparent)}.booking-destination-note{max-width:500px;color:var(--color-text-muted);margin:.85rem auto 0;font-size:.72rem;line-height:1.5}.booking-copy-status{min-height:1.4em;color:var(--color-primary);margin-top:.55rem;font-size:.75rem;font-weight:700}@keyframes booking-button-glimmer{0%,58%{left:-42%}78%,to{left:118%}}@media (max-width:899px){.booking-journey{grid-template-columns:minmax(0,1fr);max-width:720px}.booking-story{border-radius:30px;grid-template-columns:minmax(0,1fr) minmax(220px,.62fr);align-items:center;display:grid;position:relative;top:auto}.booking-story-art{aspect-ratio:16/9;border-radius:23px 23px 54px}.booking-story-caption,.booking-story-trust{margin-inline:.85rem}.booking-story-trust{grid-column:2}}@media (max-width:679px){.booking-page{padding-top:2rem}.booking-page-heading{text-align:left;margin-bottom:1.5rem}.booking-page-heading h1{font-size:clamp(2.25rem,12vw,3.2rem)}.booking-page-heading>p{margin-left:0}.booking-story{border-radius:24px 24px 52px;padding:.5rem;display:block}.booking-story-art{aspect-ratio:16/10;border-radius:19px 19px 48px}.booking-story-caption{margin:.65rem .35rem 0}.booking-story-trust{margin:.75rem .5rem .5rem}.booking-form-card{border-radius:25px;padding:.85rem}.booking-progress{margin-bottom:1.35rem;padding:.15rem .15rem 1rem}.booking-step-list li small{display:none}.booking-step-list li>span{width:25px;height:25px}.booking-step-list li:before{top:12px}.booking-step-panel{padding-inline:.15rem}.booking-step-panel h2{font-size:clamp(1.65rem,8.5vw,2.15rem)}.booking-field-grid,.booking-field-row,.booking-service-grid{grid-template-columns:minmax(0,1fr)}.booking-field-grid .booking-field:last-child{grid-column:auto}.booking-service-option{min-height:0;padding:.8rem 2.7rem .8rem .8rem}.booking-followup{border-radius:18px}.booking-concern-groups summary{grid-template-columns:39px minmax(0,1fr) 28px;gap:.6rem;min-height:62px}.booking-concern-icon{width:39px;height:39px}.booking-actions{margin-top:1.5rem;padding:.4rem;bottom:.45rem}.booking-next,.booking-submit{flex:1;min-width:0}.booking-submit{font-size:.78rem}.booking-summary{grid-template-columns:minmax(0,1fr)}.booking-summary div:not(:last-child){border-right:0;border-bottom:1px solid var(--color-border)}}@media (max-width:389px){.booking-page .container{padding-inline:.75rem}.booking-page-heading .label{font-size:.72rem}.booking-form-card{padding:.68rem}.booking-choice{width:100%}.booking-back{padding-inline:.75rem}.booking-submit>svg:last-child{display:none}}@media (prefers-reduced-motion:reduce){.booking-progress-track>span{transition:none}.booking-next:before,.booking-submit:before{animation:none}}
