.appointments-section{position:relative;background:radial-gradient(ellipse at 90% 30%,#b9233214,transparent 54%),#0b0d12;border-block:1px solid #ffffff10}
.appointments-section .eyebrow{font-size:.875rem}.appointments-section .section-heading{align-items:center}.appointment-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);overflow:hidden;background:linear-gradient(130deg,#1a1c24bf,#0d0e16db);border-color:#ffffff25;box-shadow:0 30px 85px #0004;position:relative}.appointment-shell:before{content:'';position:absolute;left:32px;top:0;width:82px;height:2px;background:var(--red)}.calendar-panel{padding:36px 40px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:30px}.calendar-kicker{font:500 .75rem/1.5 var(--display);letter-spacing:.13em;color:#b0b5c1}.calendar-heading h3{font-size:1.8rem;margin-top:7px}.calendar-navigation{display:flex;gap:8px}.calendar-navigation button{width:42px;height:42px;border:1px solid #ffffff24;border-radius:7px;background:#ffffff05;font-size:1.25rem}.calendar-navigation button:hover:not(:disabled){background:#f5364620;border-color:var(--red)}.calendar-navigation button:disabled{opacity:.3}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{margin-bottom:12px;color:#aeb3c0;text-align:center;font-size:.875rem}.calendar-day{height:48px;border:1px solid transparent;border-radius:8px;background:transparent;font:500 1rem/1 var(--display);position:relative}.calendar-day:hover:not(:disabled){background:#ffffff0b;border-color:#ffffff3a}.calendar-day.is-today:after{content:'';position:absolute;bottom:6px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--red-light)}.calendar-day:disabled{color:#707581;cursor:default}.calendar-day.outside-month{opacity:.35}.calendar-day[aria-pressed=true]{background:var(--red-deep);color:white;border-color:#ff7582;box-shadow:0 5px 20px #d7233533}.calendar-day[aria-pressed=true]:after{background:white}.calendar-note{font-size:.875rem;color:#b1b6c3;margin-top:20px;line-height:1.6}.calendar-details{padding:36px 34px;background:#080a10a8;border-left:1px solid #ffffff16;display:flex;flex-direction:column;min-width:0}.calendar-date-stamp{display:flex;align-items:center;gap:20px;margin-bottom:25px;min-height:70px}.calendar-date-stamp>span{font:500 3.6rem/1 var(--display);letter-spacing:-.07em;color:var(--red-light);min-width:62px}.calendar-date-stamp p{font:500 1.1rem/1.45 var(--display);margin-top:4px}.calendar-details .field{font-size:.875rem}.calendar-details select{width:100%;background:#12151d;border:1px solid #ffffff2b;border-radius:6px;padding:12px;margin-top:8px;font-size:1rem}.calendar-times{border:0;padding:0;margin:20px 0 0;min-width:0}.calendar-times legend{font-size:.875rem;width:100%;margin-bottom:10px}.calendar-times legend span{float:right;color:#a6adbd;font-size:.875rem}.calendar-times>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.calendar-times label{position:relative;cursor:pointer}.calendar-times input{position:absolute;opacity:0;width:1px;height:1px}.calendar-times label>span{display:block;text-align:center;border:1px solid #ffffff24;border-radius:6px;padding:9px 5px;font-size:.875rem;color:#c7ccd7}.calendar-times input:checked+span{border-color:#f53646a8;background:#f5364615;color:#fff}.calendar-times input:focus-visible+span{outline:2px solid var(--red-light);outline-offset:3px}.calendar-request-note{font-size:.875rem;color:#b1b6c3;margin:19px 0 8px;line-height:1.65}.calendar-continue{width:100%;gap:12px;justify-content:space-between}.calendar-continue:disabled{opacity:.45;transform:none}.calendar-call{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.875rem;margin-top:20px;color:#b2b7c3}.calendar-call strong{font-weight:500;color:white}.calendar-footnote{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;color:#aeb3bf;font-size:.875rem}.calendar-connected{display:flex;align-items:flex-start;flex-direction:column;gap:18px;padding:36px}.calendar-connected .calendar-note{margin:0}.google-booking-frame{width:100%;min-height:740px;border:0;border-radius:8px;background:white}
@media(max-width:1100px){.calendar-panel{padding:28px}.calendar-details{padding:28px}.calendar-heading h3{font-size:1.5rem}.calendar-navigation button{width:36px;height:36px}.calendar-days,.calendar-weekdays{gap:4px}}
@media(max-width:800px){.appointment-shell{grid-template-columns:1fr}.calendar-details{border-left:0;border-top:1px solid #ffffff16}.calendar-panel{padding:28px}.calendar-day{height:48px}.calendar-heading h3{font-size:1.65rem}.calendar-footnote{display:block}.calendar-footnote p+p{margin-top:6px}.google-booking-frame{min-height:900px}}
@media(max-width:420px){.calendar-panel,.calendar-details{padding:24px 18px}.calendar-weekdays,.calendar-days{gap:2px}.calendar-day{height:43px}.calendar-heading h3{font-size:1.4rem}.calendar-weekdays{font-size:.75rem}.calendar-kicker{font-size:.75rem}.calendar-connected{padding:22px 16px}}
