:root{color-scheme:dark;--ink: #e6ebf2;--ink-soft: #a9b5c6;--ink-faint: #7f8ca0;--line: #2a3546;--line-soft: #1e2735;--page: #0c121c;--surface: #121a27;--card: #161f2e;--field: #0f1622;--header-bg: rgba(12, 18, 28, .88);--brand: #3d6bf0;--brand-dark: #2f5ad6;--brand-wash: #17254a;--brand-line: #2c4380;--accent: #8cadff;--on-brand: #ffffff;--available: #4fd1b2;--available-ink: #a3eedb;--available-bg: #0f2c28;--available-line: #1f5a4f;--booked: #3d6bf0;--booked-dark: #2a4fc0;--booked-bg: #16244a;--booked-line: #2c4380;--blocked: #8592a6;--blocked-bg: #1b2432;--danger: #f2858c;--danger-bg: #2f1417;--danger-line: #5c2329;--danger-fill: #c9343d;--danger-fill-hover: #a92a32;--warn: #eab858;--warn-bg: #2b2211;--warn-line: #5a4519;--today-bg: #141e30;--video-bg: #070b12;--radius: 10px;--radius-lg: 16px;--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .35);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-theme=light]{color-scheme:light;--ink: #0f1b2d;--ink-soft: #46586f;--ink-faint: #7b8aa0;--line: #dfe5ee;--line-soft: #eef2f7;--page: #ffffff;--surface: #f6f8fb;--card: #ffffff;--field: #ffffff;--header-bg: rgba(255, 255, 255, .9);--brand: #1d4ed8;--brand-dark: #1739a8;--brand-wash: #eef3ff;--brand-line: #cddcff;--accent: #1d4ed8;--on-brand: #ffffff;--available: #10796a;--available-ink: #0b5b50;--available-bg: #e6f5f1;--available-line: #bfe3da;--booked: #1d4ed8;--booked-dark: #14349c;--booked-bg: #e5edff;--booked-line: #c7d7ff;--blocked: #66758b;--blocked-bg: #dce1e9;--danger: #b4232c;--danger-bg: #fdecec;--danger-line: #f3c9cb;--danger-fill: #b4232c;--danger-fill-hover: #8e1b22;--warn: #8a5a00;--warn-bg: #fdf4e3;--warn-line: #efd9a8;--today-bg: #fbfcfe;--video-bg: #0f1b2d;--shadow: 0 1px 2px rgba(15, 27, 45, .06), 0 8px 24px rgba(15, 27, 45, .06)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--page);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.2rem}p{margin:0 0 1em}a{color:var(--accent)}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint);font-size:.875rem}.center{text-align:center}.stack{display:grid;gap:1rem}.stack-sm{display:grid;gap:.5rem}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.row-between{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.grow{flex:1}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem}.wrap{width:min(1120px,calc(100% - 3rem));margin-inline:auto}.wrap-narrow{width:min(640px,calc(100% - 3rem));margin-inline:auto}.site-header{position:sticky;top:0;z-index:30;background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink);text-decoration:none;font-size:1.05rem}.brand-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--brand);color:var(--on-brand);font-size:1rem}.site-footer{border-top:1px solid var(--line);margin-top:5rem;padding:2.5rem 0;color:var(--ink-soft);font-size:.9rem}@media (max-width: 640px){.wrap,.wrap-narrow{width:calc(100% - 2rem)}.site-header .wrap,.app-header .wrap{height:auto;min-height:60px;padding-block:.6rem;flex-wrap:wrap;row-gap:.5rem}.brand{white-space:nowrap}.site-header nav{gap:.5rem}.site-header nav .btn.ghost{display:none}.btn{padding:.55rem .9rem;font-size:.9rem}.app-nav{order:3;width:100%;overflow-x:auto}.app-header .wrap>.row:last-child .faint{display:none}.toolbar{flex-direction:column;align-items:stretch}.toolbar .btn{width:100%}.legend{justify-content:space-between}.modal-foot{flex-direction:column-reverse}.modal-foot .btn{width:100%}.modal-foot .grow{display:none}th,td{padding:.6rem .5rem}.calendar-host{padding:.5rem}.fc .fc-toolbar{flex-wrap:wrap;gap:.5rem}.fc .fc-toolbar-title{font-size:1rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.15rem;border-radius:var(--radius);border:1px solid transparent;background:var(--brand);color:var(--on-brand);font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--brand-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--card);color:var(--ink);border-color:var(--line)}.btn.secondary:hover:not(:disabled){background:var(--surface)}.btn.ghost{background:transparent;color:var(--accent)}.btn.ghost:hover:not(:disabled){background:var(--brand-wash)}.btn.danger{background:var(--danger-fill)}.btn.danger:hover:not(:disabled){background:var(--danger-fill-hover)}.btn.small{padding:.4rem .7rem;font-size:.85rem}.btn.large{padding:.85rem 1.6rem;font-size:1.05rem}label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.3rem}.hint{font-weight:400;color:var(--ink-faint);font-size:.85rem}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]),select,textarea{width:100%;padding:.6rem .75rem;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--radius)}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}textarea{min-height:96px;resize:vertical}.label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.3rem}.quote{margin:0 0 .5rem;padding:.75rem 1rem;border-left:3px solid var(--brand);background:var(--brand-wash);border-radius:0 8px 8px 0}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin:0}legend{font-weight:600;font-size:.9rem;padding-inline:.4rem}.field-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem}.card.flush{padding:0;overflow:hidden}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.notice{padding:.75rem 1rem;border-radius:var(--radius);border:1px solid;font-size:.92rem}.notice.error{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-line)}.notice.ok{color:var(--available);background:var(--available-bg);border-color:var(--available-line)}.notice.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}.notice.info{color:var(--accent);background:var(--brand-wash);border-color:var(--brand-line)}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid}.pill.available{color:var(--available);background:var(--available-bg);border-color:var(--available-line)}.pill.booked{color:var(--booked);background:var(--booked-bg);border-color:var(--booked-line)}.pill.blocked{color:var(--blocked);background:var(--blocked-bg);border-color:var(--line)}.pill.danger{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-line)}.pill.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem 1rem;border-bottom:1px solid var(--line-soft);font-size:.93rem}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint)}tbody tr:last-child td{border-bottom:none}.hero{padding:clamp(3rem,8vw,6rem) 0 3rem}.hero-grid{display:grid;gap:3rem;align-items:center;grid-template-columns:1fr}@media (min-width: 900px){.hero-grid{grid-template-columns:1.05fr 1fr}}.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--brand-wash);padding:.3rem .7rem;border-radius:999px;margin-bottom:1rem}.lede{font-size:1.15rem;color:var(--ink-soft);max-width:60ch}.video-frame{position:relative;padding-top:56.25%;border-radius:var(--radius-lg);overflow:hidden;background:var(--video-bg);box-shadow:var(--shadow)}.video-frame iframe,.video-frame video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.video-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;color:#fff;gap:.5rem;padding:2rem}.section{padding:3.5rem 0}.section.tinted{background:var(--surface);border-block:1px solid var(--line)}.cols{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.problem{border-left:3px solid var(--danger);padding-left:1rem}.solution{border-left:3px solid var(--available);padding-left:1rem}.step-number{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:var(--on-brand);font-weight:700;font-size:.9rem;flex:none}.price{font-size:3rem;font-weight:700;letter-spacing:-.03em}.price small{font-size:1rem;font-weight:500;color:var(--ink-soft);letter-spacing:0}.price .list-price{font-size:1.5rem;font-weight:500;color:var(--ink-faint);letter-spacing:0}.promo{margin:.5rem 0 .75rem}.pill.promo-pill{color:var(--available);background:var(--available-bg);border-color:var(--available-line);font-weight:600}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.checklist li{display:flex;gap:.6rem;align-items:flex-start}.checklist li:before{content:"✓";color:var(--available);font-weight:700}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-header{border-bottom:1px solid var(--line);background:var(--card)}.app-header select.practice-switcher{width:auto;max-width:16rem;padding:.15rem .4rem;font-weight:700;border-color:transparent;background:transparent;cursor:pointer}.app-header select.practice-switcher:hover{border-color:var(--line)}.app-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem}.app-nav{display:flex;gap:.25rem}.app-nav a{padding:.45rem .8rem;border-radius:var(--radius);text-decoration:none;color:var(--ink-soft);font-weight:600;font-size:.92rem}.app-nav a:hover{background:var(--surface);color:var(--ink)}.app-nav a.active{background:var(--brand-wash);color:var(--accent)}.app-main{flex:1;padding:2rem 0 4rem}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem}.toolbar label{margin-bottom:.2rem}.calendar-help{margin:0;padding-left:1.25rem;display:grid;gap:.2rem}.calendar-help strong{color:var(--ink-soft)}.legend{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;font-size:.85rem}.legend-swatch{width:14px;height:14px;border-radius:4px;border:1px solid;display:inline-block;vertical-align:-2px;margin-right:.35rem}.legend-swatch.available{background:var(--available-bg);border-color:var(--available)}.legend-swatch.booked{background:var(--booked);border-color:var(--booked-dark)}.legend-swatch.blocked{background:var(--blocked-bg);border-color:var(--blocked)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#050a1299;padding:1.5rem}.modal{width:min(560px,100%);max-height:90vh;overflow-y:auto;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:1.5rem}.modal-foot{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.5rem;border-top:1px solid var(--line);background:var(--surface);flex-wrap:wrap}.icon-btn{background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--ink-faint);padding:.2rem}.theme-toggle{width:36px;height:36px;flex:none;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);font-size:1.05rem;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease}.theme-toggle:hover{background:var(--surface)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calendar-host{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem}.fc{--fc-border-color: var(--line-soft);--fc-today-bg-color: var(--today-bg);--fc-page-bg-color: var(--card);--fc-neutral-bg-color: var(--surface);--fc-neutral-text-color: var(--ink-faint);--fc-list-event-hover-bg-color: var(--surface);--fc-highlight-color: var(--brand-wash);font-size:.9rem}.fc .fc-toolbar-title{font-size:1.15rem;font-weight:700}.fc .fc-button{background:var(--card);border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.85rem;text-transform:capitalize;box-shadow:none}.fc .fc-button:hover{background:var(--surface)}.fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.fc-event{cursor:pointer;border-radius:6px;font-size:.8rem}.slot-available{background:var(--available-bg)!important;border:1px solid var(--available)!important;color:var(--available-ink)!important}.slot-booked{background:var(--booked)!important;border:1px solid var(--booked-dark)!important;color:var(--on-brand)!important;font-weight:600}.slot-blocked{background:var(--blocked-bg)!important;border:1px dashed var(--blocked)!important;color:var(--ink-soft)!important}.slot-past{opacity:.45}.fc .fc-event-mirror{background:var(--available-bg)!important;border:1px dashed var(--available)!important;color:var(--available-ink)!important}.fc .fc-event .fc-event-main,.fc .fc-event .fc-event-time,.fc .fc-event .fc-event-title{color:inherit}.slot-selected{box-shadow:0 0 0 2px var(--ink) inset}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:var(--card);padding:.6rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.legal h2{font-size:1.15rem;margin:1.5rem 0 .5rem}.legal p{line-height:1.65}.agreement-list{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}.agreement-list li{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:baseline}
