.appointment-page{background:var(--canvas)}.appointment-hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 86% 22%,#c9b6e46b,#0000 29%),linear-gradient(135deg,#fbf9f6 0 58%,#f3eef9 100%);padding:clamp(82px,10vw,140px) 0 clamp(72px,9vw,118px);position:relative;overflow:hidden}.appointment-hero:after{content:"";border:1px solid #6e549e33;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-280px;right:-170px;box-shadow:0 0 0 62px #6e549e0e,0 0 0 124px #6e549e08}.appointment-hero .wrap{z-index:1;position:relative}.appointment-hero .lede{max-width:760px;color:var(--ink-soft)}.appointment-services-section{padding:clamp(66px,9vw,110px) 0}.appointment-section-heading{grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end;gap:45px;margin-bottom:44px;display:grid}.appointment-section-heading h2{margin:0}.appointment-section-heading>p{border-left:2px solid var(--purple);color:var(--ink-soft);margin:0 0 8px;padding-left:22px;font-size:.88rem}.appointment-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.appointment-service-card{border:1px solid var(--line);border-top:4px solid var(--purple);min-height:320px;color:var(--ink);transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s;background:#fff;border-radius:18px;flex-direction:column;padding:30px;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 36px #3727500e}.appointment-service-card.gold{border-top-color:var(--gold-deep);background:linear-gradient(145deg,#fff,#fbf6eb)}.appointment-service-number{color:#6e549e40;font:500 1.7rem/1 var(--font-display);position:absolute;top:24px;right:27px}.appointment-service-duration{background:var(--lavender-wash);width:max-content;color:var(--purple);font:700 .56rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.09em;border-radius:999px;padding:7px 10px}.gold .appointment-service-duration{background:var(--champagne);color:var(--gold-deep)}.appointment-service-card p{max-width:500px;color:var(--ink-soft);font-size:.8rem;line-height:1.65}.appointment-service-action{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:auto;padding-top:20px;font-size:.72rem;font-weight:700;display:flex}.appointment-service-action b{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1rem;display:grid}.gold .appointment-service-action b{background:var(--gold-deep)}.appointment-request-note{color:var(--ink-soft);text-align:center;font-size:.68rem;max-width:none!important;margin:30px 0 0!important}.appointment-calendar-page{background:linear-gradient(145deg,var(--canvas),var(--lavender-wash));padding:clamp(54px,7vw,88px) 0 clamp(76px,9vw,120px)}.appointment-booking-shell{border:1px solid var(--line);background:#fff;border-radius:22px;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);min-height:720px;display:grid;overflow:hidden;box-shadow:0 25px 70px #3727501f}.appointment-summary{color:#fff;background:#211a2d;padding:clamp(32px,4.5vw,58px)}.appointment-summary .eyebrow{color:#ffffff9e;margin-top:65px}.appointment-summary .eyebrow span{background:var(--gold)}.appointment-summary h1{font-size:clamp(2.25rem,4vw,3.6rem)}.appointment-summary>p:not(.eyebrow,.appointment-timezone){color:#ffffffb8;font-size:.86rem}.appointment-back{font:600 .62rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--champagne);text-decoration:none}.appointment-summary dl{border-top:1px solid #ffffff2e;margin:42px 0 0}.appointment-summary dl div{border-bottom:1px solid #ffffff29;grid-template-columns:86px 1fr;gap:16px;padding:15px 0;display:grid}.appointment-summary dt{color:#ffffff7a;font:600 .55rem/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.appointment-summary dd{margin:0;font-size:.74rem;line-height:1.5}.appointment-timezone{color:#ffffff80;margin-top:24px;font-size:.62rem;line-height:1.55}.appointment-progress{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 58px;padding:0;list-style:none;display:grid}.appointment-progress li{border-bottom:2px solid var(--line);color:var(--ink-soft);font:600 .58rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;padding-bottom:12px;display:flex}.appointment-progress li span{border:1px solid var(--line);border-radius:50%;place-items:center;width:23px;height:23px;font-size:.52rem;display:grid}.appointment-progress li.active,.appointment-progress li.done{border-color:var(--purple);color:var(--purple)}.appointment-progress li.active span{background:var(--purple);border-color:var(--purple);color:#fff}.appointment-progress li.done span{border-color:var(--purple)}.appointment-step-label{color:var(--purple);font:700 .58rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px}.appointment-step h2{margin-bottom:12px;font-size:clamp(2rem,4vw,3rem)}.appointment-step>p:not(.appointment-step-label,.form-status){color:var(--ink-soft);font-size:.8rem}.appointment-calendar{max-width:760px;margin-top:30px}.appointment-calendar-header{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr 42px;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:18px;display:grid}.appointment-calendar-header strong{text-align:center;font:500 1.4rem/1.2 var(--font-display)}.appointment-calendar-header button{border:1px solid var(--line);width:42px;height:42px;color:var(--purple);cursor:pointer;background:#fff;border-radius:50%;place-items:center;display:grid}.appointment-calendar-header button:hover:not(:disabled){border-color:var(--purple);background:var(--lavender-wash)}.appointment-calendar-header button:disabled{cursor:not-allowed;opacity:.3}.appointment-date-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.appointment-date-grid button{background:var(--lavender-wash);min-width:0;min-height:112px;color:var(--purple);cursor:pointer;border:1px solid #0000;border-radius:12px;place-items:center;padding:14px 8px;transition:border-color .18s,background .18s,transform .18s;display:grid}.appointment-date-grid button:hover{border-color:var(--purple);background:#e9def6;transform:translateY(-2px)}.appointment-date-grid button span,.appointment-date-grid button small{font:700 .52rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.appointment-date-grid button strong{font:500 1.42rem/1 var(--font-display)}.appointment-no-dates{border:1px dashed var(--line);background:var(--lavender-wash);text-align:center;border-radius:12px;padding:24px;max-width:none!important;margin:0!important}.appointment-inline-back{color:var(--purple);font:700 .6rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.07em;cursor:pointer;background:0 0;border:0;margin:0 0 32px;padding:0}.appointment-time-grid{grid-template-columns:repeat(2,1fr);gap:11px;margin:30px 0;display:grid}.appointment-time-grid button{cursor:pointer;background:#fff;border:1px solid #d8d1dc;border-radius:11px;min-height:56px;font-size:.76rem;font-weight:700}.appointment-time-grid button:hover,.appointment-time-grid button.selected{border-color:var(--purple);background:var(--lavender-wash);color:var(--purple)}.appointment-continue{margin-top:8px}.appointment-continue:disabled,.appointment-details-form .button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none}.appointment-details-form{grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;display:grid}.appointment-details-form label>span:first-child{justify-content:space-between;gap:12px;display:flex}.appointment-details-form small{color:var(--ink-soft);font-size:.48rem}.appointment-details-form input:not([type=checkbox]){width:100%;min-height:54px;font:500 .85rem/1.4 var(--font-body);background:#fff;border:1px solid #d7d0dc;margin-top:8px;padding:13px 14px}.appointment-details-form input:focus{border-color:var(--purple);outline:3px solid #6e549e1a}.appointment-consent{grid-column:1/-1;align-items:flex-start;gap:11px;padding-top:6px;font:400 .72rem/1.55 var(--font-body)!important;text-transform:none!important;letter-spacing:0!important;display:flex!important}.appointment-consent input{width:18px;height:18px;accent-color:var(--purple);flex:0 0 18px;margin-top:2px}.appointment-consent span{display:block!important}.appointment-privacy{border-top:1px solid var(--line);color:var(--ink-soft);grid-column:1/-1;padding-top:14px;line-height:1.6;margin:0!important;font-size:.64rem!important}.appointment-details-form .button{width:max-content}.appointment-complete{border:1px solid var(--line);border-top:4px solid var(--purple);background:#fff;border-radius:22px;min-height:600px;padding:clamp(42px,7vw,78px);box-shadow:0 25px 70px #3727501f}.appointment-complete-mark{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:66px;height:66px;margin-bottom:28px;display:grid}.appointment-complete h2{max-width:720px}.appointment-complete>p:not(.eyebrow){max-width:760px}.appointment-confirm-note{border-left:3px solid var(--gold-deep);background:var(--champagne);padding:20px;font-size:.8rem}.appointment-complete .actions{gap:12px;margin-top:34px;display:flex}@media (max-width:900px){.appointment-booking-shell{grid-template-columns:1fr}.appointment-summary .eyebrow{margin-top:44px}.appointment-summary dl{grid-template-columns:1fr 1fr;display:grid}.appointment-summary dl div{grid-template-columns:72px 1fr}}@media (max-width:700px){.appointment-section-heading{grid-template-columns:1fr;gap:18px}.appointment-section-heading>p{border-left:0;padding-left:0}.appointment-service-grid{grid-template-columns:1fr}.appointment-service-card{min-height:290px}.appointment-date-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-details-form{grid-template-columns:1fr}.appointment-details-form>label:first-of-type{grid-column:auto}.appointment-details-form .button{width:100%}.appointment-complete .actions{flex-direction:column}}@media (max-width:480px){.appointment-calendar-page>.wrap{width:100%}.appointment-booking-shell{border-inline:0;border-radius:0}.appointment-summary,.appointment-panel{padding:28px 20px}.appointment-summary dl{grid-template-columns:1fr}.appointment-progress{margin-bottom:42px}.appointment-progress li{font-size:.48rem}.appointment-calendar{margin-inline:-4px}.appointment-calendar-header{margin-bottom:14px}.appointment-calendar-header strong{font-size:1.18rem}.appointment-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.appointment-date-grid button{border-radius:9px;min-height:100px}.appointment-complete{border-inline:0;border-radius:0}.appointment-complete .actions{display:grid}}.appointment-time-groups{gap:18px;margin:26px 0 0;display:grid}.appointment-time-group{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 22px #3727500a}.appointment-time-group-heading{border-bottom:1px solid var(--line);background:linear-gradient(100deg,var(--lavender-wash),#fff);justify-content:space-between;align-items:center;gap:18px;padding:12px 15px;display:flex}.appointment-time-group-heading>div{align-items:center;gap:9px;display:flex}.appointment-time-group-heading>div>span{background:var(--purple);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #6e549e1c}.appointment-time-group-heading strong{font:600 .63rem/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.appointment-time-group-heading small{color:var(--ink-soft);font:600 .53rem/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.appointment-time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:10px;display:grid}.appointment-time-grid button{min-width:0;min-height:60px;color:var(--ink);text-align:left;cursor:pointer;transition:transform .18s var(--ease),border-color .18s,box-shadow .18s,background .18s;background:#fff;border:1px solid #ddd5e5;border-radius:10px;justify-content:space-between;align-items:center;gap:9px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.appointment-time-grid button:hover{border-color:var(--purple-light);background:#fdfbff;transform:translateY(-2px);box-shadow:0 7px 16px #37275014}.appointment-time-grid button.selected{border-color:var(--purple);background:linear-gradient(135deg,var(--purple),#8064ab);color:#fff;box-shadow:0 8px 20px #6e549e38}.appointment-time-copy{gap:4px;min-width:0;display:grid}.appointment-time-copy strong{font:700 .79rem/1.2 var(--font-body);white-space:normal}.appointment-time-copy small{color:var(--ink-soft);font:600 .45rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.09em}.appointment-time-grid button.selected .appointment-time-copy small{color:#ffffffb8}.appointment-time-check{border:1px solid var(--line);color:#0000;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:.58rem;transition:all .18s;display:grid}.appointment-time-grid button:hover .appointment-time-check{border-color:var(--purple-light)}.appointment-time-grid button.selected .appointment-time-check{color:var(--purple);background:#fff;border-color:#ffffff7a}.appointment-time-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;margin-top:20px;padding:17px 0 0;display:flex}.appointment-time-footer p{color:var(--ink-soft);gap:3px;display:grid;margin:0!important;font-size:.61rem!important}.appointment-time-footer p strong{color:var(--ink);font:600 .88rem/1.35 var(--font-body)}.appointment-time-footer .appointment-continue{min-width:142px;margin:0}.appointment-time-footer .appointment-continue span{margin-left:9px}@media (max-width:760px){.appointment-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.appointment-time-groups{gap:15px;margin-top:23px}.appointment-time-group{border-radius:12px}.appointment-time-group-heading{flex-direction:column;align-items:flex-start;gap:4px;padding:11px 12px}.appointment-time-grid{grid-template-columns:1fr 1fr;gap:6px;padding:8px}.appointment-time-grid button{min-height:58px;padding:9px}.appointment-time-copy strong{font-size:.72rem}.appointment-time-footer{flex-direction:column;align-items:stretch}.appointment-time-footer .appointment-continue{width:100%}}.appointment-details-recap{border:1px solid var(--line);border-left:3px solid var(--purple);background:linear-gradient(110deg,var(--lavender-wash),#fff);border-radius:12px;grid-template-columns:1.35fr .65fr;gap:0;margin:25px 0 18px;display:grid;overflow:hidden}.appointment-details-recap>div{gap:4px;padding:14px 17px;display:grid}.appointment-details-recap>div+div{border-left:1px solid var(--line)}.appointment-details-recap span{color:var(--purple);font:700 .5rem/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.appointment-details-recap strong{font:600 .75rem/1.4 var(--font-body)}.appointment-details-form{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:1fr 1fr;gap:17px;margin-top:0;padding:22px;display:grid;box-shadow:0 12px 34px #3727500d}.appointment-details-form>label{font:700 .57rem/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.appointment-details-form>label:first-of-type{grid-column:1/-1}.appointment-details-form label>span:first-child{justify-content:space-between;gap:12px;margin-bottom:7px;display:flex}.appointment-details-form small{background:var(--lavender-wash);color:var(--purple);border-radius:99px;padding:2px 7px;font-size:.44rem}.appointment-details-form input:not([type=checkbox]){width:100%;min-height:54px;font:500 .82rem/1.4 var(--font-body);background:#fdfcfe;border:1px solid #d9d2e0;border-radius:10px;margin:0;padding:12px 14px;transition:border-color .18s,box-shadow .18s,background .18s}.appointment-details-form input:not([type=checkbox])::placeholder{color:#9b969f;font-weight:400}.appointment-details-form input:not([type=checkbox]):hover{border-color:var(--purple-light);background:#fff}.appointment-details-form input:not([type=checkbox]):focus{border-color:var(--purple);background:#fff;outline:0;box-shadow:0 0 0 4px #6e549e1a}.appointment-consent{background:var(--lavender-wash);cursor:pointer;border:1px solid #e4dcec;border-radius:11px;grid-column:1/-1;align-items:flex-start;gap:12px;font:500 .7rem/1.55 var(--font-body)!important;text-transform:none!important;letter-spacing:0!important;padding:14px 15px!important;display:flex!important}.appointment-consent input{width:19px;height:19px;accent-color:var(--purple);flex:0 0 19px;margin:1px 0 0}.appointment-consent span{margin:0!important;display:block!important}.appointment-honeypot{position:absolute!important;left:-10000px!important}.appointment-details-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;gap:24px;padding-top:17px;display:flex}.appointment-details-actions .appointment-privacy{max-width:430px;color:var(--ink-soft);align-items:flex-start;gap:9px;line-height:1.55;display:flex;margin:0!important;font-size:.58rem!important}.appointment-details-actions .appointment-privacy>span{border:1px solid var(--purple-light);width:18px;height:18px;color:var(--purple);font:700 .52rem/1 var(--font-body);border-radius:50%;flex:0 0 18px;place-items:center;display:grid}.appointment-details-actions .button{white-space:nowrap;flex:none;width:max-content}.appointment-details-actions .button>span{margin-left:8px}.appointment-details-form .button:disabled{cursor:wait;opacity:.55}@media (max-width:700px){.appointment-details-recap{grid-template-columns:1fr}.appointment-details-recap>div+div{border-top:1px solid var(--line);border-left:0}.appointment-details-form{grid-template-columns:1fr;padding:18px}.appointment-details-form>label:first-of-type{grid-column:auto}.appointment-details-actions{flex-direction:column;align-items:stretch}.appointment-details-actions .button{width:100%}}@media (max-width:480px){.appointment-details-recap{margin-top:20px}.appointment-details-form{border-radius:13px;margin-inline:-6px;padding:15px}.appointment-consent{padding:12px!important}}.appointment-details-actions .appointment-privacy{border:0;padding:0}.appointment-summary{background:radial-gradient(circle at 10% 90%,#ffffff17,transparent 34%),linear-gradient(155deg,#513a7d 0%,var(--purple) 62%,#8064ab 100%)}.appointment-calendar{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#fdfbff);border-radius:18px;max-width:780px;padding:18px;box-shadow:0 12px 34px #3727500b}.appointment-calendar-header{grid-template-columns:40px 1fr 40px;margin-bottom:16px;padding:0 0 17px}.appointment-calendar-header>div{text-align:center;gap:4px;display:grid}.appointment-calendar-header>div>span{color:var(--purple);font:700 .48rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.12em}.appointment-calendar-header button{background:var(--lavender-wash);border-color:#ddd5e7;width:40px;height:40px;font-size:.88rem}.appointment-calendar-header button:hover:not(:disabled){background:var(--purple);color:#fff;transform:translateY(-1px);box-shadow:0 7px 16px #6e549e33}.appointment-date-grid button{min-height:104px;color:var(--ink);transition:transform .2s var(--ease),border-color .2s,box-shadow .2s,background .2s,color .2s;background:#fff;border:1px solid #e5deec;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:12px 8px;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 14px #37275009}.appointment-date-grid button:before{content:"";background:linear-gradient(90deg,var(--purple-light),var(--purple));opacity:.7;height:3px;position:absolute;inset:0 0 auto}.appointment-date-grid button:hover{border-color:var(--purple);background:linear-gradient(145deg,#755aab,var(--purple));color:#fff;transform:translateY(-3px);box-shadow:0 13px 24px #6e549e33}.appointment-date-grid button:focus-visible{outline-offset:2px;outline:3px solid #6e549e47}.appointment-date-grid button .appointment-date-weekday{color:var(--purple);font:700 .49rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.11em}.appointment-date-grid button>strong{font:500 1.52rem/1 var(--font-display)}.appointment-date-grid button .appointment-date-month{color:var(--ink-soft);font:700 .45rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.09em}.appointment-date-available{color:#77707d;font:600 .42rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:5px;margin-top:4px;display:flex}.appointment-date-available i{background:#66a06f;border-radius:50%;width:5px;height:5px}.appointment-date-grid button:hover :is(.appointment-date-weekday,.appointment-date-month,.appointment-date-available){color:#fff}.appointment-date-grid button:hover .appointment-date-available i,.appointment-no-dates{background:#fff}@media (max-width:700px){.appointment-calendar{padding:14px}.appointment-date-grid{gap:7px}.appointment-date-grid button{min-height:100px}}@media (max-width:480px){.appointment-calendar{border-radius:14px;margin-inline:-5px;padding:10px}.appointment-calendar-header{grid-template-columns:36px 1fr 36px}.appointment-calendar-header button{width:36px;height:36px}.appointment-calendar-header strong{font-size:1.25rem}.appointment-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.appointment-date-grid button{min-height:98px}}.appointment-date-grid button .appointment-date-available{color:#77707d;font:600 .42rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:5px;margin-top:4px;display:flex}.appointment-calendar-page{padding:38px 0 62px}.appointment-booking-shell{min-height:640px}.appointment-panel{padding:38px clamp(34px,4.2vw,52px)}.appointment-progress{margin-bottom:38px}.appointment-calendar{border-radius:15px;margin-top:23px;padding:13px}.appointment-calendar-header{margin-bottom:11px;padding-bottom:12px}.appointment-calendar-header>div{gap:2px}.appointment-calendar-header strong{font-size:1.32rem}.appointment-calendar-header button{width:36px;height:36px}.appointment-date-grid{gap:7px}.appointment-date-grid button{border-radius:10px;gap:2px;min-height:78px;padding:8px 6px}.appointment-date-grid button:before{height:2px}.appointment-date-grid button .appointment-date-weekday{font-size:.43rem}.appointment-date-grid button>strong{font-size:1.28rem}.appointment-date-grid button .appointment-date-month{font-size:.4rem}.appointment-date-grid button .appointment-date-available{gap:4px;margin-top:2px;font-size:.38rem}.appointment-date-available i{width:4px;height:4px}@media (max-width:900px){.appointment-calendar-page{padding-top:30px}.appointment-booking-shell{min-height:0}.appointment-panel{padding:30px}.appointment-progress{margin-bottom:32px}}@media (max-width:700px){.appointment-panel{padding:26px 20px}.appointment-calendar{padding:10px}.appointment-date-grid button{min-height:76px}}@media (max-width:480px){.appointment-calendar-page{padding-block:20px 46px}.appointment-calendar{padding:8px}.appointment-date-grid button{min-height:74px}}.appointment-service-current-client-red-light-therapy .appointment-time-groups{gap:12px;margin-top:20px}.appointment-service-current-client-red-light-therapy .appointment-time-group{border-radius:12px}.appointment-service-current-client-red-light-therapy .appointment-time-group-heading{padding:9px 12px}.appointment-service-current-client-red-light-therapy .appointment-time-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px}.appointment-service-current-client-red-light-therapy .appointment-time-grid button{border-radius:9px;min-height:52px;padding:8px 10px}.appointment-service-current-client-red-light-therapy .appointment-time-copy{gap:2px}.appointment-service-current-client-red-light-therapy .appointment-time-copy strong{font-size:.72rem}.appointment-service-current-client-red-light-therapy .appointment-time-check{flex-basis:18px;width:18px;height:18px}.appointment-service-current-client-red-light-therapy .appointment-time-footer{margin-top:14px;padding-top:14px}@media (max-width:1100px){.appointment-service-current-client-red-light-therapy .appointment-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:760px){.appointment-service-current-client-red-light-therapy .appointment-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-service-current-client-red-light-therapy .appointment-time-grid button{min-height:56px}}.appointment-service-weekly-glp-1-injection .appointment-time-groups{gap:12px;margin-top:20px}.appointment-service-weekly-glp-1-injection .appointment-time-group{border-radius:12px}.appointment-service-weekly-glp-1-injection .appointment-time-group-heading{padding:9px 12px}.appointment-service-weekly-glp-1-injection .appointment-time-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px}.appointment-service-weekly-glp-1-injection .appointment-time-grid button{border-radius:9px;min-height:52px;padding:8px 10px}.appointment-service-weekly-glp-1-injection .appointment-time-copy{gap:2px}.appointment-service-weekly-glp-1-injection .appointment-time-copy strong{font-size:.72rem}.appointment-service-weekly-glp-1-injection .appointment-time-check{flex-basis:18px;width:18px;height:18px}.appointment-service-weekly-glp-1-injection .appointment-time-footer{margin-top:14px;padding-top:14px}@media (max-width:1100px){.appointment-service-weekly-glp-1-injection .appointment-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:760px){.appointment-service-weekly-glp-1-injection .appointment-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-service-weekly-glp-1-injection .appointment-time-grid button{min-height:56px}}.appointment-service-new-glp-1-consultation .appointment-time-groups{gap:12px;margin-top:20px}.appointment-service-new-glp-1-consultation .appointment-time-group{border-radius:12px}.appointment-service-new-glp-1-consultation .appointment-time-group-heading{padding:9px 12px}.appointment-service-new-glp-1-consultation .appointment-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px}.appointment-service-new-glp-1-consultation .appointment-time-grid button{border-radius:9px;min-height:54px;padding:8px 10px}.appointment-service-new-glp-1-consultation .appointment-time-copy{gap:2px}.appointment-service-new-glp-1-consultation .appointment-time-copy strong{font-size:.7rem}.appointment-service-new-glp-1-consultation .appointment-time-check{flex-basis:18px;width:18px;height:18px}.appointment-service-new-glp-1-consultation .appointment-time-footer{margin-top:14px;padding-top:14px}@media (max-width:1100px){.appointment-service-new-glp-1-consultation .appointment-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.appointment-service-new-glp-1-consultation .appointment-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-service-new-glp-1-consultation .appointment-time-grid button{min-height:56px}}.appointment-service-card{isolation:isolate;background:radial-gradient(circle at 92% 10%,#6e549e17,#0000 27%),linear-gradient(145deg,#fff 0%,#fdfbff 100%);border:1px solid #e3dcea;border-top:0;border-radius:20px;min-height:315px;padding:27px 29px;box-shadow:0 16px 42px #37275012}.appointment-service-card.gold{background:radial-gradient(circle at 92% 10%,#c6a66421,#0000 27%),linear-gradient(145deg,#fff 0%,#fdfaf3 100%);border-color:#e9e0cc}.appointment-service-card:before{content:"";z-index:-1;background:linear-gradient(90deg,var(--purple),var(--purple-light));border-radius:20px 20px 0 0;height:5px;position:absolute;inset:0 0 auto}.appointment-service-card.gold:before{background:linear-gradient(90deg,var(--gold-deep),var(--gold))}.appointment-service-card:hover{border-color:var(--purple-light);transform:translateY(-6px);box-shadow:0 26px 58px #37275024}.appointment-service-card.gold:hover{border-color:#c6a664a6}.appointment-service-topline{align-items:center;gap:11px;display:flex}.appointment-service-icon{background:var(--lavender-wash);width:44px;height:44px;color:var(--purple);transition:transform .22s var(--ease),background .22s,color .22s;border:1px solid #6e549e2e;border-radius:13px;flex:0 0 44px;place-items:center;display:grid}.appointment-service-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.gold .appointment-service-icon{background:var(--champagne);color:var(--gold-deep);border-color:#c6a6644d}.appointment-service-card:hover .appointment-service-icon{background:var(--purple);color:#fff;transform:rotate(-4deg)scale(1.05)}.appointment-service-card.gold:hover .appointment-service-icon{background:var(--gold-deep)}.appointment-service-duration{padding:7px 11px}.appointment-service-number{color:#6e549e3b;margin-left:auto;font-size:1.45rem;position:static}.gold .appointment-service-number{color:#8a6e2f3d}.appointment-service-card h3{max-width:540px;margin:26px 0 11px;font-size:clamp(1.65rem,2.35vw,2.15rem)}.appointment-service-card p{font-size:.76rem;line-height:1.65}.appointment-service-action{padding-top:16px}.appointment-service-action>span{gap:2px;display:grid}.appointment-service-action small{color:var(--purple);font:700 .47rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.gold .appointment-service-action small{color:var(--gold-deep)}.appointment-service-action b{width:38px;height:38px;transition:transform .2s var(--ease)}.appointment-service-card:hover .appointment-service-action b{transform:translate(3px)}@media (max-width:700px){.appointment-service-card{min-height:285px;padding:24px}.appointment-service-card h3{margin-top:22px}}.appointment-service-card p{color:#403a46;max-width:560px;font-size:.88rem;font-weight:500;line-height:1.65}
