.booking-layout {
  display: grid;
  grid-template-columns: minmax(380px, 42%) minmax(0, 58%);
  align-items: start;
}

.booking-visual {
  position: sticky;
  top: 82px;
  height: calc(100vh - 82px);
  margin: 0;
  overflow: hidden;
  background: #d8d1c5;
}

.booking-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.booking-content { min-width: 0; }
.booking-content .booking-intro { display: block; padding: 72px 6vw 55px; }
.booking-content .booking-intro h1 { font-size: clamp(28px, 3vw, 42px); line-height: 1.08; margin-bottom: 28px; }
.booking-content .booking-intro > p:last-child { max-width: 650px; font-size: 16px; }
.consultation-offer{max-width:650px;font-size:15px;line-height:1.7}.consultation-offer>p{margin:0 0 18px}.consultation-offer ul{margin:0;padding:20px 0 20px 22px;border-top:1px solid #c9c2b7;border-bottom:1px solid #c9c2b7}.consultation-offer li+li{margin-top:8px}.consultation-offer .payment-note{margin-top:18px;color:#756f66;font-size:12px}
.five-minute-value{margin:0 0 36px;padding:32px 0;border-bottom:1px solid #c9c2b7}.five-minute-value h2{margin:0 0 22px;font-size:22px;font-weight:400;line-height:1.35}.five-minute-value p{margin:0;font-size:14px;line-height:1.8;text-align:justify;text-justify:inter-word;hyphens:auto}
.booking-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:16px 26px;background:#1c1b19;color:#fff;text-decoration:none;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:.2s}.booking-cta:hover,.booking-cta:focus-visible{background:#b58a43;color:#fff}html{scroll-behavior:smooth}.booking-panel{scroll-margin-top:24px}
.payment-panel{display:grid;grid-template-columns:1fr 1fr;gap:3vw;padding:42px 5vw;background:#fff;border-top:1px solid #d5d0c7}.payment-panel h2{margin:8px 0 12px;font-size:21px;font-weight:400}.payment-panel p{font-size:13px;line-height:1.6}.payment-status{color:#756f66}.payment-status.success{color:#286a43}.payment-status.error{color:#9a2933}.booking-panel[hidden]{display:none!important}
.journey{display:flex;gap:8px;padding:18px 5vw;background:#fff;border-bottom:1px solid #d5d0c7}.journey span{flex:1;color:#928b80;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.journey span.active{color:#171512;font-weight:600}.journey span.done{color:#286a43}.payment-panel[hidden],.confirmation-panel[hidden]{display:none!important}.text-button{padding:0;border:0;border-bottom:1px solid;background:none;color:#171512;cursor:pointer}.confirmation-panel{margin:0;padding:70px 5vw;background:#e9f2eb;border-top:1px solid #b8cfbd}.confirmation-panel h2{font:32px Georgia,serif}.meeting-link{display:inline-block;margin:18px 0;padding:15px 20px;background:#171512;color:#fff;text-decoration:none}
.booking-content .booking-panel { margin: 0; padding: 90px 5vw 70px; gap: 4vw; }
.booking-content .booking-steps { left: 5vw; right: 5vw; }
.booking-content .booking-form { margin: 0; padding: 75px 5vw; }

@media (max-width: 900px) {
  .booking-layout { grid-template-columns: 1fr; }
  .booking-visual { position: relative; top: 0; height: 62vh; min-height: 430px; }
  .booking-visual img { object-position: center 30%; }
  .booking-content .booking-intro { padding: 65px 24px 45px; }
  .booking-content .booking-panel { grid-template-columns: 1fr; padding: 85px 24px 50px; }
  .booking-content .booking-steps { left: 24px; right: 24px; }
  .booking-content .booking-form { padding: 55px 24px; }
  .payment-panel { grid-template-columns: 1fr; padding: 35px 24px; }
}
