:root{--sand:#d8c7aa;--plaster:#eee6d7;--paper:#f5efe4;--stone:#9a8d79;--terra:#9a513d;--mehendi:#53614c;--indigo:#354254;--ink:#241f1a;--brass:#9a7c41;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--gutter:clamp(20px,4vw,72px)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--plaster)}body{background:var(--plaster);color:var(--ink);font:400 15px/1.65 var(--sans);margin:0;overflow-x:hidden}::selection{background:var(--terra);color:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{width:100%;display:block}.skip{z-index:999;background:var(--ink);color:#fff;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip:focus{top:16px}:focus-visible{outline:2px solid var(--terra);outline-offset:4px}.progress{z-index:80;background:linear-gradient(var(--terra) 0 0) no-repeat;background-size:100% var(--scroll,0%);pointer-events:none;width:2px;height:100vh;position:fixed;top:0;left:0}.header{z-index:90;padding:24px var(--gutter);color:var(--paper);mix-blend-mode:difference;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;inset:0 0 auto}.mark{align-items:center;gap:10px;display:flex}.mark span{width:44px;height:44px;font:500 20px var(--serif);border:1px solid;border-radius:50%;place-items:center;display:grid}.mark small{text-transform:uppercase;letter-spacing:.16em;font-size:9px}.head-actions{text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:24px;font-size:10px;display:flex}.menu-button,.whatsapp,.reserve-link{color:inherit;background:0 0;border:0;padding:12px 0}.menu{z-index:85;background:var(--terra);color:var(--paper);padding:120px var(--gutter) 60px;transition:transform .8s var(--ease);visibility:hidden;grid-template-columns:2fr 1fr;display:grid;position:fixed;inset:0;transform:translateY(-105%)}.menu.open{visibility:visible;transform:none}.menu nav{align-content:center;display:grid}.menu nav a{font:400 clamp(34px,4vw,68px)/1.05 var(--serif);border-bottom:1px solid #ffffff38;padding:7px 0}.menu nav sup{font:10px var(--sans);width:42px;display:inline-block}.menu-foot{align-self:end}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font:500 10px/1.4 var(--sans)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98}h1{letter-spacing:-.045em;font-size:clamp(62px,10vw,160px)}h2{letter-spacing:-.035em;font-size:clamp(42px,6vw,96px)}h3{font-size:clamp(28px,3vw,54px)}em{font-weight:400}.page-hero{height:100svh;color:var(--paper);position:relative;overflow:hidden}.page-hero.short{height:72svh}.page-hero>img{object-fit:cover;height:100%;animation:hero 1.8s var(--ease) both}.shade{background:#0004;position:absolute;inset:0}.hero-copy{left:var(--gutter);right:var(--gutter);position:absolute;bottom:10vh}.hero-copy h1{max-width:1100px;margin:12px 0 0}.scroll-cue{right:var(--gutter);text-transform:uppercase;letter-spacing:.18em;font-size:9px;position:absolute;bottom:35px}.image-frame{background:var(--sand);overflow:hidden}.image-frame img{object-fit:cover;height:100%;transition:transform 1.2s var(--ease)}.image-frame:hover img{transform:scale(1.025)}.intro{padding:17vh var(--gutter);max-width:1200px}.intro h2{max-width:1050px;margin:30px 0}.intro>p:not(.eyebrow){max-width:560px;margin-left:auto}.text-link{text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid;margin-top:22px;padding:4px 0;font-size:10px;display:inline-block}.year{padding:5vh var(--gutter) 15vh;grid-template-columns:1fr minmax(240px,420px) 1fr;align-items:center;display:grid}.year>span{font:400 clamp(100px,18vw,290px)/.8 var(--serif);color:var(--terra);z-index:2}.year>span:nth-of-type(2){text-align:right}.year .image-frame{height:72vh}.year p{grid-column:2;max-width:340px;margin:28px auto}.room-index{padding:15vh var(--gutter);background:var(--ink);color:var(--paper)}.section-head{justify-content:space-between;align-items:flex-start;margin-bottom:10vh;display:flex}.section-head h2{text-align:right;margin:0}.room-row{border-top:1px solid #ffffff38;grid-template-columns:60px 1fr auto 30px;align-items:center;gap:28px;padding:30px 0;display:grid}.room-row h3,.room-row p{margin:0}.room-row p{font:14px var(--sans);opacity:.7;margin-top:7px}.room-row small{opacity:.7}.split,.dining-home{grid-template-columns:1.1fr .9fr;min-height:90vh;display:grid}.split .image-frame,.dining-home .image-frame{min-height:70vh}.split>div:not(.image-frame),.dining-home>div{padding:10vh var(--gutter);flex-direction:column;justify-content:center;display:flex}.split h2,.dining-home h2{margin:28px 0}.dining-home{background:var(--mehendi);color:var(--paper)}.quotes{padding:15vh var(--gutter);background:var(--paper)}.quotes blockquote{text-align:center;max-width:980px;margin:10vh auto}.quotes blockquote p{font:400 clamp(36px,5vw,78px)/1.05 var(--serif)}.quotes blockquote footer{color:inherit;font:12px var(--sans);background:0 0;padding:0}.quotes blockquote small{opacity:.6;display:block}.journal-tease{padding:12vh var(--gutter)}.journal-tease>a{border-top:1px solid;grid-template-columns:180px 1fr auto;align-items:center;padding:24px 0;display:grid}.journal-tease h3{margin:0}.next{background:var(--terra);min-height:82vh;color:var(--paper);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.next strong{font:400 clamp(70px,12vw,180px)/.9 var(--serif);margin:30px}.next>span:last-child{text-transform:uppercase;letter-spacing:.15em;font-size:10px}footer{background:var(--ink);color:var(--paper);padding:15vh var(--gutter) 5vh}footer>div:first-child{justify-content:space-between;align-items:end;display:flex}footer h2{margin:30px 0;font-size:clamp(70px,12vw,180px)}.circle-link{text-align:center;text-transform:uppercase;letter-spacing:.12em;border:1px solid #fff6;border-radius:50%;place-items:center;width:150px;height:150px;font-size:10px;display:grid}.footer-grid{border-top:1px solid #ffffff38;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:30px;padding-top:35px;display:grid}.footer-grid nav{flex-direction:column;display:flex}.listing-intro,.destination-intro{padding:15vh var(--gutter);grid-template-columns:1.5fr .5fr;gap:8vw;display:grid}.cards{padding:0 var(--gutter) 15vh;grid-template-columns:repeat(2,1fr);gap:12vh 3vw;display:grid}.room-card:nth-child(2n){margin-top:25vh}.room-card .image-frame{height:72vh}.room-card span{margin-top:24px;display:block}.room-card h2{margin:12px 0;font-size:clamp(44px,5vw,80px)}.room-card small{text-transform:uppercase;letter-spacing:.12em;font-size:9px}.room-detail{padding:15vh var(--gutter);grid-template-columns:1fr 2fr;gap:10vw;display:grid}.room-detail aside{grid-template-columns:1fr 1fr;align-content:start;display:grid}.room-detail aside span{border-top:1px solid;padding:14px 0}.room-detail h2{font-size:clamp(48px,6vw,90px)}.button{background:var(--terra);color:var(--paper);text-transform:uppercase;letter-spacing:.14em;border:0;margin-top:25px;padding:17px 28px;font-size:10px;display:inline-block}.gallery-pair{padding:0 var(--gutter);grid-template-columns:1.25fr .75fr;gap:3vw;display:grid}.gallery-pair .image-frame{height:75vh}.gallery-pair .image-frame:last-child{height:55vh;margin-top:25vh}.amenities{padding:15vh var(--gutter);grid-template-columns:1fr 1fr 1fr;gap:7vw;display:grid}.amenities ul{margin:0;padding:0;list-style:none}.amenities li{border-top:1px solid;padding:12px}.amenities strong{font:32px var(--serif)}.venue.reverse .image-frame{order:2}.menu-list,.chef{padding:15vh var(--gutter)}.menu-list>div{border-top:1px solid;justify-content:space-between;padding:20px 0;display:flex}.menu-list .dish-row{grid-template-columns:120px 1fr 1fr;align-items:center;gap:24px;display:grid}.dish-media{height:90px}.menu-list h3{margin:0;font-size:36px}.chef{background:var(--indigo);color:var(--paper);text-align:center}.chef blockquote{font:400 clamp(42px,6vw,90px)/1.05 var(--serif);max-width:1100px;margin:8vh auto}.destination-grid{padding:0 var(--gutter) 15vh;grid-template-columns:repeat(3,1fr);gap:10vh 3vw;display:grid}.destination-grid article:nth-child(3n+2){margin-top:15vh}.destination-grid .image-frame{height:55vh}.destination-grid h3{margin:20px 0 8px}.experience-list{padding:10vh var(--gutter)}.experience-list article{border-top:1px solid;grid-template-columns:50px minmax(180px,280px) 1fr 1fr auto;align-items:start;gap:3vw;padding:45px 0;display:grid}.experience-media{height:190px}.experience-list h2{margin:0;font-size:clamp(40px,5vw,76px)}.experience-list dl{grid-template-columns:1fr 1fr;margin:0;display:grid}.experience-list dt{text-transform:uppercase;letter-spacing:.13em;font-size:9px}.experience-list dd{margin:0}.filters{padding:40px var(--gutter);flex-wrap:wrap;gap:10px;display:flex}.filters button{background:0 0;border:1px solid;padding:9px 16px}.masonry{padding:0 var(--gutter) 15vh;columns:3;column-gap:3vw}.masonry>button{background:0 0;border:0;width:100%;margin:0 0 3vw;padding:0;display:block;position:relative}.masonry>button:nth-child(3n+2) .image-frame{height:60vh}.masonry>button:nth-child(3n+1) .image-frame{height:42vh}.masonry .image-frame{height:50vh}.masonry span{color:#fff;position:absolute;bottom:8px;right:10px}.journal-list{padding:12vh var(--gutter)}.journal-list a{border-top:1px solid;grid-template-columns:50px 160px 1.2fr 1fr auto;gap:3vw;padding:36px 0;display:grid}.journal-list h2{margin:0;font-size:clamp(38px,4vw,68px)}.article{padding:20vh var(--gutter);max-width:1100px;margin:auto}.article h1{margin:4vh 0}.article .dek{font:400 clamp(26px,3vw,44px)/1.2 var(--serif);max-width:800px}.article .image-frame{height:75vh;margin:10vh 0}.article>p:not(.eyebrow):not(.dek){font:400 22px/1.7 var(--serif);max-width:680px;margin:35px auto}.travel,.contact{padding:15vh var(--gutter);grid-template-columns:1fr 1fr;gap:10vw;display:grid}.travel h2,.contact h2{font-size:clamp(42px,5vw,76px)}.travel dl{margin:0}.travel dt{text-transform:uppercase;letter-spacing:.12em;border-top:1px solid;padding-top:16px;font-size:10px}.travel dd{margin:0 0 28px}.booking{gap:18px;display:grid}.booking>div{grid-template-columns:1fr 1fr;gap:16px;display:grid}.booking label{text-transform:uppercase;letter-spacing:.13em;gap:7px;font-size:9px;display:grid}.booking input,.booking select,.booking textarea{background:0 0;border:0;border-bottom:1px solid;border-radius:0;padding:12px 2px}.form-status{text-transform:none;letter-spacing:0;color:var(--terra);font-size:13px}.form-page{padding:18vh var(--gutter);grid-template-columns:1fr 1fr;gap:10vw;display:grid}.form-page h1{font-size:clamp(60px,8vw,120px)}.form-page .booking{grid-area:1/2/4}.legal{padding:20vh var(--gutter);max-width:900px}.legal h1{color:var(--terra)}.legal h2{margin-top:80px;font-size:42px}.not-found{text-align:center;min-height:100vh;padding:var(--gutter);align-content:center;place-items:center;display:grid}.not-found>span{font:clamp(160px,30vw,460px)/.7 var(--serif);color:var(--sand)}.not-found h1{z-index:1;font-size:clamp(52px,7vw,100px)}@keyframes hero{0%{opacity:0;transform:scale(1.06)}to{opacity:1;transform:none}}@media (width<=900px){.header{padding-top:18px}.whatsapp{display:none}.menu{grid-template-columns:1fr;padding-top:100px}.menu nav a{font-size:38px}.menu-foot{display:none}.page-hero{height:88svh}.hero-copy{bottom:12vh}.intro{padding:12vh var(--gutter)}.year{grid-template-columns:1fr 1fr}.year .image-frame{grid-area:2/1/auto/3;height:60vh}.year p{grid-column:1/3}.section-head,.listing-intro,.destination-intro{display:block}.section-head h2{text-align:left;margin-top:30px}.room-row{grid-template-columns:35px 1fr 20px}.room-row small{display:none}.split,.dining-home,.venue.reverse{grid-template-columns:1fr}.split .image-frame,.dining-home .image-frame{min-height:60vh}.venue.reverse .image-frame{order:0}.journal-tease>a{grid-template-columns:1fr auto}.journal-tease time{grid-column:1/3}.next{min-height:62vh}footer>div:first-child{display:block}.circle-link{width:120px;height:120px}.footer-grid{grid-template-columns:1fr 1fr}.cards{display:block}.room-card{display:block;margin:0 0 12vh!important}.room-card .image-frame{height:60vh}.room-detail,.amenities{grid-template-columns:1fr}.gallery-pair{display:block}.gallery-pair .image-frame,.gallery-pair .image-frame:last-child{height:60vh;margin:3vw 0}.destination-grid{grid-template-columns:1fr 1fr}.destination-grid article:nth-child(3n+2){margin-top:0}.experience-list article{grid-template-columns:35px 1fr}.experience-list article>div:not(.image-frame),.experience-list dl,.experience-list a{grid-column:2}.masonry{columns:2}.journal-list a{grid-template-columns:35px 1fr}.journal-list a>:not(span){grid-column:2}.travel,.contact,.form-page{grid-template-columns:1fr}.form-page .booking{grid-area:auto/1}.article{padding-top:18vh}}@media (width<=560px){h1{font-size:clamp(56px,19vw,88px)}.head-actions{gap:14px}.reserve-link{display:none}.page-hero{height:82svh}.hero-copy{bottom:14vh}.year>span{font-size:32vw}.year .image-frame{height:52vh}.room-index{padding-top:10vh}.room-row{padding:24px 0}.room-row h3{font-size:34px}.split .image-frame,.dining-home .image-frame{min-height:52vh}.split>div:not(.image-frame),.dining-home>div{padding:10vh var(--gutter)}.footer-grid,.destination-grid{grid-template-columns:1fr}.destination-grid .image-frame{height:60vh}.experience-list article{grid-template-columns:28px 1fr;padding:30px 0}.experience-media{height:220px}.menu-list .dish-row{grid-template-columns:90px 1fr}.menu-list .dish-row p{grid-column:2}.masonry{columns:1}.booking>div{grid-template-columns:1fr}.article .image-frame{height:55vh}.scroll-cue{left:var(--gutter);right:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.image-frame:hover img{transform:none}}@media print{@page{size:A4;margin:16mm}.header,.menu,.next,footer,.page-hero,.venue,.chef{display:none!important}body{color:#000;background:#fff;font-size:11pt}.menu-list{color:#000;padding:0}.menu-list:before{content:"Kesar Bagh Haveli · Demo Menu";font:42pt var(--serif);margin-bottom:12mm;display:block}.menu-list .dish-row{break-inside:avoid;page-break-inside:avoid;grid-template-columns:34mm 1fr 1fr;padding:5mm 0}.menu-list .dish-media{height:24mm;display:block!important}.menu-list .dish-media img{filter:none;display:block!important}.menu-list .text-link{display:none}.menu-list h3{font-size:22pt}.menu-list p{color:#222}}
