:root{--ink:#171512;--paper:#f2eee5;--ivory:#f6f1e7;--gold:#b9a27d;--line:rgba(23,21,18,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',sans-serif}a{color:inherit;text-decoration:none}.booking-hero{height:72svh;min-height:620px;position:relative;overflow:hidden;color:var(--ivory);display:grid;place-items:end start;background:#11100e}.booking-image{position:absolute;inset:0;background:url('assets/residence-painting.webp') center 45%/cover no-repeat;transform:scale(1.01)}.booking-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.28),rgba(8,7,6,.14) 38%,rgba(8,7,6,.72)),linear-gradient(90deg,rgba(8,7,6,.40),transparent 60%)}.booking-nav{position:absolute;z-index:2;top:0;left:0;right:0;padding:28px 42px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.15)}.brand{font-family:'Cormorant Garamond',serif;font-size:20px;letter-spacing:.22em}.return{font-size:9px;letter-spacing:.22em;text-transform:uppercase;opacity:.88}.booking-title{position:relative;z-index:2;padding:0 8vw 9vh;width:min(1000px,92vw)}.booking-title p,.kicker{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}.booking-title h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(64px,9vw,138px);letter-spacing:-.045em;line-height:.84;margin:20px 0 28px}.booking-title span{display:block;max-width:650px;font-family:'Cormorant Garamond',serif;font-size:clamp(21px,2.1vw,30px);line-height:1.35}.booking-intro{max-width:1500px;margin:auto;padding:120px 7vw 90px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.booking-intro h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(54px,7vw,104px);line-height:.9;letter-spacing:-.035em;margin:18px 0 0}.lede{font-family:'Cormorant Garamond',serif;font-size:26px;line-height:1.5;margin:0;max-width:650px}.form-section{padding:0 7vw 120px}.inquiry-form{max-width:1320px;margin:auto;border-top:1px solid var(--line);padding-top:54px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 42px}.inquiry-form label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#75664f;display:grid;gap:12px}.inquiry-form input,.inquiry-form textarea{width:100%;border:0;border-bottom:1px solid rgba(23,21,18,.28);background:transparent;padding:10px 0 14px;color:var(--ink);font:400 22px/1.3 'Cormorant Garamond',serif;outline:none;border-radius:0}.inquiry-form textarea{border:1px solid rgba(23,21,18,.22);padding:18px;resize:vertical}.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:#8f7c5d}.wide{grid-column:1/-1}.honeypot{position:absolute!important;left:-9999px!important}.form-foot{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:44px}.form-foot p{font-family:'Cormorant Garamond',serif;font-size:17px;line-height:1.45;max-width:520px;color:#5f5547}.form-foot button{appearance:none;border:1px solid #8f7c5d;background:transparent;padding:17px 28px;text-transform:uppercase;letter-spacing:.22em;font:500 9px 'Montserrat',sans-serif;cursor:pointer;color:var(--ink);transition:.25s}.form-foot button:hover{background:#171512;color:var(--ivory);border-color:#171512}.form-foot button:disabled{opacity:.5;cursor:wait}.form-status{min-height:24px;margin-top:22px;font:400 18px 'Cormorant Garamond',serif}.booking-note{background:#171512;color:var(--ivory);padding:120px 8vw;text-align:center}.booking-note span{color:var(--gold)}.booking-note blockquote{font:300 clamp(42px,6vw,78px)/1.02 'Cormorant Garamond',serif;max-width:950px;margin:30px auto 42px}.booking-note a{font-size:9px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid rgba(246,241,231,.4);padding-bottom:6px}footer{padding:44px 7vw;background:#0f0e0c;color:rgba(246,241,231,.76);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;text-transform:uppercase}@media(max-width:760px){.booking-hero{min-height:560px;height:70svh}.booking-nav{padding:22px 20px}.return{font-size:8px}.booking-title{padding:0 24px 72px}.booking-intro{grid-template-columns:1fr;padding:84px 24px 64px;gap:34px}.form-section{padding:0 24px 90px}.form-grid{grid-template-columns:1fr;gap:30px}.wide{grid-column:auto}.form-foot{align-items:stretch;flex-direction:column}.form-foot button{width:100%}footer{flex-direction:column;gap:12px}}
.direct-booking-contact{margin:0 0 1.75rem;text-align:center;letter-spacing:.03em}
.direct-booking-contact a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
