:root{--booking-gold:#c89546;--booking-gold-dark:#a8752c;--booking-navy:#172337;--booking-text:#667085;--booking-border:#e8e7e2;--booking-cream:#faf8f3;--booking-white:#ffffff}.booking-section{width:min(1280px,calc(100% - 48px));margin-inline:auto;padding:85px 0 100px;overflow:hidden}.section-heading{max-width:650px;margin:0 auto 65px;text-align:center}.section-label{display:inline-block;margin:0 0 15px;color:var(--booking-gold-dark);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase}.section-heading h2{margin:0;color:var(--booking-navy);font-family:"Gilda Display",Georgia,serif;font-size:clamp(34px,4.5vw,52px);font-weight:400;line-height:1.2}.section-heading h2 span{color:var(--booking-gold-dark)}.section-heading>p:last-child{max-width:490px;margin:16px auto 0;color:var(--booking-text);font-size:15px;line-height:1.8}.booking-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(30px,5vw,75px)}.gallery{position:relative;width:100%;max-width:540px;height:590px;margin-inline:auto;isolation:isolate}.gallery-decoration{position:absolute;z-index:-1;top:35px;left:8%;width:77%;height:79%;background:linear-gradient(145deg,#f3e4c7,#e8d0a5);border-radius:180px 180px 20px 20px;transform:rotate(-6deg)}.gallery-main{position:absolute;z-index:1;top:15px;left:7%;width:77%;height:440px;overflow:hidden;border:7px solid var(--booking-white);border-radius:170px 170px 14px 14px;background:#e8e1d5;box-shadow:0 24px 60px rgba(23,35,55,.17)}.gallery-main img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.gallery-main:hover img{transform:scale(1.06)}.gallery-main::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(12,22,37,.9) 0,rgba(12,22,37,.28) 42%,transparent 72%);pointer-events:none}.gallery-main-overlay{position:absolute;z-index:2;right:20px;bottom:27px;left:24px;color:#fff}.gallery-main-overlay>span{color:#f4ca82;font-size:10px;font-weight:700;letter-spacing:3px}.gallery-main-overlay h3{margin:9px 0 6px;color:#fff;font-family:"Gilda Display",Georgia,serif;font-size:clamp(27px,3vw,36px);font-weight:400;line-height:1.2}.gallery-main-overlay p{margin:0;color:rgba(255,255,255,.85);font-size:13px}.gallery-floating{position:absolute;overflow:hidden;padding:6px;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:13px;box-shadow:0 18px 42px rgba(23,35,55,.2);transition:transform .35s ease,box-shadow .35s ease}.gallery-floating img{display:block;width:100%;height:100%;border-radius:8px;object-fit:cover}.gallery-floating:hover{z-index:6;box-shadow:0 25px 50px rgba(23,35,55,.25)}.gallery-floating-one{z-index:3;top:65px;right:0;width:175px;height:185px;transform:rotate(6deg)}.gallery-floating-one:hover{transform:rotate(0) translateY(-6px)}.floating-caption{display:flex;align-items:center;gap:7px;padding:9px 3px 3px;color:var(--booking-navy);font-size:10px;font-weight:700;white-space:nowrap}.floating-caption i{color:var(--booking-gold-dark)}.gallery-floating-two{z-index:3;right:0;bottom:65px;width:190px;height:150px;transform:rotate(-6deg)}.gallery-floating-two:hover{transform:rotate(0) translateY(-5px)}.gallery-floating-three{z-index:3;bottom:5px;left:0;width:145px;height:115px;transform:rotate(-7deg)}.gallery-floating-three:hover{transform:rotate(0) translateY(-5px)}.gallery-badge{position:absolute;z-index:5;bottom:0;left:115px;display:flex;align-items:center;gap:11px;padding:13px 17px;background:#fff;border:1px solid #f0e8da;border-radius:12px;box-shadow:0 14px 35px rgba(23,35,55,.13)}.badge-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;color:#fff;background:linear-gradient(135deg,#dbb16a,#b57b2c);border-radius:50%}.badge-copy{display:flex;flex-direction:column;gap:3px}.badge-copy strong{color:var(--booking-navy);font-size:12px;white-space:nowrap}.badge-copy small{color:var(--booking-text);font-size:10px;white-space:nowrap}.gallery-location{position:absolute;z-index:4;top:15px;right:25px;display:flex;align-items:center;gap:8px;padding:10px 14px;color:var(--booking-navy);background:#fff;border-radius:30px;box-shadow:0 8px 24px rgba(23,35,55,.1);font-size:11px;font-weight:700}.gallery-location i{color:var(--booking-gold-dark)}.booking-panel{min-width:0;padding:clamp(22px,3vw,36px);background:#fff;border:1px solid #eeece6;border-radius:20px;box-shadow:0 25px 75px rgba(23,35,55,.075),0 3px 10px rgba(23,35,55,.025)}.form-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:27px;padding-bottom:24px;border-bottom:1px solid #eeece6}.form-eyebrow{color:var(--booking-gold-dark);font-size:10px;font-weight:700;letter-spacing:2px}.form-heading h3{margin:8px 0 6px;color:var(--booking-navy);font-family:"Gilda Display",Georgia,serif;font-size:30px;font-weight:400;line-height:1.2}.form-heading p{margin:0;color:var(--booking-text);font-size:12px;line-height:1.7}.form-heading-icon{display:grid;flex:0 0 52px;width:52px;height:52px;place-items:center;color:var(--booking-gold-dark);background:#f8f0e2;border-radius:14px;font-size:21px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 15px}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.form-field label{color:#303b4d;font-size:12px;font-weight:700}.form-divider{display:flex;align-items:center;gap:10px;margin-top:3px;padding-bottom:10px;color:var(--booking-navy);border-bottom:1px solid #eeece6;font-size:12px;font-weight:700}.form-divider i{color:var(--booking-gold-dark);font-size:13px}.input-wrap{position:relative;min-width:0}.input-wrap>span{position:absolute;z-index:1;top:50%;left:13px;color:#a58a62;font-size:16px;pointer-events:none;transform:translateY(-50%)}.input-wrap input,.input-wrap select{display:block;width:100%;min-width:0;min-height:49px;margin:0;padding:12px 12px 12px 37px;color:var(--booking-navy);background-color:#fbfaf7;border:1px solid var(--booking-border);border-radius:8px;outline:0;font-family:"DM Sans",Arial,sans-serif;font-size:12px;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}.input-wrap input::placeholder{color:#a0a5ae}.input-wrap input:hover,.input-wrap select:hover{border-color:#d8c29e}.input-wrap input:focus,.input-wrap select:focus{background:#fff;border-color:var(--booking-gold);box-shadow:0 0 0 4px rgba(200,149,70,.13)}.input-wrap input[type=date]{padding-right:7px}.full-width{grid-column:1/-1}.form-submit{margin-top:5px}.booking-button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:56px;padding:15px 19px;color:#fff;background:linear-gradient(120deg,#d7a654,#ad762a);border:0;border-radius:9px;cursor:pointer;font-family:"DM Sans",Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:1.1px;text-align:left;text-transform:uppercase;box-shadow:0 9px 20px rgba(173,118,42,.19);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.booking-button>i{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;background:rgba(255,255,255,.17);border-radius:50%;transition:transform .25s ease}.booking-button:hover{filter:brightness(.96);transform:translateY(-2px);box-shadow:0 13px 25px rgba(173,118,42,.27)}.booking-button:hover>i{transform:translateX(3px)}.booking-button:focus-visible{outline:3px solid rgba(200,149,70,.4);outline-offset:4px}.form-note{display:flex;align-items:flex-start;justify-content:center;gap:7px;margin:13px 0 0;color:#858b96;font-size:10px;line-height:1.6;text-align:center}.form-note i{margin-top:2px;color:var(--booking-gold-dark)}@media (max-width:1050px){.booking-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:25px}.gallery{height:510px}.gallery-main{height:385px}.gallery-floating-one{width:145px;height:160px}.gallery-floating-two{width:155px;height:125px;bottom:55px}.gallery-floating-three{width:120px;height:100px}.gallery-badge{left:75px;padding:10px 12px}.gallery-location{right:5px;font-size:10px}.booking-panel{padding:24px}}@media (max-width:800px){.booking-section{width:min(650px,calc(100% - 36px));padding:65px 0 75px}.section-heading{margin-bottom:35px}.booking-layout{grid-template-columns:minmax(0,1fr);gap:35px}.gallery{width:100%;max-width:500px;height:555px}.gallery-main{height:410px}.gallery-floating-one{width:160px;height:170px}.gallery-floating-two{width:175px;height:140px;bottom:60px}.gallery-floating-three{width:135px;height:110px}.gallery-badge{left:110px}.gallery-location{right:15px}.booking-panel{padding:30px}}@media (max-width:520px){.booking-section{width:calc(100% - 28px);padding:45px 0 55px}.section-heading{margin-bottom:25px}.section-label{font-size:10px;letter-spacing:2px}.section-heading h2{font-size:34px}.section-heading>p:last-child{font-size:13px}.booking-layout{gap:25px}.gallery{height:430px}.gallery-decoration{top:25px;left:5%;height:77%;border-radius:120px 120px 15px 15px}.gallery-main{top:15px;left:5%;width:80%;height:305px;border-width:5px;border-radius:115px 115px 10px 10px}.gallery-main-overlay{right:10px;bottom:19px;left:15px}.gallery-main-overlay>span{font-size:9px;letter-spacing:2px}.gallery-main-overlay h3{font-size:25px}.gallery-main-overlay p{font-size:11px}.gallery-floating-one{top:65px;right:0;width:115px;height:125px;padding:4px;border-radius:9px}.floating-caption{gap:4px;padding-top:6px;font-size:8px}.gallery-floating-two{right:0;bottom:35px;width:125px;height:100px;padding:4px}.gallery-floating-three{bottom:15px;left:0;width:100px;height:82px;padding:4px}.gallery-badge{bottom:5px;left:60px;gap:7px;padding:8px 10px;border-radius:9px}.badge-icon{flex-basis:30px;width:30px;height:30px;font-size:11px}.badge-copy strong{font-size:10px}.badge-copy small{font-size:9px}.gallery-location{top:0;right:0;gap:5px;padding:8px 10px;font-size:9px}.booking-panel{padding:22px 16px;border-radius:15px}.form-heading{align-items:flex-start;margin-bottom:23px;padding-bottom:20px}.form-heading h3{font-size:27px}.form-heading p{max-width:230px;font-size:11px}.form-heading-icon{flex-basis:42px;width:42px;height:42px;border-radius:11px;font-size:17px}.form-grid{grid-template-columns:minmax(0,1fr);gap:16px}.full-width{grid-column:1}.form-divider{margin-top:4px}.input-wrap input,.input-wrap select{min-height:48px;font-size:12px}.booking-button{min-height:53px;padding:12px 14px;font-size:10px;letter-spacing:.8px}}@media (prefers-reduced-motion:reduce){.booking-button,.booking-button>i,.gallery-floating,.gallery-main img{transition:none}.booking-button:hover,.gallery-floating:hover,.gallery-main:hover img{transform:none}}