.reservation-page{background:#f6f8f4}.reservation-hero{padding:155px 0 95px;text-align:center;background:linear-gradient(130deg,#112b1b,#23432b);color:white}.reservation-hero h1{font-size:clamp(3rem,6vw,5.5rem);margin:8px 0 16px}.reservation-hero p:last-child{color:#dbe9dd;max-width:620px;margin:auto}.reservation-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:30px;align-items:start;margin-top:-45px;margin-bottom:95px;position:relative}.reservation-aside,.reservation-panel{border-radius:18px;background:white;overflow:hidden;box-shadow:0 16px 60px #142a1a15}.reservation-aside-image{height:280px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 28%,#f8f4e9),#dde8db);background-size:cover;background-position:center}.reservation-aside-body{padding:32px}.reservation-aside-body h2{font-size:2rem}.reservation-aside-body p{color:#5c6c60}.reservation-hint{border-left:3px solid var(--accent);padding:12px 15px;background:#f5f9f5;font-size:.88rem;margin-top:28px}.reservation-panel{padding:38px}.reservation-panel-top h2{font-size:2.2rem;margin:10px 0}.reservation-panel-top>p:last-child{color:#67746b;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field>span{font-weight:700;font-size:.85rem}.field small{font-weight:400;color:#718077}.field input,.field select,.field textarea{width:100%;padding:14px 15px;border:1px solid #dce5dc;border-radius:9px;background:#fff;color:#1a2a1e;font:inherit;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.field textarea{resize:vertical}.reservation-consent{font-size:.85rem;color:#46544a;margin:0 0 22px}.reservation-consent input{accent-color:var(--accent)}.reservation-submit{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--accent);border:0;color:#fff;padding:17px 22px;border-radius:10px;font-weight:700}.reservation-submit:disabled{opacity:.6;cursor:wait}.privacy-note{font-size:.78rem;color:#718077;text-align:center;margin:12px 0 0}.form-status{padding:14px;border-radius:8px;margin-bottom:15px;background:#f3f7f1;color:#224c2e}.form-status.error{background:#fff1f0;color:#a32828}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:850px){.reservation-layout{grid-template-columns:1fr}.reservation-aside-image{height:180px}.reservation-aside-body{padding:24px}}@media(max-width:560px){.reservation-hero{padding:130px 0 75px}.reservation-panel{padding:24px 19px}.form-grid{grid-template-columns:1fr;gap:0}.reservation-layout{margin-top:-30px}}

/* Booking essentials first, contact details second */
.reservation-primary-fields{padding:18px;border:1px solid #dce8dd;background:color-mix(in srgb,var(--accent) 6%,white);border-radius:14px;margin-bottom:25px}
.reservation-contact-title{font:700 1.12rem 'DM Sans',sans-serif;margin:8px 0 18px;color:var(--dark)}
.reservation-primary-fields input:focus,.reservation-primary-fields select:focus{border-color:var(--accent);outline-color:var(--accent)}
@media(max-width:600px){.reservation-primary-fields{padding:12px}}

/* Reservation form must remain visible even when scroll-animation JS is not loaded. */
.reservation-page .reservation-aside,.reservation-page .reservation-panel{
 opacity:1!important;transform:none!important;visibility:visible!important;
}
