.program-details{list-style:none;margin:18px 0 12px;font-size:13px;color:#536075}.program-details li{margin:7px 0}.program-rate{display:block;color:var(--blue);font-size:14px}.program-tagline{font-style:italic;color:var(--blue)!important;margin-bottom:12px!important}.program-link{display:inline-block;margin-top:18px;font-weight:700;font-size:13px;color:var(--blue)}.core-values{margin-top:25px}.core-values p{font-size:14px}.program-card{display:flex;flex-direction:column}.program-card .program-link{margin-top:auto;padding-top:20px}.program-card .program-rate{padding-bottom:18px}
/* Booking uses the existing KieAn palette and works without external fonts. */
.booking-page{background:#faf9f5;color:#24334a;font-family:'DM Sans',Arial,sans-serif}.booking-page [hidden]{display:none!important}.booking-header{background:#fff;border-bottom:1px solid #e7e9ee}.booking-header .container{display:flex;align-items:center;gap:30px;min-height:90px}.booking-header img{width:136px}.back-home{font-size:13px;font-weight:600;color:#5d687c}.timezone-label{margin-left:auto;font-size:12px;color:#536075;background:#f1f5fb;padding:8px 14px;border-radius:24px}.booking-main{max-width:1180px;padding-top:48px;padding-bottom:48px}.booking-intro h1{font-family:'Nunito',Arial,sans-serif;font-size:clamp(30px,4vw,47px);line-height:1.18;letter-spacing:-1.4px;margin:14px 0}.booking-intro h1 span{color:#ed7622}.booking-intro>p{font-size:15px;color:#647083}.booking-intro .section-kicker{font-size:11px;letter-spacing:1.7px;color:#1c4d9c}.notice{margin:24px 0 0;padding:13px 17px;border:1px solid #e8d7a6;background:#fff9e8;border-radius:9px;font-size:13px;color:#74500b}.notice.live{background:#edf6f2;border-color:#c6dfd2;color:#26634b}.booking-steps{list-style:none;display:flex;gap:32px;margin:30px 0 24px;border-bottom:1px solid #e0e4eb}.booking-steps li{display:flex;align-items:center;gap:9px;padding:0 0 18px;font-size:13px;color:#7c8796;border-bottom:3px solid transparent;position:relative;top:1px}.booking-steps li span{width:25px;height:25px;background:#e8ebef;color:#667285;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.booking-steps li[aria-current=step]{color:#164993;border-bottom-color:#ed7622;font-weight:700}.booking-steps li[aria-current=step] span,.booking-steps li.done span{background:#164993;color:#fff}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:28px}.step-panel{background:#fff;border:1px solid #e3e7ed;border-radius:17px;padding:30px;box-shadow:0 6px 22px #183a7010}.panel-title{margin-bottom:24px}.step-eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#a36936}.panel-title h2{font-size:25px;color:#183c72;line-height:1.3;letter-spacing:-.5px;margin:5px 0 8px}.panel-title p{font-size:13px;color:#6a778a}.mode-tabs{display:flex;padding:5px;background:#f0f3f8;border-radius:9px;gap:5px;margin-bottom:24px}.mode-tabs button{flex:1;border:0;background:transparent;padding:11px;border-radius:6px;font-size:13px;font-weight:700;color:#627085}.mode-tabs button[aria-pressed=true]{background:white;box-shadow:0 2px 7px #1b376515;color:#1b4b94}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-page label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:8px}.booking-page input:not([type=checkbox]):not([type=radio]),.booking-page select,.booking-page textarea{width:100%;min-width:0;border:1px solid #d5dce7;border-radius:7px;background:#fff;color:#33435c;padding:12px 13px;font-size:14px;line-height:1.4}.booking-page textarea{resize:vertical}.booking-page :focus-visible{outline:3px solid #ee8a39;outline-offset:3px}.program-info{background:#f5f8fc;border-radius:8px;padding:13px 15px;margin:19px 0 26px;font-size:12px;color:#52647a}.program-info strong{color:#224f8c;display:block;margin-bottom:4px}.teacher-fieldset{border:0;min-width:0}.teacher-fieldset legend{font-size:13px;font-weight:700;margin-bottom:12px}.teacher-options{display:grid;gap:12px}.booking-page .teacher-card{border:1px solid #dce3ed;display:grid;grid-template-columns:auto 45px 1fr;align-items:center;padding:17px;gap:13px;border-radius:10px;cursor:pointer}.teacher-card:has(input:checked){border-color:#2056a5;background:#f4f8fe;box-shadow:0 0 0 1px #2056a5}.teacher-card input{accent-color:#2056a5;width:16px;height:16px}.teacher-avatar{height:44px;width:44px;display:grid;place-items:center;background:#e1ebfa;color:#1d4b8e;border-radius:50%;font-size:15px}.teacher-card strong{font-size:14px;color:#214677}.teacher-card small{display:block;font-size:12px;font-weight:400;line-height:1.5;color:#68778d;margin-top:4px}.panel-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px;padding-top:23px;border-top:1px solid #e7ebf1}.panel-actions>span{font-size:11px;color:#778193}.booking-page .btn{font-size:12px}.booking-page button:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}.booking-summary{position:sticky;top:26px;background:white;border-radius:16px;overflow:hidden;border:1px solid #dae3ed;box-shadow:0 6px 20px #183a700a}.summary-top{background:#153f81;padding:26px;color:white;position:relative;overflow:hidden}.summary-top:after{content:'✳';position:absolute;font-size:95px;color:#ffffff12;right:-3px;bottom:-29px}.summary-top>span{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#c8d9f3}.summary-top h2{font-size:22px;line-height:1.35;letter-spacing:-.4px;margin-top:12px}.summary-body{padding:25px}.summary-body dl>div{margin-bottom:20px}.summary-body dt{color:#798495;font-size:11px;margin-bottom:5px}.summary-body dd{font-size:13px;font-weight:700;color:#2c4567;overflow-wrap:anywhere}.session-progress{border-top:1px solid #e3e7ee;padding-top:20px;margin-top:20px}.session-progress>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.session-progress strong{font-size:14px;color:#1b4b8e}.session-progress span{font-size:10px;color:#9b6432}.session-progress progress{width:100%;height:6px;margin:11px 0 8px;appearance:none;border:0;border-radius:9px;background:#edf0f4;overflow:hidden}.session-progress progress::-webkit-progress-bar{background:#edf0f4}.session-progress progress::-webkit-progress-value{background:#ef8b3b}.session-progress progress::-moz-progress-bar{background:#ef8b3b}.session-progress small{font-size:11px;color:#728095;line-height:1.6;display:block}.summary-note{display:flex;gap:10px;align-items:flex-start;padding:15px 12px;background:#fff8ee;border-radius:8px;margin-top:23px}.summary-note>span{color:#ec862e}.summary-note p{font-size:11px;color:#805d36;line-height:1.65}.calendar-note{font-size:11px;line-height:1.7;color:#6b7f77;margin-top:17px}.booking-help{text-align:center;font-size:12px;color:#657189;margin-top:30px}.booking-help strong{font-weight:500}.booking-help a{font-weight:700;color:#224f93;margin-left:8px}.booking-footer{padding:23px 30px;border-top:1px solid #e2e5ea;display:flex;justify-content:space-between;font-size:11px;color:#7c8593}.quick-select{display:flex;align-items:center;gap:15px;justify-content:space-between;background:#fff8ed;padding:15px;border:1px solid #f4e4c9;border-radius:9px}.quick-select strong{display:block;color:#79542d;font-size:12px}.quick-select small{display:block;color:#99764f;font-size:10px;line-height:1.5;margin-top:4px}.quick-select .btn{flex-shrink:0;min-height:38px;padding:8px 12px;color:#906334;border-color:#e8c99f;background:white;font-size:11px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin:24px 0 19px}.calendar-toolbar h3{font-size:16px;color:#294b7a}.icon-button{background:white;border:1px solid #dce2eb;border-radius:7px;width:33px;height:33px;color:#274b7c}.calendar-weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays span{text-align:center;font-size:10px;font-weight:700;color:#7f8a9b;padding:4px 0 10px}.date-cell{min-height:44px;background:#fafbfd;border:1px solid #e5eaf0;border-radius:7px;color:#2b476a;position:relative;font-size:13px;font-weight:600}.date-cell[aria-pressed=true]{background:#1d509a;border-color:#1d509a;color:#fff;box-shadow:0 2px 5px #2359a330}.date-cell.today:not([aria-pressed=true]){border-color:#ec882d}.date-cell:disabled{background:#f3f4f6;color:#bac0c9;text-decoration:line-through;opacity:.75!important}.calendar-legend{display:flex;align-items:center;gap:18px;margin-top:15px;font-size:10px;color:#738196}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{display:inline-block;width:8px;height:8px;border-radius:2px}.legend-selected{background:#1d509a}.legend-unavailable{background:#dfe3e9}.text-button{padding:3px;border:0;background:none;color:#325891;font-size:11px;font-weight:600}.calendar-legend .text-button{margin-left:auto}.date-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.date-chip{display:flex;align-items:center;gap:8px;background:#edf3fc;border:1px solid #dbe5f4;border-radius:5px;font-size:10px;color:#325789;padding:7px 9px}.date-chip button{border:0;background:transparent;color:#446798;font-size:14px}.time-section{border-top:1px solid #e5eaf0;margin-top:24px;padding-top:21px}.time-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.time-heading h3{font-size:15px;color:#294b7a}.time-heading span{font-size:10px;color:#7e8998}.time-section>p{font-size:11px;color:#7b8796;margin-top:7px}.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}.time-slot{border:1px solid #d8e0ec;border-radius:7px;background:white;padding:12px 4px;font-size:10px;color:#426083;font-weight:600}.time-slot[aria-pressed=true]{background:#edf4fe;color:#1a4e97;border-color:#1b4e96;box-shadow:0 0 0 1px #1b4e96}.time-section #time-status{color:#3c7262}.notes-field{margin-top:22px}.notes-field>span{color:#758196;font-weight:400}.notes-field small{font-size:10px;color:#7c8491;font-weight:400}.review-box{margin-top:23px;padding:19px;border:1px solid #dce5f0;border-radius:9px;background:#f9fbfe}.review-box h3{font-size:14px;color:#214e8b;margin-bottom:10px}.review-session{display:flex;justify-content:space-between;gap:12px;font-size:11px;padding:8px 0;border-bottom:1px solid #e6ecf4}.review-session:last-child{border:0}.review-session span:last-child{font-weight:700;color:#31527b}.fee-note{font-size:11px;color:#79664d;margin:18px 0;line-height:1.7}.booking-page .consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:11px;line-height:1.8;font-weight:400}.consent input{margin-top:5px;accent-color:#194e95}.consent a{text-decoration:underline;color:#265996}.honeypot{position:absolute!important;left:-10000px!important;overflow:hidden;width:1px;height:1px}.form-error{padding:14px 18px;border:1px solid #e8b7b2;background:#fff1ef;color:#922f29;font-size:13px;border-radius:10px;margin-bottom:16px}#privacy-details{margin-top:22px;font-size:11px;color:#738093}#privacy-details summary{cursor:pointer;font-weight:700}#privacy-details p{margin-top:10px;line-height:1.8}.confirmation{text-align:center;padding-top:42px}.confirmation-icon{margin:0 auto 20px;width:62px;height:62px;border-radius:50%;background:#e5f2ec;color:#398064;display:grid;place-items:center;font-size:27px}.confirmation h2{font-size:27px;color:#20477f;line-height:1.3;margin-bottom:13px}.confirmation>p{font-size:13px;color:#6a7a8f;margin:12px 0}.confirmation .reference{background:#eff4fc;padding:10px;border-radius:7px;font-family:monospace;color:#28599d}.confirmation .review-box{text-align:left}.confirmation .panel-actions{justify-content:center;flex-wrap:wrap}.empty-teachers{font-size:13px;background:#f5f7fa;border-radius:9px;padding:22px;color:#64748a}.booking-page button,.booking-page a{touch-action:manipulation}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.booking-page *{transition:none!important}}
@media(max-width:950px){.booking-layout{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.step-panel{padding:24px}.summary-body,.summary-top{padding:20px}.time-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.booking-main{padding-top:29px}.booking-header .container{min-height:76px;gap:16px}.booking-header img{width:112px}.timezone-label{display:none}.back-home{margin-left:auto;font-size:11px}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:2}.summary-top{display:none}.summary-body{padding:20px}.summary-body dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-body dl>div{margin:0}.booking-steps{gap:0;justify-content:space-between}.booking-steps li{gap:5px;font-size:10px;padding-bottom:14px}.booking-steps li span{width:21px;height:21px;font-size:10px}.booking-intro h1{letter-spacing:-.7px}.booking-intro>p{font-size:13px}.notice{font-size:11px}.step-panel{padding:22px 17px}.panel-title h2{font-size:22px}.quick-select{align-items:flex-start;padding:12px}.quick-select small{max-width:190px}.date-grid,.calendar-weekdays{gap:4px}.date-cell{min-height:42px}.field-grid{grid-template-columns:1fr}.panel-actions>span{max-width:100px}.panel-actions .btn{padding:12px 14px;gap:7px;font-size:11px}.teacher-card{padding:14px!important}.time-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-footer{font-size:10px;padding:20px;gap:20px}.booking-help{display:flex;flex-direction:column;gap:6px}.review-session{font-size:10px}.booking-page .container{width:calc(100% - 28px)}}
@media print{.booking-header,.booking-steps,.booking-summary,.booking-help,.panel-actions,.notice,.booking-footer{display:none!important}.booking-layout{display:block}.step-panel{box-shadow:none}}
.file-field{margin-top:18px}.file-field>span{color:#758196;font-weight:400}.booking-page .file-field input[type=file]{padding:10px;border:1px dashed #b9c6d9;background:#f9fbfe;cursor:pointer}.price-box{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 12px;margin-top:16px;padding:16px 19px;border-radius:9px;background:#153f81;color:#fff}.price-box span{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#c8d9f3}.price-box strong{font-size:24px}.price-box small{grid-column:1/-1;font-size:11px;color:#c8d9f3}.payment-box{margin-top:16px;padding:19px;border:1px solid #f4e4c9;border-radius:9px;background:#fff8ed}.payment-box h3{font-size:14px;color:#79542d}.payment-box>p{margin-top:6px;font-size:13px;line-height:1.7;color:#6f5232;white-space:pre-line}.payment-box>small{display:block;margin-top:10px;font-size:11px;color:#99764f}.payment-box .file-field{margin-top:12px}.meet-link{font-size:11px;font-weight:700;color:#1a73e8}.review-session{flex-wrap:wrap}.confirmation-total{font-weight:700;color:#20477f!important}
.file-field .file-error{display:block;margin-top:6px;font-size:12px;font-weight:600;color:#b3261e}
