/* Native Hexagon scheduling. All motion is interaction driven. */
.contact-page.is-scheduling{padding-top:150px;padding-bottom:100px;min-height:calc(100svh - 40px)}
.contact-layout[hidden],.hex-scheduler[hidden]{display:none!important}
.hex-scheduler{max-width:1216px;margin:auto;color:#1b1b1b;--schedule-muted:#737373;--schedule-soft:#f5f5f5}
.hex-scheduler *{box-sizing:border-box}
.hex-scheduler button,.hex-scheduler select{font:inherit}
.hex-scheduler button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hex-scheduler button:disabled{cursor:default}
.hex-scheduler h1:focus,.hex-scheduler h2:focus{outline:none}
.hex-scheduler button:focus-visible,.hex-scheduler select:focus-visible,.hex-scheduler a:focus-visible{outline:2px solid #757575;outline-offset:4px}
.hex-scheduler svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.schedule-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}
.schedule-heading h1{font-size:clamp(36px,4.3vw,58px);font-weight:400;line-height:1.08;letter-spacing:-.055em;margin:20px 0 12px}
.schedule-heading p{font-size:16px;color:var(--schedule-muted);margin:0;line-height:1.5}
.schedule-back{display:inline-flex;align-items:center;gap:9px;color:#777777;background:none;padding:0;font-size:13px!important;transition:color .2s}
.schedule-back svg{width:16px;height:16px;transition:transform .25s}
.schedule-back:hover{color:#1b1b1b}.schedule-back:hover svg{transform:translateX(-3px)}
.schedule-back:disabled{opacity:.35}
.schedule-progress{display:flex;align-items:center;gap:11px;white-space:nowrap;padding-bottom:5px;color:#7b7b7b;font-size:12px;letter-spacing:.015em}
.schedule-progress span{display:flex;align-items:center;gap:7px}.schedule-progress b{font-weight:500;color:#202020}
.schedule-progress svg{width:13px;height:13px;color:#a9a9a9}
.schedule-card{background:#fff;box-shadow:0 20px 80px #24242406,0 2px 8px #24242402;border-radius:32px;display:grid;grid-template-columns:280px minmax(330px,1fr) 258px;min-height:540px;padding:16px;gap:12px;overflow:hidden}
.schedule-summary{border-radius:23px;background:var(--schedule-soft);padding:30px 25px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.schedule-brand{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:500;letter-spacing:-.05em}
.schedule-brand img{width:25px;height:29px;object-fit:contain}
.schedule-summary h2{font-size:29px;line-height:1.12;font-weight:400;letter-spacing:-.047em;max-width:210px;margin:46px 0 17px}
.schedule-description{font-size:14px;line-height:1.65;margin:0;color:#767676;max-width:215px}
.schedule-facts{display:grid;gap:15px;margin-top:29px;color:#555555;font-size:13px}
.schedule-facts div{display:flex;align-items:center;gap:10px}.schedule-facts svg{width:17px;height:17px;color:#898989}
.schedule-team{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:35px;color:#7a7a7a;font-size:12px;line-height:1.5}
.schedule-team-mark{width:33px;height:33px;border-radius:50%;background:#eaeaea;display:grid;place-items:center;flex:none}.schedule-team-mark svg{width:16px;height:16px}
.schedule-team strong{display:block;color:#464646;font-weight:500}
.schedule-month{padding:25px 22px 20px;min-width:0}
.schedule-month-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px;min-height:38px}
.schedule-month-bar h2{font-size:18px;font-weight:500;letter-spacing:-.035em;margin:0;text-transform:capitalize}
.schedule-month-actions{display:flex;gap:4px}.schedule-icon-button{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:transparent;color:#5f5f5f;transition:background .2s,color .2s}
.schedule-icon-button svg{width:16px;height:16px}.schedule-icon-button:hover{background:#f2f2f2;color:#111}.schedule-icon-button:disabled{color:#d5d5d5;background:none}
.schedule-weekdays,.schedule-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}
.schedule-weekdays{margin-bottom:13px;font-size:11px;font-weight:500;color:#848484;letter-spacing:.035em}
.schedule-days{row-gap:8px;min-height:254px;align-content:start}
.schedule-day{height:43px;width:43px;max-width:100%;margin:auto;border-radius:50%;background:none;color:#333333;font-size:14px!important;position:relative;transition:background .2s,color .2s,box-shadow .2s}
.schedule-day:not(:disabled):hover{background:#eaeaea}.schedule-day:disabled{color:#cfcfcf}
.schedule-day.is-selected,.schedule-day.is-selected:hover{color:#fff;background:#1b1b1b;box-shadow:0 4px 12px #1111110d}
.schedule-day.is-today:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;left:calc(50% - 1.5px);bottom:5px}
.schedule-zone{position:relative;display:flex;align-items:center;gap:8px;color:#7a7a7a;margin-top:26px;max-width:100%;padding:10px 8px;border-radius:11px;transition:background .2s}
.schedule-zone:hover{background:#f5f5f5}.schedule-zone>svg{width:16px;height:16px;pointer-events:none}
.schedule-zone select{appearance:none;background:transparent;color:#727272;border:0;outline:none;min-width:0;width:100%;cursor:pointer;font-size:12px;padding:0 19px 0 0;text-overflow:ellipsis}
.schedule-zone>.schedule-zone-chevron{position:absolute;right:10px;width:11px}
.schedule-times{background:#fafafa;border-radius:23px;padding:27px 21px;min-width:0;display:flex;flex-direction:column}
.schedule-time-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px;min-height:34px}
.schedule-time-heading h3{font-size:13px;font-weight:500;margin:0;text-transform:capitalize;line-height:1.3}
.schedule-format{display:flex;gap:1px;background:#eeeeee;padding:3px;border-radius:8px;flex:none}
.schedule-format button{background:none;color:#919191;border-radius:6px;padding:5px 6px;font-size:10px;line-height:1;transition:background .2s,color .2s,box-shadow .2s}
.schedule-format button[aria-pressed=true]{background:#fff;color:#333;box-shadow:0 1px 3px #00000008}
.schedule-slot-list{display:grid;gap:8px;align-content:start;max-height:355px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#dcdcdc transparent;padding:3px}
.schedule-slot{width:100%;padding:15px 12px;background:#efefef;color:#333333;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;font-size:14px;line-height:1.2;transition:background .2s,color .2s,box-shadow .2s}
.schedule-slot svg{width:16px;height:16px;position:absolute;right:15px;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.schedule-slot:hover,.schedule-slot:focus-visible{background:#1b1b1b;color:white;box-shadow:0 4px 14px #11111109}.schedule-slot:hover svg,.schedule-slot:focus-visible svg{opacity:1;transform:none}
.schedule-time-note{font-size:11px;color:#919191;line-height:1.6;margin:auto 0 0;padding-top:23px}
.schedule-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:22px 5px 0;font-size:12px;color:#939393}
.schedule-bottom p{margin:0;line-height:1.5}.schedule-bottom a,.schedule-bottom button{color:#727272;background:none;text-decoration:none;font-size:12px;padding:4px 0;transition:color .2s}.schedule-bottom a:hover,.schedule-bottom button:hover{color:#222}
.schedule-preview-label{display:flex;align-items:center;gap:7px}.schedule-preview-label:before{content:'';display:inline-block;width:5px;height:5px;background:#989898;border-radius:50%;flex:none}
.schedule-preview-top{font-size:11px;color:#888888;margin:-13px 4px 15px;line-height:1.5}
.schedule-result,.schedule-loading{grid-column:2/-1;padding:32px 45px;min-width:0;animation:schedule-arrive .24s ease-out both}
.schedule-result h2{font-size:33px;line-height:1.14;letter-spacing:-.045em;font-weight:400;margin:23px 0 12px}
.schedule-result>p{font-size:14px;color:#767676;line-height:1.65;margin:0 0 26px;max-width:450px}
.schedule-appointment{background:#f5f5f5;border-radius:19px;padding:23px;display:flex;align-items:center;gap:20px;margin:25px 0 24px}
.schedule-date-stamp{display:flex;flex-direction:column;align-items:center;width:49px;flex:none;gap:3px}.schedule-date-stamp span{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#8a8a8a}.schedule-date-stamp strong{font-size:32px;line-height:1.1;font-weight:400;letter-spacing:-.06em}
.schedule-appointment h3{font-size:15px;font-weight:500;margin:0 0 7px;text-transform:capitalize}.schedule-appointment p{font-size:13px;color:#818181;line-height:1.6;margin:0}
.schedule-attendee{display:grid;gap:7px;font-size:13px;margin:22px 0 28px;overflow-wrap:anywhere}.schedule-attendee strong{font-size:15px;font-weight:500}.schedule-attendee span{color:#8a8a8a}
.schedule-primary{background:#1b1b1b;color:#fff;display:flex;align-items:center;justify-content:center;gap:35px;border-radius:30px;padding:17px 25px;min-width:230px;max-width:100%;font-size:14px;text-decoration:none;transition:background .2s,box-shadow .2s}
.schedule-primary:hover{background:#383838;box-shadow:0 6px 20px #1111110c}.schedule-primary svg{width:18px;height:18px;transition:transform .25s}.schedule-primary:hover svg{transform:translateX(3px)}
.schedule-primary:disabled{opacity:.5}

.schedule-status{font-size:13px;color:#636363;line-height:1.6;margin:12px 0}.schedule-status:empty{display:none}
.schedule-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#878787;font-size:14px;min-height:400px;text-align:center}
.schedule-spinner{width:23px;height:23px;border:1.5px solid #e5e5e5;border-top-color:#444444;border-radius:50%;animation:schedule-spin .8s linear infinite}
.schedule-success-mark{width:50px;height:50px;background:#f0f0f0;border-radius:50%;display:grid;place-items:center;margin:22px 0 30px}.schedule-success-mark svg{width:23px;height:23px;stroke-dasharray:34;stroke-dashoffset:34;animation:schedule-check .5s .12s ease-out forwards}
.schedule-result .schedule-appointment{margin-top:30px}.schedule-result .schedule-primary{display:inline-flex;margin-top:8px}
@keyframes schedule-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes schedule-spin{to{transform:rotate(360deg)}}
@keyframes schedule-check{to{stroke-dashoffset:0}}
.schedule-month-bar h2,.schedule-time-heading h3,.schedule-appointment h3{text-transform:none}
.schedule-month-bar h2:first-letter,.schedule-time-heading h3:first-letter,.schedule-appointment h3:first-letter{text-transform:uppercase}
.schedule-time-note,.schedule-bottom,.schedule-preview-top,.schedule-attendee span,.schedule-appointment p{color:#6d6d6d}
.schedule-weekdays,.schedule-progress,.schedule-team,.schedule-date-stamp span,.schedule-zone select,.schedule-bottom button,.schedule-result>p{color:#6d6d6d}
.schedule-description{color:#6d6d6d}.schedule-format button{color:#6b6b6b;min-height:24px}
@media(min-width:1550px){.contact-page.is-scheduling{padding-top:175px;padding-bottom:125px}}
@media(max-width:1120px){.schedule-card{grid-template-columns:225px minmax(300px,1fr) 220px;gap:5px}.schedule-summary{padding:28px 21px}.schedule-summary h2{font-size:27px}.schedule-month{padding:25px 17px}.schedule-times{padding:27px 16px}.schedule-progress{display:none}.schedule-day{width:38px;height:38px}.schedule-days{min-height:232px}.schedule-time-heading{gap:5px}.schedule-time-heading h3{font-size:12px}}
@media(max-width:930px){.schedule-card{grid-template-columns:minmax(0,1fr) 230px}.schedule-summary{grid-column:1/-1;display:block;padding:24px 27px}.schedule-summary h2{max-width:none;margin:20px 0 10px;font-size:27px}.schedule-description{max-width:none}.schedule-facts{display:flex;gap:24px;margin-top:16px}.schedule-team{position:absolute;right:27px;top:19px;padding:0;margin:0}.schedule-team span:not(.schedule-team-mark){display:none}.schedule-month{padding:25px}.schedule-day{width:43px;height:43px}.schedule-days{min-height:254px}.schedule-result,.schedule-loading{grid-column:1/-1;padding:25px 30px}.schedule-card{min-height:0}}
@media(max-width:600px){.contact-page.is-scheduling{padding:120px 18px 60px}.schedule-heading{margin:0 7px 27px}.schedule-heading h1{font-size:39px;margin-top:20px;margin-bottom:11px}.schedule-heading p{font-size:14px;max-width:290px}.schedule-card{display:block;padding:9px;border-radius:26px}.schedule-summary{border-radius:19px;padding:22px}.schedule-brand{font-size:17px}.schedule-brand img{width:22px;height:25px}.schedule-summary h2{margin:24px 0 12px;font-size:27px;max-width:240px}.schedule-description{font-size:13px;line-height:1.55}.schedule-facts{margin-top:20px;gap:22px;font-size:12px}.schedule-team{right:22px;top:20px}.schedule-month{padding:26px 13px 18px}.schedule-month-bar{margin-bottom:22px;padding:0 4px}.schedule-days{row-gap:6px;min-height:237px}.schedule-day{height:40px;width:40px}.schedule-zone{margin-top:13px}.schedule-times{padding:22px 18px;border-radius:19px}.schedule-time-heading{margin-bottom:17px}.schedule-time-heading h3{font-size:14px}.schedule-slot-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;gap:8px}.schedule-slot{padding:16px 10px}.schedule-slot svg{display:none}.schedule-time-note{padding-top:17px;font-size:11px}.schedule-format button{font-size:11px;padding:6px 8px}.schedule-bottom{display:block;margin:18px 8px 0;line-height:1.7}.schedule-bottom>button{margin-top:7px}.schedule-result{padding:25px 17px 24px}.schedule-result h2{font-size:30px;margin-top:25px}.schedule-appointment{padding:20px 16px;gap:16px}.schedule-appointment h3{font-size:14px}.schedule-primary{width:100%;gap:22px;justify-content:space-between}.schedule-loading{padding:25px 17px;min-height:290px}}
@media(prefers-reduced-motion:reduce){.hex-scheduler *,.hex-scheduler *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.schedule-success-mark svg{stroke-dashoffset:0}}
@media(max-width:600px){.schedule-summary h2{font-size:23px;max-width:none;margin:20px 0 14px}.schedule-description{display:none}.schedule-facts{margin-top:0}.schedule-preview-top{margin-top:-9px}}

/* Selecting a time reveals its booking action in the calendar itself. */
.schedule-slot-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}
.schedule-slot-row.is-selected{grid-template-columns:minmax(66px,.8fr) minmax(108px,1.25fr)}
.schedule-slot-row.is-selected>.schedule-slot{background:#e6e6e6;color:#252525;padding-inline:6px;font-size:12px;box-shadow:none}
.schedule-book{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:47px;background:#1b1b1b;color:#fff;border-radius:12px;padding:12px 9px;font-size:12px!important;line-height:1.2;white-space:nowrap;animation:schedule-book-arrive .2s ease-out both;transition:background .2s,box-shadow .2s}
.schedule-book>svg{width:15px;height:15px;transition:transform .2s}
.schedule-book:hover:not(:disabled){background:#353535;box-shadow:0 4px 14px #1111110d}
.schedule-book:hover:not(:disabled)>svg{transform:translateX(2px)}
.schedule-book:disabled{background:#353535;color:#fff}
.schedule-book-spinner{width:13px;height:13px;flex:none;border:1.4px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:schedule-spin .8s linear infinite}
.schedule-invite-email{display:block;margin-top:7px;color:#454545;overflow-wrap:anywhere}
.hex-scheduler.is-locked .schedule-slot-row:not(.is-selected){opacity:.48}
.hex-scheduler.is-locked .schedule-slot:hover{background:#efefef;color:#333333;box-shadow:none}
.hex-scheduler.is-locked .schedule-slot-row.is-selected>.schedule-slot{background:#e6e6e6;color:#252525}
.hex-scheduler.is-locked .schedule-zone{opacity:.5;pointer-events:none}
.hex-scheduler.is-locked .schedule-format{opacity:.55}
.schedule-result .schedule-success-mark{margin-top:8px;margin-bottom:24px}
.schedule-result .schedule-appointment{margin-top:0}
@keyframes schedule-book-arrive{from{opacity:0;transform:translateX(4px)}to{opacity:1;transform:none}}
@media(max-width:600px){
  .schedule-slot-row,.schedule-slot-row.is-selected{display:contents}
  .schedule-slot-row.is-selected>.schedule-slot,.hex-scheduler.is-locked .schedule-slot-row.is-selected>.schedule-slot{font-size:14px;padding-inline:10px;background:#3a3a3a;color:#fff}
  .schedule-book{grid-column:1/-1;order:1;margin-top:8px;width:100%;min-height:50px;justify-content:space-between;padding:16px 18px;font-size:14px!important}
  .schedule-book>svg{width:18px;height:18px}
}

/* Confirmation stays within the same quiet surface as the calendar. */
.schedule-heading>div:first-child{max-width:720px}
.schedule-heading p{max-width:620px}
.schedule-team>span:last-child{min-width:0;overflow-wrap:anywhere}
.schedule-result-top{display:flex;align-items:center;gap:15px;margin:2px 0 25px}
.schedule-result-top .schedule-success-mark{margin:0;flex:none;width:42px;height:42px}
.schedule-meeting-title{font-size:18px;line-height:1.4;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.schedule-result .schedule-appointment{margin:0 0 22px}
.schedule-appointment p{overflow-wrap:anywhere}
.schedule-label{display:block;font-size:11px!important;line-height:1.4;color:#737373!important;font-weight:400;letter-spacing:.015em}
.schedule-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 24px}
.schedule-people .schedule-attendee{margin:0}
.schedule-attendee .schedule-label{margin-bottom:3px}
.schedule-invitation{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.5;margin:22px 0 24px}
.schedule-invitation>svg{width:17px;height:17px;margin-top:1px;color:#525252}
.schedule-invitation>div{min-width:0}
.schedule-invitation strong,.schedule-invitation span{display:block;overflow-wrap:anywhere}
.schedule-invitation strong{font-size:13px;font-weight:500;color:#303030}
.schedule-invitation span{margin-top:4px;color:#505050}
.schedule-invitation p{font-size:12px;color:#727272;max-width:440px;margin:7px 0 0;line-height:1.6}
.schedule-result-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}
.schedule-result-actions .schedule-primary{margin:0;min-width:220px}
.schedule-home{display:inline-flex;align-items:center;gap:9px;min-height:44px;text-decoration:none;font-size:12px;color:#646464}
.schedule-home:hover{color:#171717}.schedule-home svg{width:15px;height:15px}
.schedule-meet-note{font-size:12px!important;color:#737373;margin-top:20px!important}
.schedule-pending-mark,.schedule-empty-icon{width:46px;height:46px;border-radius:50%;background:#f3f3f3;display:grid;place-items:center;margin-bottom:24px;flex:none}
.schedule-pending-mark .schedule-spinner{width:21px;height:21px}
.schedule-pending>.schedule-label{margin-bottom:12px}
.schedule-pending .schedule-attendee{margin:20px 0}
.schedule-pending .schedule-status{max-width:490px;font-size:13px;line-height:1.6;margin:20px 0 24px}
.schedule-loading h2{font-size:22px;font-weight:400;line-height:1.3;letter-spacing:-.035em;max-width:380px;margin:0;color:#333}
.schedule-loading p{margin:0 0 8px;max-width:365px;line-height:1.6;color:#717171}
.schedule-loading .schedule-empty-icon{margin:0 0 4px}
.schedule-primary .schedule-book-spinner{width:16px;height:16px}
@media(max-width:1120px) and (min-width:931px){.schedule-slot-row.is-selected{grid-template-columns:1fr}.schedule-slot-row.is-selected>.schedule-slot{min-height:38px}.schedule-book{min-height:42px}}
@media(max-width:600px){
  .schedule-result-top{margin-bottom:23px}.schedule-meeting-title{font-size:16px}
  .schedule-people{grid-template-columns:1fr;gap:20px;margin-bottom:25px}
  .schedule-result-actions{display:grid;gap:14px;margin-top:23px}
  .schedule-result-actions .schedule-primary{min-width:0}
  .schedule-home{justify-content:center}
  .schedule-pending .schedule-primary{min-width:0}
  .schedule-appointment h3{line-height:1.4}
  .schedule-loading h2{font-size:21px}
  .schedule-time-heading .schedule-format button{min-width:36px;min-height:32px}
  .schedule-zone{min-height:44px}.schedule-zone select{min-height:24px}
}

body[data-page=contact]:has(.hex-scheduler){overflow-anchor:none}
@media(max-width:600px){.hex-scheduler[data-stage=done] .schedule-summary{display:none}.hex-scheduler[data-stage=done] .schedule-card{min-height:0}.hex-scheduler[data-stage=done] .schedule-result{padding-top:23px}}
