/* Booking 13.2 — visual refinement, no external image dependency. */
.booking-page{background:#f4f7fb}.booking-hero{padding-top:30px}
.booking-hero-inner{background:linear-gradient(100deg,#03274ff5 25%,#03274dd9 75%),url('../images/performance-governance-cinematic.webp') center/cover;border-radius:24px;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);padding:48px;gap:42px;align-items:center}
.booking-hero .eyebrow{font-size:10px;letter-spacing:.16em;color:#79e6e9;line-height:1.7}.booking-hero h1{font-size:clamp(32px,4.2vw,54px);line-height:1.12;max-width:670px}
.booking-hero p{font-size:15px;line-height:1.8}.hero-book-link{margin-top:24px;background:#08c3ca!important;color:#032c50!important;border-color:#08c3ca!important;min-height:46px;padding:13px 22px}
.hero-chips{gap:8px}.hero-chip{border:0;border-radius:6px;padding:8px 10px;font-size:11px}
.availability-panel{background:#ffffff0e;padding:25px;border-color:#ffffff26}.availability-panel h2{font-size:15px;line-height:1.5}
.consultation-highlight{padding:22px 0;border-bottom:1px solid #ffffff30;margin-bottom:16px}.consultation-highlight strong{display:block;color:#7ce7e8;font-size:28px;font-weight:800}.consultation-highlight>span{display:block;color:#d3e3ed;font-size:13px;margin-top:8px}
.weekly-schedule summary{cursor:pointer;color:#fff;font-size:13px;font-weight:700;padding:5px 0 12px}.weekly-schedule>p{font-size:11px}.availability-row{display:grid;grid-template-columns:80px 1fr;gap:8px;padding:9px 0}.availability-row strong{font-size:12px}.availability-row span{font-size:11px;margin:0}
.booking-section{padding-top:30px}.service-picker{margin-bottom:24px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px 24px;align-items:center;box-shadow:none;padding:22px 26px}.service-picker label{font-size:13px;color:#274661}.service-picker p{grid-column:2;font-size:12px;margin:0}.service-picker select{margin:0}
.step-rail{max-width:none;margin:28px 0;font-size:13px}.step-rail span{padding:16px;border:1px solid #d9e4ee;border-radius:12px;background:white}.step-rail .active,.step-rail .done{background:#e4f7f7;border-color:#75d6d9}
.booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.panel{box-shadow:0 6px 24px #032f6105;border-color:#dce5ed;border-radius:18px}.panel-head{padding-bottom:20px;border-bottom:1px solid #e5ecf2;margin-bottom:22px}.panel-head h2{font-size:22px;line-height:1.3}.panel-head p{font-size:13px;line-height:1.75}.sticky-side{position:static}
.booking-form .field label{font-weight:700;color:#27445e;font-size:13px}.booking-form input:not([type=checkbox]),.booking-form textarea,.booking-form select,.service-picker select{background:#fbfdff;color:#17324d;border:1px solid #aec2d2;border-radius:9px;font-size:14px;min-height:46px}.booking-form textarea{min-height:130px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:3px solid #00bbc41a;border-color:#008f99}.selection-card{background:#edf8fa;border:1px solid #bcdee2;border-left:4px solid #00aeb6;border-radius:10px}.selection-label{font-size:10px;letter-spacing:.12em}.consent{font-size:12px;line-height:1.8}.form-note{line-height:1.75}
#submitBtn{min-height:50px;border-radius:10px;font-size:14px}.date-tile,.slot-btn{border-radius:10px}.info-section{background:#fff}.info-card{box-shadow:none;border:1px solid #dbe6ee;border-radius:16px}.success-panel{border:1px solid #b7dedd;box-shadow:0 15px 40px #032f6108}
@media(max-width:950px){.booking-hero-inner{padding:32px;gap:25px}.booking-layout{grid-template-columns:1fr}.booking-hero-inner{grid-template-columns:1fr}.availability-panel{max-width:none}.consultation-highlight{padding:12px 0}.step-rail{font-size:11px}}
@media(max-width:600px){.booking-hero{padding-top:16px}.booking-hero-inner{padding:26px 20px;border-radius:18px}.booking-hero h1{font-size:32px}.service-picker{grid-template-columns:1fr;padding:20px}.service-picker p{grid-column:1}.step-rail span{padding:12px 5px;gap:5px;flex-direction:column}.panel-head h2{font-size:21px}.booking-layout{gap:18px}.availability-row{grid-template-columns:78px 1fr}}
.booking-page .booking-hero h1{color:#fff!important}.booking-page .booking-hero .booking-hero-inner>div>p{color:#d1e2ed!important}.booking-page .booking-hero .hero-chip{background:#ffffff12!important;color:#e1f4fa!important;border:1px solid #ffffff20!important}

/* V25 — hourly coaching & advising: session length and sign-in panels */
.duration-picker,.booking-signin{margin-bottom:18px}
.duration-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.duration-option{position:relative;cursor:pointer}
.duration-option input{position:absolute;opacity:0;pointer-events:none}
.duration-option span{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:96px;padding:12px 14px;border:1px solid #d6e5ee;border-radius:14px;background:#fff;color:#032f61;transition:border-color .2s,box-shadow .2s,background-color .2s}
.duration-option small{font-size:12px;color:#506985}
.duration-option input:checked+span{border-color:#00a9b5;background:#e9fafb;box-shadow:0 0 0 3px rgba(0,185,198,.18)}
.duration-option input:focus-visible+span{outline:3px solid #00aabc;outline-offset:2px}
.booking-signin h2{margin-top:0}
@media(max-width:520px){.duration-option{flex:1 1 calc(50% - 10px)}.duration-option span{min-width:0}}
