:root{--schedule-navy:#0b1f33;--schedule-cobalt:#2457e6;--schedule-teal:#008b84;--schedule-muted:#52657a;--schedule-ice:#f5f8fc}
*{box-sizing:border-box}
body.schedule-page{margin:0;min-width:320px;background:radial-gradient(ellipse 70% 44% at 83% 13%,#e3eefb 0%,transparent 85%),linear-gradient(#fff 0%,var(--schedule-ice) 100%);color:var(--schedule-navy);font-family:Arial,Helvetica,sans-serif}
.schedule-page [hidden]{display:none!important}
.schedule-page .skip-link{position:absolute;top:-150px;left:15px;z-index:50;background:#fff;color:var(--schedule-navy);padding:12px 15px;border-radius:8px}
.schedule-page .skip-link:focus{top:12px}
.schedule-header{max-width:1192px;margin:0 auto;padding:28px 30px 20px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.schedule-brand{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;min-width:170px}
.schedule-brand img{display:block;width:205px;max-width:100%;height:auto}
.schedule-brand span{margin:-1px 0 0 5px;font-size:10px;line-height:1.35;color:var(--schedule-muted)}
.schedule-header-actions{display:flex;gap:32px;align-items:center}
.schedule-back{font-size:13px;font-weight:650;color:#24509f;text-decoration:none;border-bottom:1px solid #aec4e5;padding-bottom:4px}
.schedule-back:hover,.schedule-text-link:hover{color:var(--schedule-teal);border-color:var(--schedule-teal)}
.schedule-languages{display:flex;align-items:center;gap:8px;font-size:11px;color:#8ca0b4}
.schedule-languages button{font:700 11px Arial,Helvetica,sans-serif;color:#8396aa;border:0;background:none;padding:8px 5px;cursor:pointer}
.schedule-languages button[aria-pressed="true"]{color:var(--schedule-navy)}
.schedule-page a:focus-visible,.schedule-page button:focus-visible{outline:3px solid #0c9b92;outline-offset:4px;border-radius:5px}
.schedule-main{max-width:1192px;margin:0 auto;padding:53px 30px 108px;min-height:calc(100vh - 175px)}
.schedule-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:74px;align-items:start}
.schedule-copy{padding-top:27px}
.schedule-eyebrow,.schedule-panel-top{font-size:11px;font-weight:750;letter-spacing:1.8px;color:var(--schedule-teal);line-height:1.6}
.schedule-copy h1{max-width:590px;font-size:clamp(38px,4.4vw,58px);line-height:1.1;font-weight:700;letter-spacing:-2.3px;margin:19px 0 24px;color:var(--schedule-navy)}
.schedule-lead{max-width:520px;color:#425d76;font-size:17px;line-height:1.75;margin:0}
.schedule-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:38px 0 45px}
.schedule-facts>div{min-width:0;display:flex;flex-direction:column;gap:7px;padding:18px 12px;background:#ffffffce;border:1px solid #dfe9f3;border-radius:13px}
.schedule-facts .fact-mark{display:grid;place-items:center;border-radius:9px;background:#e7f5f3;color:var(--schedule-teal);font-size:20px;width:35px;height:35px;margin-bottom:7px}
.schedule-facts strong{font-size:13px;color:var(--schedule-navy);line-height:1.35}
.schedule-facts small{font-size:11px;line-height:1.4;color:var(--schedule-muted)}
.schedule-agenda{border-left:3px solid #83d4ca;padding:3px 0 3px 22px}
.schedule-agenda-label{font-size:10px;font-weight:750;letter-spacing:1.8px;color:#286494;margin:0 0 15px}
.schedule-agenda ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.schedule-agenda li{position:relative;padding-left:21px;font-size:14px;color:#425d76;line-height:1.5}
.schedule-agenda li:before{content:'✓';position:absolute;left:0;top:0;color:var(--schedule-teal);font-weight:700}
.schedule-help{font-size:12px;color:#687f96;margin:37px 0 6px}
.schedule-text-link{font-size:13px;color:#24509f;font-weight:700;border-bottom:1px solid #a4bbdb;text-decoration:none;padding-bottom:4px}
.schedule-panel{background:#fff;border:1px solid #dbe6f0;box-shadow:0 28px 70px #1c456b14,0 2px 6px #1c456b08;border-radius:22px;padding:37px 34px 31px;min-width:0}
.schedule-panel-top{display:flex;align-items:center;gap:10px;letter-spacing:1.35px;font-size:10px}
.schedule-panel-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid #c7e5e1;border-radius:10px;background:#e9f7f5;color:var(--schedule-teal);font-size:21px;line-height:1}
.schedule-panel h2{font-size:29px;letter-spacing:-1px;line-height:1.2;margin:23px 0 13px;font-weight:700}
.schedule-panel-description{font-size:14px;line-height:1.7;color:#52657a;margin:0 0 27px}
.schedule-state{display:flex;align-items:center;gap:11px;color:#56708b;font-size:13px;padding:22px 0}
.schedule-spinner{display:block;width:19px;height:19px;border:2px solid #d5e5f0;border-top-color:#008b84;border-radius:50%;animation:schedule-spin .9s linear infinite}
@keyframes schedule-spin{to{transform:rotate(360deg)}}
.schedule-button{display:flex;justify-content:center;align-items:center;width:100%;min-height:50px;border-radius:10px;border:1px solid var(--schedule-cobalt);background:var(--schedule-cobalt);color:#fff;text-align:center;font-size:13px;font-weight:750;padding:13px 18px;text-decoration:none;cursor:pointer;line-height:1.5;transition:background .2s,border-color .2s,transform .2s}
.schedule-button:hover{background:#1747c9;border-color:#1747c9;transform:translateY(-1px);color:#fff}
.schedule-booking-external{margin-top:11px;background:#fff;color:var(--schedule-cobalt);border-color:#b5cbec}
.schedule-booking-external:hover{background:#eff5ff;color:#1747c9;border-color:#8caee5}
.schedule-frame-wrap{margin:19px -12px 12px;background:#fff;border:1px solid #e3eaf0;border-radius:12px;overflow:hidden}
.schedule-frame-wrap iframe{display:block;width:100%;min-height:690px;border:0;background:#fff}
.schedule-provider-note{font-size:11px;line-height:1.7;color:#647c95;margin:15px 0 0}
.schedule-unavailable{border:1px solid #dfe9f1;border-radius:14px;background:#f5f9fc;padding:25px 22px}
.schedule-unavailable-symbol{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;background:#e6f5f2;color:var(--schedule-teal);font-size:23px}
.schedule-unavailable h3{font-size:17px;margin:15px 0 8px;line-height:1.4}
.schedule-unavailable p{color:#58728a;font-size:13px;line-height:1.7;margin:0 0 20px}
.schedule-trust{border-top:1px solid #e8edf3;padding-top:21px;margin-top:29px;display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.6;color:#647c95}
.schedule-trust>span:first-child{color:var(--schedule-teal);font-weight:900}
.schedule-footer{max-width:1192px;margin:0 auto;padding:25px 30px 35px;border-top:1px solid #dfe7f0;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#71859b;font-size:12px}
.schedule-footer a{color:#52657a;text-decoration:none}
.schedule-footer a:hover{color:var(--schedule-teal)}
.schedule-footer-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.schedule-panel .schedule-provider-note a{color:var(--schedule-teal);text-decoration:underline;text-underline-offset:3px}

/* The contact-area booking card appears only with a real booking URL. */
.contact-schedule-card{margin-top:33px;max-width:460px;background:#ffffff11;border:1px solid #a7d5e766;border-radius:17px;padding:22px 24px;box-shadow:0 8px 20px #07172b0c}
.contact-schedule-card[hidden]{display:none!important}
.contact-schedule-kicker{font-size:10px;letter-spacing:1.7px;color:#a4ebe1;font-weight:750}
.contact-schedule-card h3{font-size:21px;line-height:1.3;color:#fff;margin:10px 0 8px;letter-spacing:-.4px}
.contact-schedule-card p{font-size:13px;line-height:1.65;color:#d5e3f2;margin:0 0 16px}
.contact-schedule-card .contact-booking{display:inline-flex;margin:0;padding:10px 16px;gap:13px;max-width:none;background:#a4ebe1;color:#0b1f33;border:1px solid #a4ebe1;border-radius:9px;text-decoration:none;font-size:12px;font-weight:800;line-height:1.4}
.contact-schedule-card .contact-booking:hover{background:#d4fff7;color:#0b1f33;border-color:#d4fff7}
.contact-schedule-card small{display:block;margin-top:13px;color:#b5d0e4;font-size:11px;line-height:1.5}
.conversation-success .conversation-booking{display:inline-flex;align-items:center;margin-top:18px;padding:12px 18px;background:#2457e6;color:#fff;border-radius:9px;text-decoration:none;font-size:12px;font-weight:750}
.conversation-success .conversation-booking:hover{background:#1747c9;color:#fff}
.conversation-success .conversation-booking[hidden]{display:none!important}

@media(max-width:950px){.schedule-grid{gap:34px;grid-template-columns:1fr 1fr}.schedule-main{padding-top:30px}.schedule-copy h1{font-size:clamp(37px,4.7vw,51px)}.schedule-panel{padding:28px 23px}.schedule-facts{gap:8px}.schedule-facts>div{padding:14px 9px}}
@media(max-width:760px){.schedule-header{padding:20px 20px 16px}.schedule-brand img{width:178px}.schedule-back{font-size:11px}.schedule-header-actions{gap:16px}.schedule-grid{grid-template-columns:1fr;gap:35px}.schedule-main{padding:16px 20px 65px;min-height:0}.schedule-copy{padding-top:13px}.schedule-copy h1{font-size:clamp(37px,8vw,48px);letter-spacing:-1.7px}.schedule-lead{font-size:15px}.schedule-facts{margin:27px 0 31px}.schedule-panel{padding:27px 22px}.schedule-panel h2{font-size:26px}.schedule-footer{padding:23px 20px 28px}}
@media(max-width:430px){.schedule-brand{min-width:140px}.schedule-brand img{width:148px}.schedule-brand span{font-size:8px}.schedule-header-actions{gap:8px}.schedule-back{max-width:76px;text-align:right;line-height:1.45}.schedule-languages{gap:3px}.schedule-languages button{padding:7px 3px}.schedule-facts{grid-template-columns:repeat(3,1fr)}.schedule-facts strong{font-size:11px}.schedule-facts small{font-size:10px}.schedule-facts .fact-mark{height:30px;width:30px;font-size:17px}.schedule-panel{border-radius:15px;padding:24px 18px}.schedule-copy h1{font-size:36px}.schedule-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){.schedule-spinner{animation:none}.schedule-button{transition:none}}
