body:has(.native-booking){background:var(--color-ivory)}.public-site .native-booking,.native-booking{--booking-accent:var(--color-ink);--booking-border:var(--color-line);color:var(--color-ink);background:var(--color-ivory);min-height:100svh;padding:clamp(120px,12vw,160px) 24px 72px}.native-booking .booking-card{border:1px solid var(--color-line);background:var(--color-surface);border-radius:24px;width:min(100%,800px);margin-inline:auto;padding:52px 40px 34px;box-shadow:0 16px 40px #1720330a,0 3px 6px #17203308}.native-booking .booking-heading{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.native-booking .booking-heading h2{letter-spacing:-.035em;color:var(--color-ink);margin:0;font-size:clamp(26px,3vw,32px);font-weight:700;line-height:1.25}.native-booking .booking-duration{color:var(--booking-accent);background:var(--color-ivory-soft);white-space:nowrap;border-radius:99px;align-items:center;gap:7px;padding:4px 13px;font-size:21px;font-weight:650;line-height:1.4;display:inline-flex}.native-booking .booking-plan{text-align:center;color:var(--color-muted);margin:15px 0 0;font-size:14px}.native-booking .booking-progress{grid-template-columns:1fr 1fr;gap:7px;margin:20px 0;padding:0;list-style:none;display:grid}.native-booking .booking-progress li{background:var(--booking-border);border-radius:4px;height:5px}.native-booking .booking-progress .is-complete{background:var(--booking-accent)}.native-booking [hidden]{display:none!important}.native-booking .booking-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.native-booking .booking-section-heading h2{text-transform:none;letter-spacing:.055em;color:var(--color-muted);font-size:19px;font-weight:650;line-height:1.35}.native-booking .booking-date-navigation{gap:4px;display:flex}.native-booking .booking-arrow{width:30px;height:30px;color:var(--color-muted);border-radius:8px;place-items:center;display:grid}.native-booking .booking-arrow:hover{background:var(--color-ivory-soft);color:var(--booking-accent)}.native-booking .booking-dates{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.native-booking .booking-date{border:2px solid var(--booking-border);background:var(--color-surface);min-height:104px;color:var(--color-muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:15px 5px;display:flex}.native-booking .booking-date span:first-child{text-transform:none;font-size:18px;font-weight:700}.native-booking .booking-date strong{color:var(--color-ink);letter-spacing:-.035em;font-size:34px;font-weight:700;line-height:1.1}.native-booking .booking-date span:last-child{font-size:18px;line-height:1.3}.native-booking .booking-date[aria-pressed=true]{color:var(--color-surface);background:var(--booking-accent);border-color:var(--booking-accent)}.native-booking .booking-date[aria-pressed=true] strong{color:var(--color-surface)}.native-booking .booking-time-heading{margin-top:26px;margin-bottom:16px}.native-booking .booking-time-heading h2{letter-spacing:.02em}.native-booking .booking-timezone{color:var(--color-muted);border-radius:5px;flex-shrink:0;padding:6px 0 6px 8px;font-size:17px;font-weight:600;position:relative}.native-booking .booking-timezone select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.native-booking .booking-timezone:focus-within{outline:2px solid var(--booking-accent);outline-offset:3px}.native-booking .booking-times{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.native-booking .booking-button{border:2px solid var(--booking-border);min-height:52px;color:var(--color-ink);background:var(--color-surface);text-align:center;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:16px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.native-booking .booking-button:hover,.native-booking .booking-date:hover{border-color:var(--booking-accent)}.native-booking .booking-time{min-height:63px;padding:10px;font-size:18px;font-weight:500}.native-booking .booking-primary,.native-booking .booking-button[aria-pressed=true]{color:var(--color-surface);background:var(--booking-accent);border-color:var(--booking-accent)}.native-booking .booking-primary:hover{color:var(--color-surface);background:var(--color-ink-soft);border-color:var(--color-ink-soft)}.native-booking button{cursor:pointer}.native-booking button:disabled{opacity:.4;cursor:not-allowed}.native-booking .booking-empty{text-align:center;color:var(--color-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:220px;padding:45px 24px;display:flex}.native-booking .booking-empty h3{color:var(--color-ink);font-size:20px;font-weight:600}.native-booking .booking-empty p{max-width:430px;font-size:15px;line-height:1.6}.native-booking .booking-empty svg{color:var(--booking-accent)}.native-booking .booking-error{color:#9f1239;background:#fff1f2;border:1px solid #fecaca;border-radius:12px;margin:20px 0;padding:16px;font-size:15px}.native-booking .booking-selection{background:var(--color-ivory-soft);border-radius:12px;align-items:center;gap:20px;margin:-15px 0 25px;padding:20px 24px;display:flex}.native-booking .booking-selection-icon{background:var(--color-ivory-soft);color:var(--booking-accent);border-radius:15px;padding:15px;display:flex}.native-booking .booking-selection strong{font-size:18px;font-weight:650;line-height:1.4}.native-booking .booking-selection p{color:var(--color-muted);margin-top:2px;font-size:20px}.native-booking .booking-details fieldset{border:0;flex-direction:column;gap:21px;min-width:0;margin:0;padding:0;display:flex}.native-booking .booking-details label{text-transform:none;letter-spacing:.035em;color:var(--color-muted);font-size:18px;font-weight:650;line-height:1.35;display:block}.native-booking .booking-name-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.native-booking .booking-details :is(input:not([type=checkbox]),select,textarea){border:2px solid var(--booking-border);width:100%;min-width:0;color:var(--color-ink);background-color:var(--color-surface);letter-spacing:-.025em;text-transform:none;border-radius:14px;margin-top:6px;padding:17px 23px;font-size:18px;font-weight:400;line-height:1.45;display:block}.native-booking .booking-details input::placeholder{color:var(--color-muted);opacity:1}.native-booking .booking-details select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m5 7 5 5 5-5'/%3E%3C/svg%3E");background-position:right 20px center;background-repeat:no-repeat;padding-right:48px}.native-booking .booking-details :is(input,select,textarea):focus-visible{outline:3px solid var(--color-line);outline-offset:2px;border-color:var(--booking-accent)}.native-booking :is(button,a):focus-visible{outline:3px solid var(--color-muted);outline-offset:3px}.native-booking .booking-form-actions{grid-template-columns:auto 1fr;gap:14px;margin-top:18px;display:grid}.native-booking .booking-back{color:var(--color-muted);padding-inline:28px}.native-booking .booking-optional{color:var(--color-muted);font-size:14px}.native-booking .booking-optional summary{cursor:pointer}.native-booking .booking-optional label{margin-top:18px;font-size:14px}.native-booking .booking-optional :is(input,select,textarea){padding:12px 16px;font-size:18px}.native-booking .booking-details .booking-consent{letter-spacing:0;text-transform:none;gap:12px;font-size:13px;font-weight:400;line-height:1.5;display:flex}.native-booking .booking-consent input{width:17px;height:17px;accent-color:var(--booking-accent);flex-shrink:0;margin-top:2px}.native-booking .booking-consent a{text-decoration:underline}.native-booking .booking-confirmation-note{text-align:center;color:var(--color-muted);margin-top:16px;font-size:12px;line-height:1.5}.native-booking .booking-submit{width:100%;margin-top:24px}.native-booking .booking-back-link{color:var(--color-muted);margin:0 0 18px;font-size:14px;text-decoration:underline}.native-booking .booking-meet-note{color:var(--color-muted);justify-content:center;align-items:center;gap:6px;margin-top:26px;font-size:13px;display:flex}.native-booking>p:last-child{text-align:center;color:var(--color-muted)}@media (max-width:639px){.public-site .native-booking,.native-booking{padding:108px 14px 40px}.native-booking .booking-card{border-radius:24px;padding:28px 18px 24px}.native-booking .booking-heading{gap:9px}.native-booking .booking-heading h2{font-size:25px}.native-booking .booking-duration{padding:4px 9px;font-size:16px}.native-booking .booking-duration svg{width:17px}.native-booking .booking-section-heading h2{font-size:13px}.native-booking .booking-dates{gap:6px}.native-booking .booking-date{border-radius:12px;gap:5px;min-height:86px;padding:10px 2px}.native-booking .booking-date span:first-child{font-size:10px}.native-booking .booking-date strong{font-size:18px}.native-booking .booking-date span:last-child{font-size:12px}.native-booking .booking-timezone{font-size:13px}.native-booking .booking-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.native-booking .booking-time{min-height:53px;font-size:17px}.native-booking .booking-picker{min-height:430px}.native-booking .booking-empty{padding:25px 5px}.native-booking .booking-selection{border-radius:15px;gap:12px;padding:16px 12px}.native-booking .booking-selection-icon{border-radius:11px;padding:10px}.native-booking .booking-selection strong{font-size:16px}.native-booking .booking-selection p{font-size:14px}.native-booking .booking-name-fields{gap:12px}.native-booking .booking-details label{font-size:13px}.native-booking .booking-details :is(input:not([type=checkbox]),select,textarea){border-radius:11px;padding:14px 13px;font-size:17px}.native-booking .booking-details select{background-position:right 10px center;padding-right:34px}.native-booking .booking-form-actions{gap:10px}.native-booking .booking-form-actions button{min-height:60px;padding-inline:18px;font-size:17px}}@media (prefers-reduced-motion:reduce){.native-booking .booking-button{transition:none}}.native-booking .booking-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);align-items:start;gap:clamp(36px,6vw,90px);max-width:1240px;margin-inline:auto;display:grid}.native-booking .booking-card{width:100%;box-shadow:0 12px 40px color-mix(in srgb, var(--color-ink) 4%, transparent);padding:34px 30px 26px}.native-booking .booking-intro{padding-top:32px;position:sticky;top:130px}.native-booking .booking-eyebrow{font:500 11px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted)}.native-booking .booking-intro h1{letter-spacing:-.05em;color:var(--color-ink);margin:22px 0;font-size:clamp(36px,3.5vw,54px);font-weight:550;line-height:1.1}.native-booking .booking-intro h1 em,.native-booking .booking-confirmation-hero h1 em{font-family:Georgia,Times New Roman,serif;font-weight:400;display:block}.native-booking .booking-intro>p:not(.booking-eyebrow){color:var(--color-muted);max-width:380px;font-size:16px;line-height:1.75}.native-booking .booking-intro-details{color:var(--color-ink);gap:14px;margin-top:32px;font-size:13px;display:grid}.native-booking .booking-intro-details span{align-items:center;gap:10px;display:flex}.native-booking .booking-intro .booking-intro-signoff{border-top:1px solid var(--color-line);margin-top:42px;padding-top:22px;font-size:13px}.native-booking .booking-intro-signoff strong{color:var(--color-ink);font-weight:500}.native-booking .booking-heading{justify-content:space-between;gap:10px}.native-booking .booking-heading h2{letter-spacing:-.035em;font-size:24px;font-weight:550}.native-booking .booking-duration{border-radius:8px;padding:7px 10px;font-size:14px}.native-booking .booking-duration svg{width:15px;height:15px}.native-booking .booking-plan{text-align:left}.native-booking .booking-progress{gap:18px;margin:28px 0 25px}.native-booking .booking-progress li{border-bottom:2px solid var(--color-line);height:auto;color:var(--color-muted);font:11px var(--font-mono);background:0 0;border-radius:0;padding-bottom:12px}.native-booking .booking-progress li b{font:500 13px var(--font-sans);margin-left:7px}.native-booking .booking-progress .is-complete{border-color:var(--color-ink);color:var(--color-ink);background:0 0}.native-booking .booking-section-heading h2{letter-spacing:0;color:var(--color-ink);font-size:14px;font-weight:550}.native-booking .booking-dates{gap:8px}.native-booking .booking-date{border-width:1px}.native-booking .booking-date span:first-child{font-size:12px;font-weight:500}.native-booking .booking-date strong{font-size:29px;font-weight:500}.native-booking .booking-date span:last-child{font-size:12px}.native-booking .booking-date[aria-pressed=true],.native-booking .booking-date[aria-pressed=true] strong,.native-booking .booking-primary,.native-booking .booking-button[aria-pressed=true],.native-booking .booking-primary:hover{color:var(--color-ivory)}.native-booking .booking-button{border-width:1px;border-radius:10px;font-size:14px}.native-booking .booking-time{min-height:52px;font-size:16px}.native-booking .booking-timezone{font-size:13px}.native-booking .booking-picker{min-height:420px}.native-booking .booking-empty{padding:35px 10px}.native-booking .booking-empty h3{font-size:18px}.native-booking .booking-selection{border-left:2px solid var(--color-ink);gap:13px;margin-top:0;padding:16px}.native-booking .booking-selection-icon{padding:8px}.native-booking .booking-selection strong{font-size:17px}.native-booking .booking-selection p{font-size:14px}.native-booking .booking-details label{letter-spacing:0;font-size:13px;font-weight:500}.native-booking .booking-details :is(input:not([type=checkbox]),select,textarea){letter-spacing:0;border-width:1px;border-radius:9px;padding:13px 15px;font-size:17px}.native-booking .booking-details select{padding-right:36px}.native-booking .booking-form-actions button{min-height:54px;font-size:16px;font-weight:550}.native-booking .booking-contact-note{text-align:center;color:var(--color-muted);margin:30px auto 0;font-size:13px}.native-booking.booking-complete .booking-layout{max-width:680px;display:block}.native-booking .booking-confirmation-hero{text-align:center;max-width:850px;margin:0 auto 48px}.native-booking .booking-confirmed-mark{border:1px solid var(--color-line-strong);width:56px;height:56px;color:var(--color-ink);background:var(--color-ivory-soft);border-radius:50%;place-items:center;margin:0 auto 22px;display:grid}.native-booking .booking-confirmation-hero h1{color:var(--color-ink);letter-spacing:-.045em;margin:22px 0;font-size:clamp(42px,5vw,76px);font-weight:550;line-height:1.08}.native-booking .booking-confirmation-hero .booking-hero-description{max-width:535px;color:var(--color-muted);margin:0 auto;font-size:17px;line-height:1.7}.native-booking .booking-confirmation-links{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.native-booking .booking-appointment{border-top:1px solid var(--color-line);gap:20px;margin-top:24px;padding-top:24px;font-size:15px;line-height:1.6;display:grid}.native-booking .booking-status-tag{color:var(--color-ink);font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;display:flex}.native-booking .booking-status-tag:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.native-booking .booking-next-steps{max-width:1120px;margin:72px auto 0}.native-booking .booking-next-heading{margin-bottom:26px}.native-booking .booking-next-heading h2{letter-spacing:-.035em;margin-top:10px;font-size:clamp(26px,3vw,36px);font-weight:500}.native-booking .booking-next-steps ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;list-style:none;display:grid}.native-booking .booking-next-steps li{border-top:1px solid var(--color-line-strong);padding-top:22px}.native-booking .booking-next-marker{color:var(--color-muted);justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.native-booking .booking-next-marker span{font:12px var(--font-mono)}.native-booking .booking-next-steps h3{letter-spacing:-.025em;margin-bottom:12px;font-size:20px;font-weight:550}.native-booking .booking-next-steps li p{color:var(--color-muted);font-size:14px;line-height:1.75}@media (max-width:900px){.native-booking .booking-layout{grid-template-columns:1fr;gap:30px;max-width:680px}.native-booking .booking-intro{padding-top:0;position:static}.native-booking .booking-intro h1{font-size:clamp(36px,6vw,48px)}.native-booking .booking-intro>p:not(.booking-eyebrow){max-width:540px}.native-booking .booking-intro-details{margin-top:22px}.native-booking .booking-intro .booking-intro-signoff{display:none}}@media (max-width:639px){.native-booking .booking-card{border-radius:18px;padding:24px 18px}.native-booking .booking-heading h2{font-size:21px}.native-booking .booking-date{border-radius:8px;min-height:85px}.native-booking .booking-dates{gap:5px}.native-booking .booking-date strong{font-size:23px}.native-booking .booking-date span:first-child{font-size:10px}.native-booking .booking-progress{gap:12px}.native-booking .booking-progress li b{margin-left:4px;font-size:12px}.native-booking .booking-confirmation-hero h1{font-size:42px}.native-booking .booking-confirmation-hero .booking-hero-description{font-size:15px}.native-booking .booking-confirmation-links{flex-direction:column}.native-booking .booking-next-steps{margin-top:48px}.native-booking .booking-next-steps ol{grid-template-columns:1fr;gap:28px}.native-booking .booking-next-marker{margin-bottom:15px}}.native-booking .booking-project-notes textarea{resize:vertical;min-height:120px}.native-booking .booking-project-notes textarea::placeholder{color:var(--color-muted);opacity:1}.native-booking .booking-optional-label{font-size:.9em;font-weight:400}.native-booking .booking-field-note{color:var(--color-muted);font-size:.875rem;font-weight:400;line-height:1.5}.native-booking .booking-handoff-note{background:var(--color-surface);border-radius:12px;margin:0 0 24px;padding:16px;line-height:1.6}.native-booking .booking-form-actions>:only-child{grid-column:1/-1}.native-booking .booking-selection.booking-selection-summary{margin:24px 0 0}.native-booking .booking-card{scroll-margin-top:96px}.native-booking .booking-picker h2[tabindex="-1"]:focus{outline:none}.booking-step-note,.booking-saved-note{color:var(--muted,#686b73);margin:0 0 1.5rem;font-size:.95rem;line-height:1.6}.booking-saved-note{color:#31513b;background:#f4f7f4;border:1px solid #dce5dc;border-radius:12px;padding:1rem}
