.booking-section{--booking-bg:var(--color-bg,#151515);--booking-surface:var(--color-surface,#24211e);--booking-text:var(--color-text,#f4e8d4);--booking-muted:var(--color-muted,#b9ad9c);--booking-accent:var(--color-accent,#f4e8d4);--booking-accent-ink:var(--color-accent-ink,#151515);background:var(--booking-bg);color:var(--booking-text);scroll-margin-top:84px;font:16px/1.5 'Inter',Arial,sans-serif}
.booking-section *{box-sizing:border-box}.booking-kicker{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin:0 0 12px;color:var(--booking-accent)}.booking-section h1,.booking-section h2{font:600 clamp(40px,4.5vw,68px)/1.02 'Source Serif 4',Georgia,serif;letter-spacing:-.02em;margin:0;color:var(--booking-text)}
.booking-section a{color:var(--booking-accent);text-underline-offset:5px}.booking-listen{display:inline-block;margin-top:4px;padding:8px 0;font-size:14px}.booking-portrait{position:relative;display:block;mask-image:linear-gradient(to bottom,#000 89%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 89%,transparent 100%)}.booking-portrait>img{display:block;width:100%;height:auto}.booking-portrait>.booking-face-swap{position:absolute;inset:0;mask:url('assets/chris-booking-face-mask-v2.svg') 0 0/100% 100% no-repeat;-webkit-mask:url('assets/chris-booking-face-mask-v2.svg') 0 0/100% 100% no-repeat}
.booking-form{min-width:0}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.booking-form label{display:grid;grid-template-columns:1fr;gap:8px;font-size:14px;line-height:1.45;color:var(--booking-text)}.booking-form label>.booking-optional{display:inline;font-size:12px;color:var(--booking-muted);margin-top:-5px;margin-bottom:-3px}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{display:block;max-width:100%;width:100%;padding:13px 14px;border:1px solid #6d7b84;border-radius:3px;background:var(--booking-surface);color:var(--booking-text);font:16px/1.45 'Inter',Arial,sans-serif;min-width:0;min-height:49px;color-scheme:dark}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#b9ad9c;opacity:1}.booking-form select{padding-right:28px;text-overflow:ellipsis}.booking-form textarea{resize:vertical;min-height:105px}.booking-wide{grid-column:1/-1}.booking-form input:focus-visible,.booking-form select:focus-visible,.booking-form textarea:focus-visible,.booking-form button:focus-visible,.booking-listen:focus-visible{outline:2px solid var(--booking-accent);outline-offset:3px}.booking-form [aria-invalid=true]{border-color:#f4a09a!important}.booking-details{margin-top:27px}
.booking-time-note{font-size:12px;line-height:1.55;color:var(--booking-muted);margin:-8px 0 0}
.booking-calendar{margin:32px 0 0;padding:23px 0 0;border:0;border-top:1px solid #697783}.booking-calendar legend{padding:0 12px 0 0;font-size:18px;font-weight:600;color:var(--booking-text)}.booking-calendar>p{margin:0 0 18px;font-size:13px;color:var(--booking-muted);line-height:1.6}.booking-month-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px}.booking-month-controls h3{margin:0;font:600 20px/1.2 'Source Serif 4',sans-serif;letter-spacing:.04em}.booking-month-controls button{width:44px;height:44px;display:grid;place-content:center;font:27px/1 Georgia,serif;border:1px solid #657781;border-radius:3px;background:var(--booking-surface);color:var(--booking-text)}.booking-month-controls button:disabled{opacity:.3;cursor:default}.booking-calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:4px}.booking-weekday{text-align:center;font-size:11px;color:var(--booking-muted);padding:7px 0}.booking-day-cell{min-width:0}.booking-day{width:100%;min-height:44px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--booking-text);font:15px 'Inter',sans-serif}.booking-day:hover:not(:disabled){background:#304859;border-color:#8ea0a8}.booking-day.is-today{border-color:#a88f6e}.booking-day-cell[aria-selected=true] .booking-day{background:var(--booking-accent);color:var(--booking-accent-ink);border-color:var(--booking-accent);font-weight:600}.booking-day:disabled{color:#657780;cursor:default}.booking-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px;font-size:13px;color:var(--booking-muted)}.booking-selection-heading button{border:0;background:none;color:var(--booking-accent);font:13px 'Inter',sans-serif;padding:9px 0;min-height:40px;text-decoration:underline}.booking-selection-heading button:disabled{opacity:.4;cursor:default}.booking-date-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.booking-date-chip{display:flex;align-items:center;gap:12px;min-height:40px;padding:7px 10px;background:var(--booking-surface);border:1px solid #728793;border-radius:3px;color:var(--booking-text);font:12px 'Inter',sans-serif}.booking-date-chip>span{font-size:20px;line-height:1;color:var(--booking-accent)}.booking-calendar .booking-date-error{margin:7px 0 0;color:#ffb0a7;font-size:13px;min-height:0}.booking-date-error:empty{display:none}
.booking-form .booking-consent{display:flex;align-items:flex-start;gap:12px;margin:26px 0 0;color:var(--booking-muted);font-size:13px;line-height:1.55}.booking-consent input{appearance:auto;min-width:20px;width:20px;height:20px;margin:0;accent-color:var(--booking-accent)}.booking-consent a{text-decoration:underline;color:var(--booking-text)}.booking-submit{margin-top:26px;background:var(--booking-accent);color:var(--booking-accent-ink);border:0;border-radius:3px;padding:16px 23px;font:600 16px 'Inter',sans-serif;min-height:54px;cursor:pointer}.booking-submit:hover{background:#faf6ef}.booking-submit:disabled{opacity:.6;cursor:wait}.booking-form [disabled]{cursor:default}.booking-status{font-size:15px;line-height:1.6;margin:15px 0 0;color:#dce9cb}.booking-status:empty{display:none}.booking-status.is-error{color:#ffb0a7}.booking-preview{font-size:12px;line-height:1.6;color:var(--booking-muted);margin:13px 0 0;max-width:440px}.booking-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Two equal, top-aligned columns: heading and dates on the left, details on the right. */
.booking-quick{padding:48px var(--page-gutter,6%) 54px;border-bottom:1px solid var(--color-border-soft,#453a31)}.booking-quick-heading{display:block;margin:0 0 30px}.booking-quick-heading h2{font-size:48px}.booking-quick-heading p:not(.booking-kicker){margin:12px 0 0;color:var(--booking-muted);font-size:15px}.booking-details-link{font-size:14px;line-height:1.5;white-space:nowrap;padding:12px 0}.booking-quick-form{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,72px);align-items:start}.booking-quick .booking-calendar{margin:0;padding:0;border:0;min-width:0}.booking-quick .booking-calendar legend{font-size:16px;margin-bottom:5px}.booking-quick .booking-calendar>p{margin-bottom:12px}.booking-quick .booking-fields{gap:18px}.booking-quick .booking-submit{margin-top:20px}.booking-quick .booking-selection-heading{margin-top:8px}.booking-quick .booking-date-chips:empty{margin:0}
/* One continuous story sits below the guitar, alongside the full-height portrait. */
.booking-page{overflow-x:clip}.booking-page-nav{min-height:88px;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--color-border-soft)}.booking-page-nav a{text-decoration:none}.booking-page-nav .booking-wordmark{font:600 26px/1.2 Georgia,serif;color:var(--color-text)}.booking-page-nav nav{display:flex;align-items:center;gap:28px;font-size:14px}.booking-page-nav nav a{min-height:44px;display:inline-flex;align-items:center}.booking-page-nav nav a[aria-current]{font-weight:600;color:var(--color-accent)}.booking-page-nav nav a:not([aria-current]){color:var(--color-text)}
.booking-full{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(420px,1fr);gap:40px;padding:44px 5% 64px;max-width:1760px;margin:auto;align-items:stretch}.booking-full .booking-intro{position:relative;min-width:0;min-height:0;height:clamp(1040px,76vw,1260px);align-self:start;overflow:visible}.booking-full .booking-portrait{position:absolute;top:0;bottom:0;right:27%;width:auto;aspect-ratio:2/3}.booking-story{position:relative;padding-top:clamp(320px,29vw,480px);margin-left:62%;padding-bottom:32px}.booking-story h1{font-size:clamp(42px,4vw,64px);margin:0 0 24px;text-wrap:balance}.booking-story>p:not(.booking-kicker){color:var(--booking-muted);font-size:15px;line-height:1.65;margin:0 0 16px}.booking-story .booking-kicker{font-size:11px;line-height:1.6;margin-bottom:14px}.booking-full .booking-form{position:relative;padding-left:28px;border-left:1px solid var(--color-border-soft)}.booking-full .booking-form-heading h2{font-size:30px;line-height:1.15;margin:0 0 8px}.booking-full .booking-form-heading p{font-size:14px;color:var(--booking-muted);margin-bottom:20px}.booking-full .booking-calendar{margin-top:20px;padding-top:14px;min-width:0}.booking-full .booking-fields{gap:17px 16px}.booking-full .booking-details{margin-top:20px}.booking-full .booking-calendar>p{margin-bottom:12px}.booking-full .booking-month-controls{margin-bottom:5px}.booking-full .booking-day{min-height:38px}.booking-full .booking-selection-heading{margin-top:6px}.booking-full .booking-consent{margin-top:20px}.booking-full .booking-submit{margin-top:20px}
.booking-upcoming{max-width:1200px;margin:0 auto;padding:40px 0 56px;border-top:1px solid var(--color-border-soft)}.booking-upcoming-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.booking-upcoming-heading h2{font-size:40px;margin:0}.booking-upcoming-heading>a{font-size:14px}.booking-upcoming .calendar-event-row{padding:22px 0}.booking-page-footer{padding:28px 5% 110px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--color-border-soft);font-size:13px}.booking-skip{position:fixed;left:16px;top:-100px;padding:12px 18px;background:var(--color-accent);color:var(--color-accent-ink)!important;z-index:100}.booking-skip:focus{top:16px}
@media(max-width:1400px){.booking-full{gap:28px;grid-template-columns:minmax(0,1.4fr) minmax(400px,1fr)}.booking-full .booking-form{padding-left:22px}.booking-story{margin-left:61%}.booking-story h1{font-size:48px}.booking-full .booking-portrait{right:28%}.booking-upcoming{margin-inline:5%}}
@media(max-width:1380px){.booking-full{display:block;max-width:920px;padding-top:24px}.booking-full .booking-intro{min-height:760px;height:auto;margin-bottom:32px}.booking-full .booking-portrait{width:510px;bottom:auto;right:auto;left:-65px}.booking-story{margin-left:390px;padding-top:235px;padding-bottom:20px}.booking-story h1{font-size:58px}.booking-story>p:not(.booking-kicker){font-size:16px}.booking-full .booking-form{padding:36px 0 0;border-left:0;border-top:1px solid var(--color-border-soft)}.booking-full .booking-form-heading h2{font-size:36px}.booking-full .booking-calendar{max-width:560px}.booking-full .booking-details{margin-top:24px}.booking-full .booking-day{min-height:44px}.booking-upcoming{margin-inline:5%}}
@media(max-width:760px){.booking-quick{padding:36px 22px 42px}.booking-quick-heading{display:block;margin-bottom:26px}.booking-quick-heading h2{font-size:42px}.booking-details-link{display:inline-block;margin-top:10px;white-space:normal}.booking-quick-form{grid-template-columns:1fr;gap:28px}.booking-quick .booking-calendar{max-width:520px;width:100%}.booking-fields{gap:18px 14px}.booking-page-nav{min-height:76px;padding:14px 22px;gap:15px}.booking-page-nav .booking-wordmark{font-size:22px}.booking-page-nav nav{gap:16px}.booking-page-nav nav a:first-child{display:none}.booking-full{padding:20px 22px 44px}.booking-full .booking-intro{min-height:680px}.booking-full .booking-portrait{width:450px;left:-96px}.booking-story{margin-left:290px;padding-top:205px}.booking-story h1{font-size:46px}.booking-story>p:not(.booking-kicker){font-size:14px}.booking-full .booking-intro{margin-bottom:0}.booking-upcoming{padding-top:30px}.booking-upcoming-heading h2{font-size:34px}.booking-page-footer{padding-inline:22px}}
@media(max-width:580px){.booking-full .booking-intro{min-height:0;padding-top:460px}.booking-full .booking-portrait{width:340px;left:calc(50% - 206px);top:0;mask-image:linear-gradient(to bottom,#000 75%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 75%,transparent 100%)}.booking-story{margin-left:0;padding-top:0;padding-bottom:30px}.booking-story h1{max-width:360px;font-size:46px;margin-bottom:20px}.booking-story>p:not(.booking-kicker){font-size:16px}.booking-story .booking-kicker{font-size:11px}.booking-full .booking-form{padding-top:30px}.booking-full .booking-form-heading h2{font-size:30px}.booking-upcoming-heading{align-items:start;flex-direction:column;gap:6px}.booking-page-nav nav{gap:12px;font-size:12px}.booking-page-nav .booking-wordmark{font-size:20px}.booking-submit{width:100%}.booking-full .booking-fields{grid-template-columns:1fr}.booking-full .booking-wide{grid-column:auto}.booking-quick .booking-fields>label:nth-child(-n+3){grid-column:1/-1}.booking-calendar-row{gap:2px}.booking-day{min-height:42px}.booking-page-footer{font-size:12px}.booking-upcoming-heading h2{font-size:32px}}
@media(max-width:360px){.booking-fields{grid-template-columns:1fr}.booking-wide{grid-column:auto}.booking-quick-heading h2{font-size:40px}.booking-page-nav{padding-inline:16px;gap:10px}.booking-page-nav nav{gap:10px}.booking-page-nav .booking-wordmark{font-size:18px}}
@media(min-width:1381px){.booking-full .booking-fields{gap:14px 16px}.booking-full .booking-form label{font-size:13px;gap:6px}.booking-full .booking-form input:not([type=checkbox]),.booking-full .booking-form select{min-height:44px;padding:10px 12px}.booking-full .booking-day{min-height:34px}.booking-full .booking-weekday{padding:5px 0}.booking-full .booking-consent{font-size:12px}.booking-full .booking-form-heading p{margin-bottom:16px}.booking-full .booking-calendar{padding-top:10px}.booking-full .booking-calendar>p{margin-bottom:8px}.booking-full .booking-portrait{right:22%}}
.booking-form label>span>.booking-optional{font-size:12px;color:var(--booking-muted)}

@media(min-width:1381px){.booking-story{margin-left:66%}}
.booking-form .booking-preview{margin:13px 0 0}.booking-form .booking-status{margin:15px 0 0}.booking-form .booking-submit{font-weight:600}
.booking-form [hidden]{display:none!important}

.booking-quick-dates,.booking-quick-details{min-width:0}
@media(max-width:900px){.booking-quick-form{grid-template-columns:minmax(0,1fr);gap:28px}.booking-quick .booking-calendar{width:100%;max-width:none}}
