/* Oh!Mumbai — interaction layer restored after the static export */
:root{-webkit-user-select:text;user-select:text}
html{scroll-behavior:smooth}
body{animation:pageIn .7s ease both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
:root{--ease-spring:cubic-bezier(.22,1,.36,1)}

/* ---- scroll reveal (replaces reveal-fix.css) ---- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease-spring),transform .9s var(--ease-spring);transition-delay:var(--d,0ms);will-change:opacity,transform}
.rv[data-rv="scale"]{transform:scale(.8)}
.rv[data-rv="fade"]{transform:none;transition-duration:1.4s}
.rv.rv-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{transition:none;opacity:1;transform:none}}

/* ---- header ---- */
.site-header{transition:background-color .35s ease,transform .45s var(--ease-spring),box-shadow .35s ease}
.site-header.is-scrolled{box-shadow:0 12px 32px -20px rgba(0,0,0,.45)}
.site-header.is-hidden{transform:translateY(-100%)}
.site-header.is-open{background:#fff;box-shadow:none}
.site-header.is-open header>div.col-span-5{color:var(--color-chocolate)}
.site-header.is-open header>a>svg{color:var(--color-chocolate)}
.site-header header>a>svg{transition:color .35s ease}
.nav-menu-trigger svg{transition:transform .35s var(--ease-spring)}
.site-header.is-open .nav-menu-trigger{color:var(--color-terracotta)}
.site-header.is-open .nav-menu-trigger svg{transform:rotate(180deg)}
.nav-current{color:var(--color-gray-light)}
.site-header.is-open .nav-current{color:var(--color-green)}
.menu-panel{pointer-events:none}
.site-header.is-open .menu-panel{pointer-events:auto}
.menu-panel>div{transform:translateY(-100%);transition:transform .5s var(--ease-spring);box-shadow:0 32px 48px -32px rgba(77,54,46,.45)}
.site-header.is-open .menu-panel>div{transform:none}
.menu-panel .rv{transition-duration:.6s}

/* ---- placeholders for media missing from the archive ---- */
.ph-slot{position:absolute;inset:0;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#d9cdb9 0 14px,#e4d9c7 14px 28px);color:var(--color-chocolate);font:12px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.04em;text-transform:uppercase;text-align:center;padding:24px}
.ph-slot span{background:rgba(250,246,241,.9);padding:8px 14px;border-radius:2px}

/* ---- booking popup ---- */
.bk-overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(77,54,46,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s}
.bk-overlay.is-open{opacity:1;visibility:visible}
.bk-card{position:relative;width:min(1100px,100%);background:#fff;border-radius:var(--radius-sm);padding:88px 64px 96px;text-align:center;color:var(--color-chocolate);transform:translateY(28px) scale(.97);transition:transform .5s var(--ease-spring)}
.bk-overlay.is-open .bk-card{transform:none}
.bk-title{font-family:var(--font-gertika);font-weight:700;font-size:1.75rem;line-height:1.1;letter-spacing:-.01em;margin:0 0 56px}
.bk-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.bk-label{font-family:var(--font-gertika);font-size:1.5rem;color:var(--color-gray);margin:0 0 28px}
.bk-phone{font-family:var(--font-gertika);font-weight:700;font-size:2.75rem;line-height:1;color:var(--color-terracotta);text-decoration:none;transition:color .3s}
.bk-phone:hover{color:var(--color-terracotta-hover)}
.bk-icons{display:flex;justify-content:center;gap:40px}
.bk-icons a{display:inline-flex;transition:transform .35s var(--ease-spring)}
.bk-icons a:hover{transform:translateY(-3px)}
.bk-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border:0;background:none;cursor:pointer;color:var(--color-gray);display:grid;place-items:center;border-radius:999px;transition:color .3s,background-color .3s,transform .35s var(--ease-spring)}
.bk-close:hover{color:var(--color-chocolate);background:var(--color-seashell);transform:rotate(90deg)}
.bk-card .rv{transition-duration:.6s}

/* ---- lightbox (interior gallery) ---- */
.lb{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:rgba(41,27,22,.92);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s}
.lb.is-open{opacity:1;visibility:visible}
.lb img{max-width:min(92vw,1440px);max-height:88vh;border-radius:var(--radius-sm);object-fit:contain;transform:scale(.96);transition:transform .5s var(--ease-spring),opacity .3s ease}
.lb.is-open img{transform:none}
.lb img.is-swapping{opacity:0}
.lb-btn{position:absolute;border:0;background:rgba(237,226,209,.12);color:var(--color-biege);width:56px;height:56px;border-radius:999px;display:grid;place-items:center;cursor:pointer;transition:background-color .3s,transform .35s var(--ease-spring)}
.lb-btn:hover{background:rgba(237,226,209,.28);transform:scale(1.06)}
.lb-prev{left:32px;top:50%;margin-top:-28px}
.lb-next{right:32px;top:50%;margin-top:-28px}
.lb-close{top:24px;right:24px}
.lb-count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:var(--color-gray-light);font-family:var(--font-geometria);font-size:.875rem;letter-spacing:.06em}

/* ---- menu page ---- */
.mn-bar{position:relative;display:flex;justify-content:center;align-items:center;padding:24px 0 48px}
.mn-tabs{display:flex;gap:8px}
.mn-tab{font-family:var(--font-geometria);font-weight:500;font-size:1.125rem;line-height:1;padding:16px 28px;border-radius:999px;border:0;background:transparent;color:var(--color-gray);cursor:pointer;transition:color .3s ease,background-color .35s ease,transform .3s var(--ease-spring)}
.mn-tab:hover{color:var(--color-chocolate)}
.mn-tab:active{transform:scale(.97)}
.mn-tab.is-active{background:var(--color-green);color:#fff}
.mn-view{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(77,54,46,.06)}
.mn-view button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border:0;border-radius:999px;background:none;font-family:var(--font-geometria);font-weight:500;font-size:1rem;color:var(--color-gray);cursor:pointer;transition:color .3s}
.mn-view button:hover{color:var(--color-chocolate)}
.mn-view button.is-active{color:var(--color-chocolate)}
.mn-view-ind{position:absolute;top:4px;left:4px;height:44px;border-radius:999px;background:#fff;box-shadow:0 4px 14px -6px rgba(77,54,46,.4);transition:transform .45s var(--ease-spring),width .45s var(--ease-spring)}
.mn-body{transition:opacity .22s ease,transform .22s ease}
.mn-body.is-out{opacity:0;transform:translateY(10px)}
.mn-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;row-gap:48px}
.mn-card{grid-column:span 3;display:flex;flex-direction:column;gap:8px;color:var(--color-chocolate);animation:mnIn .7s var(--ease-spring) both;animation-delay:var(--d,0ms)}
@keyframes mnIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.mn-img{position:relative;height:368px;overflow:hidden;border-radius:var(--radius-xs);background:var(--color-gray)}
.mn-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-spring)}
.mn-card:hover .mn-img img{transform:scale(1.05)}
.mn-pill{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;height:48px;padding:0 20px;border-radius:999px;color:#fff;font-family:var(--font-geometria);font-size:1rem;background:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.mn-name{font-family:var(--font-geometria);font-weight:500;font-size:1.125rem;margin:8px 0 0}
.mn-meta{display:flex;justify-content:space-between;font-family:var(--font-geometria);font-weight:500;font-size:1.125rem}
.mn-meta span:first-child{color:var(--color-gray)}
.mn-desc{font-family:var(--font-geometria);font-weight:500;font-size:1rem;line-height:1.5;color:var(--color-gray);margin:4px 0 0;text-wrap:pretty}
.mn-pdf{grid-column:3/span 8;background:#fff;border-radius:var(--radius-sm);padding:48px;animation:mnIn .7s var(--ease-spring) both}
.mn-pdf-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;font-family:var(--font-geometria);color:var(--color-chocolate)}
.mn-pdf-head h3{margin:0;font-family:var(--font-gertika);font-size:1.5rem;font-weight:400}
.mn-pdf-head a{color:var(--color-gray);text-decoration:underline;text-underline-offset:4px;transition:color .3s}
.mn-pdf-head a:hover{color:var(--color-terracotta-hover)}
.mn-pdf-page{position:relative;aspect-ratio:1/1.3;border-radius:var(--radius-xs);overflow:hidden}
.mn-pdf-page .ph-slot{position:absolute}
