.online-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center;padding-top:50px;padding-bottom:55px}
.online-hero .eyebrow{margin-top:28px}.online-hero h1{font-size:62px;line-height:1.08;letter-spacing:-.045em;margin:20px 0}.online-hero h1 em{font-style:normal;color:#9866bc}.online-hero>div>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.8;max-width:485px}.online-badges{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.online-badges span{font-size:11px;border:1px solid #e2d6e8;background:#f3edf7;padding:9px 12px;border-radius:20px}.online-visual{position:relative;isolation:isolate;height:400px;display:flex;justify-content:center;align-items:end}.online-visual:before{content:"";position:absolute;inset:45px 0 15px;background:#e9dfef;border-radius:50%;z-index:-1}.online-visual img{height:390px;width:290px;object-fit:contain}.online-visual>span{position:absolute;left:10px;bottom:40px;padding:15px 20px;background:#fff;border:1px solid #e6dcec;box-shadow:0 12px 30px #4a155b0a;border-radius:12px;transform:rotate(-4deg);font-size:12px}
.online-booking-section{padding-top:30px;padding-bottom:65px;scroll-margin-top:100px}.online-section-heading{margin-bottom:30px}.online-section-heading h2{font-size:39px;letter-spacing:-.035em;margin:12px 0}.online-section-heading>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.7}.online-card{background:white;border:1px solid #e7dfeb;border-radius:24px;padding:30px 36px;box-shadow:0 18px 60px #4a155b05}.online-card .form-tabs{margin-bottom:28px}.online-card .form-demo{margin:0 0 22px}.online-form label{display:block;font-size:12px;font-weight:550;line-height:1.6;margin-bottom:17px}.online-form label>span[aria-hidden]{color:#9866bc}.online-form label>small{font-size:10px;color:#8e8197;font-weight:400;margin-left:4px}.online-form input:not([type=checkbox]),.online-form select,.online-form textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #ded4e4;border-radius:10px;padding:13px 14px;background:#fff;font:inherit;font-size:13px;color:#3c2346;margin-top:7px}.online-form input:focus,.online-form select:focus,.online-form textarea:focus{outline:2px solid #b796c7;outline-offset:2px}.online-topic{max-width:500px}.online-booking-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:45px;margin-top:30px}.online-form h3{font-size:18px;margin:0 0 20px;letter-spacing:-.02em}.online-form h3>span{display:inline-grid;place-items:center;width:30px;height:30px;background:#f0e7f5;color:#896398;border-radius:9px;font-size:11px;margin-right:8px}.online-timezone{font-size:10px;color:#8e7e98;margin-bottom:22px}.online-month-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:14px}.online-month-nav button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #e2d7e8;border-radius:9px;background:white;color:#4a155b;font:inherit;cursor:pointer}.online-month-nav button:disabled{opacity:.3;cursor:default}.online-weekdays,.online-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.online-weekdays{font-size:10px;color:#95839e;text-align:center;margin-bottom:10px}.online-calendar button{border:0;background:transparent;color:#b3a8b8;min-height:42px;aspect-ratio:1;font:inherit;font-size:12px;border-radius:10px}.online-calendar button:not(:disabled){background:#f1e8f6;color:#4a155b;cursor:pointer;font-weight:550}.online-calendar button.is-selected{background:#4a155b;color:white}.online-calendar button:not(:disabled):hover{box-shadow:inset 0 0 0 2px #9e73b2}.online-calendar-status{font-size:12px;color:var(--muted);line-height:1.7;margin:20px 0 12px}.online-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:230px;overflow-y:auto;padding:2px}.online-times button{border:1px solid #e1d6e8;border-radius:9px;padding:10px 5px;background:white;color:#4a155b;font:inherit;font-size:12px;cursor:pointer}.online-times button.is-selected{background:#4a155b;border-color:#4a155b;color:white}.online-selection{font-size:12px;line-height:1.7;background:#f4eef7;border-radius:12px;padding:15px;margin-top:20px;color:#6e4e7c}.online-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.online-form .consent{display:flex;gap:10px;align-items:start;font-weight:400;font-size:11px;line-height:1.7}.online-form .consent input{margin-top:4px;accent-color:#4a155b;flex:0 0 auto}.online-form .consent a{text-decoration:underline;text-underline-offset:3px}.online-privacy-note{font-size:10px;color:#8e7d96;line-height:1.7;margin:16px 0}.online-submit{width:100%;justify-content:space-between;font-size:13px}.online-free-note{font-size:10px;text-align:center;color:#94839d;margin-top:12px}.online-contact-form{max-width:760px;margin:0 auto}.online-contact-form>p{font-size:13px;color:var(--muted);margin-bottom:25px}.online-result{margin-top:25px;padding:24px;border:1px solid #d7c2e2;background:#f4edf8;border-radius:16px}.online-result h3{font-size:23px;margin:10px 0}.online-result p{font-size:13px;line-height:1.8}.online-result #bookingResultLinks{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:20px}.online-result #bookingResultLinks[hidden]{display:none}.online-result .button{font-size:12px}.online-ics-button{border:0;background:transparent;padding:0;font:inherit;font-size:11px;color:#775b84;text-decoration:underline;cursor:pointer}.online-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-bottom:85px}.online-how article>span{font-size:11px;color:#9f7cb1}.online-how h2{font-size:19px;margin:15px 0 12px;letter-spacing:-.025em}.online-how p{font-size:13px;line-height:1.8;color:var(--muted)}.online-form button:disabled{opacity:.55;cursor:wait}.online-calendar button:focus-visible,.online-times button:focus-visible,.online-month-nav button:focus-visible{outline:2px solid #9866bc;outline-offset:2px}
@media(max-width:1000px){.online-hero{gap:30px}.online-hero h1{font-size:50px}.online-booking-grid{gap:25px}.online-card{padding:25px}.online-fields{grid-template-columns:1fr}.online-times{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.online-hero{grid-template-columns:1fr;padding-top:30px;gap:20px}.online-hero h1{font-size:47px}.online-hero>div>p:not(.eyebrow){font-size:14px}.online-visual{height:310px;max-width:350px;width:100%;justify-self:center}.online-visual img{height:305px;width:230px}.online-visual:before{inset:30px 0 0}.online-visual>span{bottom:25px;font-size:11px}.online-section-heading h2{font-size:31px}.online-card{padding:22px 18px;border-radius:18px}.online-booking-grid{grid-template-columns:1fr;gap:32px}.online-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.online-calendar-column{border-bottom:1px solid #e9e1ee;padding-bottom:20px}.online-times{grid-template-columns:repeat(4,minmax(0,1fr))}.online-calendar button{min-height:34px;max-height:50px;aspect-ratio:auto}.online-how{grid-template-columns:1fr;gap:25px;padding-bottom:50px}.online-how h2{margin-top:8px}.online-result{padding:20px}.online-result #bookingResultLinks{align-items:start;flex-direction:column}}
@media(max-width:400px){.online-fields{grid-template-columns:1fr}.online-hero h1{font-size:42px}.online-card .form-tabs button{font-size:11px}.online-times{grid-template-columns:repeat(3,minmax(0,1fr))}}

.online-topics{margin:0 0 30px;padding:25px;border:2px solid #d7bee5;border-radius:19px;background:#f8f3fb;min-width:0}
.online-topics legend{padding:0 10px;color:#4a155b;font-size:23px;font-weight:650;letter-spacing:-.02em}
.online-topics legend>span{color:#9866bc}
.online-topics>p{font-size:12px;color:#846891;line-height:1.7;margin:0 0 18px}
.online-topic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.online-form .online-topic-card{position:relative;display:flex;align-items:center;gap:12px;min-height:92px;margin:0;padding:15px 28px 15px 12px;background:white;border:1px solid #e3d7eb;border-radius:13px;cursor:pointer;font-weight:400;transition:border-color .15s,background .15s}
.online-form .online-topic-card.is-selected{border-color:#84529b;background:#eee2f5;box-shadow:0 0 0 1px #84529b}
.online-topic-card:focus-within{outline:2px solid #a37cba;outline-offset:3px}
.online-topic-card input[type=checkbox]{position:absolute;right:10px;top:10px;accent-color:#4a155b;width:15px;height:15px;margin:0}
.online-topic-card img{width:54px;height:54px;object-fit:contain;flex:0 0 54px;mix-blend-mode:multiply}
.online-topic-card strong{display:block;font-size:12px;font-weight:600;line-height:1.4;color:#4a155b}
.online-topic-card small{display:block;font-size:10px;line-height:1.5;color:#957f9f;margin-top:5px}
.topic-star{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:13px;background:#eee3f4;color:#9866bc;font-size:32px}
.online-topics .selected-topic-count{font-size:11px;color:#745081;margin:18px 0 0}
@media(max-width:1000px){.online-topic-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.online-topics legend{font-size:21px}}
@media(max-width:520px){.online-topics{padding:17px 12px}.online-topics legend{font-size:20px;padding:0 5px}.online-topic-cards{grid-template-columns:1fr}.online-form .online-topic-card{min-height:79px;padding-block:12px}.online-topic-card strong{font-size:13px}.online-hero h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.online-form .online-topic-card{transition:none}}
