@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@500;600;700&display=swap";:root{--ink:#21152e;--muted:#746b7d;--paper:#f8f5fa;--cream:#eee8f2;--white:#fff;--mint:#d8b4fe;--green:#2d1743;--line:#e2dae7;--orange:#e8875b;--shadow:0 30px 80px #25123824}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}button,input,textarea{font:inherit}button{color:inherit}.hero{text-align:center;flex-direction:column;align-items:center;min-height:630px;padding:48px 28px 140px;display:flex;position:relative;overflow:hidden}.hero-portrait{z-index:2;background:#ffffffd6;border-radius:50%;width:102px;height:102px;margin-bottom:25px;padding:4px;position:relative;box-shadow:0 14px 35px #3119462e}.hero-portrait img{object-fit:cover;object-position:center 23%;border-radius:50%;width:100%;height:100%;display:block}.hero-name{z-index:2;margin:-8px 0 18px;font:600 15px/1.2 Manrope,sans-serif;position:relative}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-size:11px;font-weight:600}.hero h1{letter-spacing:-.065em;z-index:2;max-width:920px;margin:18px 0 20px;font-family:Manrope,sans-serif;font-size:clamp(52px,8vw,96px);line-height:.98;position:relative}.hero p{max-width:540px;color:var(--muted);z-index:2;margin:0;font-size:18px;line-height:1.65;position:relative}.hero-link{color:var(--ink);text-underline-offset:5px;z-index:2;align-items:center;gap:10px;margin-top:30px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.hero-orbit{pointer-events:none;border:1px solid #e3d9e9;border-radius:50%;position:absolute}.orbit-one{width:680px;height:680px;top:50px;left:-380px}.orbit-two{width:500px;height:500px;top:20px;right:-260px}.booking-shell{background:var(--green);color:#fff;padding:72px max(28px,50vw - 592px) 90px}.booking-intro{justify-content:space-between;align-items:end;gap:32px;margin-bottom:34px;display:flex}.booking-intro .section-kicker{color:var(--mint)}.booking-intro h2,.rates-copy h2{letter-spacing:-.04em;margin:12px 0 0;font-family:Manrope,sans-serif;font-size:clamp(34px,4.2vw,54px);line-height:1.08}.privacy-note{color:#d8cadf;align-items:center;gap:12px;font-size:12px;line-height:1.5;display:flex}.privacy-note svg{width:28px;height:28px;fill:var(--mint)}.duration-picker{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.duration{color:#fff;text-align:left;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:14px;align-items:center;gap:15px;padding:20px 22px;transition:all .2s;display:flex}.duration:hover{background:#ffffff1a;transform:translateY(-1px)}.duration.active{color:var(--ink);background:var(--mint);border-color:var(--mint)}.duration-time{letter-spacing:-.05em;font:700 34px/1 Manrope,sans-serif}.duration-meta{flex-direction:column;gap:3px;display:flex}.duration-meta strong{font-size:14px}.duration-meta small{opacity:.67;font-size:12px}.duration-check{opacity:0;border:1px solid;border-radius:50%;place-items:center;width:24px;height:24px;margin-left:auto;font-size:12px;display:grid}.duration.active .duration-check{opacity:1}.calendar-card{color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:20px;grid-template-columns:1.18fr .82fr;min-height:570px;display:grid;overflow:hidden}.month-panel,.slots-panel{padding:34px 38px}.slots-panel{border-left:1px solid var(--line);background:#f2f4ee;flex-direction:column;display:flex}.month-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.month-header h3,.slots-heading h3{letter-spacing:-.03em;margin:0;font:600 22px/1.2 Manrope,sans-serif}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;width:38px;height:38px;font-size:18px;transition:all .2s}.icon-button:hover{background:var(--ink);color:#fff}.weekdays,.month-grid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.weekdays{color:#8b9691;text-transform:uppercase;letter-spacing:.09em;text-align:center;margin-bottom:10px;font-size:10px}.day{aspect-ratio:1;cursor:default;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:51px;display:flex;position:relative}.day.available-day,.day.limited-day{cursor:pointer}.day.available-day:hover,.day.limited-day:hover{background:#f1e8f8}.day.selected{background:var(--ink);color:#fff;box-shadow:0 9px 20px #24143038}.day.selected:hover{background:var(--ink);color:#fff}.day.other-month{opacity:.25}.day.past{opacity:.35}.availability-dots{gap:3px;height:4px;display:flex}.availability-dots i{background:#80b52f;border-radius:50%;width:4px;height:4px}.day.limited-day .availability-dots i{background:var(--orange)}.day.unavailable-day .availability-dots i{background:#b9c0bc}.calendar-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:27px;padding-top:22px;font-size:11px;display:flex}.calendar-legend span{align-items:center;gap:7px;display:flex}.dot{background:#80b52f;border-radius:50%;width:7px;height:7px}.dot.limited{background:var(--orange)}.dot.unavailable{background:#b9c0bc}.slots-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:24px;display:flex}.micro-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;font-size:10px;display:block}.timezone{color:var(--muted);background:#e9e1ee;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:600}.slots-grid{grid-template-columns:1fr 1fr;gap:9px;padding:24px 0;display:grid}.time-slot{cursor:pointer;background:#fff;border:1px solid #d7ddd3;border-radius:9px;padding:13px;font-size:13px;font-weight:600;transition:all .18s}.time-slot:hover{background:var(--mint);border-color:var(--mint);transform:translateY(-1px)}.slots-empty{color:var(--muted);text-align:center;margin:auto;font-size:13px}.rates-section{grid-template-columns:.8fr 1.2fr;align-items:start;gap:100px;max-width:1184px;margin:0 auto;padding:120px 28px;display:grid}.rates-copy p:not(.section-kicker){max-width:410px;color:var(--muted);font-size:16px;line-height:1.7}.rate-list{border-top:1px solid #d8cfdd}.rate-row{border-bottom:1px solid #d8cfdd;align-items:center;gap:28px;padding:28px 6px;display:flex}.rate-index{color:#8e9893;font-size:11px}.rate-row div{flex:1;justify-content:space-between;align-items:baseline;gap:20px;display:flex}.rate-row strong{letter-spacing:-.055em;font:700 clamp(42px,5vw,66px)/1 Manrope,sans-serif}.rate-row span:last-child{color:var(--muted);font-size:13px}.rate-disclaimer{color:var(--muted);background:#eee7f2;border-radius:12px;margin-top:22px;padding:16px 18px;font-size:12px;line-height:1.6}.expect-section{background:#ede6f1;padding:95px max(28px,50vw - 592px)}.expect-grid{grid-template-columns:repeat(3,1fr);gap:55px;margin-top:45px;display:grid}.expect-grid article>span{color:#8d9892;font-size:11px}.expect-grid h3{margin:28px 0 12px;font:600 21px/1.2 Manrope,sans-serif}.expect-grid p{color:var(--muted);margin:0;font-size:14px;line-height:1.65}footer{background:var(--ink);color:#cfc1d8;justify-content:space-between;gap:20px;padding:28px max(28px,50vw - 592px);font-size:11px;display:flex}dialog{width:min(520px,100vw - 32px);color:var(--ink);border:0;border-radius:20px;padding:0;box-shadow:0 30px 90px #00000040}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#15091fb3}dialog form{padding:36px;position:relative}.dialog-close{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:28px;position:absolute;top:17px;right:20px}dialog h2{letter-spacing:-.04em;margin:10px 0 18px;font:700 38px/1.1 Manrope,sans-serif}.booking-summary{background:#f0eaf3;border-radius:10px;margin-bottom:22px;padding:14px 16px;font-size:13px}label{margin-top:14px;font-size:12px;font-weight:600;display:block}input,textarea{resize:vertical;background:#fbfcf9;border:1px solid #d7ddd3;border-radius:8px;outline:none;width:100%;margin-top:7px;padding:12px 13px}input:focus,textarea:focus{border-color:#8b5bb5;box-shadow:0 0 0 3px #8b5bb524}.confirm-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-content:space-between;width:100%;margin-top:22px;padding:14px 17px;font-weight:600;display:flex}.confirm-button:hover{background:#1d493c}.form-note{color:var(--muted);text-align:center;margin:11px 0 0;font-size:10px}.privacy-prompt{color:var(--muted);text-align:center;margin:11px 8px 0;font-size:10px;line-height:1.5}.privacy-prompt a,.privacy-link{color:inherit;text-underline-offset:3px}.turnstile-check{min-height:28px;color:var(--muted);text-align:center;place-items:center;margin-top:16px;font-size:11px;display:grid}.turnstile-check>div{width:100%}.privacy-link{width:max-content;color:var(--muted);margin:-76px auto 34px;font-size:11px;display:block}.privacy-link.rates-hidden{margin-top:28px}.toast{z-index:20;background:var(--ink);color:#fff;max-width:390px;box-shadow:var(--shadow);border-radius:13px;align-items:flex-start;gap:13px;padding:16px 18px;transition:transform .3s;display:flex;position:fixed;bottom:22px;right:22px;transform:translateY(140%)}.toast.show{transform:translateY(0)}.toast-icon{color:var(--mint);font-size:20px}.toast div{flex-direction:column;gap:4px;display:flex}.toast strong{font-size:13px}.toast div span{color:#d3c4dc;font-size:11px;line-height:1.4}@media (max-width:850px){.hero{min-height:540px;padding-top:48px}.booking-intro,.rates-section{grid-template-columns:1fr;gap:28px;display:grid}.privacy-note{display:none}.calendar-card{grid-template-columns:1fr}.slots-panel{border-left:0;border-top:1px solid var(--line);min-height:380px}.rates-section{padding-top:85px;padding-bottom:85px}.expect-grid{grid-template-columns:1fr;gap:38px}}@media (max-width:560px){.hero{min-height:0;padding:36px 20px 56px}.hero p{font-size:16px}.hero-portrait{width:84px;height:84px;margin-bottom:16px}.hero-name{margin:-4px 0 14px}.hero h1{margin-top:15px;margin-bottom:16px}.hero-link{margin-top:22px}.booking-shell{padding:48px 16px 70px}.booking-intro{margin-bottom:26px}.duration-picker{grid-template-columns:1fr}.month-panel,.slots-panel{padding:27px 18px}.day{border-radius:9px;min-height:40px;font-size:12px}.calendar-legend{justify-content:center;gap:10px}.rates-section{padding-left:20px;padding-right:20px}.rate-row div{flex-direction:column;align-items:flex-start;gap:5px}footer{flex-direction:column}dialog form{padding:30px 22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#15091fb3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.booking-modal{background:#fff;border-radius:20px;width:min(520px,100%);max-height:calc(100vh - 32px);padding:36px;position:relative;overflow:auto;box-shadow:0 30px 90px #00000040}.booking-modal h2,.success-panel h2{letter-spacing:-.04em;margin:10px 0 18px;font:700 38px/1.1 Manrope,sans-serif}.booking-modal form{padding:0}.form-error{color:#a13956;background:#fbeaf0;border-radius:8px;padding:10px 12px;font-size:12px}.success-panel{text-align:center;padding:14px 0 8px}.success-panel>p:not(.section-kicker):not(.form-note){color:var(--muted)}.success-mark{background:var(--mint);border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 20px;font-size:24px;display:grid}.manage-link{background:var(--ink);color:#fff;border-radius:9px;margin-top:24px;padding:14px 17px;font-weight:600;text-decoration:none;display:block}.manage-page{background:linear-gradient(145deg,#f8f5fa,#eee5f4);min-height:100vh;padding:32px 20px 70px}.manage-home{max-width:680px;color:var(--ink);margin:0 auto 24px;font-size:13px;font-weight:600;text-decoration:none;display:block}.manage-card{max-width:680px;box-shadow:var(--shadow);background:#fff;border-radius:24px;margin:0 auto;padding:48px}.hero-portrait.small{width:74px;height:74px;margin-bottom:25px}.manage-card h1{letter-spacing:-.05em;margin:12px 0 28px;font:700 clamp(34px,6vw,54px)/1.05 Manrope,sans-serif}.manage-summary{background:#f3eef6;border-radius:14px;grid-template-columns:130px 1fr;gap:12px 20px;padding:22px;font-size:13px;display:grid}.manage-summary span{color:var(--muted)}.manage-summary a{color:#6d3fa0;font-weight:600}.reschedule-launch{margin-top:26px}.cancel-button{color:#9c3853;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;width:100%;margin-top:12px;padding:13px;text-decoration:underline}.reschedule-modal{width:min(960px,100%);padding:34px}.reschedule-modal>h2{margin-bottom:24px}.reschedule-calendar{border:1px solid var(--line);border-radius:16px;grid-template-columns:1.15fr .85fr;min-height:510px;display:grid;overflow:hidden}.reschedule-calendar .month-panel,.reschedule-calendar .slots-panel{padding:28px}.selected-time{background:var(--ink);border-color:var(--ink);color:#fff}.selected-time:hover{background:var(--ink);border-color:var(--ink)}.privacy-page{background:linear-gradient(145deg,#f8f5fa,#eee5f4);min-height:100vh;padding:40px 20px 80px}.privacy-card{max-width:760px;box-shadow:var(--shadow);background:#fff;border-radius:24px;margin:0 auto;padding:56px 64px}.privacy-card .manage-home{margin:0 0 48px}.privacy-card h1{letter-spacing:-.055em;margin:12px 0 24px;font:700 clamp(40px,7vw,66px)/1.02 Manrope,sans-serif}.privacy-lead{color:var(--ink)!important;font-size:18px!important;line-height:1.65!important}.privacy-card h2{letter-spacing:-.02em;margin:36px 0 8px;font:600 20px/1.3 Manrope,sans-serif}.privacy-card p{color:var(--muted);font-size:14px;line-height:1.75}.privacy-card a{color:#6d3fa0;text-underline-offset:3px}.privacy-updated{border-top:1px solid var(--line);margin-top:48px;padding-top:22px;font-size:11px!important}@media (max-width:760px){.reschedule-calendar{grid-template-columns:1fr}.reschedule-calendar .slots-panel{border-left:0;border-top:1px solid var(--line);min-height:300px}}@media (max-width:560px){.booking-modal,.manage-card{padding:28px 20px}.reschedule-modal{padding:28px 14px}.reschedule-calendar .month-panel,.reschedule-calendar .slots-panel{padding:22px 14px}.manage-summary{grid-template-columns:1fr;gap:5px}.manage-summary strong,.manage-summary a{margin-bottom:10px}.privacy-card{padding:36px 22px}.privacy-card .manage-home{margin-bottom:36px}.privacy-link{margin-top:-56px}}
