:root{--teal-50:#edf7f8;--teal-100:#c7e4e8;--teal-200:#9ad0d7;--teal-300:#5fb4bf;--teal-400:#2b98a6;--teal-500:#087e8b;--teal-600:#076a75;--teal-700:#055460;--teal-800:#043f48;--teal-900:#022a31;--white:#fff;--warm-50:#fafafa;--warm-100:#f4f4f3;--warm-200:#e8e8e6;--warm-300:#d3d3d0;--warm-400:#a8a9a4;--warm-500:#7a7c75;--warm-600:#53544e;--navy-700:#1e3558;--navy-800:#122a47;--navy-900:#0b2545;--coral-50:#fdece7;--coral-100:#fbd2c6;--coral-300:#f08970;--coral-500:#e55934;--coral-600:#c94724;--coral-700:#9c351b;--success-500:#2e7d51;--success-100:#ddf0e4;--warning-500:#d39212;--warning-100:#fbefd1;--danger-500:#c0392b;--danger-100:#f7d7d2;--info-500:#2a6db0;--info-100:#dce8f3;--bg-page:var(--warm-50);--bg-surface:var(--white);--bg-sunken:var(--warm-100);--bg-inverse:var(--navy-900);--bg-brand:var(--teal-500);--bg-brand-soft:var(--teal-50);--bg-cta:var(--coral-500);--fg-primary:var(--navy-900);--fg-secondary:var(--navy-700);--fg-tertiary:var(--warm-600);--fg-muted:var(--warm-500);--fg-on-brand:var(--white);--fg-on-cta:var(--white);--fg-brand:var(--teal-500);--fg-cta:var(--coral-500);--fg-link:var(--teal-600);--border-subtle:var(--warm-200);--border-default:var(--warm-300);--border-strong:var(--navy-900);--border-brand:var(--teal-500);--font-serif:"Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-28:28px;--fs-32:32px;--fs-36:36px;--fs-44:44px;--fs-56:56px;--lh-tight:1.1;--lh-snug:1.25;--lh-normal:1.5;--lh-loose:1.7;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--ls-tight:-.02em;--ls-snug:-.01em;--ls-normal:0;--ls-wide:.04em;--ls-wider:.08em;--s-0:0;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--r-xs:2px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:24px;--r-pill:999px;--shadow-xs:0 1px 2px #0b25450a;--shadow-sm:0 1px 3px #0b25450f, 0 1px 2px #0b25450a;--shadow-md:0 4px 10px #0b254512, 0 2px 4px #0b25450a;--shadow-lg:0 10px 24px #0b254517, 0 4px 8px #0b25450a;--shadow-focus:0 0 0 3px #087e8b3d;--shadow-focus-cta:0 0 0 3px #e5593447;--ease-standard:cubic-bezier(.2, .8, .2, 1);--ease-emphasized:cubic-bezier(.3, 0, 0, 1);--dur-fast:.12s;--dur-normal:.2s;--dur-slow:.32s}.pc-body,body{font-family:var(--font-sans);font-size:var(--fs-16);line-height:var(--lh-normal);color:var(--fg-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.pc-display,.pc-h1{font-family:var(--font-serif);font-size:var(--fs-56);line-height:var(--lh-tight);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);font-variation-settings:"opsz" 48;color:var(--fg-primary)}.pc-h2{font-family:var(--font-serif);font-size:var(--fs-44);line-height:var(--lh-tight);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);font-variation-settings:"opsz" 36;color:var(--fg-primary)}.pc-h3{font-family:var(--font-serif);font-size:var(--fs-36);line-height:var(--lh-snug);font-weight:var(--fw-semibold);letter-spacing:var(--ls-snug);font-variation-settings:"opsz" 24;color:var(--fg-primary)}.pc-h4{font-family:var(--font-serif);font-size:var(--fs-28);line-height:var(--lh-snug);font-weight:var(--fw-semibold);color:var(--fg-primary)}.pc-title{font-family:var(--font-sans);font-size:var(--fs-18);font-weight:var(--fw-semibold);letter-spacing:var(--ls-snug);color:var(--fg-primary)}.pc-lead{font-family:var(--font-sans);font-size:var(--fs-20);line-height:var(--lh-loose);color:var(--fg-secondary);font-weight:var(--fw-regular)}.pc-p,p{font-family:var(--font-sans);font-size:var(--fs-16);line-height:var(--lh-normal);color:var(--fg-secondary)}.pc-small{font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-normal);color:var(--fg-tertiary)}.pc-caption{font-family:var(--font-sans);font-size:var(--fs-12);line-height:var(--lh-snug);color:var(--fg-tertiary);letter-spacing:var(--ls-snug)}.pc-eyebrow{font-family:var(--font-sans);font-size:var(--fs-12);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--fg-brand)}.pc-stat{font-family:var(--font-serif);font-size:var(--fs-36);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--fg-primary)}.pc-data{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-weight:var(--fw-medium);color:var(--fg-primary)}.pc-code,code{font-family:var(--font-mono);color:var(--fg-primary);background:var(--bg-sunken);border-radius:var(--r-sm);padding:2px 6px;font-size:.92em}.pc-link,a{color:var(--fg-link);text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-standard);text-decoration:underline;text-decoration-thickness:1px}.pc-link:hover,a:hover{color:var(--teal-700);text-decoration-thickness:2px}
*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}img,svg{max-width:100%;display:block}body{font-family:var(--font-sans);font-size:var(--fs-16);line-height:var(--lh-normal);color:var(--fg-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}a{color:var(--fg-link);text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-standard);text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--teal-700);text-decoration-thickness:2px}a.unstyled{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.4}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--r-sm);outline:none}.container{max-width:1200px;padding:0 var(--s-6);margin:0 auto}@media (max-width:720px){.container{padding:0 var(--s-4)}}.topnav{z-index:50;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);background:#ffffffd9;position:sticky;top:0}.topnav-inner{align-items:center;gap:var(--s-6);height:72px;display:flex}.topnav-logo{align-items:center;gap:var(--s-2);font-family:var(--font-serif);font-size:var(--fs-20);font-weight:var(--fw-semibold);color:var(--fg-primary);flex-shrink:0;text-decoration:none;display:flex}.topnav-logo small{font-family:var(--font-sans);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--fg-tertiary);margin-top:2px;font-size:10px;line-height:1;display:block}.topnav-links{gap:var(--s-6);flex:1;justify-content:center;display:flex}.topnav-links a{color:var(--fg-secondary);font-size:var(--fs-14);font-weight:var(--fw-medium);text-decoration:none}.topnav-links a.active,.topnav-links a:hover{color:var(--fg-brand)}.topnav-actions{gap:var(--s-2);flex-shrink:0;display:flex}@media (max-width:920px){.topnav-links{display:none}}.btn{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-md);font-weight:var(--fw-semibold);font-size:var(--fs-14);white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);cursor:pointer;border:1px solid #0000;padding:12px 18px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--bg-cta);color:var(--fg-on-cta)}.btn-primary:hover{background:var(--coral-600);color:var(--fg-on-cta)}.btn-primary:active{box-shadow:var(--shadow-xs);transform:translateY(1px)}.btn-primary:focus-visible{box-shadow:var(--shadow-focus-cta)}.btn-brand{background:var(--bg-brand);color:var(--fg-on-brand)}.btn-brand:hover{background:var(--teal-600);color:var(--fg-on-brand)}.btn-brand:focus-visible{box-shadow:var(--shadow-focus)}.btn-ghost{color:var(--fg-brand);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-brand-soft);color:var(--fg-brand)}.btn-secondary{background:var(--bg-surface);color:var(--fg-primary);border-color:var(--border-default)}.btn-secondary:hover{background:var(--bg-sunken);color:var(--fg-primary)}.btn-lg{font-size:var(--fs-16);padding:14px 24px}.btn-block{width:100%}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--s-6);transition:box-shadow var(--dur-fast) var(--ease-standard)}.card-hover:hover{box-shadow:var(--shadow-md)}@media (max-width:720px){.card{padding:var(--s-4)}}.hero{background:linear-gradient(180deg, var(--teal-500) 0%, var(--teal-700) 100%);color:var(--fg-on-brand);padding:var(--s-16) 0 var(--s-20);position:relative;overflow:hidden}.hero h1{font-family:var(--font-serif);font-size:clamp(36px,6vw,56px);line-height:var(--lh-tight);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);margin:0 0 var(--s-4);font-variation-settings:"opsz" 48;max-width:720px}.hero-lead{font-size:var(--fs-20);line-height:var(--lh-loose);opacity:.92;max-width:620px;margin:0 0 var(--s-8)}.hero-actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.hero .btn-primary:hover{background:var(--coral-600)}.hero-meta{margin-top:var(--s-12);gap:var(--s-8);padding-top:var(--s-6);font-size:var(--fs-14);opacity:.88;border-top:1px solid #ffffff24;flex-wrap:wrap;display:flex}.hero-meta strong{font-weight:var(--fw-semibold);margin-bottom:2px;display:block}.section{padding:var(--s-16) 0}.section-tight{padding:var(--s-12) 0}.section-h{margin-bottom:var(--s-8);justify-content:space-between;align-items:baseline;gap:var(--s-4);flex-wrap:wrap;display:flex}.section-h h2{font-family:var(--font-serif);font-size:var(--fs-36);line-height:var(--lh-snug);font-weight:var(--fw-semibold);letter-spacing:var(--ls-snug);color:var(--fg-primary);margin:0}.eyebrow{font-size:var(--fs-12);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--fg-brand)}.grid{gap:var(--s-6);display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:920px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr}}.split{gap:var(--s-12);align-items:start;display:grid}.split-narrow-wide{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.split-wide-narrow{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.split-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:760px){.split-narrow-wide,.split-wide-narrow,.split-even{grid-template-columns:1fr}.split{gap:var(--s-6)}}.service-tile{padding:var(--s-6)}.service-tile h3{font-family:var(--font-serif);font-size:var(--fs-20);font-weight:var(--fw-semibold);margin:var(--s-4) 0 var(--s-2);color:var(--fg-primary)}.service-tile p{color:var(--fg-secondary);font-size:var(--fs-14);margin:0 0 var(--s-4)}.service-tile .icon{width:40px;height:40px;color:var(--fg-brand)}.service-tile a.more{color:var(--fg-brand);font-size:var(--fs-14);font-weight:var(--fw-semibold);text-decoration:none}.service-tile a.more:hover{text-decoration:underline}.doctor-card{padding:var(--s-6);gap:var(--s-3);flex-direction:column;display:flex}.doctor-card .photo{aspect-ratio:4/3;border-radius:var(--r-md);background:var(--warm-100) center/cover no-repeat;width:100%;color:var(--fg-tertiary);font-size:var(--fs-12);letter-spacing:var(--ls-wider);text-transform:uppercase;place-items:center;display:grid}.doctor-card h3{font-family:var(--font-serif);font-size:var(--fs-24);font-weight:var(--fw-semibold);margin:0}.doctor-card .role{color:var(--fg-secondary);font-size:var(--fs-14);margin:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font-size:var(--fs-12);font-weight:var(--fw-medium);border-radius:var(--r-pill);background:var(--warm-100);color:var(--fg-secondary);border:1px solid var(--border-subtle);white-space:nowrap;align-items:center;padding:3px 10px;display:inline-flex}.chip-brand{background:var(--bg-brand-soft);color:var(--teal-700);border-color:#0000}.footer{background:var(--navy-900);color:#ffffffc7;padding:var(--s-16) 0 var(--s-8);margin-top:var(--s-20)}.footer-grid{gap:var(--s-8);margin-bottom:var(--s-12);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer h4{font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:#fff;margin:0 0 var(--s-3)}.footer ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.footer a{color:#ffffffb3;font-size:var(--fs-14);text-decoration:none}.footer a:hover{color:#fff}.footer-brand{font-family:var(--font-serif);font-size:var(--fs-20);font-weight:var(--fw-semibold);color:#fff;margin:0 0 var(--s-3)}.footer-bottom{padding-top:var(--s-6);font-size:var(--fs-12);color:#fff9;justify-content:space-between;gap:var(--s-3);border-top:1px solid #ffffff1f;flex-wrap:wrap;display:flex}@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--fg-primary)}.field .help{font-size:var(--fs-12);color:var(--fg-tertiary)}.field input,.field textarea,.field select{font-family:inherit;font-size:var(--fs-16);border-radius:var(--r-md);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-primary);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);padding:12px 14px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal-500);box-shadow:var(--shadow-focus);outline:none}.field textarea{resize:vertical;min-height:96px}.field-error{color:var(--danger-500);font-size:var(--fs-14)}.stepper{gap:var(--s-3);padding:var(--s-3) 0 var(--s-6);flex-wrap:wrap;align-items:center;display:flex}.stepper-step{font-size:var(--fs-14);color:var(--fg-tertiary);flex-shrink:0;align-items:center;gap:8px;display:flex}.stepper-step .num{background:var(--warm-100);width:24px;height:24px;color:var(--fg-tertiary);font-size:var(--fs-12);font-weight:var(--fw-semibold);border-radius:50%;place-items:center;display:grid}.stepper-step.active .num{background:var(--teal-500);color:#fff}.stepper-step.done .num{background:var(--success-500);color:#fff}.stepper-step.active{color:var(--fg-primary);font-weight:var(--fw-semibold)}.stepper-divider{background:var(--border-subtle);flex:1;min-width:12px;height:1px}.slot-days{gap:var(--s-2);padding:4px 0 var(--s-2);display:flex;overflow-x:auto}.slot-day{border-radius:var(--r-md);border:1px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;text-align:left;min-width:88px;transition:all var(--dur-fast);flex-shrink:0;padding:12px}.slot-day:hover{border-color:var(--teal-300)}.slot-day.selected{border-color:var(--teal-500);background:var(--bg-brand-soft)}.slot-day.disabled{opacity:.4;cursor:not-allowed}.slot-day .dow{font-size:var(--fs-12);color:var(--fg-tertiary);text-transform:uppercase;letter-spacing:var(--ls-wider)}.slot-day .dom{font-family:var(--font-serif);font-size:var(--fs-24);font-weight:var(--fw-semibold);color:var(--fg-primary);margin:4px 0;line-height:1}.slot-day .count{font-size:var(--fs-12);color:var(--fg-tertiary)}.slot-times{gap:var(--s-2);margin-top:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.slot-time{border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-surface);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-14);transition:all var(--dur-fast);padding:10px}.slot-time:hover{border-color:var(--teal-300)}.slot-time.selected{border-color:var(--teal-500);background:var(--bg-brand-soft);color:var(--teal-700);font-weight:var(--fw-semibold)}.slot-time.disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.callout{padding:var(--s-4);border-radius:var(--r-md);background:var(--bg-brand-soft);border-left:3px solid var(--teal-500);color:var(--fg-secondary);font-size:var(--fs-14)}.callout-warn{background:var(--warning-100);border-left-color:var(--warning-500)}.callout-success{background:var(--success-100);border-left-color:var(--success-500)}.callout-error{background:var(--danger-100);border-left-color:var(--danger-500)}.kbd-otp{font-family:var(--font-mono);font-size:var(--fs-32);letter-spacing:.4em;text-align:center;border:1px solid var(--border-default);border-radius:var(--r-md);width:100%;padding:16px}.divider{background:var(--border-subtle);height:1px;margin:var(--s-6) 0}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
