.booking-page{background:var(--paper);color:var(--editorial);min-height:100vh}
.booking-header{height:100px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between}
.return-link{font-size:14px;display:flex;gap:28px;border-bottom:1px solid;padding:8px 0}
.booking-main{width:1060px;max-width:calc(100% - 100px);margin:38px auto 0}
.preview-bar{display:flex;justify-content:space-between;padding:0 0 15px;font-size:12px;color:var(--muted)}
.preview-bar>span:first-child{color:var(--editorial)}
.booking-shell{display:grid;grid-template-columns:330px 1fr;background:#fff;border:1px solid #dfdde1;border-radius:3px;min-height:600px}
.meeting-info{padding:40px 36px;border-right:1px solid #dfdde1}
.meeting-brand{font-size:14px;font-weight:500;letter-spacing:-.4px;margin-bottom:26px}
.meeting-info h1{font-family:FFSerif,Georgia,serif;font-size:46px;line-height:1.13;font-weight:400;font-style:italic;letter-spacing:normal}
.meeting-intro{font-size:15px;line-height:1.65;color:var(--muted);margin-top:19px}
.meeting-facts{list-style:none;padding:0;margin:27px 0 25px;display:grid;gap:15px;font-size:14px}
.meeting-facts li{display:flex;align-items:center;gap:12px}.meeting-facts svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}
.timezone-field label{display:block;font-size:11px;margin-bottom:7px;color:var(--muted)}
.timezone-field select{font:inherit;font-size:13px;background:#fff;color:var(--editorial);width:100%;border:0;border-bottom:1px solid #d7d4dc;border-radius:0;padding:8px 0;cursor:pointer}
#zone-offset{font-size:11px;color:var(--muted);margin-top:7px}
.meeting-context{border-top:1px solid #dfdde1;margin-top:25px;padding-top:22px;font-size:13px;line-height:1.7;color:var(--muted)}
.direct-email{display:inline-flex;gap:50px;font-size:12px;margin-top:22px;border-bottom:1px solid #bcb7c6;padding-bottom:5px}
.booking-content{padding:36px 38px 30px;min-width:0}
.booking-steps{display:flex;gap:38px;list-style:none;margin:0 0 33px;padding:0;font-size:12px;color:#8c8794}
.booking-steps li{padding-bottom:11px;border-bottom:1px solid transparent}.booking-steps span{margin-right:8px;font-size:10px}.booking-steps [aria-current]{color:var(--editorial);border-color:var(--editorial)}
.booking-content h2{font-family:FFSans,sans-serif;font-size:23px;font-weight:400;font-style:normal;line-height:1.25;letter-spacing:-.025em;outline:none}
.stage-caption{font-size:13px;color:var(--muted);margin-top:10px}
.schedule-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:30px;margin-top:31px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;min-height:30px}
.calendar-heading h3,.time-column h3{font-size:14px;font-weight:500}
.calendar-heading>div{display:flex;gap:5px}
.calendar-heading button{width:30px;height:30px;border:0;background:none;color:var(--editorial);font-size:18px;cursor:pointer}
.calendar-heading button:disabled{color:#c8c4cc;cursor:default}
.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.weekdays{font-size:9px;color:var(--muted);letter-spacing:.02em;margin-bottom:14px}
.calendar-days button,.calendar-days>span{height:38px;width:38px;justify-self:center;border:0;border-radius:50%;font:inherit;font-size:13px;background:#f0eef3;color:var(--editorial);cursor:pointer}
.calendar-days button:disabled{color:#c6c2cc;background:transparent;cursor:default}
.calendar-days button[aria-pressed=true]{background:var(--editorial);color:white}
.calendar-days button:not(:disabled):not([aria-pressed=true]):hover{background:#e3dfea}
.calendar-days>span{background:transparent}
.calendar-legend{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);margin-top:24px}
.calendar-legend span{width:6px;height:6px;border-radius:100%;background:#80758f}
.time-column{border-left:1px solid #eeecf0;padding-left:22px}
.time-column h3{font-size:13px;line-height:1.4}.time-caption{font-size:10px;color:var(--muted);margin-top:6px;line-height:1.4}
.time-slots{display:grid;gap:8px;max-height:285px;overflow-y:auto;margin-top:19px;padding-right:4px;scrollbar-width:thin}
.time-slots button{min-height:37px;background:#fff;border:1px solid #d8d4df;border-radius:2px;font:inherit;font-size:12px;color:var(--editorial);cursor:pointer}
.time-slots button:hover{border-color:var(--editorial)}.time-slots button[aria-pressed=true]{color:#fff;background:var(--editorial);border-color:var(--editorial)}
.step-actions{border-top:1px solid #e7e4ea;display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:29px;padding-top:23px}
.step-actions p{font-size:11px;line-height:1.6;color:var(--muted);max-width:65%}
.primary-button{background:var(--editorial);color:#fff;border:1px solid var(--editorial);padding:13px 19px;font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:25px;border-radius:2px;white-space:nowrap}
.primary-button:disabled{background:#e9e7ec;border-color:#e9e7ec;color:#99939f;cursor:default}.primary-button:not(:disabled):hover{background:#393043}
.booking-page button:focus-visible,.booking-page input:focus-visible,.booking-page select:focus-visible,.booking-page textarea:focus-visible{outline:2px solid #315eae;outline-offset:3px}
.booking-footer{display:flex;justify-content:space-between;padding:22px 0 32px;font-size:11px;color:var(--muted)}
[hidden]{display:none!important}
.back-button{font:inherit;font-size:12px;border:0;padding:0;background:none;color:var(--muted);cursor:pointer}
#details-heading{margin-top:24px}.chosen-time{font-size:12px;color:var(--muted);line-height:1.7;margin-top:10px;padding-bottom:22px;border-bottom:1px solid #e7e4ea}
#details-form{margin-top:23px;display:grid;gap:19px}#details-form label{display:block;font-size:12px}.optional{color:var(--muted);font-size:10px;margin-left:6px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
#details-form input,#details-form textarea{display:block;width:100%;font:inherit;font-size:13px;line-height:1.5;color:var(--editorial);border:1px solid #d8d4df;border-radius:2px;padding:11px 12px;margin-top:8px;background:#fff}
#details-form textarea{resize:vertical;min-height:82px;max-height:160px}#details-form input::placeholder,#details-form textarea::placeholder{color:#97919f;font-size:12px}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:5px}.form-bottom p{font-size:10px;line-height:1.7;color:var(--muted)}
.summary-label{font-size:10px;letter-spacing:.1em;color:var(--muted);margin-bottom:28px}
#summary-heading{font-family:FFSerif,Georgia,serif;font-size:48px;font-style:italic;letter-spacing:normal}.summary-intro{font-size:13px;color:var(--muted);margin-top:14px}
.summary-list{margin:30px 0}.summary-list>div{display:grid;grid-template-columns:100px 1fr;padding:15px 0;border-top:1px solid #e7e4ea;gap:15px;font-size:13px;line-height:1.6}.summary-list dt{color:var(--muted);font-size:12px}.summary-list dd{margin:0;overflow-wrap:anywhere}
.summary-notice{font-size:12px;line-height:1.7;color:var(--muted)}.summary-actions{display:flex;align-items:center;justify-content:space-between;margin-top:30px}
@media(min-width:1700px){.booking-main{margin-top:90px}}
@media(max-width:1300px){.booking-main{max-width:calc(100% - 64px);margin-top:20px}.booking-shell{grid-template-columns:300px 1fr}.booking-content{padding:32px}.meeting-info{padding:36px 30px}.schedule-grid{gap:24px}}
@media(max-height:800px){.booking-header{height:80px}.booking-main{margin-top:10px}.meeting-info{padding-top:28px;padding-bottom:28px}.meeting-brand{margin-bottom:18px}.meeting-info h1{font-size:42px}.meeting-intro{margin-top:15px}.meeting-facts{margin-top:20px;margin-bottom:20px}.meeting-context{margin-top:20px;padding-top:18px}.booking-content{padding-top:28px;padding-bottom:25px}.booking-steps{margin-bottom:24px}.schedule-grid{margin-top:25px}.step-actions{margin-top:24px;padding-top:20px}}

.booking-header .brand img{width:220px;height:auto;object-fit:contain}
