/* Touch-first booking experience, preserving the property photography. */
:root{--accent:#9b5b3d}.button{border-radius:10px}.booking-card{border-radius:22px;box-shadow:0 18px 64px #30261c0a;scroll-margin-top:100px}.booking-card:focus{outline:none}.booking-section{gap:6vw;grid-template-columns:.9fr 1.2fr}.booking-intro h2{line-height:1.07}.booking-photo{position:relative;margin-top:30px;border-radius:18px;overflow:hidden}.booking-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.booking-photo span{position:absolute;bottom:0;left:0;right:0;padding:36px 18px 16px;background:linear-gradient(transparent,#0009);font-size:12px;color:white}.flow-progress{display:flex;list-style:none;padding:0;margin:0 0 30px;gap:8px;justify-content:space-between}.flow-progress li{font-size:11px;color:#777169;display:flex;align-items:center;gap:6px}.flow-progress li span{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;background:#eee8de;border-radius:50%;font-size:11px}.flow-progress li.current{color:#202020;font-weight:600}.flow-progress li.current span{background:#202020;color:white}.flow-progress li.done span{background:#dce8d9;color:#34553a}.test-banner{background:#fff1cf;border:1px solid #e1c887;padding:14px 16px;border-radius:12px;display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.6;margin-bottom:25px;color:#61491c}.test-banner strong{font-size:13px}.card-heading h3{font:400 32px/1.2 var(--serif);letter-spacing:-.7px}.card-heading{margin-top:20px}.room-picker{padding:0;border:0;margin:0 0 24px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-picker legend{margin-bottom:10px}.room-picker button{display:flex;flex-direction:column;text-align:left;background:#faf7f1;border:1px solid var(--line);border-radius:12px;padding:8px;gap:10px;color:#202020;min-width:0}.room-picker button[aria-pressed=true]{border:2px solid #9b5b3d;padding:7px;background:#f5eee4}.room-picker button img,.room-symbol{width:100%;height:88px;border-radius:7px;object-fit:cover}.room-symbol{display:grid;place-items:center;font-size:38px;background:#e8e1d6;color:#88725c}.room-picker button>span:last-child{padding:0 5px 5px}.room-picker strong{display:block;font-size:14px}.room-picker small{display:block;margin-top:3px;font-size:11px;line-height:1.5;color:#6e665e}.field input,.field select,.field textarea,.time-controls select,.phone-field{border-radius:9px}.time-controls{max-width:none}.time-controls select{width:100%;min-height:49px;border:1px solid var(--line);padding:10px;background:var(--paper);font-size:16px}.guest-note{margin:-10px 0 24px}.duration-plans{grid-template-columns:repeat(3,1fr)}.duration-plans button{border-radius:10px;min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.duration-plans strong{font-weight:500}.duration-plans small{font-size:11px;opacity:.8}.custom-duration select{max-width:none}.custom-duration{margin-top:14px}.availability-pill{display:block;border-radius:9px;background:#f2e7df;color:#8a4a31;padding:11px 13px;font-size:12px;line-height:1.5;margin-bottom:18px}.availability-pill.available{background:#e7eee3;color:#3f5b3c}.checkout-summary{padding:15px 0;margin-bottom:22px}.availability-refresh{margin-bottom:20px}.quote-box{border-radius:13px}.quote-total{padding:16px 0 14px;margin:8px 0 12px;border-top:1px solid #d8cebf}.quote-total strong{font-family:var(--sans);font-size:29px;font-weight:500;letter-spacing:-1px}.visit-review{padding:18px;border:1px solid var(--line);border-radius:12px;margin:24px 0;background:#faf7f1}.visit-review strong{font-size:15px}.visit-review p{font-size:13px;line-height:1.65;margin-top:7px}.hold-timer{border-radius:11px}.upi-area{flex-direction:column;align-items:stretch;border-radius:13px}.upi-area .payment-qr{flex:auto;align-self:center}.upi-area .payment-qr img{width:240px;height:240px;max-width:100%;border-radius:4px}.upi-area .payment-qr p{font-size:12px;max-width:270px;text-align:center}.upi-area>div:last-child{align-items:center}.upi-value{font-size:14px;overflow-wrap:anywhere;max-width:100%}.proof-upload{padding-top:24px}.proof-upload h4,.whatsapp-confirm h4,.booking-pass h4{font:400 26px/1.25 var(--serif);margin:0 0 10px}.proof-preview{margin-top:12px;padding:12px;background:#eee8de;border-radius:10px;display:flex;align-items:center;gap:12px}.proof-preview img{width:65px;height:90px;object-fit:contain}.proof-preview span{font-size:12px;overflow-wrap:anywhere}.whatsapp-confirm{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.whatsapp-confirm>p{font-size:13px;line-height:1.6}.whatsapp-confirm details{margin:15px 0}.whatsapp-confirm summary{cursor:pointer;font-size:13px;padding:10px 0}.whatsapp-confirm textarea{width:100%;font-size:14px;line-height:1.55;padding:14px;border-radius:10px;border:1px solid var(--line);margin:8px 0;resize:vertical}.booking-pass{display:flex;flex-direction:column;align-items:center;border:1px solid #d6ded1;background:#f1f5ed;border-radius:16px;margin-top:28px;padding:26px 20px;gap:13px;text-align:center}.booking-pass .eyebrow{margin:0;font-size:11px}.booking-pass>img{max-width:100%;height:auto;background:white;border-radius:9px}.booking-pass>strong{font-size:12px;letter-spacing:1px}.booking-pass>p{font-size:12px}.booking-pass .text-link{font-size:13px;min-height:34px}.booking-pass h4{margin:0}.mobile-book-bar{display:none}.hotel-page{padding-top:45px}.hotel-hero{padding:60px 6vw;max-width:1000px;margin:auto}.hotel-hero h1{font:400 clamp(42px,7vw,78px)/1.08 var(--serif);letter-spacing:-2px}.hotel-hero p{margin-top:24px;max-width:560px}.hotel-hero .button{margin-top:25px}.hotel-placeholder{background:#e8e1d6;border:1px solid var(--line);border-radius:20px;padding:45px;margin-top:35px;display:flex;align-items:center;gap:25px}.hotel-placeholder>span{font-size:54px;color:#907b65}.hotel-placeholder strong{font:400 24px var(--serif)}.hotel-placeholder p{margin-top:8px;font-size:14px}.rooms-link{display:inline-block;margin-top:24px;font-size:14px;border-bottom:1px solid #9b5b3d;padding:8px 0}.room-features{border-radius:12px}.gallery img{border-radius:12px}.gallery figure:first-child{grid-column:span 1}#book{scroll-margin-top:80px}
@media(max-width:780px){.site-header{position:sticky;top:0;z-index:20;background:#f5f1e9ed;backdrop-filter:blur(16px);padding:14px 20px;border-bottom:1px solid var(--line)}.nav-book{border-radius:8px;min-height:44px;font-size:12px}.booking-section{grid-template-columns:1fr}.booking-intro .booking-photo{display:none}.booking-intro .booking-steps{display:none}.booking-intro>p:not(.eyebrow){margin-top:16px}.booking-intro>.text-link{display:inline-block;margin-top:18px;font-size:13px}.booking-card{padding:25px 22px;border-radius:18px}.mobile-book-bar{display:flex;position:fixed;bottom:0;left:0;right:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:16px;background:#faf7f1f5;border-top:1px solid #d7cec1;backdrop-filter:blur(16px);z-index:30;box-shadow:0 -4px 24px #201d170a}.mobile-book-bar strong{display:block;font-size:13px;font-weight:500}.mobile-book-bar span{display:block;font-size:11px;color:#766b5e;margin-top:3px}.mobile-book-bar .button{font-size:12px;min-height:46px;padding:12px 18px}.site-footer{padding-bottom:115px}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.gallery figure{flex:0 0 78%;scroll-snap-align:start}.gallery img{aspect-ratio:4/3;object-fit:cover}.section{padding:48px 20px}.booking-section{gap:24px}.room-features{grid-template-columns:1fr}.hotel-hero{padding:35px 20px}.hotel-placeholder{padding:28px 20px}.booking-card{scroll-margin-top:90px}}
@media(max-width:380px){.booking-card{padding:23px 16px}.flow-progress li{font-size:10px;gap:4px}.flow-progress li span{width:21px;height:21px}.room-picker small{font-size:10px}.mobile-book-bar{padding-left:16px;padding-right:16px}.brand-detail{font-size:8px}.nav-book{font-size:10px;padding:10px}.quote-total strong{font-size:25px}.quote-total{font-size:12px}}
@media print{.site-header,.site-footer,.mobile-book-bar,.booking-intro,.flow-progress,.test-banner,.whatsapp-confirm,.reservation-actions,.card-policy{display:none}.booking-section{display:block;padding:0}.booking-card{border:0;box-shadow:none}.booking-pass .button,.booking-pass .text-link{display:none}}

/* Keep payment and confirmed arrival QR visible below the phone header. */
.qr-focus-target{scroll-margin-top:calc(96px + env(safe-area-inset-top))}.qr-focus-target:focus{outline:none}.booking-pass{margin-top:20px;margin-bottom:24px}

/* Business information and guest policies. */
.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.footer-contact>span{font-size:12px;color:var(--muted)}.footer-links{display:flex;flex-wrap:wrap;gap:12px 26px;padding:24px 0;border-top:1px solid var(--line)}.footer-links a{font-size:13px;padding:5px 0}.footer-links a:hover,.policy-content a:hover{color:var(--accent)}.footer-payment-note{display:flex;align-items:flex-start;gap:10px;margin:2px 0 26px}.footer-payment-note p{font-size:12px;line-height:1.7;max-width:600px}.coming-soon-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;margin-top:7px;border-radius:50%;background:#9b5b3d}.detail-label{display:block;font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--accent);margin-bottom:9px}.payment-coming-soon{background:#f0e9df;border:1px solid #e0d4c3;border-radius:12px;padding:18px 20px;margin-bottom:26px}.payment-coming-soon p{font-size:13px;line-height:1.7}.payment-coming-soon .coming-soon-dot{margin:0 4px 1px 0}.policy-consent{margin:24px 0;font-size:12px;line-height:1.75}.policy-consent label{display:flex;align-items:flex-start;gap:11px;cursor:pointer}.policy-consent input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:#202020}.policy-consent a,.card-policy a,.policy-content p a{border-bottom:1px solid currentColor}.info-page{max-width:1512px;margin:0 auto;padding:70px max(6vw,24px) 96px}.info-hero{max-width:850px;margin-bottom:60px}.info-hero h1{font:400 clamp(42px,5.4vw,76px)/1.1 var(--serif);letter-spacing:-2px}.info-hero>p:not(.eyebrow){margin-top:25px;max-width:660px;font-size:16px}.policy-date{display:block;margin-top:20px;font-size:12px;color:var(--muted)}.policy-layout{display:grid;grid-template-columns:220px minmax(0,760px);justify-content:space-between;gap:60px;border-top:1px solid var(--line);padding-top:38px}.policy-navigation{align-self:start;position:sticky;top:120px}.policy-navigation nav{display:flex;flex-direction:column;gap:5px;margin:15px 0 25px}.policy-navigation nav a{font-size:13px;padding:10px 12px;border-radius:6px;margin-left:-12px}.policy-navigation nav a[aria-current=page]{background:#e8dfd2;color:#202020;font-weight:500}.policy-section+.policy-section{margin-top:38px}.policy-section h2{font:400 29px/1.25 var(--serif);letter-spacing:-.6px;margin-bottom:18px}.policy-section p+p,.policy-section address+p,.policy-section p+address{margin-top:15px}.policy-section p{font-size:15px;line-height:1.9}.policy-section address{font-size:15px;font-style:normal;line-height:1.9}.contact-details{display:grid;gap:24px;margin:30px 0;color:#202020;overflow-wrap:anywhere}.contact-details a{border-bottom:1px solid var(--line);padding-bottom:3px}.contact-details address{font-style:normal;line-height:1.8}.contact-details small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}.about-layout>figure{position:sticky;top:110px}.about-layout>figure img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:15px}.about-layout figcaption{font-size:12px;color:var(--muted);margin-top:12px}.about-layout .payment-coming-soon{margin-top:30px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contact-location{padding:36px;background:#ebe4d9;border-radius:16px;align-self:start}.contact-location h2{font-size:34px;letter-spacing:-.8px;margin-bottom:24px}.contact-location address{font-size:16px;font-style:normal;line-height:1.8}.contact-location>p:not(.eyebrow){font-size:13px;line-height:1.8;margin:20px 0}.contact-location .payment-coming-soon{margin:28px 0 0;background:#f5f0e8}.contact-location .eyebrow{font-size:11px}
@media(min-width:781px) and (max-width:1100px){.site-header{gap:20px}.site-header nav{gap:15px;margin-right:0}.site-header nav a{font-size:12px}.brand-name{font-size:40px}.nav-book{font-size:12px;padding:12px}.policy-layout{grid-template-columns:180px minmax(0,1fr);gap:40px}}
@media(max-width:780px){.info-page{padding:42px 20px 55px}.info-hero{margin-bottom:35px}.info-hero h1{font-size:clamp(39px,8vw,57px);letter-spacing:-1.3px}.info-hero>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:20px}.policy-layout{grid-template-columns:1fr;padding-top:22px;gap:32px}.policy-navigation{position:static}.policy-navigation nav{flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:10px}.policy-navigation nav a{font-size:11px;margin:0;padding:9px 11px;border:1px solid var(--line)}.policy-navigation>.text-link{display:none}.policy-section h2{font-size:26px}.policy-section p{font-size:14px;line-height:1.85}.policy-section+.policy-section{margin-top:30px}.about-layout,.contact-layout{grid-template-columns:1fr;gap:32px}.about-layout>figure{position:static}.about-layout>figure img{aspect-ratio:4/3}.contact-location{padding:26px}.footer-contact{align-items:flex-start}.footer-links{gap:8px 20px}.footer-links a{font-size:12px;min-height:36px}.footer-payment-note p{font-size:11px}.payment-coming-soon{padding:15px 16px}.payment-coming-soon p{font-size:12px}.policy-consent{font-size:11px}.info-page+.site-footer{padding-bottom:40px}}
