/* The living haveli: botanical edges, photographic depth and brass relief. */
:root{--crafted-blue:#194960;--crafted-gold:#aa7a3e;--crafted-line:#cbb692;--crafted-shadow:0 18px 48px #163f5712}
main h1,main h2,main h3,.room-dialog h2{font-family:var(--haveli-display);font-weight:500;text-wrap:balance}
.section-head h2{letter-spacing:-.035em;line-height:1.02}
.section-head p,.intro-copy>p:not(.eyebrow),.spa-copy>p:not(.eyebrow),.story-editorial-copy>p:not(.eyebrow),.room-detail-copy>p:not(.eyebrow),.photo-amenity-copy>p:not(.overline),.app-photo-copy>p:not(.overline),.destination-copy>p,.notebook-grid p,.ordering-grid p{font-size:1rem;line-height:1.75;color:#405d6d}
.eyebrow,.overline{font-size:.75rem;line-height:1.65}
.micro-note,.preview-note,.distance-note{font-size:.8125rem!important;line-height:1.65}
.section-head{scroll-margin-top:calc(var(--header-height) + 24px)}
.section-head.haveli-scene-visible .eyebrow-line{animation:crafted-rule 1.2s var(--ease-haveli) both}
.section-head .eyebrow{color:#8e6a39}
@keyframes crafted-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Only the outside edges carry flowers; all links remain directly touchable. */
.haveli-botanical-frame{position:fixed;inset:0;z-index:8;overflow:hidden;pointer-events:none;opacity:var(--bloom,0);transition:opacity .75s ease;contain:layout paint}
.botanical-corner{position:absolute;width:clamp(210px,21vw,330px);pointer-events:none;transform-origin:left bottom;translate:0 var(--flower-y,0px);rotate:var(--flower-turn,0deg);transition:translate .5s var(--ease-haveli),rotate .6s var(--ease-haveli);filter:drop-shadow(0 5px 9px #603c3d16)}
.botanical-corner img{display:block;width:100%;height:auto;max-width:none}
.botanical-left{left:-28px;bottom:-95px}
.botanical-right{right:-33px;top:calc(var(--header-height) + 45px);transform:scaleX(-1);transform-origin:right center;opacity:.72;rotate:calc(var(--flower-turn,0deg) * -1)}
.menu-open .haveli-botanical-frame,.dialog-open .haveli-botanical-frame{opacity:0}

/* Photograph, border, room name and action arrive in that order. */
.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.room-card,.stay-page .room-card{background:#fffdf8;border:1px solid #cbb692;border-radius:76px 76px 12px 12px;overflow:hidden;box-shadow:var(--crafted-shadow);min-width:0}
.room-image{padding:7px 7px 0;isolation:isolate;border-radius:inherit}
.room-image .media-slot{border-radius:69px 69px 6px 6px;clip-path:inset(0 0 19% 0 round 69px 69px 6px 6px);transition:clip-path 1.25s var(--ease-haveli);transition-delay:var(--room-delay,0ms)}
.room-card.scene-visible .room-image .media-slot{clip-path:inset(0 0 0 0 round 69px 69px 6px 6px)}
.room-image::after{content:'';position:absolute;inset:14px 14px 8px;border:1px solid #fff8e6a3;border-radius:62px 62px 3px 3px;z-index:1;pointer-events:none;clip-path:inset(100% 0 0);transition:clip-path 1.4s var(--ease-haveli) .16s}
.room-card.scene-visible .room-image::after{clip-path:inset(0)}
.room-category-number{position:absolute;top:24px;left:32px;z-index:2;color:#fff9eb;background:#173e59bd;border:1px solid #e8d3a380;border-radius:99px;padding:7px 12px;font:500 .75rem/1.3 var(--sans);letter-spacing:.1em;backdrop-filter:blur(8px)}
.room-card .room-card-body,.rooms-home .room-card-body{display:block;padding:25px 28px 29px;min-width:0}
.room-card .room-card-body h3,.rooms-home .room-card-body h3,.stay-page .room-card h3{font-size:clamp(2.1rem,3.2vw,3.3rem);line-height:1.05;letter-spacing:-.025em;margin-bottom:13px;color:#194960}
.room-card .room-card-body p:not(.overline),.rooms-home .room-card-body p:not(.overline){display:block;font-size:1rem;line-height:1.7;color:#4b6574;margin-bottom:20px;max-width:44ch}
.room-card .room-card-body .overline,.rooms-home .room-card-body .overline{display:block;font-size:.75rem;letter-spacing:.11em;margin-bottom:11px}
.room-card .text-link{font-size:.875rem;min-height:40px;color:#24556e}
.room-look{border:1px solid #d5b47c8c;border-radius:99px;bottom:23px;right:23px;z-index:2;min-height:44px;box-shadow:0 5px 18px #142f3e15}
.room-category-nav{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 30px}
.room-category-nav a{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:11px 18px;border:1px solid #c4b294;border-radius:99px;font-size:.875rem;color:#315769;background:#fffaf1;transition:background .3s,color .3s,border-color .3s}
.room-category-nav a>span{font-size:.75rem;color:#9d7842}
.room-category-nav a[aria-current],.room-category-nav a:hover{background:#194960;color:#fff7e7;border-color:#194960}
.room-category-nav a[aria-current]>span,.room-category-nav a:hover>span{color:#dfc594}
.room-detail-opening h1{font-size:clamp(3.35rem,5.7vw,6rem);line-height:1.03;letter-spacing:-.035em;max-width:14ch}
.room-detail-opening .room-category-nav{margin-block:26px}
.room-detail-lead p{font-size:1rem;line-height:1.7;max-width:45ch;color:#486270}
.room-detail-copy .accordion summary,.room-detail-copy .accordion p{font-size:1rem;line-height:1.7}
.room-question-grid small{font-size:.8125rem;line-height:1.5;color:#526d7c}
.reserve-panel .micro-note{color:#52616e}

/* Existing images get gentle scroll depth, never a replacement scroll engine. */
.media-slot img.motion-image{transition:filter .65s ease;transform:translate3d(0,var(--image-y,0px),0) scale(1.08)}
.hero-reference .hero-fort-photo{transform:translate3d(0,var(--fort-y,0px),0) scale(1.025);transform-origin:center bottom}
.hero-reference .hero-blue-city-photo{transform:translate3d(0,var(--city-y,0px),0) scale(1.05);transform-origin:center bottom}
.hero-reference .hero-haveli-frame{translate:0 var(--arch-y,0px);animation:crafted-arch 1.45s var(--ease-haveli) both;transform-origin:85% 0}
.hero-reference .hero-haveli-column{translate:0 var(--arch-y,0px)}
@keyframes crafted-arch{from{opacity:0;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
.room-card[data-room-type="deluxe"] .room-image>.media-slot{view-transition-name:haveli-deluxe-image}
.room-card[data-room-type="raja-rani"] .room-image>.media-slot{view-transition-name:haveli-raja-rani-image}
::view-transition-group(haveli-deluxe-image),::view-transition-group(haveli-raja-rani-image){animation-duration:650ms;animation-timing-function:cubic-bezier(.19,1,.22,1)}
.food-grand-photo>.media-slot{clip-path:inset(0 12% 0 0);transition:clip-path 1.3s var(--ease-haveli)}
.food-grand-photo.haveli-scene-visible>.media-slot{clip-path:inset(0)}
.gallery-hero.haveli-scene-visible .media-slot,.contact-visual.haveli-scene-visible .media-slot{animation:crafted-photo 1.2s var(--ease-haveli) both}
@keyframes crafted-photo{from{clip-path:inset(9% 7% 9% 7% round 65px 65px 0 0)}to{clip-path:inset(0 round 0)}}
.home-service-photo,.home-city-photo,.destination-photo{isolation:isolate}
.home-service-photo::before,.home-city-photo::before{content:'';position:absolute;inset:8px;z-index:2;border:1px solid #fff6de69;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .7s .3s}
.editorial-visible .home-service-photo::before,.editorial-visible .home-city-photo::before{opacity:1}
.home-element-card{transition:background .35s,border-color .35s,box-shadow .5s,translate .65s var(--ease-haveli)}
.section-nav{top:var(--header-height);background:#fffaf3ef;backdrop-filter:blur(14px);z-index:15;border-color:#cbb692}
.section-nav a{font-size:.875rem;min-height:52px;color:#466573}
.section-nav a[aria-current]{color:#164a6b;font-weight:600}
[id]{scroll-margin-top:calc(var(--header-height) + 78px)}
.home-service-body h3{font-family:var(--sans);font-weight:600}
.home-service-body p,.app-photo-copy p:not(.overline),.help-grid p,.ordering-grid p,.notebook-grid p{font-size:1rem;line-height:1.7}
.destination-meta,.destination-actions a,.home-provider-label,.arrival-tabs button{font-size:.875rem}
.destination-copy .distance-note{max-width:46ch}

/* Selection, forms and dialogs use the same brass / indigo language. */
.button,.booking-bar button{border-radius:12px;min-height:48px;font-size:.9375rem;line-height:1.4;font-weight:500;box-shadow:0 4px 12px #163d5710}
.button:focus-visible,.text-link:focus-visible,.room-category-nav a:focus-visible,.room-look:focus-visible,.gallery-filters button:focus-visible,.accordion summary:focus-visible{outline:2px solid #245b85;outline-offset:4px}
.stay-form,.enquiry-form,.reserve-panel{border-radius:20px;border-color:#cbb692;box-shadow:var(--crafted-shadow);background:#fffcf5}
.stay-form h2,.enquiry-form h2{font-size:clamp(2.35rem,3.7vw,3.7rem);line-height:1.07;letter-spacing:-.03em}
.stay-form label,.enquiry-form label{font-size:.9375rem;line-height:1.6}
.stay-form input,.stay-form select,.stay-form textarea,.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:1rem;border-radius:10px;min-height:50px;transition:border-color .25s,box-shadow .25s,background .25s}
.stay-form input:focus-visible,.stay-form select:focus-visible,.stay-form textarea:focus-visible,.enquiry-form input:focus-visible,.enquiry-form select:focus-visible,.enquiry-form textarea:focus-visible{outline:2px solid #245b85;outline-offset:2px;box-shadow:0 0 0 5px #245b8510}
.choices .room-choice{display:grid;grid-template-columns:22px minmax(0,1fr) 68px;gap:14px;padding:17px 18px;min-height:100px;border-radius:13px;background:#fffaf0}
.choices .room-choice>input{min-height:0;width:18px;height:18px}
.room-choice strong{font:600 clamp(1.3rem,2vw,1.8rem)/1.15 var(--haveli-display);color:#214c64}
.choices .room-choice small{font-size:.8125rem;line-height:1.6;color:#577181;margin-top:5px}
.room-choice>img{height:68px;width:68px;object-fit:cover;border-radius:26px 26px 6px 6px;border:1px solid #cbb692}
.choices .room-choice:has(input:checked){background:#e9f0f1;border-color:#658b9e;box-shadow:inset 3px 0 0 #24556e}
.choices .room-choice:focus-within{outline:2px solid #245b85;outline-offset:3px}
.step-line{font-size:.875rem;line-height:1.5;gap:10px;color:#607783}
.step-line .current{color:#194960}
.back-step{min-height:44px;font-size:.9375rem}
.form-result{border-radius:12px;background:#edf3f3;font-size:1rem;color:#274a5e}
.room-dialog,.lightbox{border:1px solid #b99a66;border-radius:24px;box-shadow:0 30px 100px #0921406b}
.room-dialog-copy h2{font-family:var(--haveli-display);font-size:clamp(2.6rem,4.8vw,4.8rem);line-height:1.04;letter-spacing:-.03em}
.room-dialog-copy .eyebrow{font-size:.75rem}
.preview-facts{font-size:.875rem;line-height:1.65}
.dialog-close,.lightbox-close{width:44px;height:44px;font-size:24px}
.lightbox-controls button{min-height:44px;border:1px solid #cbb692;border-radius:99px;padding-inline:17px}
.gallery-count{font-size:.8125rem}
.gallery-filters button{border:1px solid #d3c2a4;border-radius:99px;min-height:44px;font-size:.875rem;padding:10px 18px;color:#446372;background:#fffaf1}
.gallery-filters button.active{color:#fff8eb;background:#194960;border-color:#194960}
.gallery-filters{gap:10px;flex-wrap:wrap}
.menu-links a>span:last-child{font-family:var(--haveli-display);font-weight:500}
.menu-links a{min-height:60px}
.menu-index{font-size:.75rem}
.footer-top a:not(.button){min-height:36px;display:inline-flex;align-items:center;font-size:.9375rem}
.footer-bottom{font-size:.8125rem;line-height:1.65}

@media(hover:hover) and (pointer:fine){
 .room-card:hover{transform:perspective(1500px) translateY(-6px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));box-shadow:0 25px 55px #163f571c}
 .home-city-featured:hover,.food-grand-card:hover{transform:perspective(1500px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transition:transform .55s var(--ease-haveli)}
 .room-card:hover .media-slot img.motion-image{transform:translate3d(0,var(--image-y,0px),0) scale(1.11)}
 .home-element-card:hover{translate:0 -4px;box-shadow:0 16px 35px #254c6012}
 .button:hover{box-shadow:0 9px 24px #163d5724}
 .room-choice:hover{border-color:#799cac}
}
@media(max-width:1100px){.room-grid{gap:20px}.room-card .room-card-body,.rooms-home .room-card-body{padding-inline:22px}.room-card .room-card-body h3,.rooms-home .room-card-body h3,.stay-page .room-card h3{font-size:2.5rem}.botanical-corner{width:210px}.botanical-left{left:-48px}.botanical-right{right:-48px}}
@media(max-width:760px){
 .haveli-botanical-frame{display:none}
 .botanical-corner{width:145px;filter:none}
 .botanical-left{left:-32px;bottom:-80px}
 .botanical-right{right:-34px;top:calc(var(--header-height) + 35px);opacity:.5}
 .room-grid{grid-template-columns:1fr;gap:26px}
 .room-card,.stay-page .room-card{border-radius:58px 58px 12px 12px}
 .room-image .media-slot{border-radius:51px 51px 6px 6px;clip-path:inset(0 0 16% 0 round 51px 51px 6px 6px)}
 .room-card.scene-visible .room-image .media-slot{clip-path:inset(0 round 51px 51px 6px 6px)}
 .room-image::after{border-radius:44px 44px 3px 3px}
 .room-card .room-card-body,.rooms-home .room-card-body{padding:23px 23px 25px}
 .room-card .room-card-body h3,.rooms-home .room-card-body h3,.stay-page .room-card h3{font-size:2.55rem}
 .room-look{opacity:1;translate:none;right:19px;bottom:18px}
 .room-category-nav{flex-wrap:nowrap;overflow-x:auto;padding:3px 2px 10px;gap:10px;scrollbar-width:thin;overscroll-behavior-inline:contain}
 .room-category-nav a{flex-shrink:0;white-space:nowrap;padding-inline:14px}
 .room-detail-opening h1{font-size:clamp(3rem,12vw,4.7rem);max-width:12ch}
 .room-detail-lead p{font-size:1rem}
 .room-detail-opening .room-category-nav{margin-block:20px}
 .section-nav a{min-height:50px;font-size:.875rem;padding-inline:14px}
 .stay-form,.enquiry-form{padding:26px 23px;border-radius:18px}
 .step-line{font-size:.8125rem;gap:8px}
 .choices .room-choice{grid-template-columns:18px minmax(0,1fr) 54px;gap:11px;padding:16px 12px}
 .room-choice>img{width:54px;height:62px;border-radius:23px 23px 5px 5px}
 .room-choice strong{font-size:1.45rem}
 .choices .room-choice small{font-size:.75rem}
 .room-dialog,.lightbox{border-radius:18px}
 .room-dialog-copy{padding:30px 27px}
 .room-dialog-copy h2{font-size:3rem}
 .gallery-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px}
 .gallery-filters button{white-space:nowrap;flex-shrink:0}
 .lightbox-controls{gap:8px}.lightbox-controls button{padding-inline:12px;font-size:.8125rem}
 .menu-links a{line-height:1.2;min-height:68px;align-items:center}
}
@media(max-width:359px){.choices .room-choice{grid-template-columns:18px minmax(0,1fr);gap:12px}.room-choice>img{display:none}.room-card .room-card-body h3,.rooms-home .room-card-body h3{font-size:2.35rem}.lightbox-controls button{padding-inline:9px}.menu-links{column-gap:14px}.menu-links a{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){
 .haveli-botanical-frame{display:none}
 .botanical-corner,.room-card,.home-element-card,.media-slot img.motion-image{transform:none!important;translate:none!important;rotate:none!important;transition:none!important}
 .food-grand-photo>.media-slot,.room-image .media-slot,.room-image::after{clip-path:none!important;transition:none!important}
 .gallery-hero .media-slot,.contact-visual .media-slot,.section-head .eyebrow-line{animation:none!important}
 .room-card .room-card-body{opacity:1;translate:none;transition:none}
 .hero-reference .hero-fort-photo,.hero-reference .hero-blue-city-photo,.hero-reference .hero-haveli-frame,.hero-reference .hero-haveli-column,.home-city-featured,.food-grand-card{animation:none!important;transform:none!important;translate:none!important;transition:none!important}
 ::view-transition-group(haveli-deluxe-image),::view-transition-group(haveli-raja-rani-image){animation-duration:.01ms}
}
