*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-height:100%}.portal-root{min-height:100dvh;width:100%;background:var(--portal-cream);color:var(--portal-text);font-family:var(--portal-sans);display:flex;flex-direction:column}.portal-root:has(.portal-shell--app){height:100dvh;max-height:100dvh;overflow:hidden}.portal-root:has(.portal-welcome){background:transparent}.portal-shell{width:100%;max-width:100%;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.portal-shell.portal-shell--app{flex:1;min-height:0;overflow:hidden}.portal-app-body{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.portal-main{flex:1;width:100%;min-width:0;min-height:0;--portal-main-inline-padding: 24px;--portal-main-block-padding-top: 16px;padding:16px 24px 24px;overflow:auto;-webkit-overflow-scrolling:touch}.portal-mobile-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:12px 20px calc(12px + env(safe-area-inset-top,0px));border-bottom:1px solid rgba(60,80,72,.08);background:#fbfcfaf5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:30}.portal-mobile-header__actions{display:flex;align-items:center;gap:8px}.portal-lang-switcher{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.portal-lang-switcher__label{font-family:var(--portal-sans);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--portal-text-muted)}.portal-lang-switcher__options{display:inline-flex;border:1px solid rgba(60,80,72,.14);border-radius:999px;overflow:hidden;background:var(--portal-cream-light)}.portal-lang-switcher__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--portal-text-muted);font-family:var(--portal-sans);font-size:12px;font-weight:500;padding:6px 10px;cursor:pointer}.portal-lang-switcher__btn.is-active{background:var(--portal-eucalyptus);color:var(--portal-cream)}.portal-lang-switcher--header .portal-lang-switcher__label{display:none}.portal-sidebar-lang{margin-top:auto;padding:16px 12px 20px}.portal-mobile-nav__lang{padding:16px 20px 28px;border-top:1px solid rgba(60,80,72,.08)}.portal-auth-lang{position:absolute;top:16px;right:16px;z-index:2}.portal-auth-lang--welcome{position:fixed}.portal-profile-action-row--static{cursor:default;display:block}.portal-mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(60,80,72,.12);border-radius:14px;background:var(--portal-cream-light);color:var(--portal-eucalyptus);cursor:pointer;flex-shrink:0}.portal-mobile-menu-btn:hover{background:var(--portal-cream-light)}.portal-mobile-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none}.portal-mobile-nav--open{pointer-events:auto}.portal-mobile-nav__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#24302957;opacity:0;transition:opacity .22s ease;cursor:pointer}.portal-mobile-nav--open .portal-mobile-nav__backdrop{opacity:1}.portal-mobile-nav__panel{position:absolute;top:0;left:0;bottom:0;width:min(300px,86vw);display:flex;flex-direction:column;padding:calc(20px + env(safe-area-inset-top,0px)) 18px calc(24px + env(safe-area-inset-bottom,0px));background:#fbfcfafa;border-right:1px solid rgba(60,80,72,.1);box-shadow:18px 0 40px #24302924;transform:translate(-104%);transition:transform .24s ease}.portal-mobile-nav--open .portal-mobile-nav__panel{transform:translate(0)}.portal-mobile-nav__brand{padding:4px 4px 24px}.portal-mobile-nav__links{display:flex;flex-direction:column;gap:4px}.portal-mobile-nav__link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;font-size:15px;color:#9aa096;text-decoration:none}.portal-mobile-nav__link.active{background:#3c504814;color:var(--portal-eucalyptus);font-weight:500}.portal-mobile-nav__link--wizard{background:var(--portal-eucalyptus);color:var(--portal-cream);justify-content:center;margin:8px 0 4px}.portal-mobile-nav__link--wizard.active{background:var(--portal-eucalyptus);color:var(--portal-cream)}@media(min-width:1024px){.portal-mobile-header,.portal-mobile-nav{display:none}.portal-main{--portal-main-inline-padding: 40px;--portal-main-block-padding-top: 32px;padding:32px 40px 40px}}.portal-mobile-brand{display:none}.portal-btn{width:100%;height:56px;border:none;border-radius:30px;font-family:var(--portal-sans);font-weight:500;font-size:16px;cursor:pointer;box-sizing:border-box;background:var(--portal-teal);color:var(--portal-eucalyptus);box-shadow:0 14px 32px #24302924,0 4px 12px #24302912;transition:background .15s ease,box-shadow .15s ease,opacity .15s ease}.portal-btn:hover:not(:disabled){background:#b8ccc8;box-shadow:0 18px 36px #24302929,0 6px 14px #24302914}.portal-btn:disabled{opacity:.65;cursor:wait}a.portal-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:1}.portal-btn-primary{background:var(--portal-eucalyptus);color:var(--portal-cream);box-shadow:0 14px 32px #2430292e,0 4px 12px #24302914}.portal-btn-primary:hover:not(:disabled){background:#334843}.portal-btn-secondary{background:var(--portal-cream-light);color:var(--portal-eucalyptus);border:1px solid rgba(60,80,72,.2);box-shadow:none}.portal-btn-secondary:hover:not(:disabled){background:var(--portal-cream-light);box-shadow:none}.portal-card{background:var(--portal-cream-light);border:1px solid rgba(60,80,72,.1);border-radius:22px;padding:18px 20px}.portal-card-teal{background:var(--portal-teal);border:none}.portal-display{font-family:var(--portal-serif);font-weight:600;line-height:1.1}.portal-input{width:100%;height:54px;border-radius:14px;background:var(--portal-cream-light);border:1px solid rgba(60,80,72,.14);padding:0 18px;font-size:16px;font-family:var(--portal-sans);color:var(--portal-text);box-sizing:border-box;display:block;transition:border-color .2s ease,box-shadow .2s ease}.portal-input:focus{outline:none;border-color:#3c504852;box-shadow:0 0 0 3px #3c504814}.portal-input::placeholder{color:#8a8f84d9}.password-field{position:relative}.password-field .portal-input{padding-right:48px}.password-field__toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background:transparent;color:var(--portal-text-muted);cursor:pointer;border-radius:8px}.password-field__toggle:hover{color:var(--portal-text)}.password-field__toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #3c50481f}.portal-label{font-size:11px;letter-spacing:1.5px;color:var(--portal-text-muted);text-transform:uppercase;margin-bottom:7px}.portal-breadcrumb{margin-bottom:18px}.portal-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;font-size:13px;line-height:1.45}.portal-breadcrumb__item{display:inline-flex;align-items:center;min-width:0;max-width:100%}.portal-breadcrumb__link{color:var(--portal-eucalyptus);text-decoration:none;transition:color .15s ease}.portal-breadcrumb__link:hover{color:#243029;text-decoration:underline}.portal-breadcrumb__current{color:#8a8f84;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-breadcrumb__sep{margin:0 8px;color:#8a8f848c;-webkit-user-select:none;user-select:none}.portal-chip{display:inline-flex;align-items:center;gap:8px;padding:13px 18px;border-radius:24px;font-size:14px;cursor:pointer;border:1px solid rgba(60,80,72,.14);background:#ffffff8c;color:var(--portal-eucalyptus);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease,transform .15s ease}.portal-chip.selected{background:linear-gradient(165deg,#3c504824,#3c504814);color:var(--portal-eucalyptus);border-color:#3c504873;box-shadow:inset 0 0 0 1px #7c5e272e,0 8px 22px #3c504814;font-weight:500}.portal-chip--block{display:flex;width:100%;margin-bottom:10px;justify-content:flex-start}.portal-chip__label{line-height:1.35}.portal-selection-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.portal-selection-check--sm{width:18px;height:18px}.portal-selection-check--md{width:22px;height:22px}.portal-selection-check--empty{border:1.5px solid rgba(60,80,72,.28);background:transparent}.portal-selection-check--selected-on-dark{background:#fbfcfa38;border:none;color:var(--portal-cream)}.portal-selection-check--selected-on-light{background:var(--portal-eucalyptus);border:none;color:var(--portal-cream)}.portal-selection-check__icon{width:9px;height:8px}.portal-selection-check--md .portal-selection-check__icon{width:11px;height:10px}.portal-iv-booster{display:flex;align-items:center;gap:14px;width:100%;margin-bottom:10px;padding:16px 18px;text-align:left;cursor:pointer;border-radius:18px;background:var(--portal-cream-light);border:1px solid rgba(60,80,72,.1);transition:border-color .18s ease,background-color .18s ease}.portal-iv-booster:hover{border-color:#afc4c073}.portal-iv-booster.selected{border-color:#afc4c0a6;background:#f5f8f7}.portal-iv-booster__copy{flex:1;min-width:0}.portal-iv-booster__name{font-weight:500}.portal-iv-booster__desc{font-size:12px;color:#8a8f84;margin-top:2px}.portal-iv-booster__price{font-family:var(--portal-serif);font-size:14px;color:#3c504c;flex-shrink:0}.portal-sidebar{display:none;flex-direction:column;flex-shrink:0;width:220px;padding:32px 16px 24px;border-right:1px solid rgba(60,80,72,.1);background:#fbfcfaf5;position:sticky;top:0;height:100vh;box-sizing:border-box}.portal-sidebar-brand{padding:0 4px 28px;line-height:1.2}.portal-logo-link{display:inline-flex;text-decoration:none}.portal-logo-mark{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:18px;background:linear-gradient(145deg,#afc4c0,#7b8d8a);box-shadow:0 10px 24px #3c504c1f}.portal-logo-mark--compact{padding:8px 12px;border-radius:14px}.portal-logo-mark--on-dark{padding:0;border-radius:0;background:transparent;box-shadow:none}.portal-logo{display:block;width:auto;height:60px;object-fit:contain}.portal-logo--compact{height:48px}.portal-profile-page{padding-top:8px;margin:0 -24px}@media(min-width:1024px){.portal-profile-page{margin:0;padding-top:0}}.portal-profile-hero{position:relative;overflow:hidden;border-radius:0;padding:64px 24px 26px;background:radial-gradient(circle at 100% 0%,rgba(176,147,94,.18),transparent 42%),linear-gradient(145deg,#b8ccc8 0%,var(--portal-teal) 48%,#9eb5b0 100%)}@media(min-width:1024px){.portal-profile-hero{border-radius:28px;padding:36px 32px 28px}}.portal-profile-hero-glow{position:absolute;top:-40px;right:-20px;width:180px;height:180px;border-radius:50%;background:#ffffff24;pointer-events:none}.portal-profile-hero-top{position:relative;display:flex;align-items:center;gap:18px}.portal-profile-avatar{width:64px;height:64px;border-radius:20px;background:#fbfcfae0;border:1px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-family:var(--portal-serif);font-size:24px;font-weight:600;color:var(--portal-eucalyptus);flex-shrink:0;box-shadow:0 10px 24px #2c3c3714}.portal-profile-name{font-family:var(--portal-serif);font-size:28px;line-height:1.05;margin:0;color:#243029}.portal-profile-badge{display:inline-flex;margin-top:10px;padding:5px 12px;border-radius:999px;background:#fbfcfab8;border:1px solid rgba(176,147,94,.35);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#7c5e27;font-weight:500}.portal-profile-stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.portal-profile-stat{text-align:center;padding:14px 8px;border-radius:18px;background:#fbfcfab8;border:1px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portal-profile-stat-value{font-family:var(--portal-serif);font-size:24px;line-height:1;color:#243029}.portal-profile-stat-value--brass{color:#7c5e27}.portal-profile-stat-label{margin-top:6px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#24302994}.portal-profile-body{padding:28px 24px 12px}@media(min-width:1024px){.portal-profile-body{padding:28px 8px 12px}}.portal-profile-section{margin-top:28px}.portal-profile-section:first-child{margin-top:0}.portal-profile-section-title{font-family:var(--portal-serif);font-size:22px;margin:0 0 14px;color:var(--portal-text)}.portal-profile-section-hint{margin:-8px 0 14px;font-size:12px;color:var(--portal-text-muted)}.portal-profile-blend-card{display:flex;flex-direction:column;gap:10px}.portal-profile-blend-item{border-radius:20px;background:var(--portal-cream-light);border:1px solid rgba(60,80,72,.08);box-shadow:0 10px 24px #2c3c370a;overflow:hidden}.portal-profile-blend-link{display:block;padding:18px 20px;text-decoration:none;color:inherit}.portal-profile-blend-link:hover{background:var(--portal-cream-light)}.portal-profile-blend-link-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portal-profile-blend-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.portal-profile-blend-price{font-family:var(--portal-serif);font-size:16px;color:var(--portal-eucalyptus)}.portal-profile-blend-chevron{font-size:22px;color:#b3b8ac;line-height:1}.portal-profile-blend-delete{width:100%;border:none;border-top:1px solid rgba(60,80,72,.08);background:transparent;padding:10px 20px 12px;font-size:13px;color:#8b5a52;cursor:pointer}.portal-profile-blend-delete:hover{background:#8b5a520f}.portal-profile-blend-title{font-weight:500;font-size:15px;color:var(--portal-text)}.portal-profile-blend-type{display:inline-flex;margin-top:8px;padding:4px 10px;border-radius:999px;background:#3c504812;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#6e746a}.portal-profile-history-card{border-radius:22px;overflow:hidden;border:1px solid rgba(60,80,72,.08);background:var(--portal-cream-light)}.portal-profile-history-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(60,80,72,.08)}.portal-profile-history-item--link{text-decoration:none;color:inherit;transition:background-color .15s ease}.portal-profile-history-item--link:hover{background:#3c504808}.portal-profile-history-chevron{font-size:20px;color:#b3b8ac;flex-shrink:0}.portal-profile-history-item:last-child{border-bottom:none}.portal-profile-history-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.portal-profile-history-title{font-weight:500;font-size:15px;color:var(--portal-text)}.portal-appointment-detail__hero{margin:0;padding:0;background:transparent;border:none;box-shadow:none}.portal-appointment-detail__hero-row{display:flex;align-items:flex-start;gap:16px}.portal-appointment-detail__hero-badge{width:64px;height:64px;border-radius:18px;flex-shrink:0;margin-top:0}.portal-appointment-detail__hero-badge .portal-appointment-event-card__badge-month{font-size:11px}.portal-appointment-detail__hero-badge .portal-appointment-event-card__badge-day{font-size:28px}.portal-appointment-detail__hero-copy{flex:1;min-width:0}.portal-appointment-detail__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portal-appointment-status{display:inline-flex;align-items:center;font-size:11px;font-weight:500;letter-spacing:.4px;padding:4px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.portal-appointment-status--unconfirmed{background:#d69a622e;color:#9a5b1f;border-color:#d69a6259}.portal-appointment-status--confirmed{background:#3c50481a;color:#3c504c;border-color:#3c504833}.portal-appointment-status--active{background:#3c50481f;color:#3c504c;border-color:#3c504838}.portal-appointment-status--completed{background:#3c50480f;color:#6e746a;border-color:#3c50481f}.portal-appointment-status--cancelled{background:#a046461a;color:#8f3a3a;border-color:#a0464638}.portal-appointment-status--neutral{background:#3c50480f;color:#6e746a;border-color:#3c50481f}.portal-profile-history-date{font-size:12px;color:#8a8f84;margin-top:4px;white-space:normal}.portal-appointment-event-card-wrap{display:flex;flex-direction:column;padding:0;overflow:hidden}.portal-appointment-event-card{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;padding:16px 18px;transition:border-color .15s ease,background-color .15s ease}.portal-appointment-event-card-wrap:hover,.portal-appointment-event-card:hover{border-color:#3c504829;background:var(--portal-cream-light)}.portal-appointment-event-card__footer{padding:12px 18px 14px;border-top:1px solid rgba(60,80,72,.08);margin-top:0}.portal-appointment-event-card__rebook{display:flex;width:100%;justify-content:center;text-align:center;box-sizing:border-box}.portal-appointment-event-card__badge{width:56px;height:56px;border-radius:16px;background:var(--portal-eucalyptus);color:var(--portal-cream);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.portal-appointment-event-card__badge-month{font-size:10px;letter-spacing:.6px}.portal-appointment-event-card__badge-day{font-size:24px;line-height:1}.portal-appointment-event-card__body{flex:1;min-width:0}.portal-appointment-event-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.portal-appointment-event-card__eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#9a9f92}.portal-appointment-event-card__title{font-weight:500;font-size:15px;margin-top:2px;color:var(--portal-text)}.portal-appointment-event-card__subtitle{font-size:13px;color:#7a7f75;margin-top:2px}.portal-appointment-event-card__chevron{font-size:20px;color:#b3b8ac;flex-shrink:0}.portal-appointment-event-list{display:flex;flex-direction:column;gap:12px}.portal-home-next-appointment{margin-bottom:16px}.portal-appointment-page{display:flex;flex-direction:column;gap:14px;min-width:0}.portal-appointment-detail__rebook{display:flex;width:100%;justify-content:center;text-align:center;box-sizing:border-box}.portal-appointment-page__sticky-header{position:sticky;top:0;z-index:20;margin:0 calc(-1 * var(--portal-main-inline-padding)) 4px;padding:24px var(--portal-main-inline-padding) 14px;background:var(--portal-cream);border-bottom:1px solid rgba(60,80,76,.08);box-shadow:0 12px 24px -20px #3c504c59}.portal-appointment-page__sticky-header:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--portal-main-block-padding-top);background:var(--portal-cream);pointer-events:none}.portal-appointment-page__back{display:inline-block;font-size:14px;color:#6e746a;text-decoration:none;margin-bottom:12px}.portal-appointment-page__back:hover{color:var(--portal-eucalyptus)}.portal-appointment-page__back--static{margin-top:24px}.portal-appointment-page>.portal-appointment-detail{margin-top:0}.portal-appointment-detail{display:flex;flex-direction:column;gap:14px;margin-top:18px;min-width:0;max-width:100%}.portal-appointment-detail__eyebrow{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#8a8f84;margin:0 0 10px}.portal-appointment-detail__title{font-family:var(--portal-serif);font-size:26px;line-height:1.12;margin:0;color:var(--portal-text);flex:1;min-width:0;overflow-wrap:break-word}@media(min-width:768px){.portal-appointment-detail__title{font-size:32px;line-height:1.1}}.portal-appointment-detail__when{font-size:15px;line-height:1.5;margin:12px 0 0;color:var(--portal-text)}.portal-appointment-detail__provider{font-size:14px;color:#8a8f84;margin:6px 0 0}.portal-appointment-detail__alert{padding:14px 16px;border-radius:16px;background:#b0935e1f;border:1px solid rgba(176,147,94,.28);font-size:13px;color:#7c5e27;line-height:1.45}.portal-appointment-detail__section{display:flex;flex-direction:column;gap:10px;min-width:0}.portal-appointment-detail__section-heading{display:flex;align-items:center;gap:12px}.portal-appointment-detail__section-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#3c50481a;flex-shrink:0}.portal-appointment-detail__section-title{font-family:var(--portal-serif);font-size:20px;margin:0;color:var(--portal-text)}.portal-appointment-detail__location-name{font-weight:500;font-size:15px;margin:0}.portal-appointment-detail__location-address,.portal-appointment-detail__muted{font-size:14px;color:#8a8f84;line-height:1.5;margin:0}.portal-appointment-detail__link{font-size:14px;font-weight:500;color:var(--portal-eucalyptus);text-decoration:none}.portal-appointment-detail__link:hover{text-decoration:underline}.portal-appointment-detail__primary-action{align-self:flex-start;margin-top:4px;text-decoration:none;display:inline-flex}.portal-appointment-detail__calendar-links{display:flex;flex-wrap:wrap;gap:8px}.portal-appointment-detail__calendar-btn{display:inline-flex;padding:10px 14px;border-radius:999px;border:1px solid rgba(60,80,72,.14);background:var(--portal-cream);font-size:13px;font-weight:500;color:var(--portal-eucalyptus);text-decoration:none}.portal-appointment-detail__contact-links{display:flex;flex-direction:column;gap:6px}.portal-appointment-detail__label{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:#8a8f84;margin-top:4px}.portal-appointment-detail__textarea{width:100%;max-width:100%;min-height:110px;padding:14px;border-radius:16px;border:1px solid rgba(60,80,72,.12);background:var(--portal-cream);font-family:inherit;font-size:15px;resize:vertical;box-sizing:border-box;display:block}.portal-appointment-detail__send-btn{align-self:flex-start}.portal-appointment-detail__success{font-size:14px;font-weight:500;color:var(--portal-eucalyptus);margin:0}.portal-appointment-modify-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.portal-appointment-modify-cancel-btn{background:#8f3a3a;border-color:#8f3a3a}.portal-appointment-modify-cancel-btn:hover{filter:brightness(.95)}.portal-appointment-modify-confirm,.portal-appointment-modify-reschedule{margin-top:4px}.portal-appointment-detail__error{color:#a33;font-size:14px;margin-top:16px}.portal-profile-empty{padding:18px;border-radius:18px;background:#3c50480a;color:#8a8f84;font-size:14px}.portal-profile-activity{display:flex;flex-direction:column;gap:4px}.portal-profile-group-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--portal-text-muted);margin:0 0 12px}.portal-profile-actions{margin-top:32px;display:flex;flex-direction:column;gap:12px}.portal-profile-actions-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--portal-text-muted);margin-bottom:4px}.portal-profile-action-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:16px 18px;border-radius:18px;border:1px solid rgba(60,80,72,.1);background:var(--portal-cream-light);color:var(--portal-eucalyptus);font-family:var(--portal-sans);font-size:15px;font-weight:500;text-decoration:none;cursor:pointer}.portal-profile-action-row:hover{border-color:#3c50482e;background:var(--portal-cream-light)}.portal-profile-action-row--ghost{border-color:transparent;background:transparent;color:#8a8f84;justify-content:center}.portal-profile-action-chevron{color:#b3b8ac;font-size:18px}.portal-auth-logo{display:flex;justify-content:center;margin-bottom:28px}.portal-auth-page{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(40px,6vw,72px) 24px;box-sizing:border-box;position:relative}.portal-auth-card{width:100%;max-width:400px}.portal-auth-header{margin-bottom:4px}.portal-auth-title{margin:0;font-size:clamp(32px,5vw,36px)}.portal-auth-lead{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--portal-text-muted)}.portal-auth-form{display:flex;flex-direction:column;gap:18px;margin-top:28px}.portal-auth-field{display:flex;flex-direction:column;gap:8px}.portal-auth-field .portal-label{margin-bottom:0}.portal-auth-error{margin:0;font-size:14px;line-height:1.5;color:#a33}.portal-auth-footer{margin:24px 0 0;font-size:13px;line-height:1.6;color:var(--portal-text-muted)}.portal-auth-back{display:inline-block;margin-top:20px;font-size:13px;color:var(--portal-eucalyptus);text-decoration:none}.portal-auth-back:hover{text-decoration:underline}.portal-welcome-logo{display:flex;justify-content:center;margin-bottom:24px}.portal-sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.portal-sidebar-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;font-size:14px;color:#9aa096;text-decoration:none}.portal-sidebar-link.active{background:#3c504814;color:var(--portal-eucalyptus);font-weight:500}.portal-sidebar-link-fab{background:var(--portal-eucalyptus);color:var(--portal-cream);justify-content:center;margin:8px 0}.portal-sidebar-link-fab.active{background:var(--portal-eucalyptus);color:var(--portal-cream)}@media(min-width:768px){.portal-shell{max-width:720px}}@media(min-width:1024px){.portal-shell{max-width:1200px}.portal-shell.portal-shell--app .portal-app-body{flex-direction:row;align-items:stretch;flex:1;min-height:0}.portal-sidebar{display:flex}.portal-sidebar-brand .portal-logo{height:68px}.portal-sidebar-brand .portal-logo-mark{padding:14px 18px;border-radius:20px}}.portal-grid-2{display:grid;grid-template-columns:1fr;gap:14px;width:100%}.portal-grid-2>*{min-width:0}@media(min-width:768px){.portal-grid-2{grid-template-columns:repeat(2,1fr)}}.portal-grid-3{display:grid;grid-template-columns:1fr;gap:13px;width:100%}.portal-grid-3>*{min-width:0}@media(min-width:768px){.portal-grid-3{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.portal-grid-3{grid-template-columns:repeat(3,1fr)}}.portal-home-split{display:flex;flex-direction:column;gap:16px}.portal-home-actions{display:grid;grid-template-columns:1fr;gap:11px;margin-top:16px;width:100%}@media(min-width:480px){.portal-home-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.portal-home-split{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:start}}.portal-booking-times-section{scroll-margin-top:80px}.portal-booking-sticky-footer{position:sticky;bottom:0;z-index:6;margin-top:16px;padding:14px 0 8px;background:linear-gradient(180deg,rgba(251,252,250,0) 0%,var(--portal-cream) 28%)}.portal-booking-sticky-footer .portal-btn{width:100%}.portal-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portal-birth-date{position:relative;display:grid;gap:4px}.portal-birth-date__label{font-size:12px;margin-bottom:0}.portal-birth-date__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid rgba(60,80,76,.16);background:#fff;color:var(--portal-eucalyptus);font-family:var(--portal-sans);font-size:14px;cursor:pointer;text-align:left;transition:border-color .2s ease,box-shadow .2s ease}.portal-birth-date__trigger:hover,.portal-birth-date__trigger.is-open{border-color:#3c504c59;box-shadow:0 0 0 3px #afc4c059}.portal-birth-date__placeholder{color:#3c504c73}.portal-birth-date__value{font-family:var(--portal-serif);font-size:16px;letter-spacing:.01em}.portal-birth-date__icon{color:var(--portal-text-muted);font-size:12px}.portal-birth-date__popover{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;border-radius:18px;overflow:hidden;border:1px solid rgba(60,80,76,.12);background:var(--portal-cream-light);box-shadow:0 18px 40px -28px #3c504c8c}.portal-birth-date__header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;padding:14px 12px;background:linear-gradient(135deg,var(--portal-teal) 0%,rgba(175,196,192,.35) 100%);border-bottom:1px solid rgba(60,80,76,.08)}.portal-birth-date__title-wrap{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.portal-birth-date__month{font-family:var(--portal-serif);font-size:20px;color:var(--portal-eucalyptus)}.portal-birth-date__year{border:1px solid rgba(60,80,76,.14);background:#fbfcfaeb;color:var(--portal-eucalyptus);border-radius:999px;padding:4px 10px;font-family:var(--portal-sans);font-size:13px;cursor:pointer}.portal-birth-date__years{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto;padding:12px}.portal-birth-date__year-option{border:1px solid rgba(60,80,76,.1);background:#afc4c02e;color:var(--portal-eucalyptus);border-radius:10px;padding:8px 4px;font-family:var(--portal-sans);font-size:13px;cursor:pointer}.portal-birth-date__year-option.is-active,.portal-birth-date__year-option:hover{background:var(--portal-eucalyptus);color:var(--portal-cream);border-color:transparent}.portal-birth-date__nav{width:36px;height:36px;border-radius:50%;border:1px solid rgba(60,80,76,.14);background:#fbfcfae0;color:var(--portal-eucalyptus);font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.portal-birth-date__nav:disabled{opacity:.35;cursor:not-allowed}.portal-birth-date__weekdays,.portal-birth-date__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:12px}.portal-birth-date__weekdays{padding-bottom:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-text-muted);text-align:center}.portal-birth-date__day{aspect-ratio:1;min-height:36px;border:none;border-radius:50%;background:transparent;color:#3c504c47;font-family:var(--portal-sans);font-size:14px;display:inline-flex;align-items:center;justify-content:center;cursor:default}.portal-birth-date__day.is-empty{pointer-events:none}.portal-birth-date__day.is-outside{opacity:.3}.portal-birth-date__day.is-available{background:#afc4c057;color:var(--portal-eucalyptus);cursor:pointer;font-weight:500}.portal-birth-date__day.is-available:hover:not(:disabled){background:#afc4c08c}.portal-birth-date__day.is-today:not(.is-selected){box-shadow:inset 0 0 0 2px var(--portal-brass)}.portal-birth-date__day.is-selected{background:var(--portal-eucalyptus);color:var(--portal-cream);box-shadow:0 10px 22px -14px #3c504ccc}.portal-birth-date__day.is-disabled:not(.is-empty){color:#3c504c33}.portal-booking-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 18px;padding:0;border:none;background:transparent;color:var(--portal-eucalyptus);font-family:var(--portal-sans);font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.portal-booking-back:hover:not(:disabled){color:var(--portal-headline)}.portal-booking-back:disabled{opacity:.5;cursor:not-allowed}.portal-booking-service-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-booking-service-row__thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0;background:#e7e3d6}.portal-booking-service-row__thumb--placeholder{background:#e7e3d6}.portal-booking-service-row__title{flex:1;font-weight:500;min-width:0;display:grid;gap:4px}.portal-booking-service-row__badge{display:inline-flex;align-self:start;width:fit-content;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3c504c;background:#afc4c073}.portal-booking-service-row__price{flex-shrink:0;font-size:14px;color:#7a7f75;white-space:nowrap}.portal-booking-expandable{display:grid;gap:6px}.portal-booking-expandable__toggle{border:0;background:transparent;padding:0;font:inherit;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#3c504c;cursor:pointer;width:fit-content}.portal-booking-customize__desc{margin:0;line-height:1.5;color:#3c5048}.portal-booking-summary__line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portal-booking-summary__price{font-size:14px;font-weight:500;color:var(--portal-eucalyptus);white-space:nowrap;flex-shrink:0}.portal-booking-summary__addons{display:grid;gap:8px}.portal-booking-summary__addon-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.portal-booking-selection-lines{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px}.portal-booking-selection-lines li{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#6b7268}.portal-booking-selection-lines__price{color:var(--portal-eucalyptus);white-space:nowrap;font-weight:500}.portal-booking-customize__hero{width:100%;height:180px;object-fit:cover;display:block;background:#e7e3d6}.portal-booking-customize__hero--placeholder{background:#e7e3d6}.portal-booking-customize__card{padding:0;overflow:hidden;display:grid;background:#fff;border-color:#3c504814;box-shadow:0 18px 44px #24302924,0 6px 16px #2430290f}.portal-booking-consult-plan{background:#afc4c07a;border:1px solid rgba(175,196,192,.72);border-radius:12px;padding:12px 14px;box-shadow:0 8px 20px #3c50481a}.portal-booking-consult-plan__label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#6b7268;margin-bottom:4px}.portal-booking-consult-plan__lead{margin:0;font-size:14px;line-height:1.45;color:#3c5048}.portal-booking-consult-plan__secondary{margin:0;font-size:13px;line-height:1.45;color:#6b7268}.portal-booking-service-search{display:grid;gap:6px}.portal-booking-service-search__label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#9a9f92}.portal-booking-service-search input{width:100%;border:1px solid rgba(60,80,72,.16);border-radius:12px;padding:12px 14px;font:inherit;background:#fff}.portal-booking-service-intro{padding:0 16px 14px}.portal-booking-service-intro p{margin:0;font-size:13px;line-height:1.5;color:#6b726c}.portal-booking-service-intro__toggle{margin-top:6px;border:0;background:transparent;padding:0;font:inherit;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#3c504c;cursor:pointer}.portal-spinner--compact{flex-shrink:0;width:20px;height:20px}.portal-spinner--compact:before{border-width:2px}.portal-spinner--compact:after{-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px))}.portal-spinner--compact .portal-spinner-core{width:5px;height:5px;margin:-2.5px 0 0 -2.5px}.portal-booking-payment-methods{display:grid;gap:10px}.portal-booking-payment-methods__loading{margin:0;font-size:14px;color:#8a8f84}.portal-booking-payment-methods__list{display:grid;gap:8px}.portal-booking-payment-methods__option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid rgba(60,80,72,.14);background:var(--portal-cream-light);color:var(--portal-text);font:inherit;font-size:15px;text-align:left;cursor:pointer}.portal-booking-payment-methods__option.selected{border-color:var(--portal-eucalyptus);background:#3c504814;color:var(--portal-eucalyptus);font-weight:500}.portal-booking-payment-methods__radio{width:18px;height:18px;border-radius:50%;border:2px solid rgba(60,80,72,.25);flex-shrink:0}.portal-booking-payment-methods__option.selected .portal-booking-payment-methods__radio{border-color:var(--portal-eucalyptus);background:var(--portal-eucalyptus);box-shadow:inset 0 0 0 3px var(--portal-cream-light)}.portal-booking-promo{display:grid;gap:8px}.portal-booking-promo__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.portal-booking-promo__item{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.portal-booking-promo__row{display:flex;gap:8px;align-items:center}.portal-booking-promo__row .portal-input{flex:1}.portal-booking-waitlist{margin-top:14px;display:grid;gap:10px}.portal-booking-waitlist__note{margin:0;font-size:13px;color:#5c635a}.portal-booking-providers{display:grid;gap:12px}.portal-booking-providers__lead{margin:0;font-size:14px;color:#8a8f84}.portal-booking-providers__list{display:grid;gap:8px}.portal-booking-providers__option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid rgba(60,80,72,.14);background:var(--portal-cream-light);color:var(--portal-text);font:inherit;text-align:left;cursor:pointer}.portal-booking-providers__option.selected{border-color:var(--portal-eucalyptus);background:#3c504814}.portal-booking-providers__option:disabled{opacity:.65;cursor:wait}.portal-booking-providers__avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#3c50481a;color:var(--portal-eucalyptus);display:grid;place-items:center;font-size:13px;font-weight:500;flex-shrink:0}.portal-booking-providers__avatar--any{background:#3c504814;font-size:16px}.portal-booking-providers__text{display:grid;gap:2px;min-width:0}.portal-booking-providers__name{font-size:15px}.portal-booking-providers__option.selected .portal-booking-providers__name{color:var(--portal-eucalyptus);font-weight:500}.portal-booking-providers__meta{font-size:13px;color:#8a8f84}.portal-booking-selection-summary{display:grid;gap:12px}.portal-booking-selection-summary__provider{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid rgba(60,80,72,.1)}.portal-booking-selection-summary__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#3c50481a;color:var(--portal-eucalyptus);display:grid;place-items:center;font-size:12px;font-weight:500;flex-shrink:0}.portal-booking-times-section .portal-chip-row{flex-wrap:wrap;overflow-x:visible;margin-top:0}@media(max-width:767px){.portal-booking-times-section .portal-chip{padding:10px 14px;font-size:13px}}.portal-chip-row{display:flex;gap:8px;margin-top:18px;overflow-x:auto}@media(min-width:768px){.portal-chip-row{flex-wrap:wrap;overflow-x:visible}}.portal-content-narrow{width:100%;max-width:480px;margin-left:auto;margin-right:auto}.portal-wizard-narrow{width:100%;max-width:640px;margin-left:auto;margin-right:auto}.portal-article-narrow{width:100%;max-width:720px;margin-left:auto;margin-right:auto}@media(min-width:1024px){.portal-btn-inline{max-width:360px}}.portal-treatment-card{padding:0;overflow:hidden;color:inherit;display:flex;flex-direction:column;height:100%}.portal-treatment-card__link{display:flex;flex-direction:column;flex:1;min-height:0;text-decoration:none;color:inherit}.portal-treatment-card__body{padding:15px 17px 4px;flex:1}.portal-treatment-card__category{font-family:var(--portal-sans);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--portal-brass, #9a7b4f);margin-bottom:6px}.portal-treatment-card__title{font-size:20px;margin:0}.portal-treatment-card__intro{font-size:13px;color:#7a7f75;margin:4px 0 0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.portal-treatment-card__actions{padding:8px 17px 15px;margin-top:auto}.portal-treatment-card__book{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;min-height:44px;padding:12px 16px;border-radius:12px;background:var(--portal-eucalyptus);color:#fff;font-family:var(--portal-sans);font-weight:500;font-size:14px;text-decoration:none;line-height:1;transition:background-color .15s ease}.portal-treatment-card__book:hover{background:#334740}.portal-treatment-card-image{width:100%;height:128px;object-fit:cover}@media(min-width:768px){.portal-treatment-card-image,.portal-treatment-card-placeholder{height:160px}}.portal-treatment-card-placeholder{height:128px;background:#e7e3d6}.portal-treatment-card-image--home,.portal-treatment-card-placeholder--home{height:96px}@media(min-width:768px){.portal-treatment-card-image--home,.portal-treatment-card-placeholder--home{height:120px}}.portal-treatment-detail{padding-top:8px;margin:0 -24px}@media(min-width:1024px){.portal-treatment-detail{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:24px}.portal-treatment-detail-hero{min-height:100%}.portal-treatment-detail-body{padding:32px 40px}}.portal-welcome{display:flex;flex-direction:column;width:100%;min-height:100dvh;margin:0}.portal-welcome-hero{flex:1;display:flex;align-items:center;justify-content:center;padding:56px 32px;background:var(--portal-teal);box-sizing:border-box}.portal-welcome-hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px;max-width:420px}.portal-welcome-logo.portal-logo-mark{padding:18px 22px;border-radius:22px;box-shadow:0 14px 32px #2430292e}.portal-welcome-logo .portal-logo{height:72px;width:auto}.portal-welcome-title{margin:0;font-size:clamp(28px,4vw,38px);line-height:1.15;color:#2c3c37}.portal-welcome-actions{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 32px;background:#e4ece9;box-sizing:border-box}.portal-welcome-actions-inner{width:100%;max-width:360px}.portal-welcome-cta{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-bottom:14px}.portal-welcome-note{margin:0;font-size:12px;line-height:1.45;color:#6e746a;text-align:center}.portal-medical-disclaimer{margin-top:20px}.portal-medical-disclaimer-title{display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--portal-text-muted);font-weight:500;margin-bottom:6px}.portal-medical-disclaimer-body{margin:0;font-size:12px;line-height:1.55;color:var(--portal-text-muted)}.portal-medical-disclaimer--welcome{margin-top:16px;text-align:center}@media(min-width:768px){.portal-welcome{display:grid;grid-template-columns:1fr 1fr}.portal-welcome-hero,.portal-welcome-actions{flex:none;min-height:100dvh;padding:64px 48px}.portal-welcome-logo .portal-logo{height:84px}}.portal-learn-list-item{display:flex;gap:14px;text-decoration:none;color:inherit}@media(min-width:768px){.portal-learn-list-grid .portal-learn-list-item{flex-direction:column;background:var(--portal-cream-light);border:1px solid rgba(60,80,72,.1);border-radius:22px;padding:16px;overflow:hidden}.portal-learn-list-grid .portal-learn-list-thumb{width:100%;height:120px}}.portal-learn-list-thumb{width:74px;height:74px;border-radius:16px;background:#e7e3d6;flex-shrink:0}.portal-learn-list-thumb-image{object-fit:cover;background:transparent}.portal-learn-featured-image,.portal-learn-featured-placeholder{width:100%;aspect-ratio:16 / 9;height:auto;min-height:200px;max-height:320px}.portal-learn-featured-image{object-fit:cover;object-position:center;display:block}.portal-learn-featured-placeholder{background:#e7e3d6}.portal-learn-detail-image,.portal-learn-detail-placeholder{width:100%;border-radius:18px;aspect-ratio:16 / 9;height:auto;min-height:220px;max-height:360px}.portal-learn-detail-image{object-fit:cover;object-position:center;display:block}.portal-learn-detail-placeholder{background:#e7e3d6}.portal-profile-grid{display:flex;flex-direction:column;gap:10px}@media(min-width:768px){.portal-profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}}.portal-aftercare-timeline{display:flex;flex-direction:column}.portal-aftercare-day{display:flex;gap:12px;align-items:stretch}.portal-aftercare-rail{width:28px;display:flex;flex-direction:column;align-items:center;padding-top:18px}.portal-aftercare-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--portal-eucalyptus);background:var(--portal-cream-light);flex-shrink:0}.portal-aftercare-dot--today{width:18px;height:18px;background:var(--portal-eucalyptus);border-color:var(--portal-brass);box-shadow:0 0 0 4px #b0935e33}.portal-aftercare-dot--past{background:var(--portal-eucalyptus);border-color:var(--portal-eucalyptus)}.portal-aftercare-line{flex:1;width:2px;min-height:24px;margin-top:4px;background:#3c50482e}.portal-aftercare-card{flex:1;padding:0;overflow:hidden}.portal-aftercare-header{display:flex;align-items:flex-start;gap:10px;width:100%;padding:16px 18px;border:none;background:transparent;cursor:pointer;font-family:var(--portal-sans);color:var(--portal-text)}.portal-aftercare-expanded{padding:0 18px 18px}.portal-aftercare-step-image{width:100%;height:180px;object-fit:cover;border-radius:14px;display:block}.portal-aftercare-html{font-size:14px;line-height:1.55;margin-top:12px}.portal-aftercare-html p{margin:0 0 10px}.portal-aftercare-html ul{margin:0 0 10px;padding-left:18px}.portal-aftercare-products{display:flex;flex-direction:column;gap:10px}.portal-aftercare-product{display:flex;gap:12px;padding:12px;border-radius:14px;background:var(--portal-cream);border:1px solid rgba(60,80,72,.08)}.portal-aftercare-product-image{width:64px;height:64px;border-radius:12px;object-fit:cover;flex-shrink:0}.portal-aftercare-product-image--empty{background:#eae9dd}.portal-home-aftercare-link{display:block;text-decoration:none;color:inherit;min-width:0}.portal-home-aftercare{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;border-radius:22px;background:var(--portal-cream-light);border:1px solid rgba(60,80,76,.1);box-shadow:0 16px 36px -28px #2c3b3873;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.portal-home-aftercare-link:hover .portal-home-aftercare{border-color:#b0935e59;box-shadow:0 20px 40px -26px #2c3b3880;transform:translateY(-1px)}.portal-home-aftercare__pulse{position:relative;flex-shrink:0;width:12px;height:12px;margin-top:6px;border-radius:50%;background:var(--portal-brass);box-shadow:0 0 #b0935e73;animation:portal-aftercare-pulse 2.4s ease-out infinite}.portal-home-aftercare__pulse:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:1px solid rgba(176,147,94,.35);animation:portal-aftercare-ring 2.4s ease-out infinite}.portal-home-aftercare__body{min-width:0;flex:1}.portal-home-aftercare__eyebrow{margin:0;font-family:var(--portal-sans);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--portal-brass)}.portal-home-aftercare__title{margin:8px 0 0;font-family:var(--portal-serif);font-size:26px;font-weight:600;line-height:1.15;color:var(--portal-text)}.portal-home-aftercare__copy{margin:10px 0 0;font-family:var(--portal-sans);font-size:14.5px;line-height:1.55;color:var(--portal-text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.portal-home-aftercare__cta{display:inline-block;margin-top:14px;font-family:var(--portal-sans);font-size:13px;font-weight:500;color:var(--portal-eucalyptus)}.portal-home-aftercare-link:hover .portal-home-aftercare__cta{text-decoration:underline;text-underline-offset:3px}@keyframes portal-aftercare-pulse{0%,to{box-shadow:0 0 #b0935e66}55%{box-shadow:0 0 0 8px #b0935e00}}@keyframes portal-aftercare-ring{0%,to{opacity:.55;transform:scale(.92)}55%{opacity:0;transform:scale(1.35)}}.portal-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:240px;padding:56px 0}.portal-loader--inline{min-height:0;padding:40px 0}.portal-spinner{position:relative;width:46px;height:46px}.portal-spinner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid rgba(176,147,94,.16)}.portal-spinner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(176,147,94,0) 0%,rgba(176,147,94,.55) 65%,var(--portal-brass) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:portal-spin .95s linear infinite}.portal-spinner-core{position:absolute;top:50%;left:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--portal-brass);animation:portal-spinner-breathe 1.6s ease-in-out infinite}.portal-loader-label{font-family:var(--portal-sans);font-size:13px;letter-spacing:.4px;color:var(--portal-text-muted)}@keyframes portal-spin{to{transform:rotate(360deg)}}@keyframes portal-spinner-breathe{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:.9;transform:scale(1.15)}}@media(prefers-reduced-motion:reduce){.portal-spinner:after{animation-duration:2.6s}.portal-spinner-core{animation:none}.portal-skeleton{animation:none;background:#3c504c14}.portal-mobile-nav__backdrop,.portal-mobile-nav__panel{transition:none}}.portal-skeleton{display:block;border-radius:10px;background:linear-gradient(90deg,#3c504c0f,#3c504c1f,#3c504c0f);background-size:200% 100%;animation:portal-skeleton-shimmer 1.35s ease-in-out infinite}.portal-skeleton--chip{border-radius:24px}.portal-home-skeleton__greeting{margin-bottom:20px}.portal-home-skeleton__split{margin-bottom:16px}.portal-home-skeleton__aftercare{min-height:148px}.portal-home-skeleton__membership{min-height:88px}.portal-home-skeleton__appointment{display:flex;gap:16;align-items:center;margin-bottom:0}.portal-home-skeleton__date{border-radius:16px;flex-shrink:0}.portal-home-skeleton__appointment-copy{flex:1;min-width:0}.portal-home-skeleton__curated{margin-top:26px}.portal-home-skeleton__curated-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 14px}.portal-home-skeleton__treatment{padding:0;overflow:hidden}.portal-home-skeleton__treatment-image{width:100%;height:96px;border-radius:0}.portal-treatments-skeleton__filters,.portal-treatments-skeleton__grid{margin-top:18px}.portal-treatments-skeleton__card{padding:0;overflow:hidden}.portal-treatments-skeleton__image{width:100%;height:128px;border-radius:0}@media(min-width:768px){.portal-treatments-skeleton__image{height:160px}}.portal-treatments-skeleton__body{padding:15px 17px 17px}.portal-treatment-detail-skeleton__hero{width:100%;min-height:280px;border-radius:0}@media(min-width:1024px){.portal-treatment-detail-skeleton__hero{min-height:100%}}.portal-profile-activity-skeleton__tabs{margin-bottom:18px}.portal-profile-activity-skeleton__row{display:flex;align-items:center;gap:16px}.portal-profile-activity-skeleton__date{border-radius:16px;flex-shrink:0}.portal-profile-activity-skeleton__copy{flex:1;min-width:0}@keyframes portal-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.portal-iv-wizard__hero{display:flex;align-items:center;gap:20px;margin-bottom:6px}.portal-iv-wizard__hero-copy{flex:1;min-width:0}.portal-iv-wizard__title{font-size:30px;line-height:1.05;margin:0}.portal-iv-wizard__subtitle{margin:8px 0 0;font-size:13px;line-height:1.55;color:#7a7f75}.portal-iv-tube{flex-shrink:0}.portal-wizard-hub__title{font-size:clamp(30px,4vw,36px);margin:0}.portal-wizard-hub__lead{margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--portal-text-muted);max-width:520px}.portal-wizard-tools{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px}@media(min-width:768px){.portal-wizard-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.portal-wizard-tool{display:flex;align-items:center;gap:16px;min-height:92px;padding:20px 22px;border-radius:20px;background:var(--portal-cream-light);border:1px solid rgba(60,80,72,.1);text-decoration:none;color:inherit;box-shadow:0 10px 28px -22px #2c3c3747;transition:transform .35s var(--portal-ease, ease),box-shadow .35s var(--portal-ease, ease),border-color .35s ease,background .35s ease}.portal-wizard-tool:hover{transform:translateY(-2px);border-color:#b0935e57;box-shadow:0 20px 44px -24px #2c3c3757;background:var(--portal-cream-light)}.portal-wizard-tool__icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:17px;flex-shrink:0}.portal-wizard-tool--blend .portal-wizard-tool__icon{background:linear-gradient(145deg,#3c504c,#243029);box-shadow:inset 0 1px #ffffff14,0 10px 22px -8px #24302973}.portal-wizard-tool--drip .portal-wizard-tool__icon{background:linear-gradient(145deg,#afc4c0,#7b8d8a);box-shadow:inset 0 1px #ffffff38,0 10px 22px -8px #7b8d8a6b}.portal-wizard-tool__body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.portal-wizard-tool__title{font-family:var(--portal-sans);font-size:16px;font-weight:500;color:var(--portal-text);line-height:1.3}.portal-wizard-tool__subtitle{font-family:var(--portal-sans);font-size:12.5px;line-height:1.45;color:var(--portal-text-muted)}.portal-wizard-tool__chevron{flex-shrink:0;color:#b3b8ac;transition:transform .3s ease,color .3s ease}.portal-wizard-tool:hover .portal-wizard-tool__chevron{color:var(--portal-eucalyptus);transform:translate(3px)}@media(prefers-reduced-motion:reduce){.portal-wizard-tool,.portal-wizard-tool__chevron{transition:none}.portal-wizard-tool:hover,.portal-wizard-tool:hover .portal-wizard-tool__chevron{transform:none}}.portal-booking-date-picker{display:grid;gap:16px}.portal-booking-date-picker__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;background:#afc4c02e;border:1px solid rgba(60,80,76,.1)}.portal-booking-date-picker__summary-text{display:grid;gap:2px;min-width:0}.portal-booking-date-picker__summary-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--portal-text-muted)}.portal-booking-date-picker__summary-value{font-family:var(--portal-serif);font-size:20px;color:var(--portal-eucalyptus);letter-spacing:.01em}.portal-booking-date-picker__change{flex-shrink:0;border:1px solid rgba(60,80,76,.16);background:var(--portal-cream-light);color:var(--portal-eucalyptus);font-family:var(--portal-sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.portal-booking-date-picker__change:hover{background:var(--portal-cream);border-color:var(--portal-eucalyptus)}.portal-booking-date-picker__collapse{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .38s ease,opacity .28s ease}.portal-booking-date-picker__collapse.is-open{grid-template-rows:1fr;opacity:1}.portal-booking-date-picker__collapse-inner{overflow:hidden;min-height:0}.portal-booking-date-picker__panel{display:grid;gap:16px;padding-bottom:2px}.portal-booking-date-picker__busy{margin:0;font-size:13px;color:var(--portal-text-muted)}.portal-booking-date-picker__toggle{display:inline-flex;align-self:flex-start;padding:4px;border-radius:999px;background:#afc4c047;border:1px solid rgba(60,80,76,.1)}.portal-booking-date-picker__toggle-btn{border:none;background:transparent;color:var(--portal-eucalyptus);font-family:var(--portal-sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease}.portal-booking-date-picker__toggle-btn.is-active{background:var(--portal-eucalyptus);color:var(--portal-cream)}.portal-booking-calendar{width:100%;max-width:20.5rem;margin-inline:auto;border-radius:16px;overflow:hidden;border:1px solid rgba(60,80,76,.12);background:var(--portal-cream-light);box-shadow:0 14px 32px -28px #3c504c66}.portal-booking-calendar__header{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:6px;padding:11px 10px;background:linear-gradient(135deg,var(--portal-teal) 0%,rgba(175,196,192,.35) 100%);border-bottom:1px solid rgba(60,80,76,.08)}.portal-booking-calendar__title{text-align:center;font-family:var(--portal-serif);font-size:18px;color:var(--portal-eucalyptus);letter-spacing:.02em}.portal-booking-calendar__nav{width:30px;height:30px;border-radius:50%;border:1px solid rgba(60,80,76,.14);background:#fbfcfae0;color:var(--portal-eucalyptus);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}.portal-booking-calendar__nav:hover:not(:disabled){background:var(--portal-cream);border-color:var(--portal-eucalyptus)}.portal-booking-calendar__nav:disabled{opacity:.35;cursor:not-allowed}.portal-booking-calendar__weekdays,.portal-booking-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:9px 8px 11px}.portal-booking-calendar__weekdays{padding-bottom:0}.portal-booking-calendar__weekday{text-align:center;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--portal-text-muted)}.portal-booking-calendar__day{aspect-ratio:1;width:100%;max-width:34px;min-height:0;margin-inline:auto;border:none;border-radius:50%;background:transparent;color:#3c504c47;font-family:var(--portal-sans);font-size:13px;display:inline-flex;align-items:center;justify-content:center;cursor:default;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.portal-booking-calendar__day.is-empty{pointer-events:none}.portal-booking-calendar__day.is-outside{opacity:.35}.portal-booking-calendar__day.is-available{background:#afc4c057;color:var(--portal-eucalyptus);cursor:pointer;font-weight:500}.portal-booking-calendar__day.is-available:hover:not(:disabled){background:#afc4c08c;transform:translateY(-1px)}.portal-booking-calendar__day.is-today:not(.is-selected){box-shadow:inset 0 0 0 2px var(--portal-brass)}.portal-booking-calendar__day.is-selected{background:var(--portal-eucalyptus);color:var(--portal-cream);box-shadow:0 10px 22px -14px #3c504ccc}.portal-booking-calendar__day.is-disabled:not(.is-empty){color:#3c504c33}.portal-booking-addons{display:grid;gap:8px}.portal-booking-addon{display:grid;gap:8px;width:100%;text-align:left;border:1px solid rgba(60,80,76,.14);background:#fff;border-radius:14px;padding:14px;color:inherit}.portal-booking-addon__select{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;cursor:pointer;border:0;background:transparent;padding:0;color:inherit;font:inherit}.portal-booking-addon.is-selected{border-color:var(--portal-eucalyptus);background:#afc4c047;box-shadow:0 0 0 1px #3c504c0f,0 8px 20px -14px #3c504c73}.portal-booking-addon__select:disabled{opacity:.65;cursor:not-allowed}.portal-booking-addon__check{width:24px;height:24px;border-radius:8px;border:1.5px solid rgba(60,80,76,.25);display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:700;color:transparent;background:#fff;margin-top:1px;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.portal-booking-addon.is-selected .portal-booking-addon__check{background:var(--portal-eucalyptus);border-color:var(--portal-eucalyptus);color:#fbfcfa;box-shadow:0 0 0 3px #afc4c08c,0 6px 14px -6px #3c504c8c}.portal-booking-addon__body{display:grid;gap:4px;min-width:0}.portal-booking-addon__name{font-size:15px;font-weight:500}.portal-booking-addon.is-selected .portal-booking-addon__name{color:var(--portal-eucalyptus)}.portal-booking-addon__desc{font-size:13px;line-height:1.4;color:var(--portal-text-muted)}.portal-booking-addon__delta{font-size:13px;font-weight:500;color:var(--portal-eucalyptus)}.portal-booking-summary{display:grid;gap:12px;padding:16px;border-radius:18px;background:#afc4c024;border:1px solid rgba(60,80,76,.1)}.portal-booking-summary__service{display:grid;gap:4px}.portal-booking-summary__label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-text-muted)}.portal-booking-summary__value{font-size:15px;font-weight:500;color:var(--portal-eucalyptus)}.portal-booking-summary__provider{display:flex;align-items:center;gap:10px}.portal-booking-summary__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#3c50481a;color:var(--portal-eucalyptus);display:grid;place-items:center;font-size:12px;font-weight:500;flex-shrink:0}.portal-booking-summary__amounts{display:grid;gap:8px;padding-top:4px;border-top:1px solid rgba(60,80,76,.1)}.portal-booking-summary__row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--portal-text-muted)}.portal-booking-summary__row--total{margin-top:4px;padding-top:10px;border-top:1px solid rgba(60,80,76,.1);color:var(--portal-eucalyptus);font-weight:500}.portal-booking-summary__row--total span:last-child{font-family:var(--portal-serif);font-size:22px}.portal-booking-summary__note{margin:0;font-size:13px;color:var(--portal-text-muted)}.portal-profile-stat--link{text-decoration:none;color:inherit;cursor:pointer}.portal-profile-stat--link:hover .portal-profile-stat-label{color:var(--portal-eucalyptus)}.portal-rewards-page{padding-top:8px;padding-bottom:48px}.portal-rewards-title{font-size:clamp(28px,4vw,36px);margin:12px 0 8px}.portal-rewards-lede{margin:0 0 24px;color:var(--portal-text-muted);line-height:1.5;max-width:36em}.portal-rewards-body{display:flex;flex-direction:column;gap:28px}.portal-rewards-section-title{margin:0 0 10px;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:var(--portal-text-muted);font-weight:600}.portal-rewards-hero-value{margin:0;font-family:var(--portal-serif);font-size:36px;color:var(--portal-eucalyptus)}.portal-rewards-empty,.portal-rewards-note,.portal-rewards-footnote{margin:0;color:var(--portal-text-muted);line-height:1.5;font-size:14px}.portal-rewards-error{color:#a33;font-size:14px}.portal-rewards-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.portal-rewards-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:16px;border:1px solid rgba(60,80,72,.1);background:var(--portal-cream-light)}.portal-rewards-list-label{font-weight:500;color:var(--portal-eucalyptus)}.portal-rewards-list-value{font-family:var(--portal-serif);font-size:18px;color:var(--portal-eucalyptus)}.portal-rewards-list-meta{margin-top:4px;font-size:13px;color:var(--portal-text-muted)}.portal-rewards-back{color:var(--portal-eucalyptus);text-decoration:none;font-size:14px;font-weight:500}.portal-rewards-back:hover{text-decoration:underline}.portal-gift-card-grid{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.portal-gift-card{position:relative;aspect-ratio:1.6 / 1;min-height:156px;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#f7f3ea;background:radial-gradient(120% 80% at 100% 0%,rgba(176,147,94,.45) 0%,transparent 55%),linear-gradient(145deg,#2f433f,#3c504c 42%,#5a726c);box-shadow:0 18px 36px #2430292e,inset 0 1px #ffffff1f}.portal-gift-card__sheen{position:absolute;inset:-20% -10% auto auto;width:70%;height:70%;background:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.04) 45%,transparent 70%);transform:rotate(12deg);pointer-events:none}.portal-gift-card__top,.portal-gift-card__footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-gift-card__brand{font-family:var(--portal-serif);font-size:22px;letter-spacing:.02em}.portal-gift-card__tag{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;opacity:.78}.portal-gift-card__balance{position:relative;font-family:var(--portal-serif);font-size:clamp(28px,4vw,34px);line-height:1;margin:8px 0}.portal-gift-card__code{font-family:var(--portal-sans);font-size:13px;letter-spacing:.18em;opacity:.88}.portal-gift-card__mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;letter-spacing:.04em;background:#fbfcfa24;border:1px solid rgba(251,252,250,.28)}.portal-card-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:14px 16px;border-radius:16px;background:#3c504c14;border:1px solid rgba(60,80,76,.12)}.portal-card-banner__copy{font-size:14px;color:var(--portal-text-muted);line-height:1.45}.portal-card-banner__copy strong{color:var(--portal-eucalyptus);font-weight:600}.portal-card-banner__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.portal-card-banner__cta{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:var(--portal-eucalyptus);color:#fff;text-decoration:none;font-size:13px;font-weight:500}.portal-card-banner__close{border:0;background:transparent;color:var(--portal-text-muted);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.portal-card-form{display:flex;flex-direction:column;gap:12px}.portal-card-form__label{font-size:12px;margin-bottom:4px;color:var(--portal-text-muted)}.portal-card-form__row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.portal-payment-methods-list{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.portal-payment-methods-item{display:none}.portal-saved-card{position:relative;aspect-ratio:1.6 / 1;min-height:156px;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#f7f3ea;background:radial-gradient(120% 80% at 100% 0%,rgba(176,147,94,.45) 0%,transparent 55%),linear-gradient(145deg,#2f433f,#3c504c 42%,#5a726c);box-shadow:0 18px 36px #2430292e,inset 0 1px #ffffff1f}.portal-saved-card__sheen{position:absolute;inset:-20% -10% auto auto;width:70%;height:70%;background:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.04) 45%,transparent 70%);transform:rotate(12deg);pointer-events:none}.portal-saved-card__chip{position:relative;width:42px;height:30px;border-radius:6px;background:#b0935e8c;border:1px solid rgba(255,255,255,.2);margin-bottom:4px}.portal-saved-card__top,.portal-saved-card__footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-saved-card__brand{font-family:var(--portal-serif);font-size:22px;letter-spacing:.02em}.portal-saved-card__tag{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;opacity:.78}.portal-saved-card__number{position:relative;margin:8px 0;font-family:var(--portal-sans);font-size:18px;font-weight:500;letter-spacing:.14em}.portal-saved-card__exp-label{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;opacity:.7}.portal-saved-card__exp{font-size:15px;font-weight:500}.portal-payment-methods-form{display:flex;flex-direction:column;gap:14px;max-width:420px}.portal-payment-methods-form__actions{display:flex;gap:10px;flex-wrap:wrap}.portal-btn--ghost{background:transparent;box-shadow:none;border:1px solid rgba(60,80,76,.18);color:var(--portal-eucalyptus)}.portal-profile-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.portal-profile-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(60,80,76,.12);background:#fbfcfab8;color:var(--portal-text-muted);font-family:var(--portal-sans);font-size:13px;font-weight:500;cursor:pointer}.portal-profile-tab.is-active{background:var(--portal-eucalyptus);border-color:var(--portal-eucalyptus);color:#fff}.portal-profile-tab__badge,.portal-profile-action-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:600;line-height:1}.portal-profile-tab__badge{background:#ffffff2e;color:inherit}.portal-profile-tab:not(.is-active) .portal-profile-tab__badge{background:#3c504c1a;color:var(--portal-eucalyptus)}.portal-profile-action-badge{margin-left:auto;margin-right:8px;background:#3c504c1a;color:var(--portal-eucalyptus)}.portal-sensitivity{margin-top:4px;padding:20px 18px;border-radius:18px;background:#ffffff8c;border:1px solid rgba(60,80,72,.1)}.portal-sensitivity__track{position:relative;height:22px;cursor:pointer;touch-action:none;outline:none}.portal-sensitivity__track:focus-visible{box-shadow:0 0 0 3px #7c5e2738;border-radius:12px}.portal-sensitivity__rail{position:absolute;left:0;right:0;top:50%;height:5px;margin-top:-2.5px;border-radius:3px;background:#3c504824}.portal-sensitivity__fill{position:absolute;left:0;top:50%;height:5px;margin-top:-2.5px;border-radius:3px;background:var(--portal-eucalyptus);max-width:100%}.portal-sensitivity__thumb{position:absolute;top:50%;width:22px;height:22px;margin-top:-11px;margin-left:-11px;border-radius:50%;background:var(--portal-cream-light, #fbfcfa);border:2px solid var(--portal-eucalyptus);box-shadow:0 2px 8px #3c504829;pointer-events:none}.portal-sensitivity__labels{display:flex;justify-content:space-between;margin-top:13px;gap:8px}.portal-sensitivity__label{flex:1;font-size:12px;color:var(--portal-text-muted);text-align:center}.portal-sensitivity__label.is-start{text-align:left}.portal-sensitivity__label.is-end{text-align:right}.portal-sensitivity__label.is-active{color:var(--portal-eucalyptus);font-weight:500}.portal-blend-paths{display:grid;gap:14px;margin-top:22px}.portal-blend-path{position:relative;text-align:left;cursor:pointer;padding:22px 22px 20px 24px;border-radius:22px;border:1px solid rgba(60,80,72,.1);background:#ffffff6b;color:inherit;font:inherit;overflow:hidden;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,transform .18s ease}.portal-blend-path:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:2px;background:transparent;transition:background .22s ease}.portal-blend-path:hover{border-color:#3c504833;background:#ffffffb3}.portal-blend-path.is-selected{border-color:#7c5e2759;background:linear-gradient(135deg,rgba(124,94,39,.08),transparent 42%),linear-gradient(165deg,#3c50481a,#fbfcfaeb);box-shadow:0 14px 36px #3c50481a,inset 0 1px #ffffff8c}.portal-blend-path.is-selected:before{background:#7c5e27;width:3px}.portal-blend-path__top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.portal-blend-path__title{font-family:var(--portal-serif);font-size:26px;line-height:1.15;color:var(--portal-eucalyptus);letter-spacing:-.02em}.portal-blend-path.is-selected .portal-blend-path__title{color:#2f403c}.portal-blend-path__badge{margin-top:7px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7c5e27;font-weight:500}.portal-blend-path__downtime{flex-shrink:0;margin-top:6px;font-size:12px;color:var(--portal-text-muted);letter-spacing:.02em}.portal-blend-path.is-selected .portal-blend-path__downtime{color:#3c5048b8}.portal-blend-path__body{margin:12px 0 0;line-height:1.55;font-size:14px;color:#5e6258}.portal-blend-path__price{margin-top:14px;font-family:var(--portal-serif);font-size:24px;color:var(--portal-eucalyptus)}.portal-blend-path__price-note{margin-top:14px;font-size:13px;color:var(--portal-text-muted)}.portal-booking-hub{display:grid;gap:0;background:var(--portal-cream-light);border:1px solid rgba(60,80,76,.14);border-radius:12px;overflow:hidden}.portal-booking-hub__item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:16px 18px;border:0;border-bottom:1px solid rgba(60,80,76,.14);background:transparent;color:inherit;font:inherit;cursor:pointer}.portal-booking-hub__item:last-child{border-bottom:0}.portal-booking-hub__item:hover{background:#dce6e28c}.portal-booking-hub__title{display:block;font-weight:600;font-size:15px;color:var(--portal-text)}.portal-booking-hub__sub{display:block;margin-top:4px;font-size:13px;color:var(--portal-text-muted)}.portal-booking-hub__chevron{color:var(--portal-text-muted);font-size:1.25rem;line-height:1}.portal-gift-amount-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-gift-amount{border:1px solid rgba(60,80,76,.14);background:var(--portal-cream-light);border-radius:12px;padding:16px;font:inherit;font-weight:500;cursor:pointer;color:var(--portal-text)}.portal-gift-amount.selected,.portal-gift-amount:hover:not(:disabled){border-color:var(--portal-eucalyptus);background:var(--portal-sage, #dce6e2)}.portal-gift-design-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-gift-design{display:grid;gap:8px;justify-items:stretch;border:1px solid rgba(60,80,76,.14);background:var(--portal-cream-light);border-radius:12px;padding:8px;font:inherit;cursor:pointer;color:var(--portal-text);text-align:left}.portal-gift-design.selected{border-color:var(--portal-eucalyptus);box-shadow:0 0 0 1px var(--portal-eucalyptus)}.portal-gift-design__swatch{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background:var(--portal-sage, #dce6e2)}.portal-gift-design__img{width:100%;height:100%;object-fit:cover;display:block}.portal-gift-design__logo{width:58%;max-height:52%;object-fit:contain;display:block}.portal-gift-design__logo--light{filter:brightness(0) invert(1)}.portal-gift-design__caption{display:block;font-size:13px;font-weight:500;line-height:1.25;padding:0 2px 2px;color:var(--portal-text)}
