/* Dedicated booking page. Shared brand, navigation and footer remain in base styles. */
.booking-page .booking-hero{padding-block:30px 70px}
.booking-page .booking-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}
.booking-page .booking-hero h1{font-size:clamp(4rem,6.4vw,6.3rem);margin-top:25px}
.booking-page .booking-lead{max-width:510px;margin-top:28px;color:var(--muted);font-size:17px;line-height:1.85}
.booking-page .booking-hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:22px;margin-top:28px}
.booking-page .booking-location{margin-top:33px;font-size:11px;color:var(--muted)}
.booking-page .booking-summary{position:relative;overflow:hidden;background:var(--forest);color:var(--paper);padding:44px 38px 34px;border-radius:140px 140px 5px 5px}
.booking-page .booking-summary>.eyebrow{position:relative;margin-top:85px;color:#d8dfcf;font-size:9px}
.booking-page .booking-summary h2{position:relative;margin-top:18px;font-size:42px;line-height:1.12}
.booking-page .booking-summary h2 em{color:#cfddc4}
.booking-page .booking-summary dl{position:relative;margin:30px 0 0;border-top:1px solid #647f72}
.booking-page .booking-summary dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding-block:13px;border-bottom:1px solid #647f72}
.booking-page .booking-summary dt{font-size:11px;color:#d5dfd0}
.booking-page .booking-summary dd{margin:0;font-family:var(--serif);font-size:24px;line-height:1.35}
.booking-page .booking-summary dd span{font-family:var(--sans);font-size:11px}
.booking-page .booking-summary>p:last-child{position:relative;margin-top:20px;color:#d5dfd0;font-size:11px;line-height:1.8}
.booking-page .booking-summary-arch{position:absolute;top:24px;left:24px;right:24px;height:220px;border:1px solid #6c8777;border-bottom:0;border-radius:130px 130px 0 0;opacity:.7}
.booking-page .booking-summary-arch::after{content:"";position:absolute;inset:17px;border:1px solid #6c8777;border-bottom:0;border-radius:inherit}
.booking-page .booking-steps{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px;padding-block:55px 70px;border-top:1px solid var(--line)}
.booking-page .booking-steps h2{font-size:37px;margin-top:16px;line-height:1.2}
.booking-page .booking-step-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;margin:0;padding:0}
.booking-page .booking-step-number{display:block;font-size:10px;color:#8b6a33;letter-spacing:.1em;margin-bottom:20px}
.booking-page .booking-step-list h3{font-size:24px;line-height:1.3}
.booking-page .booking-step-list p{margin-top:13px;color:var(--muted);font-size:13px;line-height:1.8}
.booking-page .booking-calendar-section{padding-block:70px;background:var(--paper-deep);border-block:1px solid var(--line);scroll-margin-top:110px}
.booking-page .booking-calendar-intro{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end;margin-bottom:32px}
.booking-page .booking-calendar-intro h2{font-size:46px;margin-top:16px}
.booking-page .booking-calendar-intro>p{font-size:14px;color:var(--muted);line-height:1.85;max-width:390px}
.booking-page .booking-calendar-card{background:var(--paper);border:1px solid #c9d1c1;border-radius:5px;padding:30px}
.booking-page .booking-calendar-start{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.booking-page .booking-calendar-label{font-family:var(--serif);font-size:25px;line-height:1.4;letter-spacing:-.025em}
.booking-page .booking-calendar-privacy{margin-top:12px;max-width:500px;font-size:12px;line-height:1.8;color:var(--muted)}
.booking-page .booking-calendar-privacy a,.booking-page .booking-frame-help a{text-decoration:underline;text-underline-offset:3px}
.booking-page .booking-calendar-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px;min-width:238px}
.booking-page .booking-calendar-actions .under-link{font-size:12px;min-height:40px}
.booking-page .booking-calendar-status{font-size:12px;color:var(--muted);line-height:1.7;margin-top:17px}
.booking-page .booking-calendar-status:empty{display:none}
.booking-page .booking-frame-panel{margin-top:22px;border-top:1px solid var(--line);padding-top:24px;scroll-margin-top:110px}
.booking-page .booking-frame-title{font-size:25px;margin-bottom:18px}
.booking-page .booking-frame-title:focus{outline:3px solid #8b6a33;outline-offset:5px}
.booking-page .booking-frame-slot{width:100%;border-radius:3px;background:#fff;overflow:hidden}
.booking-page .booking-calendly-frame{display:block;width:100%;min-width:0;height:880px;border:0;background:#fff}
.booking-page .booking-frame-help{font-size:12px;color:var(--muted);line-height:1.8;margin-top:18px}
.booking-page .booking-engagement-note{font-size:12px;line-height:1.8;color:var(--muted);max-width:850px;margin-top:22px}
.booking-page .booking-alternatives{display:grid;grid-template-columns:1fr .65fr;gap:110px;padding-block:85px}
.booking-page .booking-alternatives h2{font-size:47px;margin-top:18px}
.booking-page .booking-alternatives>div>p:not(.eyebrow){max-width:500px;margin-top:23px;color:var(--muted);font-size:14px;line-height:1.85}
.booking-page .booking-alternatives .under-link{margin-top:24px}
.booking-page .booking-contact-card{border-left:1px solid var(--line);padding-left:35px}
.booking-page .booking-contact-card h3{margin-block:16px 20px;font-size:30px}
.booking-page .booking-contact-card>a{display:flex;justify-content:space-between;gap:20px;padding-block:10px;font-size:14px;border-bottom:1px solid var(--line)}
.booking-page .booking-contact-card>a span{font-size:20px}
.booking-page .booking-contact-card>p:last-child{font-size:12px!important}
.booking-page [hidden]{display:none!important}
@media(max-width:1100px){.booking-page .booking-hero-grid{gap:50px}.booking-page .booking-summary{padding-inline:28px}.booking-page .booking-steps{gap:35px;grid-template-columns:.7fr 1.3fr}.booking-page .booking-step-list{gap:20px}.booking-page .booking-alternatives{gap:60px}}
@media(max-width:900px){.booking-page .booking-hero-grid{grid-template-columns:1fr .8fr;gap:32px}.booking-page .booking-hero h1{font-size:58px}.booking-page .booking-summary h2{font-size:36px}.booking-page .booking-summary{padding:28px 24px}.booking-page .booking-summary>.eyebrow{margin-top:78px}.booking-page .booking-steps{display:block}.booking-page .booking-steps h2{font-size:36px}.booking-page .booking-step-list{margin-top:32px;gap:25px}.booking-page .booking-calendar-intro{gap:35px}.booking-page .booking-calendar-card{padding:25px}.booking-page .booking-calendar-start{grid-template-columns:1fr;gap:24px}.booking-page .booking-calendar-actions{flex-direction:row;align-items:center;gap:24px;min-width:0}.booking-page .booking-calendar-actions .under-link{min-height:0}.booking-page .booking-calendar-intro h2{font-size:40px}}
@media(max-width:600px){
 .booking-page .booking-hero{padding-block:25px 45px}
 .booking-page .booking-hero-grid{grid-template-columns:1fr;gap:38px}
 .booking-page .booking-hero h1{font-size:clamp(3.3rem,12vw,4.4rem);margin-top:20px}
 .booking-page .booking-lead{font-size:15px;margin-top:23px}
 .booking-page .booking-location{font-size:10px;margin-top:26px}
 .booking-page .booking-summary{max-width:400px;width:100%;margin-inline:auto;padding:30px;border-radius:115px 115px 4px 4px}
 .booking-page .booking-summary>.eyebrow{margin-top:55px}
 .booking-page .booking-summary h2{font-size:38px}
 .booking-page .booking-summary dl{margin-top:24px}
 .booking-page .booking-steps{padding-block:40px 45px}
 .booking-page .booking-step-list{display:block;margin-top:27px}
 .booking-page .booking-step-list li{position:relative;padding:20px 0 20px 36px;border-top:1px solid var(--line)}
 .booking-page .booking-step-number{position:absolute;left:0;top:24px}
 .booking-page .booking-step-list h3{font-size:26px}
 .booking-page .booking-step-list p{margin-top:9px;font-size:14px}
 .booking-page .booking-calendar-section{padding-block:45px}
 .booking-page .booking-calendar-intro{display:block;margin-bottom:25px}
 .booking-page .booking-calendar-intro h2{font-size:40px}
 .booking-page .booking-calendar-intro>p{font-size:14px;margin-top:20px}
 .booking-page .booking-calendar-card{padding:20px 16px}
 .booking-page .booking-calendar-label{font-size:24px}
 .booking-page .booking-calendar-privacy{font-size:12px}
 .booking-page .booking-calendar-actions{flex-direction:column;align-items:stretch;gap:17px}
 .booking-page .booking-calendar-actions .button{font-size:13px}
 .booking-page .booking-calendar-actions .under-link{align-self:flex-start;font-size:12px}
 .booking-page .booking-frame-title{font-size:24px}
 .booking-page .booking-frame-slot{width:calc(100% + 32px);margin-inline:-16px;border-radius:0}
 .booking-page .booking-calendly-frame{height:1050px}
 .booking-page .booking-engagement-note{font-size:12px}
 .booking-page .booking-alternatives{grid-template-columns:1fr;gap:35px;padding-block:50px}
 .booking-page .booking-alternatives h2{font-size:41px}
 .booking-page .booking-contact-card{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
}
@media(prefers-reduced-motion:reduce){.booking-page .booking-hero-actions .button{transition:none}.booking-page .booking-hero-actions .button:hover{transform:none}}
@media print{.booking-page .booking-calendar-card,.booking-page .booking-hero-actions,.booking-page .booking-summary-arch,.booking-page .booking-alternatives .under-link{display:none}.booking-page .booking-hero-grid,.booking-page .booking-steps,.booking-page .booking-alternatives{display:block}.booking-page .booking-summary{border:1px solid #777;background:#fff;color:#000;border-radius:0;padding:15pt;margin-top:20pt}.booking-page .booking-summary>.eyebrow{margin-top:0}.booking-page .booking-summary h2{font-size:24pt}.booking-page .booking-summary h2 em,.booking-page .booking-summary dt,.booking-page .booking-summary>p:last-child{color:#333}.booking-page .booking-hero h1{font-size:32pt}.booking-page .booking-hero,.booking-page .booking-steps,.booking-page .booking-calendar-section,.booking-page .booking-alternatives{padding-block:15pt}.booking-page .booking-calendar-section{background:#fff}.booking-page .booking-step-list{margin-top:15pt}.booking-page .booking-alternatives h2,.booking-page .booking-calendar-intro h2,.booking-page .booking-steps h2{font-size:24pt}}

/* Native booking questions remain usable without JavaScript. */
.booking-page .booking-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-block:75px 15px}
.booking-page .booking-faq h2{font-size:43px;margin-top:18px}
.booking-page .booking-faq-list{border-top:1px solid var(--line)}
.booking-page .booking-faq-list details{border-bottom:1px solid var(--line)}
.booking-page .booking-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:70px;padding:19px 0;cursor:pointer;list-style:none;font-size:15px;line-height:1.6;font-weight:500}
.booking-page .booking-faq-list summary::-webkit-details-marker{display:none}
.booking-page .booking-faq-list summary>span{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #aab7a4;border-radius:50%;font-size:18px;font-weight:400;line-height:1;transition:transform .2s}
.booking-page .booking-faq-list details[open] summary>span{transform:rotate(45deg)}
.booking-page .booking-faq-list details>div{padding:0 35px 23px 0}
.booking-page .booking-faq-list p{font-size:14px;line-height:1.85;color:var(--muted)}
.booking-page .booking-faq-list a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.booking-page .booking-faq{gap:40px}.booking-page .booking-faq h2{font-size:36px}}
@media(max-width:600px){.booking-page .booking-faq{grid-template-columns:1fr;gap:28px;padding-block:45px 0}.booking-page .booking-faq h2{font-size:40px}.booking-page .booking-faq-list summary{font-size:14px;gap:18px}.booking-page .booking-faq-list p{font-size:14px}.booking-page .booking-faq-list details>div{padding-right:0}}
@media(prefers-reduced-motion:reduce){.booking-page .booking-faq-list summary>span{transition:none}}
@media print{.booking-page .booking-faq{display:block;padding-block:15pt}.booking-page .booking-faq h2{font-size:24pt}.booking-page .booking-faq-list{margin-top:12pt}.booking-page .booking-faq-list details>div{display:block!important}.booking-page .booking-faq-list summary>span{display:none}}
