/* The original conversion journey in the Consolidations visual system. */
.conversion-booking{--conversion-blue:#2655f3;--conversion-ink:#0d1b37;--conversion-line:#ced7ea;color:var(--conversion-ink);background:#fff;position:relative;min-width:0;max-width:100%;border-radius:6px;isolation:isolate}

.conversion-booking h3:focus{outline:none}

.conversion-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:57px;padding:15px 20px;background:var(--conversion-blue);color:#fff!important;border-radius:3px;font-weight:700;font-size:15px;line-height:1.3;border:1px solid transparent;transition:background .2s,transform .2s;text-align:left}
.conversion-primary>span{font-size:24px;line-height:1}.conversion-primary:hover:not(:disabled){background:#173dce;transform:translateY(-2px)}.conversion-primary:disabled{opacity:.45;cursor:default}
.conversion-back{background:none;padding:10px 0;border:0;font-size:14px;font-weight:700;color:#566785;text-decoration:underline;text-underline-offset:5px;display:block;margin-top:19px}
.conversion-form{display:grid;gap:20px;max-width:100%;margin-top:22px}
.conversion-field{display:grid;gap:9px;min-width:0;font-size:14px;font-weight:700;color:var(--conversion-ink)}
.conversion-field input{display:block;width:100%;min-width:0;min-height:54px;border:1px solid #c7d2e6;border-radius:3px;background:#f7f9fd;padding:14px 16px;color:var(--conversion-ink);font:inherit;font-size:16px;font-weight:400;line-height:1.4;box-shadow:none}
.conversion-field input::placeholder{color:#8a96ac;opacity:1}.conversion-field input:focus{border-color:var(--conversion-blue);outline:2px solid #2655f333;outline-offset:2px}
.conversion-form>.conversion-primary{margin-top:6px;width:100%}.conversion-error{background:#fff3ed;border-left:3px solid #a64022;padding:16px 18px;color:#7e2f1a!important;font-size:15px!important;line-height:1.6!important;max-width:none!important;margin:6px 0!important}
.conversion-error a,.conversion-fallback a,.conversion-calendar-error a{color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

.conversion-booking{padding:clamp(22px,4vw,48px);border:1px solid var(--conversion-line);box-shadow:0 18px 65px #132e6508;width:100%;margin-top:24px}
.conversion-booking h3{font-size:clamp(25px,2.7vw,38px)!important;line-height:1.15;letter-spacing:-.04em;margin:0 0 30px!important;font-weight:700!important;color:var(--conversion-ink)}
.conversion-booking-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(200px,.9fr);gap:clamp(24px,4vw,48px);align-items:start}
.conversion-calendar{border:1px solid #dde4f1;border-radius:4px;padding:14px;background:#f8faff;width:100%;min-width:0}
.conversion-month{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;align-items:center;margin-bottom:17px}
.conversion-month h4{text-align:center;margin:0;font-size:16px!important;font-weight:700!important;letter-spacing:-.02em;line-height:1.4!important}
.conversion-month>button{height:36px;width:36px;border-radius:3px;background:#eaf0fc;color:var(--conversion-ink);font-size:20px;border:1px solid #d7e0f0;display:grid;place-items:center;padding:0}
.conversion-month>button:hover:not(:disabled){background:#dce6ff}.conversion-month>button:disabled{opacity:.25}
.conversion-calendar table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:2px;max-width:none!important;margin:0!important;border:0!important}
.conversion-calendar th{font-size:11px;font-weight:700;color:#647592;padding:0 0 10px;border:0!important;text-align:center;background:transparent!important}
.conversion-calendar td{padding:0!important;border:0!important;text-align:center;background:transparent!important;height:auto!important}
.conversion-calendar td>button{display:grid;place-items:center;aspect-ratio:1;width:100%;border-radius:3px;background:transparent;padding:0;color:var(--conversion-ink);font-size:14px;font-weight:700;border:1px solid transparent;min-height:30px}
.conversion-calendar td>button:hover:not(:disabled){background:#e2eaff;border-color:#b8cbff}.conversion-calendar td>button:disabled{color:#c0c8d7;cursor:default}.conversion-calendar td>button.is-outside{visibility:hidden}
.conversion-calendar td>button.is-today{border-color:#b8c9ea}.conversion-calendar td>button[aria-pressed=true]{background:var(--conversion-blue);color:#fff;border-color:var(--conversion-blue)}
.conversion-times>h4{font-size:16px!important;font-weight:700!important;letter-spacing:-.02em;line-height:1.4!important;margin:3px 0 6px!important;color:var(--conversion-ink)}
.conversion-timezone{font-size:12px!important;line-height:1.4!important;color:#71809b!important;margin:0 0 18px!important;overflow-wrap:anywhere}
.conversion-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto;padding:2px;scrollbar-width:thin}
.conversion-slots>button{background:#f5f8ff;border:1px solid #d4dff1;border-radius:3px;min-height:43px;font-size:14px;font-weight:700;color:var(--conversion-ink);padding:8px 5px}
.conversion-slots>button:hover{border-color:var(--conversion-blue);background:#eaf0ff}.conversion-slots>button[aria-pressed=true]{background:var(--conversion-blue);border-color:var(--conversion-blue);color:#fff}
.conversion-status{padding:25px 15px!important;background:#f4f7fd;border-radius:3px;font-size:15px!important;line-height:1.55!important;color:#5c6d89!important;margin:0!important;display:flex;gap:10px;align-items:center;min-height:92px}
.conversion-spinner{width:17px;height:17px;border:2px solid #c9d5ef;border-top-color:var(--conversion-blue);border-radius:50%;animation:conversionSpin 1s linear infinite;flex:none}
.conversion-booking-action{margin-top:24px}.conversion-booking-action>.conversion-primary{width:100%}.conversion-fallback{font-size:13px!important;line-height:1.5!important;color:#64718a!important;margin:26px 0 0!important}
.conversion-calendar-error{padding:20px;background:#fff3ed;border-left:3px solid #a64022;color:#7e2f1a;font-size:15px;line-height:1.6}
.conversion-calendar-error p{font-size:15px!important;line-height:1.6!important;margin:0 0 16px!important;color:inherit!important}.conversion-secondary{border:1px solid currentColor;padding:10px 16px;background:#fff;border-radius:3px;font-size:14px;font-weight:700}
.conversion-selected{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:22px;background:#f2f6ff;border-left:3px solid var(--conversion-blue);margin-bottom:26px}
.conversion-selected>div>span{display:block;font-size:12px;font-weight:700;color:#607494;margin-bottom:8px}.conversion-selected p{font-size:16px!important;line-height:1.6!important;margin:0!important;color:var(--conversion-ink)!important}.conversion-selected strong{font-weight:700}.conversion-selected p span{font-size:12px;overflow-wrap:anywhere}.conversion-selected .conversion-back{margin:0;flex:none}
.conversion-booking :focus-visible{outline:2px solid #2655f3;outline-offset:3px}
.page-booking [data-booking]{max-width:1050px;margin-left:auto;margin-right:auto}.page-thanks .inner-hero{min-height:70svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.page-thanks .inner-hero .pill-button{margin-top:30px}
@keyframes conversionSpin{to{transform:rotate(360deg)}}
@media(max-width:850px){.conversion-booking-grid{grid-template-columns:minmax(0,1fr);gap:28px}.conversion-calendar{max-width:440px}.conversion-slots{grid-template-columns:repeat(4,minmax(0,1fr));max-height:215px}}
@media(max-width:480px){.conversion-booking{padding:20px 15px}.conversion-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.conversion-month h4{font-size:15px!important}.conversion-calendar{padding:10px}.conversion-calendar td>button{font-size:13px}.conversion-selected{padding:16px}.conversion-primary{font-size:14px;min-height:55px}.conversion-form{gap:17px}.conversion-field input{padding:13px 12px}.conversion-booking-grid{gap:24px}}
@media(prefers-reduced-motion:reduce){.conversion-spinner{animation:none}.conversion-primary{transition:none}.conversion-primary:hover{transform:none}}

/* One booking choice at a time. Date, time and details share the full card. */
.conversion-booking .conversion-step-list{display:flex!important;gap:22px!important;list-style:none!important;padding:0 0 16px!important;margin:0 0 21px!important;border-bottom:1px solid #dce4f3;color:#8a97ad;font-size:13px;line-height:1.4}
.conversion-booking .conversion-step-list>li{padding:0!important;margin:0!important;border:0!important;font:inherit!important;font-weight:700!important;color:inherit;display:block!important;position:relative}
.conversion-booking .conversion-step-list>li:before{content:none!important}.conversion-booking .conversion-step-list>li[aria-current=step]{color:var(--conversion-blue)}
.conversion-booking[data-booking-step=date] .conversion-calendar{max-width:none;background:#f8faff;padding:12px 15px 14px;border-radius:4px}
.conversion-booking[data-booking-step=date] h3{margin-bottom:9px!important}
.conversion-booking[data-booking-step=date] .conversion-timezone{margin-bottom:20px!important}
.conversion-booking[data-booking-step=date] .conversion-calendar td>button{aspect-ratio:auto;height:39px;min-height:39px;position:relative}
.conversion-booking .conversion-calendar td>button.has-slots:not(:disabled):after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:var(--conversion-blue);bottom:3px;left:calc(50% - 1.5px)}
.conversion-booking .conversion-calendar td>button[aria-pressed=true]:after{background:#fff!important}
.conversion-date-status{margin:17px 0 0!important;font-size:14px!important;line-height:1.5!important;display:flex;gap:10px;align-items:center;color:#657796!important}
.conversion-booking[data-booking-step=date][aria-busy=true] .conversion-date-status{position:absolute;left:28px;right:28px;bottom:28px;margin:0!important;padding:10px 12px;background:#f8faffed;border-radius:3px;pointer-events:none}
.conversion-time-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:10px}
.conversion-booking .conversion-time-heading h3{margin-bottom:9px!important}.conversion-time-heading>div>p{font-size:15px!important;line-height:1.5!important;margin:0!important;max-width:none!important;color:var(--conversion-ink)}
.conversion-time-heading>.conversion-back{margin:2px 0 0;flex:none;font-size:12px;white-space:nowrap}
.conversion-booking[data-booking-step=time] .conversion-slots{grid-template-columns:repeat(4,minmax(0,1fr));max-height:290px;gap:9px}
.conversion-booking[data-booking-step=time] .conversion-slots>button{min-height:47px;font-size:15px}
.conversion-booking[data-booking-step=time] .conversion-booking-action{margin-top:22px}
.conversion-booking[data-booking-step=details] .conversion-selected{margin-bottom:20px;padding:16px 19px}
.conversion-booking[data-booking-step=details] .conversion-form{margin-top:0;gap:17px}
.conversion-booking[data-booking-step=details] .conversion-selected p{font-size:14px!important}
.conversion-booking[data-booking-step=details] h3{margin-bottom:22px!important}
.conversion-booking[data-booking-step=details] .conversion-field input{min-height:49px;padding:12px 14px}

/* The calendar is the first task on Contact; source context follows it. */
.inner-page.page-contact .contact-layout{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:clamp(40px,6vw,100px);row-gap:35px;padding:145px var(--pad) 65px;margin:0;background:#edf3ff;overflow:hidden;align-items:start}
.inner-page.page-contact .contact-layout:before{content:'';position:absolute;z-index:-1;inset:-20% -10%;pointer-events:none;background:radial-gradient(ellipse at 15% 70%,#b9caff50,transparent 48%),radial-gradient(ellipse at 85% 20%,#d9e6ff90,transparent 42%);animation:contactAtmosphere 20s ease-in-out infinite alternate}
.inner-page.page-contact .contact-layout:after{content:'';position:absolute;z-index:-1;width:1200px;height:700px;left:-450px;top:20%;border:1px solid #2655f314;border-radius:50%;transform:rotate(-29deg);pointer-events:none}
.inner-page.page-contact .contact-intro{grid-column:1;grid-row:1;position:relative;z-index:1;min-width:0;padding-top:16px}
.inner-page.page-contact .contact-intro h1{font-size:clamp(52px,5.5vw,87px);line-height:.99;letter-spacing:-.058em;max-width:9.8ch;margin:0}
.inner-page.page-contact .contact-booking-slot{grid-column:2;grid-row:1/3;min-width:0;position:relative;z-index:2;width:100%;max-width:640px;justify-self:end}
.inner-page.page-contact .contact-booking-slot .conversion-booking{margin:0;padding:28px;border:1px solid #d6e0f5;background:#fff;box-shadow:0 22px 75px #203f8910}
.inner-page.page-contact .contact-booking-slot .conversion-booking h3{font-size:29px!important}
.inner-page.page-contact .contact-team-section{grid-column:1;grid-row:2;align-self:end;min-width:0;margin:0;padding:0;background:#2655f3;border-radius:5px;overflow:hidden;position:relative;z-index:1}
.inner-page.page-contact .contact-team-portrait{margin:0;padding:0}
.inner-page.page-contact .contact-information{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(45px,10vw,170px);padding:75px var(--pad) 90px;background:#fff;margin:0}
.inner-page.page-contact .contact-info-block{min-width:0}
.inner-page.page-contact .contact-info-block h4{font-size:clamp(25px,2.4vw,36px);font-weight:700;line-height:1.2;letter-spacing:-.04em;margin:0 0 25px}
.inner-page.page-contact .contact-info-block ul{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.inner-page.page-contact .contact-info-block li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:16px;padding:0;border:0;font-size:17px;line-height:1.6;align-items:start}
.inner-page.page-contact .contact-info-block li:before{content:none}
.inner-page.page-contact .contact-info-block li>span{font-size:15px;font-weight:700;color:#2655f3;padding-top:2px}
.inner-page.page-contact .contact-info-block p{font-size:17px;line-height:1.65;margin:0 0 13px;max-width:65ch;color:#4f627e}
.inner-page.page-contact .contact-info-block li p{margin:0}
.inner-page.page-contact .contact-info-block a{text-decoration:underline;text-underline-offset:5px}
.inner-page.page-booking .contact-layout-booking{padding:130px var(--pad) 80px;position:relative;background:linear-gradient(140deg,#e8efff,#f5f8ff);min-height:80svh}
.inner-page.page-booking .contact-intro{max-width:660px;margin:0 auto 28px}
.inner-page.page-booking .contact-intro h1{font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.055em;margin:0}
.inner-page.page-booking .contact-booking-slot{max-width:660px;margin:0 auto}
.inner-page.page-booking .contact-booking-slot .conversion-booking{margin:0;padding:30px}
@keyframes contactAtmosphere{to{transform:translate3d(3%,1%,0) scale(1.04)}}
@media(min-width:1450px){.inner-page.page-contact .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-top:160px}.inner-page.page-contact .contact-booking-slot .conversion-booking{padding:35px}.inner-page.page-contact .contact-intro h1{font-size:87px}}
@media(max-width:1050px){.inner-page.page-contact .contact-layout{column-gap:35px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.inner-page.page-contact .contact-intro h1{font-size:55px}.inner-page.page-contact .contact-booking-slot .conversion-booking{padding:23px}.inner-page.page-contact .contact-booking-slot .conversion-booking h3{font-size:26px!important}.conversion-time-heading{flex-direction:column;gap:12px}.conversion-time-heading>.conversion-back{margin:0 0 8px}.inner-page.page-contact .contact-information{gap:45px}}
@media(max-width:760px){
 .inner-page.page-contact .contact-layout{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:112px var(--pad) 45px;overflow:hidden}
 .inner-page.page-contact .contact-intro{padding:0;order:0}.inner-page.page-contact .contact-intro h1{font-size:clamp(39px,9vw,59px);line-height:1.01;max-width:13ch;letter-spacing:-.052em}
 .inner-page.page-contact .contact-booking-slot{order:1;justify-self:auto;max-width:none;width:100%}
 .inner-page.page-contact .contact-booking-slot .conversion-booking{padding:22px 20px}
 .inner-page.page-contact .contact-booking-slot .conversion-booking h3{font-size:26px!important}
 .inner-page.page-contact .contact-team-section{order:2;align-self:stretch;width:100%;margin-top:6px}
 .inner-page.page-contact .contact-information{grid-template-columns:minmax(0,1fr);gap:45px;padding:48px var(--pad) 60px}
 .inner-page.page-contact .contact-info-block h4{font-size:29px;margin-bottom:24px}
 .inner-page.page-contact .contact-info-block p{font-size:16px}
 .inner-page.page-booking .contact-layout-booking{padding:112px var(--pad) 55px}
 .inner-page.page-booking .contact-intro{margin-bottom:24px}
 .inner-page.page-booking .contact-booking-slot .conversion-booking{padding:22px 20px}
 .conversion-booking .conversion-step-list{font-size:12px;gap:22px!important;padding-bottom:13px!important;margin-bottom:18px!important}
 .conversion-booking[data-booking-step=date] .conversion-calendar{padding:10px 8px}
 .conversion-booking[data-booking-step=date] .conversion-calendar td>button{height:37px;min-height:37px}
 .conversion-time-heading{flex-direction:row;gap:15px}.conversion-time-heading>.conversion-back{margin:0;font-size:11px}
 .conversion-booking[data-booking-step=time] .conversion-slots{grid-template-columns:repeat(3,minmax(0,1fr));max-height:300px}
 .conversion-booking[data-booking-step=time] .conversion-slots>button{min-height:44px}
}
@media(max-width:380px){.inner-page.page-contact .contact-layout{gap:22px}.inner-page.page-contact .contact-intro h1{font-size:38px}.inner-page.page-contact .contact-booking-slot .conversion-booking,.inner-page.page-booking .contact-booking-slot .conversion-booking{padding:20px 15px}.conversion-booking .conversion-step-list{gap:17px!important}.conversion-booking[data-booking-step=date] .conversion-calendar td>button{height:34px;min-height:34px}.conversion-time-heading{flex-direction:column;gap:9px}}
@media(prefers-reduced-motion:reduce){.inner-page.page-contact .contact-layout:before{animation:none}}
.motion-paused .contact-layout:before{animation-play-state:paused}

/* Desktop Contact gives the calendar the central position; mobile stays intact. */
@media(min-width:761px){
 .inner-page.page-contact .contact-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:0;row-gap:30px;justify-items:center;align-items:start;padding-top:132px;padding-bottom:75px}
 .inner-page.page-contact .contact-layout .contact-intro{grid-column:1;grid-row:1;width:100%;max-width:960px;justify-self:center;padding:0;text-align:center}
 .inner-page.page-contact .contact-layout .contact-intro h1{font-size:clamp(44px,4.5vw,64px);line-height:1.08;max-width:none;margin:0;text-align:center;letter-spacing:-.055em}
 .inner-page.page-contact .contact-layout .contact-booking-slot{grid-column:1;grid-row:2;justify-self:center;width:100%;max-width:860px;margin:0 auto}
 .inner-page.page-contact .contact-layout .contact-booking-slot .conversion-booking{padding:30px 32px;margin:0}
 .inner-page.page-contact .contact-layout .contact-team-section{grid-column:1;grid-row:3;justify-self:center;align-self:start;width:100%;max-width:900px;margin:20px auto 0;padding:0}
 .inner-page.page-contact .contact-layout .contact-team-portrait{width:100%;max-width:none;height:auto;margin:0;padding:0}
}
