:root{--hpa-navy: #0f2f4f;--hpa-navy-dark: #081829;--hpa-navy-light: #1a4a73;--hpa-green: #10b981;--hpa-green-dark: #0b7f5a;--hpa-green-light: #d1fae5;--hpa-bg: #fdfefe;--hpa-surface: #ffffff;--hpa-surface-subtle: #f7faf9;--hpa-surface-muted: #f1f4f5;--hpa-border: #e1e7ea;--hpa-border-strong: #c3cfd5;--hpa-text: #14212b;--hpa-muted: #5d6b75;--hpa-muted-strong: #3d4d58;--hpa-focus: #1a4a73;--hpa-danger: #a33a2a;--hpa-danger-bg: #fff5f2;--hpa-warning: #8a5a12;--hpa-warning-bg: #fff8e6;--hpa-success: #0b7f5a;--hpa-success-bg: #eefbf5;--radius-sm: 6px;--radius-md: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;color:var(--hpa-text);background:var(--hpa-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--hpa-bg)}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--hpa-focus) 34%,transparent);outline-offset:2px}h1,h2,h3,h4,p{overflow-wrap:anywhere}h1{margin:0;max-width:18ch;color:var(--hpa-navy-dark);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:760;line-height:1.12;letter-spacing:0}h2{margin:0;color:var(--hpa-navy-dark);font-size:1.28rem;font-weight:730;line-height:1.22;letter-spacing:0}h3{margin:0;color:var(--hpa-navy);font-size:1.05rem;font-weight:720;line-height:1.3;letter-spacing:0}h4{margin:0;color:var(--hpa-muted-strong);font-size:.98rem;font-weight:700;line-height:1.35;letter-spacing:0}.public-shell{min-height:100vh;padding:var(--space-4);background:var(--hpa-bg)}.public-panel{width:min(100%,1120px);margin:0 auto;border:0;border-radius:0;background:transparent;padding:clamp(22px,4vw,48px);box-shadow:none}.booking-panel{display:grid;gap:var(--space-8)}.provider-footnote{width:min(100%,1120px);margin:var(--space-4) auto 0;color:var(--hpa-muted);font-size:.82rem;text-align:center}.practice-header{display:grid;gap:var(--space-2);padding-bottom:var(--space-6);border-bottom:1px solid var(--hpa-border)}.eyebrow{margin:0;color:var(--hpa-navy-light);font-size:.78rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.practice-subtitle,.muted{margin:0;color:var(--hpa-muted)}.practice-subtitle{max-width:44rem;font-size:1.02rem}.section-block{display:grid;gap:var(--space-4);align-content:start}.section-heading-row{display:grid;gap:var(--space-4)}.offer-list{display:grid;gap:0;border-top:1px solid var(--hpa-border);border-bottom:1px solid var(--hpa-border)}.offer-card{width:100%;min-height:64px;display:grid;gap:6px;border:0;border-bottom:1px solid var(--hpa-border);border-left:3px solid transparent;border-radius:0;padding:14px var(--space-3);color:var(--hpa-text);background:transparent;text-align:left;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.offer-card:last-child{border-bottom:0}.offer-card:hover:not(:disabled){border-left-color:var(--hpa-border-strong);background:var(--hpa-surface-subtle)}.offer-card:disabled{cursor:wait;opacity:.72}.offer-card[aria-pressed=true]{border-left-color:var(--hpa-green);background:color-mix(in srgb,var(--hpa-green-light) 42%,white)}.offer-title{color:var(--hpa-navy-dark);font-size:1.03rem;font-weight:740;line-height:1.35}.offer-meta{color:var(--hpa-muted-strong);font-size:.92rem}.offer-description,.offer-hint{color:var(--hpa-muted);font-size:.92rem;line-height:1.45}.offer-hint{font-size:.9rem}.loading-state{min-height:48px;display:flex;align-items:center;gap:var(--space-3);color:var(--hpa-muted-strong)}.loading-dot{width:10px;height:10px;border-radius:50%;background:var(--hpa-green)}.notice{margin:0;border:1px solid var(--hpa-border);border-radius:var(--radius-md);padding:var(--space-4);color:var(--hpa-muted-strong);background:var(--hpa-surface-subtle)}.notice p{margin:0}.notice p+p{margin-top:var(--space-2)}.notice-error{display:grid;gap:var(--space-3);border-color:color-mix(in srgb,var(--hpa-danger) 34%,white);color:var(--hpa-danger);background:var(--hpa-danger-bg)}.notice-success{border-color:color-mix(in srgb,var(--hpa-success) 30%,white);color:var(--hpa-navy-dark);background:var(--hpa-success-bg)}.primary-button,.secondary-button{min-height:46px;border-radius:var(--radius-sm);padding:0 var(--space-5);cursor:pointer;font-weight:720;line-height:1.1;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.primary-button{width:100%;border:1px solid var(--hpa-green-dark);color:#fff;background:var(--hpa-green)}.primary-button:hover:not(:disabled){background:var(--hpa-green-dark)}.secondary-button{width:100%;border:1px solid var(--hpa-border-strong);color:var(--hpa-navy);background:var(--hpa-surface)}.secondary-button:hover:not(:disabled){border-color:var(--hpa-navy-light);background:var(--hpa-surface-muted)}.tertiary-button{min-height:44px;padding:0 var(--space-3);border-color:transparent;color:var(--hpa-muted-strong);background:transparent;font-size:.92rem;font-weight:680}.tertiary-button:hover:not(:disabled){border-color:var(--hpa-border);color:var(--hpa-navy);background:var(--hpa-surface-subtle)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.62}.slot-groups{display:grid;gap:var(--space-8)}.slot-day{display:grid;gap:var(--space-4)}.slot-day h4{color:var(--hpa-muted-strong);font-size:.95rem}.slot-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,92px));gap:var(--space-2) var(--space-3)}.slot-time{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hpa-border-strong);border-radius:var(--radius-sm);padding:0 var(--space-2);color:var(--hpa-navy-dark);background:var(--hpa-surface);cursor:pointer;font-weight:720;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.slot-time:hover:not(:disabled){border-color:var(--hpa-navy-light);background:var(--hpa-surface-subtle)}.slot-time[aria-pressed=true]{border-color:var(--hpa-green-dark);color:var(--hpa-navy-dark);background:color-mix(in srgb,var(--hpa-green-light) 55%,white)}.slot-time:disabled{cursor:not-allowed;opacity:.62}.hold-panel,.request-panel,.success-panel{display:grid;gap:var(--space-4);border-top:1px solid var(--hpa-border);padding-top:var(--space-5)}.hold-summary{margin:0;color:var(--hpa-navy-dark);font-weight:730}.hold-countdown{margin:0;border:1px solid color-mix(in srgb,var(--hpa-green) 30%,white);border-radius:var(--radius-md);padding:var(--space-4);color:var(--hpa-navy);background:var(--hpa-success-bg);font-weight:680}.request-form{display:grid;gap:var(--space-5)}.form-grid{display:grid;gap:var(--space-4)}.form-field,.choice-group{display:grid;gap:var(--space-2)}.form-field>span:first-child,.choice-group legend{color:var(--hpa-navy-dark);font-size:.94rem;font-weight:720}.form-field input{min-height:46px;width:100%;border:1px solid var(--hpa-border-strong);border-radius:var(--radius-sm);padding:0 var(--space-3);color:var(--hpa-text);background:var(--hpa-surface)}.form-field input:hover:not(:disabled){border-color:var(--hpa-navy-light)}.form-field input:disabled{color:var(--hpa-muted);background:var(--hpa-surface-muted)}.form-field input[aria-invalid=true]{border-color:var(--hpa-danger);background:var(--hpa-danger-bg)}.field-hint{color:var(--hpa-muted);font-size:.9rem}.field-error{margin:0;color:var(--hpa-danger);font-size:.9rem}.choice-group{margin:0;border:1px solid var(--hpa-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--hpa-surface-subtle)}.choice-group[aria-invalid=true]{border-color:var(--hpa-danger);background:var(--hpa-danger-bg)}.choice-group label{min-height:40px;display:flex;align-items:center;gap:var(--space-2);color:var(--hpa-text)}.choice-group input{width:18px;height:18px;accent-color:var(--hpa-green-dark)}@media (min-width: 700px){.public-shell{padding:var(--space-8) var(--space-6)}.section-heading-row{grid-template-columns:1fr auto;align-items:start}.primary-button,.secondary-button{width:auto;justify-self:start}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .form-field:nth-child(3){grid-column:1 / -1}.form-field-compact{max-width:320px}}@media (min-width: 960px){.booking-panel:has(.slots-section){grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);-moz-column-gap:var(--space-10);column-gap:var(--space-10);row-gap:var(--space-8);align-items:start}.booking-panel:has(.slots-section) .practice-header{grid-column:1 / -1}.booking-panel:has(.slots-section) .offers-section{grid-column:1;grid-row:2 / span 3}.booking-panel:has(.slots-section) .slots-section,.booking-panel:has(.slots-section) .hold-panel,.booking-panel:has(.slots-section) .request-panel,.booking-panel:has(.slots-section) .success-panel{grid-column:2}}
