.booking-main {min-height:0;background:linear-gradient(110deg,#082a33,#04171d);}
.booking-section {padding:118px 0 48px;}
.booking-layout {grid-template-columns:1fr 1fr;grid-template-areas:"intro form" "photo form";column-gap:64px;row-gap:26px;align-items:start;}
.booking-copy {grid-area:intro;position:static;}
.booking-copy .page-eyebrow {font-size:10px;color:#48d4e5;margin:0 0 20px;}
.booking-copy h1 {font-size:clamp(36px,3.7vw,52px);line-height:1.06;max-width:550px;letter-spacing:-.04em;}
.booking-lead {font-size:16px;line-height:1.65;margin:22px 0 16px;max-width:520px;}
.booking-reassurance {font-size:12px;color:#6bd6e3;margin:0;}
.booking-panel {grid-area:form;padding:28px 30px;background:#fff;border:1px solid #c8dedf;border-top:3px solid #12a6bb;border-radius:7px;box-shadow:0 12px 32px #00121820;}
.booking-panel-head {margin-bottom:22px;}
.booking-panel-head h2 {font-size:27px;line-height:1.15;margin:0 0 8px;}
.booking-panel-head p {font-size:13px;}
.booking-form {gap:16px;}
.booking-form label > span:first-child {font-size:12px;margin-bottom:7px;letter-spacing:0;}
.booking-form label small {font-size:11px;font-weight:400;color:#647980;margin-left:5px;}
.booking-form input,.booking-form select,.booking-form textarea {min-height:46px;padding:11px 12px;border-radius:4px;background:#fafcfb;border-color:#b8cbce;}
.booking-form textarea {min-height:76px;}
.booking-form .form-grid {gap:16px;}
.booking-topic {border-top:1px solid #e0e9e8;padding-top:12px;}
.booking-topic summary {font-size:11px;color:#627880;cursor:pointer;line-height:1.6;}
.booking-topic summary > span {color:#244d58;}
.booking-topic summary small {font-size:10px;color:#008296;margin-left:9px;text-decoration:underline;text-underline-offset:3px;}
.booking-topic > label {display:block;margin-top:12px;}
.booking-form .form-consent {align-items:start;gap:9px;}
.booking-form .form-consent input {width:17px;height:17px;min-height:17px;padding:0;flex:0 0 17px;margin:1px 0 0;}
.booking-form .form-consent span {font-size:11px;line-height:1.6;color:#586f77;}
.booking-submit {min-height:49px;padding:14px 16px;border-radius:4px;font-size:13px;gap:15px;}
.booking-form .form-note {font-size:11px;text-align:center;line-height:1.6;margin:0;}
.booking-form .booking-direct {font-size:11px;text-align:center;border-top:1px solid #e0e9e8;padding-top:14px;margin:0;color:#637b82;line-height:1.6;}
.booking-form .booking-direct a {color:#007f93;}
.booking-form .form-status {font-size:13px;line-height:1.6;}
.booking-visit-photo {grid-area:photo;margin:0;overflow:hidden;border:1px solid #35545e;border-radius:5px;background:#0c2f39;}
.booking-visit-photo img {display:block;width:100%;height:230px;object-fit:cover;object-position:center 50%;}
.booking-visit-photo figcaption {padding:17px 20px;}
.booking-visit-photo strong {display:block;color:#eff8fa;font-size:14px;line-height:1.4;}
.booking-visit-photo figcaption span {display:block;color:#a6c4cb;font-size:12px;line-height:1.6;margin-top:5px;}
@media(max-width:1000px) {
 .booking-layout {column-gap:30px;}
 .booking-panel {padding:26px 22px;}
 .booking-copy h1 {font-size:39px;}
 .booking-form .form-grid.two {grid-template-columns:1fr;gap:16px;}
 .booking-visit-photo img {height:240px;}
}
@media(max-width:700px) {
 .booking-section {padding:95px 0 36px;}
 .booking-layout {grid-template-columns:1fr;grid-template-areas:"intro" "form" "photo";gap:24px;}
 .booking-copy h1 {font-size:36px;max-width:460px;}
 .booking-copy .page-eyebrow {font-size:9px;margin-bottom:15px;}
 .booking-lead {font-size:15px;line-height:1.6;margin:17px 0 12px;}
 .booking-panel {padding:24px 20px;}
 .booking-panel-head h2 {font-size:25px;}
 .booking-visit-photo img {height:220px;}
}
