.booking-section{padding:64px 0 76px;background:linear-gradient(155deg,#f8f8f2 0%,#fffdf7 55%,#f3f8f4 100%)}
.booking-shell{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);max-width:1180px;margin:auto;background:#fff;border:1px solid #e4ebe6;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(7,55,42,.1)}
.booking-intro{background:radial-gradient(circle at 100% 0,rgba(255,204,36,.13),transparent 40%),linear-gradient(145deg,#063f30,#006644);color:#fff;padding:clamp(30px,4vw,62px);display:flex;flex-direction:column;justify-content:center}
.booking-eyebrow{display:inline-flex;gap:10px;align-items:center;color:#ffdd60;font-size:12px;font-weight:800;letter-spacing:.17em;margin-bottom:20px}
.booking-intro h2{font-family:inherit;color:#fff;font-size:clamp(32px,3.5vw,52px);line-height:1.07;font-weight:800;letter-spacing:-.035em;margin:0 0 22px}
.booking-intro h2 span{color:#ffcf2e}.booking-intro>p{color:#e4f3ed;line-height:1.75;font-size:16px;margin:0 0 22px}
.booking-intro-points{display:flex;flex-wrap:wrap;gap:12px 20px;margin:8px 0 32px;font-size:13px;font-weight:700}.booking-intro-points i{color:#ffcf2e;margin-right:5px}
.booking-intro .booking-regional{font-size:13px;color:#cee5da;border-top:1px solid rgba(255,255,255,.25);padding-top:24px;margin:0}.booking-regional a{color:#ffdd60;text-decoration:underline;text-underline-offset:3px}
.booking-form-panel{padding:clamp(24px,4vw,52px)}
.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0 0 38px;padding:0;gap:8px}.booking-steps li{display:flex;align-items:center;gap:9px;color:#71827b;font-size:13px;font-weight:700;border-bottom:2px solid #dce8e1;padding-bottom:14px}.booking-steps li span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#edf3ee;color:#61766a;font-size:12px}.booking-steps li.is-current{color:#073e2f;border-color:#edbd12}.booking-steps li.is-current span{background:#ffcf2e;color:#143d31}.booking-steps li.is-done{color:#006842;border-color:#008655}.booking-steps li.is-done span{background:#008655;color:#fff}
.booking-step{border:0;margin:0;padding:0;min-width:0}.booking-step[hidden]{display:none!important}.booking-step-title{float:none;width:100%;font-size:clamp(23px,2.4vw,32px);font-weight:800;color:#103b30;letter-spacing:-.025em;padding:0;margin:0 0 7px}.booking-step-subtitle{color:#697a72;margin:0 0 24px;line-height:1.5}
.booking-step label:not(.booking-consent){display:block;color:#173f32;font-size:13px;font-weight:700;margin-bottom:8px}.booking-step label span:not(.booking-consent span){color:#b82728}.booking-step input:not([type=checkbox]),.booking-step select{width:100%;min-height:52px;border:1px solid #d3e0d8;border-radius:10px;background:#fff;padding:11px 14px;color:#173c31;font-size:15px;box-shadow:none}.booking-step input:focus,.booking-step select:focus{border-color:#008655;outline:3px solid rgba(0,134,85,.13)}.booking-step input::placeholder{color:#8a9690}
.booking-primary{background:#ffca21;border:0;border-radius:10px;color:#163b2f;font-weight:800;min-height:50px;padding:11px 21px;display:inline-flex;align-items:center;justify-content:center;gap:15px;margin-top:26px;box-shadow:0 10px 20px rgba(224,169,0,.15);transition:background .2s,transform .2s}.booking-primary:hover{background:#f5b900;transform:translateY(-2px)}.booking-primary:disabled{opacity:.65;cursor:wait;transform:none}.booking-secondary{background:transparent;border:1px solid #d6e4da;border-radius:10px;color:#174636;font-weight:700;min-height:50px;padding:11px 18px;margin-top:26px}.booking-secondary:hover{background:#f4f8f5}.booking-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.booking-price-note,.booking-privacy{font-size:12px;color:#6b7973;line-height:1.5;margin:13px 0 0}.booking-privacy a{color:#006842;text-decoration:underline}
.booking-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #dbe7df;border-radius:12px;overflow:hidden;margin:0 0 19px}.booking-preview>div{padding:11px 15px;border-bottom:1px solid #e6eee8}.booking-preview>div:nth-child(odd){border-right:1px solid #e6eee8}.booking-preview dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#687c70;margin:0 0 3px}.booking-preview dd{font-weight:700;color:#103d30;margin:0;overflow-wrap:anywhere}.booking-consent{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:11px;background:#f3faf6;border:1px solid #d8e9de;color:#234a3a;font-size:13px;line-height:1.5;cursor:pointer}.booking-consent input{width:18px;height:18px;accent-color:#008655;flex:none;margin-top:1px}.booking-status{margin-top:18px;padding:14px 16px;border-radius:10px;line-height:1.5;background:#eaf8ef;color:#075435;border:1px solid #c1e5cc}.booking-status.is-error{background:#fff0ef;color:#9d2525;border-color:#f3c4c1}.booking-status.is-warning{background:#fff8e4;color:#765600;border-color:#edda98}.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.booking-shell{grid-template-columns:1fr}.booking-intro{padding:32px}.booking-intro h2{max-width:650px}.booking-intro-points{margin-bottom:16px}.booking-form-panel{padding:28px}}
@media(max-width:575px){.booking-section{padding:28px 12px 50px}.booking-shell{border-radius:17px}.booking-intro{padding:28px 22px}.booking-form-panel{padding:25px 20px}.booking-steps{margin-bottom:28px}.booking-steps li{gap:5px;font-size:11px}.booking-steps li span{width:26px;height:26px}.booking-actions{display:grid;grid-template-columns:1fr}.booking-actions button{width:100%;margin-top:12px}.booking-preview{grid-template-columns:1fr}.booking-preview>div:nth-child(odd){border-right:0}.booking-primary{width:100%}}

/* Keep the opening scene and the enquiry card visually connected, with room to breathe. */
.sv-home-page #hero{height:82vh;min-height:560px;max-height:790px}
.sv-home-page #hero::after{background:linear-gradient(105deg,rgba(11,58,55,.76),rgba(14,67,64,.62) 58%,rgba(18,76,72,.56)),url("../img/hero-bg.jpg") center top no-repeat}
.sv-home-page #hero::before{background:#2aaf69;opacity:.16}
.sv-home-page #hero h2{font-size:clamp(34px,3.2vw,52px);letter-spacing:-.025em;line-height:1.14;text-shadow:0 3px 18px rgba(4,33,32,.18)}
.sv-home-page #hero p{max-width:780px;line-height:1.6;text-shadow:0 2px 12px rgba(4,33,32,.18)}
.sv-home-page #hero .btn-get-started{border-color:#ffd33b;background:rgba(8,59,47,.75);font-weight:700;box-shadow:0 10px 28px rgba(6,44,38,.2);transition:background .2s,color .2s,transform .2s}
.sv-home-page #hero .btn-get-started:hover,.sv-home-page #hero .btn-get-started:focus-visible{background:#ffd33b;color:#123e31;transform:translateY(-2px)}
.sv-home-page .booking-section{position:relative;z-index:2;margin-top:clamp(-42px,-4vh,-24px);padding-top:0;scroll-margin-top:96px}
.sv-home-page .booking-shell{box-shadow:0 28px 70px rgba(7,55,42,.11),0 0 0 1px rgba(255,255,255,.9)}
@media(max-width:575px){.sv-home-page #hero{height:72vh;min-height:500px;max-height:650px}.sv-home-page #hero::after{background-color:#166762;background-image:linear-gradient(to bottom,#155452 0%,#155452 36%,rgba(21,84,82,.82) 53%,rgba(21,84,82,0) 82%),linear-gradient(105deg,rgba(11,58,55,.76),rgba(14,67,64,.62) 58%,rgba(18,76,72,.56)),url("../img/hero-bg.jpg");background-size:cover,cover,min(720px,184vw) auto;background-position:center,center,calc(50% + 48vw) bottom;background-repeat:no-repeat}.sv-home-page #hero .carousel-container{transform:translateY(-28px)}.sv-home-page #hero h2{font-size:clamp(30px,8vw,38px)}.sv-home-page #hero p{width:82%;font-size:14px;line-height:1.5}.sv-home-page .booking-section{margin-top:-32px;scroll-margin-top:78px}}
