:root{--k-wide:1320px}
body{margin:0;background:#fff;color:#16130f;font-family:'Figtree',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#b8322a;text-underline-offset:3px}a:hover{color:#16130f}*{box-sizing:border-box}img{max-width:100%}
summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}
details>summary{position:relative;padding-right:34px}details>summary::after{content:"+";position:absolute;right:4px;top:0;font-weight:700;font-size:22px;line-height:1.1;color:#b8322a}details[open]>summary::after{content:"–"}
/* the designer's "rise" faded heroes in from opacity 0: the H1 was invisible at first paint (checklist B). Motion kept, never invisible. */
@keyframes rise{from{opacity:1;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes drift{from{transform:scale(1.1) translateX(0)}to{transform:scale(1.02) translateX(-1.5%)}}
@keyframes roll{to{background-position:200px 0}}@keyframes fly{from{transform:translateX(-30px)}to{transform:translateX(30px)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* designer decorative outline words (aria-hidden, absolutely placed past the right edge): kept inside the page box, or a phone's
   layout viewport widens to fit them and the header's menu button is pushed off-screen (found at 375 px) */
[aria-hidden="true"][style*="position:absolute"][style*="right:-"]{right:0!important;max-width:100%;overflow:hidden}
/* home hero scrim on phones: the text spans the full width there, so the light dusk sky needs an even darker veil */
@media (max-width:899px){.k-hero-scrim{background:linear-gradient(180deg,rgba(22,19,15,.55) 0%,rgba(22,19,15,.86) 38%,rgba(22,19,15,.9) 100%)!important}}
/* home hero framing (owner photo 38255567: dome centre-top, taxi lower right). Wide screens: the photo fills the right 64% so the dome
   sits beside the headline, over a solid dark text column; phones: dome pulled to the top. */
@media (min-width:1100px){.k-hero-clip img{left:auto!important;right:0!important;width:64%!important}
.k-hero-scrim{background:linear-gradient(90deg,#16130f 0%,#16130f 38%,rgba(22,19,15,.82) 50%,rgba(22,19,15,.5) 58%,rgba(22,19,15,.08) 76%)!important}}
@media (max-width:899px){.k-hero-clip img{object-position:46% 6%!important}}
.k-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.kc-hdr{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:4px solid #b8322a;border-bottom:1px solid #e0d9cc;font-family:'Figtree',system-ui,sans-serif}
.kc-in{max-width:var(--k-wide);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:22px;min-height:64px}
.kc-brand{display:flex;align-items:baseline;gap:8px;flex:none;text-decoration:none;color:#16130f;white-space:nowrap}
.kc-bn{font-family:'Anek Bangla',sans-serif;font-weight:700;font-size:20px;color:#b8322a}
.kc-word{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:22px}
.kc-nav{display:flex;gap:20px;font-size:15px;font-weight:500;flex:1;min-width:0;white-space:nowrap}
.kc-nl{color:#16130f;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.kc-nl:hover{color:#b8322a}.kc-nl.kc-acc{color:#b8322a;font-weight:700}.kc-nl.kc-acc:hover{color:#16130f}
.kc-nl[aria-current=page]{border-bottom-color:#b8322a}
.kc-reg{flex:none;color:#16130f;border:1.5px solid #16130f;padding:9px 16px;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}
.kc-reg:hover{background:#16130f;color:#fff}
.kc-cta{flex:none;background:#b8322a;color:#fff;padding:11px 18px;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}
.kc-cta:hover{background:#93231c;color:#fff}
.kc-mb{display:none;flex:none;width:44px;height:44px;border:1.5px solid #16130f;border-radius:12px;background:#fff;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto}
.kc-mb span{display:block;width:20px;height:2px;background:#16130f;border-radius:2px}
@media (max-width:1279px){.kc-nav{display:none}.kc-mb{display:flex}.kc-reg{margin-left:auto}.kc-in{gap:14px}}
@media (max-width:600px){.kc-reg{display:none}.kc-in{padding:10px 16px;gap:10px}.kc-word{font-size:20px}.kc-cta{padding:10px 14px;font-size:13px}}
@media (max-width:374px){.kc-cta{display:none}}
.kc-menu{position:fixed;inset:0;z-index:200;background:#16130f;color:#fff;padding:18px 22px 32px;overflow-y:auto;font-family:'Figtree',system-ui,sans-serif}
.kc-menu[hidden]{display:none}
.kc-mtop{display:flex;justify-content:space-between;align-items:center}
.kc-mtop .kc-bn{color:#f2b632;font-size:26px}
.kc-x{width:44px;height:44px;border-radius:12px;border:1.5px solid #fff;background:transparent;color:#fff;font-size:20px;cursor:pointer}
.kc-mk{margin-top:26px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f2b632}
.kc-mnav{display:grid;margin-top:10px}
.kc-ml{color:#fff;text-decoration:none;font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:34px;line-height:1;padding:12px 0;border-bottom:1px solid #3a342b}
.kc-ml[aria-current=page]{color:#f2b632}
.kc-mcta{display:block;margin-top:24px;background:#b8322a;color:#fff;text-align:center;padding:16px;border-radius:14px;font-weight:700;text-decoration:none;font-size:17px}
.kc-mrow{display:flex;gap:12px;margin-top:14px}.kc-mrow a{flex:1;text-align:center;color:#fff;border:1.5px solid #fff;border-radius:12px;padding:12px;text-decoration:none;font-weight:600}
.kc-ftr{background:#16130f;color:#e9e2d6;border-top:6px solid #b8322a;font-family:'Figtree',system-ui,sans-serif}
.kc-fg{max-width:var(--k-wide);margin:0 auto;padding:56px 24px 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;font-size:14px;line-height:1.6}
.kc-fc{display:grid;gap:8px;align-content:start}.kc-fc a{color:#e9e2d6;text-decoration:none}.kc-fc a:hover{color:#f2b632}
.kc-fc strong{color:#fff;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.kc-fbn{font-family:'Anek Bangla',sans-serif;font-weight:700;font-size:44px;line-height:1;color:#fff}
.kc-fb{max-width:var(--k-wide);margin:0 auto;padding:18px 24px 28px;border-top:1px solid #3a342b;font-size:13px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
@media (max-width:600px){.kc-fg,.kc-fb{padding-left:16px;padding-right:16px}}

/* search widget (StaySearch) */
.kw{background:#fff;border:1px solid #e0d9cc;border-radius:20px;box-shadow:0 28px 60px -30px rgba(22,19,15,.4);font-family:'Figtree',sans-serif;position:relative;z-index:5}
.kw.kw-open{z-index:80}
.kw-strip{height:8px;border-radius:20px 20px 0 0;background:repeating-linear-gradient(90deg,#b8322a 0 28px,#fff 28px 34px)}
.kw-body{padding:clamp(20px,3vw,30px);display:grid;gap:16px}
.kw-t{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(24px,2.6vw,32px);line-height:1;color:#16130f}
.kw-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;align-items:end}
.kw-f{display:grid;gap:6px;font-size:13px;font-weight:500;color:#5f584d;position:relative;min-width:0}
.kw-in{font:500 16px 'Figtree',sans-serif;color:#16130f;background:#fff;border:1px solid #d9d2c5;border-radius:12px;padding:12px;width:100%;min-width:0;height:50px;text-align:left}
[data-datecell]{cursor:pointer}[data-datecell] input{cursor:pointer}
.kw-go{background:#b8322a;color:#fff;border:0;border-radius:999px;padding:0 22px;height:50px;font:600 17px 'Figtree',sans-serif;cursor:pointer;white-space:nowrap}
.kw-go:hover{background:#93231c}
.kw-note{margin:0;font-size:13px;color:#5f584d}
.kw-g{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.kw-g::after{content:"▾";color:#8a8275}
.kf4,.kf5{display:grid!important;gap:12px}.kf4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.kf5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media (max-width:1023px){.kf5{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:899px){.kf4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:699px){.kf5{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kf5>:first-child{grid-column:span 2}}
@media (max-width:399px){.kf4,.kf5{grid-template-columns:1fr!important}.kf5>:first-child{grid-column:auto}}
.kw-p{position:absolute;z-index:90;left:0;top:calc(100% + 8px);width:300px;max-width:calc(100vw - 32px);overflow-y:auto;background:#fff;opacity:1;border:1px solid #d9d2c5;border-radius:16px;box-shadow:0 24px 50px -16px rgba(22,19,15,.45);padding:16px;display:grid;gap:12px;color:#16130f}
.kw-p[hidden]{display:none}
.kw-p.kw-right{left:auto;right:0}.kw-p.kw-up{top:auto;bottom:calc(100% + 8px)}
.kw-sr{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;font-weight:600}
.kw-sr small{display:block;font-weight:400;color:#8a8275;font-size:12px}
.kw-st{display:flex;align-items:center;gap:10px}.kw-st button{width:36px;height:36px;border-radius:50%;border:1.5px solid #16130f;background:#fff;font-size:18px;cursor:pointer;color:#16130f}
.kw-st button:disabled{opacity:.3;cursor:default}.kw-st output{min-width:20px;text-align:center;font-weight:700}
.kw-ages{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.kw-ages label{display:grid;gap:4px;font-size:12px;color:#5f584d}
.kw-ages select{font:500 15px 'Figtree',sans-serif;border:1px solid #d9d2c5;border-radius:8px;padding:6px}
.kw-done{background:#16130f;color:#fff;border:0;border-radius:12px;padding:12px;font:700 15px 'Figtree',sans-serif;cursor:pointer}
.kw-shade{display:none}
@media (max-width:699px){.kw-p{position:fixed;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto;max-width:none;border-radius:20px 20px 0 0;max-height:70vh;overflow:auto;z-index:150;padding:20px 16px 24px}
.kw-shade.on{display:block;position:fixed;inset:0;background:rgba(22,19,15,.45);z-index:140}}
/* city video */
.kv{background:#1f6b4a;color:#fff}
.kv-in{max-width:1280px;margin:0 auto;padding:clamp(48px,6vw,80px) 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;align-items:center}
.kv-box{border-radius:18px;overflow:hidden;background:#16130f;border:6px solid #f2b632;aspect-ratio:var(--kv-ar,16/9);min-width:0}
.kv-box video{display:block;width:100%;height:100%;object-fit:cover;background:#16130f}
/* hotel cards (from-kolkata city pages + hotels tree) */
.hc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px}
.hc{display:grid;align-content:start;border:1px solid #e0d9cc;border-radius:18px;overflow:hidden;background:#fff;color:#16130f;min-width:0}
.hc-img{position:relative;aspect-ratio:4/3;background:#e0d9cc}.hc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hc-tier{position:absolute;top:10px;left:10px;background:#16130f;color:#f2b632;font-size:12px;font-weight:800;letter-spacing:.06em;padding:5px 9px;border-radius:6px}
.hc-b{padding:16px 18px 18px;display:grid;gap:6px}
.hc-n{margin:0;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:22px;line-height:1;text-transform:uppercase;overflow-wrap:anywhere}
.hc-n a{color:#16130f;text-decoration:none}.hc-n a:hover{color:#b8322a}
.hc-m{font-size:13px;color:#5f584d}.hc-s{font-size:13px;font-weight:700;color:#1f6b4a}
.hc-btn{justify-self:start;margin-top:6px;background:#b8322a;color:#fff;border-radius:999px;padding:10px 16px;font-weight:700;font-size:14px;text-decoration:none}
.hc-btn:hover{background:#93231c;color:#fff}
@media (max-width:600px){.k-gut{padding-left:16px!important;padding-right:16px!important}}
