/* Scoped to the homepage trip inquiry. Existing fields and submission are preserved. */
#book-form{position:relative;isolation:isolate;width:min(1180px,94%);max-width:none;margin:8rem auto;padding:4rem;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.35fr);align-items:center;gap:4.5rem;border:1px solid #35503b;border-radius:2.8rem;background:radial-gradient(ellipse at 0% 10%,#375d3b70,transparent 65%),linear-gradient(145deg,#182c20,#0f2118)!important;box-shadow:0 25px 70px #0003;overflow:hidden;scroll-margin-top:10rem}
#book-form::before{content:"";position:absolute;z-index:-1;width:40rem;height:40rem;border:1px solid #d0b55725;border-radius:50%;left:-22rem;bottom:-20rem;box-shadow:0 0 0 5rem #d0b55708,0 0 0 10rem #d0b55705;pointer-events:none}
#book-form .booking-header{position:relative;text-align:left;max-width:none;margin:0;padding:1.5rem 0}
#book-form .booking-header>span{display:inline-block;margin:0 0 2rem;padding:.8rem 1.2rem;border:1px solid #d5b94e50;border-radius:5rem;background:#d5b94e0b;color:#e8cd70;font-size:1rem;letter-spacing:.17rem;font-weight:700;line-height:1.6;text-transform:uppercase}
#book-form .booking-header h1{color:#f7f8ef;font-size:clamp(3.2rem,3.7vw,5.2rem);line-height:1.12;letter-spacing:-.12rem;font-weight:650;margin:0 0 2rem;text-transform:none}
#book-form .booking-header p{color:#c3d1c5;font-size:1.45rem;line-height:1.9;max-width:36rem;margin:0;text-transform:none}
#book-form .journey-trail{display:block;width:24rem;height:10rem;margin-top:3rem;color:#d9be61;overflow:visible;opacity:.85}
#book-form .journey-trail path{stroke-dasharray:260;stroke-dashoffset:0}
#book-form #bookingForm{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem;align-items:start;background:#fafbf6;border:1px solid #fff;border-radius:2rem;padding:3rem;margin:0;width:100%;max-width:none;box-shadow:0 18px 45px #0002}
#book-form #bookingForm .inputBox{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;min-width:0;min-height:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;transform:none;transition:none}
#book-form #bookingForm .inputBox label{display:block;margin:0;color:#294534;font-size:1.2rem;font-weight:650;line-height:1.5;text-transform:none;letter-spacing:.015rem;position:static}
#book-form #bookingForm .inputBox input,#book-form #bookingForm .inputBox select,#book-form #bookingForm .inputBox textarea{display:block;width:100%;min-width:0;max-width:100%;height:4.8rem;min-height:4.8rem;margin:0;padding:1.2rem 1.35rem;border:1px solid #d6dfd3;border-radius:1rem;background:#fff;color:#243e2c;box-shadow:0 2px 4px #183b2103;font-family:inherit;font-size:1.3rem;line-height:1.5;text-transform:none;outline:none;transition:border-color .2s,box-shadow .2s,background .2s,transform .2s;color-scheme:light}
#book-form #bookingForm .inputBox input::placeholder,#book-form #bookingForm .inputBox textarea::placeholder{color:#829080;opacity:1}
#book-form #bookingForm .inputBox input:hover,#book-form #bookingForm .inputBox select:hover,#book-form #bookingForm .inputBox textarea:hover{border-color:#92aa90}
#book-form #bookingForm .inputBox input:focus,#book-form #bookingForm .inputBox select:focus,#book-form #bookingForm .inputBox textarea:focus{border-color:#668869;box-shadow:0 0 0 .35rem #4f825018;background:#fffffc;transform:translateY(-1px)}
#book-form #bookingForm .inputBox select{appearance:auto;cursor:pointer}
#book-form #bookingForm .inputBox textarea{height:auto;min-height:10rem;resize:vertical}
#book-form #bookingForm .journey-message{grid-column:1/-1}
#book-form #bookingForm .submit-box{grid-column:1/-1;padding:1rem 0 0;text-align:left}
#book-form #bookingForm .submit-box .btn{display:block;width:100%;min-width:0;min-height:5.2rem;margin:0;padding:1.4rem 2rem;border:1px solid #d2b34b;border-radius:1.1rem;background:linear-gradient(110deg,#cbae45,#ead078,#cbae45);background-size:200% 100%;color:#203323;box-shadow:0 7px 18px #b9983124;line-height:1.5;font-family:inherit;font-size:1.35rem;font-weight:650;letter-spacing:.01rem;text-transform:none;cursor:pointer;transition:transform .25s,box-shadow .25s,background-position .6s}
#book-form #bookingForm .submit-box .btn:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 10px 25px #a6863340}
#book-form #bookingForm .submit-box .btn:active{transform:translateY(0)}
#book-form #bookingForm .submit-box .btn:disabled{opacity:.65;transform:none;cursor:wait}
#book-form #bookingForm .submit-box .btn:focus-visible{outline:3px solid #3e6747;outline-offset:4px}
#book-form #bookingForm .submit-box p{font-size:1.05rem;line-height:1.8;margin:1.3rem 0 0;color:#63735f;text-transform:none}
#book-form #bookingForm .submit-box a{color:#315b3b;text-decoration:underline;text-underline-offset:3px}
#book-form #bookingForm [role=status]{font-size:1.25rem;font-weight:600;color:#285b39;margin:1.3rem 0 0;overflow-wrap:anywhere}
#book-form #bookingForm [role=status]:empty{display:none}
#book-form.journey-motion:not(.journey-inview) .booking-header,#book-form.journey-motion:not(.journey-inview) #bookingForm{opacity:0;transform:translateY(20px)}
#book-form.journey-motion .booking-header,#book-form.journey-motion #bookingForm{transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
#book-form.journey-motion #bookingForm{transition-delay:.12s}
#book-form.journey-inview .journey-trail path{animation:journey-route 1.6s ease both}
@keyframes journey-route{from{stroke-dashoffset:260;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@media(max-width:1000px){#book-form{gap:3rem;padding:3rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr)}#book-form #bookingForm{padding:2.4rem;gap:1.6rem}#book-form .booking-header h1{font-size:3.6rem}}
@media(max-width:760px){#book-form{display:block;margin:5rem auto;padding:2.5rem;border-radius:2rem}#book-form .booking-header{padding:.5rem 0 2.5rem}#book-form .booking-header h1{font-size:3.4rem;max-width:48rem}#book-form .booking-header p{max-width:54rem}#book-form .journey-trail{display:none}#book-form #bookingForm{padding:2.5rem;border-radius:1.5rem}}
@media(max-width:480px){#book-form{padding:2rem 1.5rem;width:94%;gap:0}#book-form .booking-header h1{font-size:3rem}#book-form .booking-header>span{font-size:.9rem;letter-spacing:.1rem}#book-form #bookingForm{grid-template-columns:minmax(0,1fr);padding:2rem;gap:1.7rem}#book-form #bookingForm .inputBox input,#book-form #bookingForm .inputBox select,#book-form #bookingForm .inputBox textarea{font-size:16px;height:5rem}#book-form #bookingForm .inputBox textarea{height:auto}#book-form #bookingForm .inputBox label{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){#book-form *,#book-form *::before,#book-form *::after{animation:none!important;transition:none!important}#book-form.journey-motion .booking-header,#book-form.journey-motion #bookingForm{opacity:1!important;transform:none!important}}
