/* CFO CRAFT booking-only additions. Header, navigation, footer and base typography come from the main website style.css + responsive.css. */
:root{--navy:#082951;--midnight:#020c1b;--deep:#09182d;--blue:#2b6db2;--sky:#a6cbf7;--gold:#eeba7d;--gold-hover:#dca362;--ink:#152c42;--muted:#637488;--line:#e2e9f0;--offwhite:#f5f8fb;--white:#fff;--font:'Roboto',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
body.booking-page{background:#fff;color:var(--ink);font-family:var(--font-primary);line-height:1.55}
.booking-page button,.booking-page input,.booking-page select,.booking-page textarea{font:inherit}
.booking-page button{cursor:pointer}
.booking-page .intro-region svg{height:19px;width:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
[hidden]{display:none!important}
.booking-page :focus-visible{outline:3px solid #80b3eb;outline-offset:3px}
/* Header is the actual site navbar, on its original dark surface until scrolling, with shared dropdowns. */
.booking-page .navbar:not(.scrolled){background:linear-gradient(110deg,#020c1b 0%,#090f18 50%,#082951 100%);box-shadow:0 1px 0 rgba(255,255,255,.045)}
.booking-page .navbar .nav-logo{cursor:default}
.booking-page .navbar .nav-cta{white-space:nowrap}
/* Same gradient underline that appears on "Questions promoters ask us" in style.css. */
.booking-page .intro-title .booking-main-title{position:relative;display:inline-block;padding-bottom:.9rem;font-size:clamp(33px,3.3vw,51px);font-weight:600;line-height:1.16;letter-spacing:-.045em;color:#102c4a}
.booking-page .intro-title .booking-main-title::after{content:"";position:absolute;left:0;bottom:0;width:82px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--light-blue),var(--primary-blue))}
.booking-page .intro-title .booking-pretitle{display:flex;align-items:center;gap:10px;margin-bottom:15px;color:var(--primary-blue);font-family:var(--font-heading);font-size:.79rem;font-weight:800;letter-spacing:.1em}
.booking-page .intro-title .booking-pretitle::before{content:"";width:25px;height:3px;border-radius:10px;background:var(--creamish)}
/* Booking area: all original scheduling and validation styles preserved. */
.intro-region{padding:67px 0 96px;background:radial-gradient(circle at 95% 15%,rgba(166,203,247,.21),transparent 32%),linear-gradient(180deg,#f7fafd,#fff 75%);position:relative;overflow:visible}.page-container{max-width:1332px;padding:0 36px;margin:0 auto}.intro-title{max-width:960px;margin-bottom:37px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.15em;font-weight:800;text-transform:uppercase;color:#2b6db2}.eyebrow{display:flex;gap:12px;align-items:center;margin-bottom:15px}.eyebrow-dash{width:27px;height:3px;background:var(--gold);border-radius:9px}.intro-title h1{font-family:var(--heading);font-size:clamp(33px,3.3vw,51px);line-height:1.16;letter-spacing:-.045em;color:#102c4a;font-weight:600}.intro-title h1 span{color:var(--blue)}.intro-title p{margin-top:15px;color:#53687d;font-size:16px;max-width:720px;font-weight:400}.experience{display:grid;grid-template-columns:minmax(312px,.81fr) minmax(0,1.65fr);align-items:stretch;border:1px solid #dbe5ee;border-radius:23px;overflow:visible;box-shadow:0 28px 65px rgba(23,47,72,.10);background:#fff;min-height:638px}.conversation-pane{position:relative;overflow:hidden;padding:41px 38px 35px;border-radius:22px 0 0 22px;background:linear-gradient(148deg,#082951 0%,#071a33 59%,#020c1b 100%);color:#fff}.conversation-art{position:absolute;right:-125px;top:-90px;width:290px;height:280px;pointer-events:none;opacity:.66}.art-ring{position:absolute;border:1px solid rgba(166,203,247,.22);border-radius:50%}.ring-one{inset:10px}.ring-two{inset:65px}.art-shine{position:absolute;inset:95px;border-radius:50%;background:radial-gradient(circle,#2b6db2,transparent 66%);filter:blur(26px)}.conversation-pane>*:not(.conversation-art){position:relative;z-index:1}.conversation-pane>.section-kicker{display:block;color:var(--gold);margin-bottom:31px}.host-tag{display:flex;align-items:center;gap:12px;margin-bottom:25px}.host-monogram{height:44px;width:44px;background:linear-gradient(140deg,#bbd8fa,#5c9ae2);display:flex;justify-content:center;align-items:center;color:var(--navy);font-family:var(--heading);font-size:14px;font-weight:800;border-radius:14px}.host-tag strong{display:block;font-family:var(--heading);font-size:15px;font-weight:650}.host-tag small{display:block;font-size:12px;color:#b9cce5;margin-top:1px}.conversation-pane h2{font-family:var(--heading);font-size:clamp(24px,2.3vw,32px);line-height:1.15;letter-spacing:-.04em;font-weight:700;margin:0 0 21px}.meeting-details{display:flex;flex-direction:column;gap:12px;color:#dceaf7;font-size:14px}.meeting-details span{display:flex;align-items:center;gap:10px}.meeting-details svg{width:17px;height:17px;color:var(--gold);flex-shrink:0}.meeting-details small{font-size:12px;color:#a6bfd9}.host-separator{height:1px;background:rgba(255,255,255,.14);margin:33px 0 26px}.conversation-pane h3{font-family:var(--heading);font-size:17px;letter-spacing:-.02em;margin-bottom:15px}.agenda-list{list-style:none;padding:0}.agenda-list li{display:grid;grid-template-columns:31px 1fr;gap:5px;padding:12px 0;border-top:1px solid rgba(255,255,255,.09);color:#b9cbdf}.agenda-list li span{font-family:var(--heading);font-size:12px;font-weight:800;color:var(--gold)}.agenda-list li p{font-size:13px;line-height:1.5}.conversation-contact{margin-top:40px;color:#afc7e0;font-size:13px}.conversation-contact a{display:block;font-weight:600;color:var(--gold);margin-top:3px}.conversation-contact a:hover{text-decoration:underline}
.schedule-pane{position:relative;border-radius:0 22px 22px 0;padding:34px 34px 33px;min-width:0;background:white}.booking-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 0 19px;border-bottom:1px solid var(--line)}.section-kicker.dark{color:var(--blue)}.booking-heading h2{font-family:var(--heading);color:#142d46;font-size:clamp(20px,2.1vw,27px);letter-spacing:-.035em;font-weight:700;margin-top:7px;line-height:1.25}.step-caption{font-family:var(--heading);font-weight:800;font-size:11px;letter-spacing:.08em;color:#7f95ab;margin-top:2px;white-space:nowrap}.progress-track{display:flex;align-items:center;margin:23px 0 28px;gap:12px;white-space:nowrap}.progress-step{display:flex;gap:9px;align-items:center;color:#8d9fb1;font-size:12px;font-weight:600}.progress-step>span{height:25px;width:25px;border:1px solid #dce7f0;background:#f4f7fa;display:grid;place-items:center;border-radius:8px;color:#7790a9;font-family:var(--heading);font-size:11px}.progress-step.is-current{color:#143755}.progress-step.is-current>span{background:var(--gold);border-color:var(--gold);color:#0b2034}.progress-step.is-done{color:#2b6db2}.progress-step.is-done>span{background:#ebf5ff;color:#2b6db2;border-color:#b7d8fa}.track-line{width:25px;height:1px;background:#dce7ef}
.timezone-row{margin-bottom:29px;position:relative;z-index:6}.timezone-row>label{display:block;color:#2d475f;font-size:13px;font-weight:700;margin-bottom:9px}.timezone-picker{position:relative;max-width:590px}.timezone-button{height:47px;width:100%;display:flex;align-items:center;gap:11px;padding:0 15px;background:#f6f9fc;color:#153452;border:1px solid #dce6ef;border-radius:10px;text-align:left;transition:border-color .2s,box-shadow .2s}.timezone-button:hover,.timezone-button[aria-expanded="true"]{border-color:#9cbfe2;box-shadow:0 0 0 3px rgba(43,109,178,.07)}.timezone-button svg:first-child{color:#2b6db2}.timezone-button svg:last-child{margin-left:auto;width:15px;height:15px}.timezone-button>span{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timezone-caption{font-size:11px;color:#8191a4;margin-top:8px}.timezone-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:100;background:#fff;border-radius:13px;border:1px solid #d1e0ee;box-shadow:0 22px 55px rgba(14,49,83,.18);padding:10px;max-height:340px}.timezone-search-wrap{padding:0 0 9px;border-bottom:1px solid var(--line)}.timezone-search-wrap input{height:42px;width:100%;border:1px solid #d6e3ef;background:#f5f8fc;border-radius:8px;font-size:13px;outline:none;color:var(--ink);padding:0 13px}.timezone-search-wrap input:focus{border-color:var(--blue)}.timezone-results{max-height:265px;overflow:auto;padding:6px 0}.tz-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:10px 11px;background:white;border:0;color:#27445d;border-radius:8px;font-size:13px}.tz-option:hover,.tz-option[aria-selected="true"]{background:#ecf4fe;color:#164b82}.tz-option .tz-offset{color:#7288a0;white-space:nowrap;font-size:11px}.tz-empty{padding:17px 12px;color:var(--muted);font-size:12px}
.scheduler-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(200px,.9fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:335px}.calendar-column{padding:24px 20px 22px;min-width:0}.calendar-column h3{font-family:var(--heading);font-size:14px;font-weight:700;margin-bottom:16px;color:#1b3956}.month-selector{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.month-selector strong{font-size:14px;color:#203f5b;font-weight:700}.month-selector>div{display:flex;gap:5px}.month-selector button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--blue);font-size:24px;line-height:1}.month-selector button:hover:not(:disabled){background:#e9f2fc}.month-selector button:disabled{color:#c4d0dd;cursor:not-allowed}.weekdays,.day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.weekdays span{font-size:11px;font-weight:600;color:#7f92a5;padding:5px 0}.day-grid{margin-top:7px}.day-cell{height:35px;min-width:0;border:0;background:transparent;border-radius:10px;color:#6c7e90;font-size:12px;font-weight:500;position:relative}.day-cell:disabled{color:#bfcbd8;cursor:default}.day-cell.bookable{background:#ecf4fd;color:#1b548a;font-weight:700}.day-cell.bookable:hover{background:#d7eafa}.day-cell.selected{background:#2b6db2!important;color:white;box-shadow:0 4px 12px rgba(43,109,178,.19)}.day-cell.today:not(.selected)::before{position:absolute;content:"";width:4px;height:4px;bottom:3px;left:50%;transform:translateX(-50%);border-radius:50%;background:#e4a458}.day-spacer{height:35px}.calendar-legend{display:flex;align-items:center;gap:8px;color:#7c8ca1;font-size:11px;margin-top:18px}.legend-dot{height:8px;width:8px;border-radius:50%;background:#a7c8ef}.slot-column{padding:24px 20px 20px;min-width:0;background:#f9fbfe;border-left:1px solid var(--line)}.times-heading{min-height:52px}.times-heading h3{font-family:var(--heading);font-size:14px;font-weight:750;color:#1c3e5f}.times-heading p{margin-top:5px;font-size:12px;color:#8b9aad}.times-loading{display:flex;align-items:center;gap:12px;margin:24px 0;font-size:12px;color:var(--blue)}.spinner{width:19px;height:19px;border-radius:50%;border:2px solid #c3d9ef;border-top-color:#2b6db2;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.times-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-height:293px;overflow-y:auto;scrollbar-color:#bacbdc transparent}.time-choice{display:flex;min-height:42px;gap:7px}.time-button{width:100%;background:#fff;color:#1a558d;border:1px solid #cadbeb;border-radius:9px;font-weight:650;font-size:13px;transition:background .2s,border-color .2s}.time-button:hover{background:#edf5fd;border-color:#82b3e5}.time-button.active{border-color:#2b6db2;background:#e5f1ff}.next-button{white-space:nowrap;padding:0 14px;border:0;border-radius:9px;background:var(--gold);color:#0b2947;font-weight:750;font-size:12px}.next-button:hover{background:var(--gold-hover)}.time-context{font-size:11px;color:#8191a4;line-height:1.4;margin-top:12px;min-height:18px}.integrity-line{color:#7990a5;font-size:11px;line-height:1.5;padding-top:15px}
/* Form and true/preview-safe completion */
.booking-view[hidden]{display:none!important}.quiet-back{font-size:12px;border:0;background:transparent;color:var(--blue);font-weight:650;padding:0 0 8px}.quiet-back:hover{text-decoration:underline}.details-title{font:700 22px/1.3 var(--heading);color:#173652;margin-top:13px}.details-subtitle{color:#73879b;font-size:13px;margin-top:5px;margin-bottom:19px}.selection-summary{display:flex;align-items:center;gap:13px;border:1px solid #dae9f6;background:#f2f8ff;border-radius:11px;padding:15px;margin-bottom:21px}.selection-summary svg{color:var(--blue)}.selection-summary strong{display:block;color:#23415f;font-size:13px}.selection-summary small{display:block;color:#71869a;font-size:11px;margin-top:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:#375169;font-weight:700;margin-bottom:7px}.field label b{color:#c75b39}.field label small{color:#8ca0b0;font-weight:400}.field input,.field select,.field textarea{width:100%;height:43px;border:1px solid #dbe6ee;background:#fff;border-radius:9px;padding:11px 12px;font-size:13px;color:#21405e;transition:border-color .2s,box-shadow .2s}.field textarea{height:auto;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#83afe0;box-shadow:0 0 0 3px #ecf4fd}.field input::placeholder,.field textarea::placeholder{color:#a4b1bc}.checkbox-field{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:#6a7b89;line-height:1.5;margin-bottom:12px}.checkbox-field input{margin-top:2px;accent-color:#2b6db2}.form-error{padding:11px;background:#fff3ef;color:#ae3a2b;border:1px solid #efc8bf;font-size:12px;border-radius:8px;margin-bottom:12px}.primary-action{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;background:var(--gold);color:#061e35;border:0;border-radius:40px;padding:13px 22px;font-size:13px;font-weight:800;transition:background .2s,transform .2s;white-space:nowrap}.primary-action:hover{background:var(--gold-hover);transform:translateY(-1px)}.primary-action:disabled{opacity:.6;cursor:wait;transform:none}.fineprint{margin-top:10px;color:#8797a8;text-align:center;font-size:11px}.done-view{text-align:center;padding:45px 30px}.done-symbol{width:66px;height:66px;border-radius:22px;display:grid;place-items:center;margin:0 auto 20px;background:#eef6ff;color:var(--blue);font-size:33px}.done-view h2{font:750 27px/1.2 var(--heading);margin:10px 0;color:#1c3f5f}.done-view>p{font-size:13px;color:#657b90;max-width:390px;margin:0 auto 18px}.finish-recap{background:#f6f9fd;text-align:left;padding:15px 19px;border:1px solid var(--line);border-radius:12px;margin:20px auto;max-width:460px}.finish-recap>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.finish-recap>div:last-child{border-bottom:0}.finish-recap span{color:#8393a1;font-size:11px;flex-shrink:0}.finish-recap strong{color:#203a53;font-size:12px;text-align:right;overflow-wrap:anywhere}.done-back{display:inline-block;margin-top:14px}
/* Booking-only breakpoints; shared header/footer media rules are in responsive.css. */
@media(max-width:1180px){.experience{grid-template-columns:minmax(290px,.84fr) minmax(0,1.6fr)}.conversation-pane{padding:35px 29px}.schedule-pane{padding:30px 25px}.calendar-column,.slot-column{padding:21px 15px}}
@media(max-width:920px){.page-container{padding:0 24px}.intro-region{padding-top:120px}.experience{grid-template-columns:1fr}.conversation-pane{border-radius:21px 21px 0 0;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.conversation-pane>.section-kicker,.conversation-pane .host-tag,.conversation-pane h2,.conversation-pane .meeting-details,.host-separator{grid-column:1}.conversation-pane h3,.conversation-pane .agenda-list,.conversation-contact{grid-column:2}.conversation-pane h3{grid-row:1;align-self:end;margin:0 0 15px}.conversation-pane .agenda-list{grid-row:2 / span 4}.host-separator{display:none}.conversation-contact{grid-column:1 / -1;margin-top:22px}.schedule-pane{border-radius:0 0 21px 21px;padding:30px}}
@media(max-width:600px){.intro-region{padding:112px 0 64px}.page-container{padding:0 15px}.intro-title{margin-bottom:27px}.intro-title .booking-main-title{font-size:32px}.intro-title p{font-size:13px}.experience{border-radius:17px}.conversation-pane{display:block;padding:26px 23px;border-radius:17px 17px 0 0}.conversation-pane>.section-kicker{margin-bottom:17px}.host-tag{margin-bottom:18px}.conversation-pane h2{font-size:26px;margin-bottom:13px}.meeting-details{gap:8px}.host-separator{display:block;margin:23px 0}.conversation-pane h3{margin:0 0 12px}.agenda-list li{padding:9px 0}.conversation-contact{margin-top:23px}.schedule-pane{padding:25px 17px;border-radius:0 0 17px 17px}.booking-heading h2{font-size:20px}.progress-track{gap:6px}.progress-step{gap:5px;font-size:11px}.progress-step>span{width:22px;height:22px}.track-line{width:11px}.scheduler-grid{grid-template-columns:1fr}.slot-column{border-left:0;border-top:1px solid var(--line)}.calendar-column,.slot-column{padding:19px 18px}.day-cell{height:39px}.time-choice{min-height:45px}.times-list{max-height:260px}.form-grid{grid-template-columns:1fr}.done-view{padding:30px 4px}.finish-recap>div{display:block}.finish-recap strong{display:block;text-align:left;margin-top:3px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Time zone follows the Google Meet description, as on the requested meeting card. */
.conversation-pane{overflow:visible;z-index:8}.conversation-art{right:0;top:0;width:190px;height:160px;overflow:hidden;opacity:.33;pointer-events:none}.schedule-pane{z-index:1}
.conversation-pane .timezone-row{margin:21px 0 0;z-index:12}
.conversation-pane .timezone-row>label{color:#ccdded;font-size:12px;font-weight:600}
.conversation-pane .timezone-button{background:rgba(255,255,255,.075);color:#f4f9ff;border:1px solid rgba(166,203,247,.33)}
.conversation-pane .timezone-button:hover,.conversation-pane .timezone-button[aria-expanded="true"]{border-color:#a6cbf7;box-shadow:0 0 0 3px rgba(166,203,247,.1)}
.conversation-pane .timezone-button svg:first-child{color:#eeba7d}
.conversation-pane .timezone-caption{color:#adc4dc}
.conversation-pane .timezone-menu{min-width:320px;max-width:calc(100vw - 34px);color:#102c4a}
@media (max-width:920px){.conversation-pane .timezone-row{grid-column:1;grid-row:auto}.conversation-pane h3{grid-row:1}.conversation-pane .agenda-list{grid-row:2 / span 5}.conversation-contact{grid-row:auto}}
@media (max-width:600px){.conversation-pane .timezone-row{margin-top:19px}.conversation-pane .timezone-menu{min-width:0;width:min(325px,calc(100vw - 64px))}}
/* Navbar sits fixed as on the website; booking intro begins below it. */
@media(min-width:921px){.booking-page .intro-region{padding-top:153px}}
@media(max-width:767px){.booking-page .nav-container{padding-inline:16px}.booking-page .nav-cta{font-size:12px!important;padding:.58rem .95rem!important}.booking-page .nav-right{gap:6px}.booking-page .nav-logo{flex-shrink:0}.booking-page .nav-logo img{max-height:43px}}
@media(max-width:420px){.booking-page .nav-cta{font-size:11px!important;padding:.5rem .72rem!important}.booking-page .nav-container{gap:9px}}
