@font-face{font-family:Geist;src:url('/v1/public/assets/geist-sans.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--surface:oklch(0.9943 0.0013 286.4);--soft:oklch(0.9789 0.0029 264.5);--soft-2:oklch(0.9605 0.0046 258.3);--line:oklch(0.9336 0.0058 264.5);
--line-strong:oklch(0.6387 0.0179 262.7);--line-control:oklch(0.9051 0.0081 253.9);--ink:oklch(0.2561 0.0139 267.0);--muted:oklch(0.5160 0.0189 262.7);
--nav:oklch(0.2033 0.0051 248.1);--nav-ink:oklch(0.9579 0.0029 264.5);--accent:oklch(0.5014 0.1829 267.0);--accent-hover:oklch(0.4648 0.1743 267.0);
--accent-press:oklch(0.4290 0.1626 267.1);--on-accent:oklch(0.9909 0.0029 264.5);--accent-soft:oklch(0.9616 0.0166 271.2);--accent-line:oklch(0.8603 0.0501 266.5);--focus:var(--accent);
--danger:oklch(0.5033 0.1793 21.8);--danger-soft:oklch(0.9634 0.0152 12.4);--danger-line:oklch(0.8616 0.0527 12.4);--success:oklch(0.4907 0.1192 151.5);
--success-soft:oklch(0.9662 0.0189 157.9);--success-line:oklch(0.8672 0.0559 157.2);--shadow:0.30 0.03 265;
--elev-1:0 1px 1px oklch(var(--shadow) / 0.05),0 1px 3px oklch(var(--shadow) / 0.06);--fs-title:24px;--lh-title:30px;--fs-section:16px;--fs-body:14px;--lh-body:21px;
--fs-dense:13px;--lh-dense:18px;--fs-meta:12px;--lh-meta:16px;--fw-medium:550;--fw-bold:600;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;
--radius-m:6px;--radius-l:10px;--radius-full:999px;--control-md:36px;--dur-press:80ms;--dur-micro:140ms;--ease-out:cubic-bezier(0.16,1,0.3,1)}
@media (pointer:coarse){:root{--control-md:44px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0.01ms!important;animation-duration:0.01ms!important}}
*{box-sizing:border-box;margin:0}
html{font-family:Geist,Arial,sans-serif;color:var(--ink);background:var(--soft);-webkit-text-size-adjust:100%}
body{font-size:var(--fs-body);line-height:var(--lh-body)}
.shell{max-width:720px;margin:0 auto;padding:var(--sp-8) var(--sp-4)}
.brand{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-dense);font-weight:var(--fw-medium);color:var(--muted);margin-bottom:var(--sp-5)}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-m);background:var(--nav);color:var(--nav-ink);font-size:var(--fs-meta);font-weight:var(--fw-bold)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--elev-1);padding:var(--sp-8)}
h1{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-bold);letter-spacing:-.01em}
.eyebrow{color:var(--accent);font-size:var(--fs-meta);line-height:var(--lh-meta);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-1)}
.lead{color:var(--muted);margin-top:var(--sp-2)}
.intro{margin-top:var(--sp-4);white-space:pre-line}
.status{margin-top:var(--sp-4);font-weight:var(--fw-medium)}
.group{border:0;padding:0;margin-top:var(--sp-5);min-width:0}
.label{display:block;font-size:var(--fs-dense);line-height:var(--lh-dense);font-weight:var(--fw-medium);margin-bottom:var(--sp-2)}
.help,.fine{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--muted);font-weight:400}
.fine{margin-top:var(--sp-3);text-align:center}
.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.chip{font:inherit;font-size:var(--fs-dense);min-height:var(--control-md);padding:0 var(--sp-3);border:1px solid var(--line-control);border-radius:var(--radius-m);background:var(--surface);color:var(--ink);cursor:pointer;
  font-variant-numeric:tabular-nums;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),transform var(--dur-press) var(--ease-out)}
.chip:hover{background:var(--soft-2)}
.chip:active{transform:translateY(1px)}
.chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-medium)}
.chip:disabled{color:var(--muted);background:var(--soft-2);cursor:not-allowed;transform:none}
.days .chip{flex-direction:column;display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:var(--sp-1) var(--sp-3);line-height:var(--lh-dense)}
.days .chip small{font-size:var(--fs-meta);color:inherit;opacity:.8}
.slots .chip{min-width:72px}
.picked{margin:var(--sp-5) 0 var(--sp-3);padding:var(--sp-3);border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-m);font-weight:var(--fw-medium)}
form{margin-top:var(--sp-5)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--sp-5)}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.wide{grid-column:1/-1}
.req{color:var(--danger)}
input:not([type=radio]),select,textarea{font:inherit;font-size:var(--fs-body);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-m);min-height:var(--control-md);padding:7px 10px;width:100%;transition:border-color var(--dur-micro) var(--ease-out)}
textarea{resize:vertical;line-height:var(--lh-body)}
input:hover,textarea:hover{border-color:var(--ink)}
input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--accent)}
input:disabled,textarea:disabled{background:var(--soft-2);color:var(--muted);cursor:not-allowed}
[aria-invalid=true]{border-color:var(--danger)}
.radio{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--control-md);cursor:pointer}
.radio input{width:18px;height:18px;accent-color:var(--accent)}
.radio input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.error{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--danger)}
.error:empty{display:none}
.alert{margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--danger-line);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-m);font-size:var(--fs-dense)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font:inherit;font-size:var(--fs-dense);font-weight:var(--fw-medium);min-height:var(--control-md);padding:0 var(--sp-4);
  border-radius:var(--radius-m);border:1px solid transparent;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out),transform var(--dur-press) var(--ease-out)}
.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.btn:active{transform:translateY(1px)}
.btn:disabled{cursor:not-allowed;transform:none}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-primary:active{background:var(--accent-press)}
.btn-primary:disabled{background:var(--soft-2);color:var(--muted);border-color:var(--line-control)}
.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger-line)}
.btn-danger:hover{background:var(--danger-soft)}
.btn-danger:disabled{color:var(--muted);border-color:var(--line-control)}
.submit{width:100%;margin-top:var(--sp-5)}
.submit[aria-busy=true]::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.link{color:var(--accent);text-underline-offset:2px}
.link:hover{color:var(--accent-hover)}
.link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-m)}
.done{text-align:center}
.done:focus{outline:none}
.done-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);background:var(--success-soft);border:1px solid var(--success-line);color:var(--success);font-size:20px;margin-bottom:var(--sp-4)}
.reference{font-size:32px;line-height:40px;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;letter-spacing:.12em;margin:var(--sp-3) 0}
.done .help{max-width:440px;margin:0 auto}
@media (max-width:760px){.shell{padding:var(--sp-5) var(--sp-4)}.card{padding:var(--sp-5)}.grid{grid-template-columns:1fr}}
/* Public booking: Cal.com desktop composition, Calendly mobile steps. */
.shell:has(.booking-card){max-width:1160px;padding-top:56px}
.booking-card{display:grid;grid-template-columns:280px minmax(0,1fr);padding:0;overflow:hidden;min-height:510px}
.booking-details{padding:32px;border-right:1px solid var(--line);background:var(--soft)}
.booking-details h1{margin-top:12px;font-size:26px;line-height:34px;letter-spacing:-.035em;overflow-wrap:anywhere}
.booking-details .advisor{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-section);line-height:24px;font-weight:var(--fw-medium)}.booking-details .lead{margin-top:16px}.booking-details .intro+.help{margin-top:var(--sp-3)}.booking-details .intro{color:var(--muted);font-size:13px;line-height:21px}
.booking-picker{min-width:0}.booking-picker>.alert{margin:20px}
.booking-schedule{display:grid;grid-template-columns:minmax(300px,1fr) 220px;min-height:510px}
.booking-calendar{padding:30px 24px}.booking-card h2{font-size:16px;line-height:24px;font-weight:600;letter-spacing:-.02em}
.month-nav{display:flex;align-items:center;justify-content:space-between;margin:26px 0 20px;gap:8px}
.month-nav h3{font-size:15px;font-weight:550;text-transform:capitalize}.month-nav>div{display:flex;gap:4px}
.month-arrow{width:32px;min-height:32px;padding:0;font-size:23px;border-color:transparent;background:transparent}
.month-arrow:disabled{background:transparent;opacity:.35}.weekdays,.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.weekdays{margin-bottom:12px;color:var(--muted);text-align:center;font-size:11px}.month-days .help{grid-column:1/-1}
.month-day{width:100%;aspect-ratio:1;min-height:38px;padding:0;border-color:transparent;background:var(--accent-soft);color:var(--accent);font-weight:550;border-radius:var(--radius-full)}
.month-day:disabled{background:transparent;color:var(--muted);opacity:.5}.month-day[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.month-day[aria-current=date]{text-decoration:underline;text-underline-offset:5px}.calendar-help{margin-top:24px}
.booking-times{padding:30px 20px;border-left:1px solid var(--line)}.booking-times h2{text-transform:capitalize}.booking-times #zone-help{margin-top:6px}
.booking-times .slots{display:flex;flex-direction:column;gap:10px;margin-top:24px;max-height:390px;overflow-y:auto;padding:3px}
.booking-times .slots .chip{width:100%;min-height:44px;color:var(--accent);font-weight:550}.booking-times .slots .chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
.booking-back{font:inherit;font-size:13px;border:0;background:transparent;cursor:pointer;padding:4px 0;margin-bottom:20px;min-height:36px;text-align:left}
#back-day{display:none}.booking-card form{padding:30px 32px;margin:0}.booking-card form h2{font-size:20px}.booking-card .picked{line-height:22px;margin-top:16px;margin-bottom:24px}.booking-card .fine{text-align:left}
.booking-card [hidden]{display:none!important}.booking-card[data-step=details] #schedule{display:none}
@media(min-width:761px) and (max-width:1050px){.booking-card{grid-template-columns:240px minmax(0,1fr)}.booking-schedule{grid-template-columns:minmax(260px,1fr) 180px}.booking-details{padding:26px 22px}.booking-calendar{padding:26px 16px}.booking-times{padding:26px 14px}}
@media(max-width:760px){.shell:has(.booking-card){padding:20px 16px}.booking-card{display:block;min-height:0;overflow:visible}.booking-details{padding:24px;border-right:0;border-bottom:1px solid var(--line);border-radius:var(--radius-l) var(--radius-l) 0 0}.booking-details h1{font-size:24px;line-height:30px;margin-top:8px}.booking-details .lead{margin-top:10px}.booking-details .intro{margin-top:12px}.booking-schedule{display:block;min-height:0}.booking-calendar{padding:24px 12px}.booking-calendar .weekdays,.booking-calendar .month-days{gap:2px}.month-nav{margin-top:22px}.month-arrow{width:44px;min-height:44px}.month-day{min-height:44px}.booking-times{border:0;padding:24px}.booking-times .slots{max-height:none;margin-top:20px}.booking-times .slots .chip{min-height:52px}.booking-card[data-step=day] .booking-times{display:none}.booking-card[data-step=time] .booking-calendar{display:none}#back-day{display:block}.booking-card form{padding:24px}.booking-card[data-step=details] .booking-details .intro,.booking-card[data-step=time] .booking-details .intro{display:none}}

