.booking-page { --bk-pad:clamp(28px,3.2vw,46px); }
.booking-page h1,.booking-page h2,.booking-page h3 { font-weight:500; letter-spacing:-.045em; }
.booking-page p { line-height:1.46; }
.booking-page .section-label { font-size:14px; }
.booking-page h1>span,.bk-section-heading h2>span,.bk-topic-heading h2>span,.bk-next h2>span { color:#7892a8; }
.bk-opening { display:grid; grid-template-columns:1.15fr 1fr; grid-template-rows:1fr auto; gap:5px; }
.bk-hero-copy { background:white; border-radius:24px; padding:var(--bk-pad); grid-row:1/3; display:flex; flex-direction:column; align-items:flex-start; }
.bk-hero-copy h1 { font-size:clamp(36px,3.65vw,56px); line-height:1.24; margin:34px 0 28px; }
.bk-hero-copy>p:not(.section-label) { max-width:420px; font-size:17px; color:var(--slate); }
.bk-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:auto; padding-top:32px; }
.bk-hero-actions>a:not(.pill) { display:flex; align-items:center; gap:9px; font-size:17px; white-space:nowrap; }
.bk-hero-photo { min-height:355px; position:relative; isolation:isolate; overflow:hidden; border-radius:24px; background:#5489ad; color:white; }
.bk-hero-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% 50%; z-index:-2; }
.bk-hero-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#12395855,transparent); z-index:-1; }
.bk-hero-photo>span { display:block; padding:28px; font-size:clamp(60px,6.2vw,95px); line-height:.95; letter-spacing:-.06em; }
.bk-hero-photo>p { position:absolute; left:28px; bottom:28px; font-size:15px; }
.bk-confirm-link { display:flex; align-items:center; gap:25px; background:#173f63; color:white; border-radius:24px; padding:30px; }
.bk-confirm-link>svg { flex-shrink:0; }
.bk-confirm-link>svg:last-child { margin-left:auto; }
.bk-confirm-link span { font-size:14px; color:#c9dced; }
.bk-confirm-link h2 { font-size:25px; line-height:1.3; margin-top:18px; }
.booking-page .bk-channels,.booking-page .bk-topics,.booking-page .bk-prepare,.booking-page .bk-confirmation,.booking-page .bk-faq { padding-bottom:0; }
.bk-section-heading { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:start; gap:24px; margin-bottom:38px; }
.bk-section-heading h2,.bk-topic-heading h2,.bk-next h2 { font-size:clamp(32px,3.1vw,47px); line-height:1.27; }
.bk-section-heading>p:not(.section-label),.bk-topic-heading>p:not(.section-label) { color:var(--slate); font-size:16px; }
.bk-channel-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:5px; }
.bk-channel-grid article { min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:32px; border-radius:24px; background:white; }
.bk-channel-grid article.bk-call { background:#173f63; color:white; }
.bk-channel-grid article>span { font-size:14px; margin-top:22px; color:var(--slate); }
.bk-channel-grid h3 { font-size:26px; line-height:1.3; margin:32px 0 24px; }
.bk-channel-grid article>p { font-size:16px; color:var(--slate); }
.bk-phone-number { font-size:clamp(25px,2.7vw,40px); white-space:nowrap; letter-spacing:-.05em; margin-bottom:24px; }
.bk-channel-grid .bk-call>span,.bk-channel-grid .bk-call>p { color:#c9dced; }
.bk-channel-bottom { margin-top:auto; padding-top:32px; }
.bk-hours-link { display:flex; align-items:center; gap:15px; margin-top:24px; font-size:14px; color:#c9dced; }
.bk-channel-bottom .bk-channel-note { font-size:14px; margin-top:24px; color:var(--slate); }
.bk-channel-caption { font-size:14px; color:var(--slate); margin-top:24px; }
.bk-topic-heading { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:start; gap:24px; margin-bottom:36px; }
.bk-topic-tabs { gap:5px; }
.bk-topic-tabs .bk-topic-list { display:grid; grid-template-columns:repeat(6,1fr); height:auto; width:100%; padding:0; gap:5px; background:transparent; border-radius:0; }
.bk-topic-list [data-slot=tabs-trigger] { min-height:56px; padding:14px 12px; border-radius:15px; font-size:16px; color:var(--ink); background:#e1ebf4; white-space:normal; }
.bk-topic-list [data-slot=tabs-trigger][data-state=active] { background:#173f63; color:white; box-shadow:none; }
.bk-topic-list [data-slot=tabs-trigger]:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.bk-topic-tabs .bk-topic-panel { padding:var(--bk-pad); border-radius:24px; background:white; display:grid; grid-template-columns:1.3fr 1fr; gap:60px; min-height:290px; }
.bk-topic-tabs .bk-topic-panel[data-state=inactive] { display:none; }
.bk-topic-panel>div>span { font-size:14px; color:var(--slate); }
.bk-topic-panel h3 { font-size:30px; line-height:1.3; margin:28px 0 24px; }
.bk-topic-panel p { font-size:17px; color:var(--slate); max-width:590px; }
.bk-topic-panel a { display:inline-flex; align-items:center; gap:18px; font-size:14px; margin-top:28px; }
.bk-topic-panel ul { padding:24px 30px; margin:0; list-style:none; background:#eef3f7; border-radius:18px; align-self:stretch; display:flex; flex-direction:column; justify-content:center; gap:25px; }
.bk-topic-panel li { font-size:17px; line-height:1.46; padding-left:20px; position:relative; }
.bk-topic-panel li:before { content:'+'; position:absolute; left:0; color:#56738a; }
.bk-prepare { display:grid; grid-template-columns:1fr 3fr; gap:30px; }
.bk-prepare-intro { padding:24px 0; }
.bk-prepare-intro h2 { font-size:32px; line-height:1.3; margin:32px 0 26px; }
.bk-prepare-intro>p:not(.section-label) { font-size:16px; color:var(--slate); }
.bk-prepare-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.bk-prepare-cards article { background:#e1ebf4; padding:32px 28px; border-radius:24px; }
.bk-prepare-cards article:nth-child(2) { background:white; }
.bk-prepare-cards span { font-size:14px; color:var(--slate); }
.bk-prepare-cards h3 { font-size:26px; line-height:1.3; margin:65px 0 26px; }
.bk-prepare-cards p { font-size:16px; color:var(--slate); }
.bk-confirm-panel { display:grid; grid-template-columns:1fr 1.25fr; gap:65px; padding:var(--bk-pad); background:#173f63; color:white; border-radius:24px; }
.bk-confirm-panel .section-label { margin-top:30px; color:#c9dced; }
.bk-confirm-panel h2 { font-size:clamp(32px,3.25vw,49px); line-height:1.25; margin:32px 0 28px; }
.bk-confirm-panel h2>span { color:#a2bfd6; }
.bk-confirm-panel p { font-size:17px; color:#c9dced; }
.bk-confirm-panel ol { list-style:none; padding:0; margin:0; align-self:center; }
.bk-confirm-panel li { display:grid; grid-template-columns:40px 1fr; gap:20px; padding:28px 0; border-bottom:1px solid #ffffff30; }
.bk-confirm-panel li:first-child { padding-top:0; }
.bk-confirm-panel li:last-child { border:0; padding-bottom:0; }
.bk-confirm-panel li>span { font-size:14px; color:#c9dced; padding-top:5px; }
.bk-confirm-panel h3 { font-size:26px; line-height:1.3; margin-bottom:22px; }
.bk-followup-grid { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:5px; }
.bk-followup-grid article { padding:var(--bk-pad); background:white; border-radius:24px; }
.bk-followup-grid h3 { font-size:28px; line-height:1.3; margin:28px 0 24px; }
.bk-followup-grid p { font-size:17px; color:var(--slate); }
.bk-followup-grid a { display:inline-flex; align-items:center; gap:20px; font-size:14px; margin-top:28px; }
.bk-next { display:grid; grid-template-columns:1fr 1.5fr 1.5fr; gap:5px; }
.bk-next>div { padding:24px 28px 24px 0; }
.bk-next h2 { margin-top:30px; }
.bk-next>a { display:grid; grid-template-columns:1fr auto; gap:30px; background:#e1ebf4; border-radius:24px; padding:34px; }
.bk-next>a:last-child { background:white; }
.bk-next>a>span { font-size:14px; color:var(--slate); grid-column:1/-1; }
.bk-next h3 { font-size:30px; line-height:1.3; }
.bk-next svg { align-self:end; }
.bk-confirm-link:hover h2,.bk-next>a:hover h3 { text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
@media(max-width:1100px){
 .bk-opening { grid-template-columns:1.15fr 1fr; }
 .bk-hero-photo { min-height:340px; }
 .bk-confirm-link { gap:16px; padding:26px; }
 .bk-confirm-link>svg:first-child { display:none; }
 .bk-confirm-link h2 { font-size:23px; }
 .bk-channel-grid { grid-template-columns:1fr 1fr; }
 .bk-channel-grid article.bk-call { grid-column:1/-1; }
 .bk-channel-grid article { padding:30px; }
 .bk-phone-number { font-size:38px; }
 .bk-section-heading,.bk-topic-heading { grid-template-columns:1fr 2fr; }
 .bk-section-heading>p:not(.section-label),.bk-topic-heading>p:not(.section-label) { grid-column:2; }
 .bk-topic-panel { gap:30px!important; }
 .bk-prepare { grid-template-columns:1fr; }
 .bk-prepare-intro { max-width:520px; }
 .bk-confirm-panel { gap:35px; }
 .bk-next { grid-template-columns:1fr 1fr; }
 .bk-next>div { grid-column:1/-1; padding-bottom:28px; }
}
@media(max-width:700px){
 .bk-opening { display:flex; flex-direction:column; }
 .bk-hero-copy { padding:30px 26px 34px; }
 .bk-hero-copy h1 { font-size:36px; margin:30px 0 26px; }
 .bk-hero-copy>p:not(.section-label) { font-size:16px; }
 .bk-hero-actions { gap:24px; padding-top:28px; }
 .bk-hero-photo { min-height:265px; }
 .bk-hero-photo>span { padding:26px; font-size:62px; }
 .bk-hero-photo>p { left:26px; bottom:26px; }
 .bk-confirm-link { padding:26px; }
 .bk-confirm-link h2 { font-size:23px; }
 .bk-section-heading,.bk-topic-heading { display:block; margin-bottom:28px; }
 .bk-section-heading h2,.bk-topic-heading h2 { font-size:32px; margin:28px 0 24px; }
 .bk-channel-grid,.bk-prepare-cards,.bk-confirm-panel,.bk-followup-grid,.bk-next { grid-template-columns:1fr; }
 .bk-channel-grid article { padding:30px 26px; }
 .bk-channel-grid h3 { margin-top:26px; }
 .bk-phone-number { font-size:32px; }
 .bk-topic-tabs .bk-topic-list { grid-template-columns:repeat(2,1fr); }
 .bk-topic-list [data-slot=tabs-trigger] { font-size:16px; min-height:52px; }
 .bk-topic-tabs .bk-topic-panel { grid-template-columns:1fr; padding:30px 26px; gap:28px; }
 .bk-topic-panel h3 { font-size:28px; margin:24px 0; }
 .bk-topic-panel p,.bk-topic-panel li { font-size:16px; }
 .bk-topic-panel ul { padding:24px; gap:20px; }
 .bk-prepare-intro { padding:0; }
 .bk-prepare-intro h2 { font-size:30px; margin-top:28px; }
 .bk-prepare-cards article { padding:30px 26px; }
 .bk-prepare-cards h3 { margin-top:35px; }
 .bk-confirm-panel,.bk-followup-grid article { padding:30px 26px; }
 .bk-confirm-panel h2 { font-size:34px; }
 .bk-confirm-panel h3 { font-size:24px; }
 .bk-confirm-panel p,.bk-followup-grid p { font-size:16px; }
 .bk-confirm-panel li { grid-template-columns:24px 1fr; gap:14px; }
 .bk-followup-grid h3 { font-size:27px; }
 .bk-next>a { padding:30px 26px; }
 .bk-next h2 { font-size:32px; }
 .bk-next h3 { font-size:28px; }
}

.bk-followup-grid a+a { display:flex; width:fit-content; margin-top:18px; }
