.back-home{margin-left:auto;font-size:14px}.booking{min-height:65vh;padding-block:44px 75px}.booking h1{font:400 clamp(2.25rem,4vw,3.5rem)/1.15 Georgia,serif;letter-spacing:-.04em;margin:20px 0 13px}.booking h2{font-size:1.85rem;margin-bottom:17px}.booking p{color:var(--muted)}.booking .eyebrow{margin:0}.progress{display:flex;list-style:none;padding:0;gap:24px;margin:0 0 38px}.progress li{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:9px}.progress li span{border:1px solid var(--line);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.progress li[aria-current]{color:var(--green);font-weight:700}.progress li[aria-current] span{background:var(--green);color:white;border-color:var(--green)}.booking-grid{display:grid;grid-template-columns:1fr 330px;gap:48px;align-items:start;margin-top:35px}.booking-panel,.visit-summary{border:1px solid var(--line);background:white;border-radius:3px;padding:28px}.visit-summary{background:var(--cream);position:sticky;top:120px}.visit-summary h2{font-size:25px}.visit-summary dl{margin:0}.visit-summary dl>div{padding:13px 0;border-bottom:1px solid var(--line)}.visit-summary dt{font-size:12px;color:var(--muted);margin-bottom:3px}.visit-summary dd{margin:0;font-size:15px}.visit-summary address{margin-top:20px;font-size:13px}.visit-summary .fine{margin-top:15px;font-size:12px}.providers{display:grid;gap:18px}.doctor{display:flex;gap:24px;align-items:start;border:1px solid var(--line);padding:27px;background:white;border-radius:3px}.portrait{height:116px;width:100px;object-fit:cover;border-radius:3px;background:var(--cream);flex-shrink:0}.initials{display:grid;place-items:center;font:32px Georgia,serif;color:var(--green)}.doctor h2{font-size:27px;line-height:1.25;margin:4px 0 8px}.doctor p{font-size:14px;margin:5px 0}.doctor .specialty{color:var(--rust);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.doctor .button{margin-top:19px;min-height:46px;font-size:14px}.fee-label{margin-top:14px!important;font-weight:600;color:var(--ink)!important}.button{cursor:pointer}.button:disabled{opacity:.55;transform:none;cursor:wait}.ghost{background:transparent;color:var(--green);border-color:var(--line)}.ghost:hover{background:var(--cream)}.booking label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.booking input,.booking select{width:100%;min-height:48px;border:1px solid #9bad9d;border-radius:3px;background:var(--paper);padding:11px 13px;font:16px Manrope,Arial,sans-serif;color:var(--ink)}.booking input:focus,.booking select:focus{outline:2px solid var(--green);outline-offset:2px}.field{margin-bottom:21px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}.booking-actions .link-button{border:0;background:none;color:var(--green);padding:12px 4px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:14px}.notice{border:1px solid var(--line);background:var(--cream);padding:24px}.notice h2{font-size:26px}.notice p{font-size:16px}.notice a{text-decoration:underline;text-underline-offset:4px}.error{padding:16px 20px;margin-top:24px;border:1px solid #c78570;background:#fff0e9;color:#862e13;font-size:15px}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.slot{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:13px 5px;color:var(--green);font:500 14px Manrope,Arial,sans-serif;cursor:pointer}.slot[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.slot:hover{border-color:var(--green)}.slots-heading{font-size:14px;font-weight:600;margin-top:25px}.booking .fine{font-size:13px;line-height:1.7}.booking .loading{padding:30px 0;color:var(--muted)}.pricing{padding:20px;background:var(--cream);margin-top:24px}.pricing>div{display:flex;justify-content:space-between;gap:20px;margin:6px 0;font-size:14px}.pricing .total{font-size:20px;border-top:1px solid var(--line);padding-top:15px;margin-top:15px;color:var(--green)}.auth-title{font-size:27px!important}.auth-form{margin-top:23px}.success-panel{padding:38px;border:1px solid var(--line);background:white}.success-mark{font:34px Georgia,serif;color:var(--green);margin-bottom:17px}.success-panel h2{font-size:32px}.success-panel p{margin-bottom:12px}.booking-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-block:25px;font-size:13px;color:var(--muted)}.section-help{margin-top:26px}.section-help a{text-decoration:underline}.booking .error:empty{display:none}@media(max-width:900px){.booking-grid{grid-template-columns:1fr 285px;gap:24px}.doctor{gap:18px;padding:22px}.portrait{width:75px;height:90px}.slots{grid-template-columns:repeat(3,1fr)}.booking-panel,.visit-summary{padding:22px}}@media(max-width:700px){.booking-grid{grid-template-columns:1fr;gap:25px}.visit-summary{position:static}.booking{padding-top:30px}.progress{gap:13px;margin-bottom:30px}.progress li{font-size:12px;gap:6px}.progress li span{width:25px;height:25px}.booking h1{font-size:2.5rem}.booking-footer{display:block}.booking-footer a{display:block;margin-top:10px}.back-home{font-size:12px}.doctor{gap:17px}.doctor h2{font-size:24px}.fields{grid-template-columns:1fr;gap:0}.slots{grid-template-columns:repeat(3,1fr)}.booking-panel{padding:23px}.visit-summary{order:2}.booking-actions .button{width:100%}.success-panel{padding:25px}.doctor .button{padding-inline:15px;gap:12px}.booking .fine{font-size:13px}}@media(prefers-reduced-motion:no-preference){.loading{animation:breathe 1.5s ease-in-out infinite}@keyframes breathe{50%{opacity:.55}}}

.password-field{display:flex;align-items:center;border:1px solid #9bad9d;border-radius:3px;background:var(--paper)}.booking .password-field input{border:0;min-width:0}.password-field button{border:0;background:none;color:var(--green);padding:10px 14px;cursor:pointer;font-size:13px}.date-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px;font-size:13px;color:var(--muted)}.date-navigation button{border:1px solid var(--line);background:var(--paper);padding:8px 15px;cursor:pointer;color:var(--green);border-radius:3px}.date-navigation button:disabled{opacity:.4;cursor:default}.date-choices{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:12px}.date-choices .slot{font-size:12px;line-height:1.7;padding:10px 5px}.booking-actions .link-button:disabled{opacity:.55;cursor:default}.booking-footer{gap:16px}.booking .notice[role=status]{font-size:14px}.back-home{margin-left:0}@media(max-width:700px){.date-choices{gap:5px}.date-choices .slot{font-size:11px}.booking-footer{flex-wrap:wrap}}

/* Provider cards and selected-doctor panels follow the Blume Health booking layout. */
.doctor{gap:26px;padding:28px}.portrait{display:grid;place-items:center;overflow:hidden;position:relative;width:140px;height:180px;background:var(--soft);color:var(--green);font:32px Georgia,serif;border-radius:3px;flex-shrink:0}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.portrait [hidden]{display:none!important}.visit-summary>.portrait{width:100%;height:210px;margin-bottom:20px}.visit-summary .specialty{font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--rust);text-transform:uppercase;margin-bottom:8px}.visit-summary h2{font-size:27px;line-height:1.25;margin-bottom:9px}.visit-summary .qualification{font-size:13px;margin-bottom:20px}.booking-grid.has-provider{grid-template-columns:290px minmax(0,1fr);gap:36px}.has-provider>.visit-summary{grid-column:1;grid-row:1}.has-provider>.booking-content{grid-column:2;grid-row:1;min-width:0}.booking-panel .auth-title{line-height:1.2}.auth-organization{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--rust)!important;margin-bottom:14px}.auth-methods{display:grid;gap:10px;margin-top:24px}.auth-method{display:flex;align-items:center;gap:15px;padding:16px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:3px;color:var(--green);cursor:pointer}.auth-method[aria-pressed=true]{border-color:var(--green);background:var(--soft);box-shadow:inset 3px 0 var(--green)}.auth-method:hover{background:var(--cream);border-color:var(--green)}.auth-method-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--cream);font-size:24px;flex-shrink:0}.auth-method>span:last-child{margin-left:auto}.auth-method strong{display:block;font-size:15px}.auth-method small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}.auth-form h3{font:25px Georgia,serif;margin-bottom:22px}.account-layout{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:70px;margin-top:35px;align-items:start}.account-note{padding:30px 0}.account-note h2{font-size:34px;margin-bottom:24px}.account-note p{margin-top:20px;max-width:360px}.account-note .text-link{margin-top:20px}.auth-page-intro{max-width:600px}.auth-panel .error:empty{display:none}.auth-panel .error{margin:0 0 24px}.auth-panel .auth-methods{margin-top:25px}
@media(max-width:1000px){.booking-grid.has-provider{grid-template-columns:240px minmax(0,1fr);gap:24px}.account-layout{gap:35px}.visit-summary>.portrait{height:190px}.portrait{width:110px;height:150px}.doctor{gap:20px}}
@media(max-width:700px){.booking-grid.has-provider,.account-layout{grid-template-columns:1fr;gap:22px}.has-provider>.visit-summary{grid-column:1;grid-row:1;order:0;position:static;display:grid;grid-template-columns:76px minmax(0,1fr);gap:4px 17px}.has-provider>.booking-content{grid-column:1;grid-row:2}.visit-summary>.portrait{width:76px;height:96px;margin:0;grid-row:span 3}.visit-summary .specialty{margin:0}.visit-summary h2{font-size:22px;margin:0}.visit-summary .qualification{margin:0}.visit-summary dl,.visit-summary address,.visit-summary>.fine{grid-column:1/-1}.visit-summary address{display:none}.visit-summary>.fine{margin-top:8px}.visit-summary dl>div{padding:9px 0}.doctor .portrait{width:84px;height:114px}.doctor{padding:20px;gap:17px}.doctor h2{font-size:23px}.doctor .button{margin-left:-101px;min-width:calc(100% + 101px);margin-top:24px}.doctor .fine{font-size:12px}.auth-method{padding:14px;gap:12px}.account-note{padding:8px 0}.account-note h2{font-size:28px}.auth-panel{padding:23px}.auth-title{font-size:25px!important}}

.auth-methods.is-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.is-compact .auth-method{justify-content:center;text-align:center;padding:12px 5px;min-width:0}.is-compact .auth-method-icon,.is-compact .auth-method small,.is-compact .auth-method>span:last-child{display:none}.is-compact .auth-method strong{font-size:13px}.auth-page .booking{padding-top:28px}.auth-page .booking h1{font-size:42px;margin:12px 0}.auth-page .account-layout{margin-top:24px}.auth-page .auth-panel{padding:24px}.auth-page .auth-panel .auth-title{font-size:25px!important}.auth-page .auth-methods{margin-top:20px}.auth-page .auth-method{padding:12px 16px}.auth-page .is-compact .auth-method{padding:12px 5px}.auth-page .auth-method-icon{width:32px;height:32px}@media(max-width:700px){.auth-page .booking h1{font-size:36px}.auth-page .auth-panel{padding:20px}.auth-page .auth-panel .auth-title{font-size:24px!important}.auth-method strong{font-size:14px}.auth-method small{font-size:11px}.is-compact .auth-method strong{font-size:12px}}

@media(max-width:700px){.has-provider>.visit-summary .summary-specialty,.has-provider>.visit-summary .summary-clinic,.has-provider>.visit-summary>.fine{display:none}.booking-grid:not(.has-provider)>.visit-summary{display:none}}
