.appointment-container{position:relative}.appointment-container .appointment-cta{text-align:center;background:var(--ui-bg-card);border:1px solid rgba(var(--brand-rgb), .4);isolation:isolate;max-width:720px;box-shadow:0 32px 80px -20px rgba(var(--brand-rgb), .4), 0 0 0 1px rgba(var(--brand-rgb), .12) inset;border-radius:32px;flex-direction:column;align-items:center;gap:24px;margin:0 auto;padding:72px 48px;display:flex;position:relative;overflow:hidden}.appointment-container .appointment-cta:before{content:"";background:conic-gradient(from 0deg, transparent 0deg, rgba(var(--brand-rgb), .5) 70deg, transparent 140deg, rgba(var(--accent-2-rgb), .4) 210deg, transparent 280deg, rgba(var(--accent-3-rgb), .4) 340deg, transparent 360deg);filter:blur(60px);z-index:-2;opacity:.7;pointer-events:none;animation:14s linear infinite aurora-drift;position:absolute;inset:-40%}.appointment-container .appointment-cta:after{content:"";background-image:radial-gradient(circle at 1px 1px, var(--ui-line) 1px, transparent 0);z-index:-1;pointer-events:none;background-size:20px 20px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 50%,#000 0%,#0000 90%);mask-image:radial-gradient(60% 50%,#000 0%,#0000 90%)}.appointment-container .appointment-cta h2{letter-spacing:-1.6px;color:var(--text-primary);max-width:18ch;margin:0;font-size:clamp(32px,4.5vw,52px);font-weight:600;line-height:1.05}.appointment-container .appointment-cta h2 .highlighted{background:linear-gradient(120deg, var(--text-primary) 0%, var(--accent-soft) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.appointment-container .appointment-cta p{color:var(--text-primary);max-width:58ch;margin:0;font-size:clamp(15px,1.4vw,18px);line-height:1.6}.appointment-container .appointment-cta-btn{background:linear-gradient(120deg, var(--brand) 0%, var(--accent-2) 100%);color:var(--ink-text-on-brand);letter-spacing:.01em;cursor:pointer;box-shadow:0 16px 40px -8px rgba(var(--brand-rgb), .6), 0 0 0 1px rgba(var(--brand-rgb), .4) inset;transition:transform .2s var(--ease-out), box-shadow .2s, filter .2s;border:0;border-radius:999px;margin-top:12px;padding:16px 36px;font-family:inherit;font-size:15px;font-weight:600;position:relative;overflow:hidden}.appointment-container .appointment-cta-btn:before{content:"";background:linear-gradient(120deg, transparent 30%, var(--ui-faint) 50%, transparent 70%);pointer-events:none;background-size:200% 100%;animation:3s ease-in-out infinite shimmer-x;position:absolute;inset:0}.appointment-container .appointment-cta-btn:hover{filter:brightness(1.1);box-shadow:0 22px 50px -8px rgba(var(--brand-rgb), .75), 0 0 0 1px rgba(var(--brand-rgb), .5) inset;transform:translateY(-2px)}@media (max-width:720px){.appointment-container .appointment-cta{border-radius:24px;padding:48px 24px}}.appointment-container [data-fragment=AppointmentScheduler] [class$=-overlay]{-webkit-backdrop-filter:blur(8px);background:#000000b3}.appointment-container [data-fragment=AppointmentScheduler] [class$=-modal]{background:linear-gradient(180deg, color-mix(in srgb, var(--ui-bg-elev) 95%, transparent) 0%, color-mix(in srgb, var(--ui-bg-panel) 98%, transparent) 100%);border:1px solid rgba(var(--brand-rgb), .2);color:var(--text-primary);box-shadow:0 32px 80px -16px #000c}.appointment-container [data-fragment=AppointmentScheduler] [class$=-modal-header]{border-bottom:1px solid var(--ui-line)}.appointment-container [data-fragment=AppointmentScheduler] [class$=-title]{color:var(--text-primary);letter-spacing:-.5px}.appointment-container [data-fragment=AppointmentScheduler] [class$=-subtitle],.appointment-container [data-fragment=AppointmentScheduler] [class$=-close-btn]{color:var(--text-secondary)}.appointment-container [data-fragment=AppointmentScheduler] [class$=-close-btn]:hover{background:var(--ui-line);color:var(--text-primary)}.appointment-container [data-fragment=AppointmentScheduler] [class$=-steps]{background:var(--ui-line-faint);border-bottom:1px solid var(--ui-line)}.appointment-container [data-fragment=AppointmentScheduler] input,.appointment-container [data-fragment=AppointmentScheduler] textarea,.appointment-container [data-fragment=AppointmentScheduler] select{background:var(--ui-line-faint);border:1px solid var(--ui-line);color:var(--text-primary);border-radius:var(--radius-md);padding:11px 14px}.appointment-container [data-fragment=AppointmentScheduler] input:focus,.appointment-container [data-fragment=AppointmentScheduler] textarea:focus,.appointment-container [data-fragment=AppointmentScheduler] select:focus{border-color:var(--brand);background:rgba(var(--brand-rgb), .06);box-shadow:0 0 0 3px rgba(var(--brand-rgb), .18);outline:none}
