/* Mehfil v2.6.0 - homepage and sub pages. Content stays visible without JavaScript;
   the pinned showcase is a progressive enhancement (class .is-pinned). */
.cafe-page{--h5-cream:#f7f1e6;--h5-coffee:#38251c;--h5-caramel:#ab753f;--h5-gold:#d6ae5c;--h5-hdr:78px}
.cafe-page h1,.cafe-page h2,.cafe-page h3{text-wrap:balance}

/* 1. Hero */
.h5-hero{position:relative;min-height:min(88svh,880px);display:flex;align-items:center;overflow:hidden;background:#20140e;color:#fff}
.h5-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.h5-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(20,13,9,.9),rgba(20,13,9,.45) 60%,rgba(20,13,9,.15))}
.h5-hero-copy{position:relative;z-index:2;padding:clamp(80px,14vh,150px) clamp(22px,7vw,110px);max-width:920px}
.h5-hero h1{font:700 clamp(40px,7vw,108px)/1.03 'Playfair Display',serif;letter-spacing:-.04em;margin:0 0 20px;max-width:none;color:#fff}
.h5-hero h1 .ln{display:block;overflow:hidden;padding-bottom:.1em}
.h5-hero h1 .ln span{display:block;white-space:nowrap}
.h5-hero p{max-width:460px;font-size:clamp(15px,1.3vw,19px);line-height:1.7;color:#eadfd2;margin:0}
.h5-hero .hero-actions{margin-top:30px}
.h5-open{position:absolute;z-index:3;right:clamp(20px,6vw,90px);bottom:34px;background:rgba(255,250,241,.95);color:var(--ink);padding:18px 22px;border-radius:16px;display:grid;gap:3px;min-width:245px}
.h5-open span{font-size:11px;letter-spacing:2px;font-weight:700;color:#8b5a25}
.h5-open b{font-size:20px}
.h5-open small{color:#736860}

/* 2. Showcase */
.h5-show{background:var(--h5-cream);color:var(--h5-coffee)}
.h5-intro{max-width:780px;margin:auto;text-align:center;padding:clamp(60px,9vw,100px) 6vw 56px}
.h5-intro h2{font:600 clamp(36px,5vw,70px)/1.08 'Playfair Display',serif;letter-spacing:-.035em;margin:18px 0 0}
.h5-stage{position:relative}
.h5-scene{position:relative;isolation:isolate;min-height:680px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:5vw;padding:80px 9vw;background:var(--bg);color:var(--ink);overflow:hidden}
.h5-scene:nth-child(even) .h5-fig{order:2}
.h5-word{position:absolute;z-index:-1;left:2vw;top:6%;font:700 clamp(110px,20vw,320px)/1 'Playfair Display',serif;letter-spacing:-.06em;opacity:.09;white-space:nowrap;text-transform:uppercase;pointer-events:none;user-select:none}
.h5-fig{margin:0;justify-self:center;width:min(100%,440px);aspect-ratio:4/5;border-radius:46% 46% 10px 10px;overflow:hidden;box-shadow:0 30px 65px rgba(36,19,8,.25)}
.h5-fig img{width:100%;height:100%;object-fit:cover;display:block}
.h5-fig.is-cutout{aspect-ratio:auto;border-radius:0;box-shadow:none;overflow:visible;width:min(100%,520px)}
.h5-fig.is-cutout img{height:auto;max-height:62vh;object-fit:contain;filter:drop-shadow(0 34px 40px rgba(0,0,0,.35))}
.h5-copy{max-width:460px}
.h5-copy .eyebrow{color:inherit;opacity:.75}
.h5-copy h3{font:600 clamp(30px,3.8vw,56px)/1.1 'Playfair Display',serif;letter-spacing:-.025em;margin:18px 0}
.h5-copy p{font-size:16px;line-height:1.8;opacity:.85;margin:0}
.h5-link{display:inline-flex;align-items:center;gap:6px;margin-top:24px;padding:12px 20px;border:1.5px solid currentColor;border-radius:999px;color:inherit;font-weight:700;text-decoration:none;transition:background .25s,color .25s}
.h5-link:hover,.h5-link:focus-visible{background:var(--ink);color:var(--bg)}
.h5-progress{display:none}

.h5-show.is-pinned .h5-stage{height:calc(100svh - var(--h5-hdr));min-height:560px;overflow:hidden}
.h5-show.is-pinned .h5-scene{position:absolute;inset:0;min-height:0;padding:70px 9vw 90px}
.h5-show.is-pinned .h5-progress{display:flex;position:absolute;z-index:4;left:9vw;right:9vw;bottom:28px;align-items:center;gap:18px;color:var(--ink);font-weight:700;letter-spacing:.08em;font-size:13px}
.h5-count b{font:600 22px 'Playfair Display',serif;letter-spacing:0}
.h5-bar{flex:1;height:2px;position:relative;display:block}
.h5-bar:before{content:"";position:absolute;inset:0;background:currentColor;opacity:.25}
.h5-bar u{position:absolute;inset:0;background:currentColor;transform:scaleX(0);transform-origin:left;text-decoration:none}

/* 3. Menu entry (curved wipe over the showcase) */
.h5-menu{position:relative;z-index:2;margin-top:-52px;border-radius:52px 52px 0 0;background:#fffaf1;color:var(--h5-coffee);padding:clamp(56px,8vw,96px) clamp(22px,7vw,110px) clamp(48px,6vw,80px)}
.h5-menu-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.h5-menu-head h2{font:600 clamp(32px,4.4vw,60px)/1.1 'Playfair Display',serif;letter-spacing:-.03em;margin:14px 0 0}
.h5-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.h5-menu-grid a{display:grid;gap:8px;align-content:start;min-height:150px;padding:22px;border:1px solid #38251c24;border-radius:18px;background:#fff;color:inherit;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s}
.h5-menu-grid a:hover,.h5-menu-grid a:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px rgba(56,37,28,.14);background:#f7ecd9}
.h5-menu-grid small{color:var(--h5-caramel);font-weight:700;letter-spacing:2px}
.h5-menu-grid b{font:600 22px/1.2 'Playfair Display',serif}
.h5-menu-grid span{color:#6e5b4d;font-size:14px}

/* 4. Gallery + videos */
.h5-gallery{background:var(--h5-cream);color:var(--h5-coffee);padding:clamp(56px,8vw,96px) clamp(22px,6vw,90px)}
.h5-gal-head h2{font:600 clamp(32px,4.4vw,60px)/1.1 'Playfair Display',serif;letter-spacing:-.03em;margin:14px 0 36px}
.h5-gal-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:14px}
.h5-gal-grid figure{margin:0;position:relative;border-radius:18px;overflow:hidden;background:#e9ddcb;min-height:340px}
.h5-gal-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.h5-gal-grid figure:hover img{transform:scale(1.05)}
.h5-gal-grid figcaption{position:absolute;left:14px;bottom:12px;color:#fff;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.h5-gal-grid figure:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(20,10,5,.55));pointer-events:none}
.h5-videos{margin-top:56px}
.h5-videos h3{font:600 clamp(26px,3vw,40px) 'Playfair Display',serif;margin:0 0 18px}
.h5-rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(70vw,260px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.h5-rail figure{margin:0;scroll-snap-align:start}
.h5-rail video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:16px;background:#20140e;display:block}
.h5-rail .landscape{grid-column:span 1}
.h5-rail .landscape video{aspect-ratio:9/16}
.h5-rail figcaption{margin-top:8px;font-size:14px;color:#6e5b4d}
.h5-tag{margin:30px 0 0;line-height:1.7}
.h5-tag a{color:inherit;font-weight:700;text-underline-offset:4px}
.h5-tag small{display:block;color:#7b6a5d;margin-top:4px}

/* FAQ + contact (kept from v2.4) */
.discovery-panel{display:grid;grid-template-columns:1fr 1.4fr;gap:7vw;padding:80px 6vw;background:#efe5d5;color:#38251c}.discovery-intro h2{font:600 clamp(30px,3.5vw,48px)/1.15 'Playfair Display',serif;letter-spacing:-.03em;margin:20px 0}.discovery-intro p{line-height:1.8;max-width:380px}.discovery-answers details{border-bottom:1px solid #38251c26;padding:18px 0}.discovery-answers summary{cursor:pointer;font-weight:600;line-height:1.5}.discovery-answers p{line-height:1.8;color:#65554a;margin:14px 0}.discovery-contact{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:45px 6vw;background:#e6d9c4;color:#38251c}.discovery-contact p{line-height:1.8}.discovery-contact a{color:inherit;text-underline-offset:4px}.discovery-contact small{display:block;line-height:1.7;max-width:450px}

/* Sticky quick actions (mobile) */
.h5-cta-bar{display:none}
.cafe-page [id]{scroll-margin-top:90px}

@media(max-width:999px){
  .h5-scene{min-height:0;grid-template-columns:1fr;gap:28px;padding:64px 7vw 52px}
  .h5-scene:nth-child(even) .h5-fig{order:0}
  .h5-fig{width:min(100%,360px)}
  .h5-menu-grid{grid-template-columns:repeat(2,1fr)}
  .h5-gal-grid{grid-template-columns:1fr 1fr}
  .h5-gal-grid .wide{grid-column:1/-1;min-height:260px}
  .discovery-panel{grid-template-columns:1fr;padding:55px 7vw;gap:24px}
  .discovery-contact{grid-template-columns:1fr;padding:40px 7vw;gap:24px}
}
@media(max-width:767px){
  .cafe-page{--h5-hdr:68px}
  .cafe-page{padding-bottom:84px}
  .h5-hero{min-height:640px;flex-direction:column;align-items:flex-start;justify-content:flex-end}
  .h5-hero-copy{padding:90px 22px 18px}
  .h5-hero h1{font-size:clamp(38px,11vw,64px)}
  .h5-open{position:relative;right:auto;bottom:auto;margin:0 22px 26px;align-self:stretch;min-width:0}
  .h5-menu{margin-top:-36px;border-radius:36px 36px 0 0}
  .h5-menu-grid{grid-template-columns:1fr}
  .h5-menu-grid a{min-height:0}
  .h5-gal-grid figure{min-height:220px}
  .h5-cta-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;padding:8px;border-radius:18px;background:rgba(32,26,22,.95);backdrop-filter:blur(10px);box-shadow:0 12px 34px rgba(0,0,0,.35)}
  .h5-cta-bar a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:12px;color:#fff;font-weight:700;font-size:14px;text-decoration:none;background:#ffffff1c}
  .h5-cta-bar a.go{background:var(--h5-gold);color:#24261e}
  .cafe-page .assistant{bottom:88px}
}


.h5-gal-sub{font:600 clamp(24px,2.6vw,34px) 'Playfair Display',serif;margin:44px 0 16px}
/* v2.6 - Thali & Tiffin teaser and sub pages */
.h5-tiffin{display:grid;grid-template-columns:1fr 1.3fr;gap:5vw;align-items:center;padding:clamp(56px,8vw,96px) clamp(22px,7vw,110px);background:#2a1b14;color:#fff4e4}
.h5-tiffin h2{font:600 clamp(32px,4.2vw,58px)/1.1 'Playfair Display',serif;letter-spacing:-.03em;margin:14px 0 16px}
.h5-tiffin p{line-height:1.75;opacity:.88;margin:0}
.h5-plans{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.h5-plans article{padding:22px;border:1px solid #ffffff2e;border-radius:18px;background:#ffffff0f}
.h5-plans small{color:var(--h5-gold);font-weight:700;letter-spacing:2px}
.h5-plans strong{display:block;font:600 34px 'Playfair Display',serif;margin:10px 0 6px}
.h5-plans strong span{font:500 14px system-ui,sans-serif;opacity:.7}
.h5-plans p{font-size:14px}
.h5-tiffin-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.h5-textlink{color:inherit;font-weight:700;text-underline-offset:4px}
.sub-page .topbar{position:sticky;top:0}
.h5-subhero{padding:clamp(70px,11vw,130px) clamp(22px,7vw,110px) clamp(40px,6vw,70px);background:#2a1b14;color:#fff4e4}
.h5-subhero h1{font:700 clamp(36px,5.6vw,80px)/1.05 'Playfair Display',serif;letter-spacing:-.04em;margin:16px 0 18px;max-width:14em;color:#fff}
.h5-subhero p{max-width:560px;line-height:1.75;color:#eadfd2;margin:0}
.h5-subhero .hero-actions{margin-top:28px}
.h5-visit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:clamp(40px,6vw,70px) clamp(22px,7vw,110px);background:var(--h5-cream);color:var(--h5-coffee)}
.h5-visit-grid article{padding:22px;border:1px solid #38251c24;border-radius:18px;background:#fff}
.h5-visit-grid small{color:var(--h5-caramel);font-weight:700;letter-spacing:2px}
.h5-visit-grid p{line-height:1.7;margin:10px 0 0}
.h5-visit-grid a{color:inherit;text-underline-offset:4px}
.h5-note{font-size:14px;opacity:.75}
.h5-review{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding:32px clamp(22px,7vw,110px);background:#e6d9c4;color:#38251c}
.h5-review p{margin:0;max-width:520px;line-height:1.7}
.h5-faq{display:grid;grid-template-columns:1fr 1.4fr;gap:6vw;padding:clamp(56px,8vw,90px) clamp(22px,7vw,110px);background:#efe5d5;color:#38251c}
.h5-faq h2{font:600 clamp(30px,3.5vw,48px)/1.15 'Playfair Display',serif;margin:16px 0 0}
.h5-faq details{border-bottom:1px solid #38251c26;padding:18px 0}.h5-faq summary{cursor:pointer;font-weight:600}.h5-faq details p{line-height:1.8;color:#65554a;margin:12px 0 0}
@media(max-width:999px){.h5-tiffin,.h5-faq{grid-template-columns:1fr}.h5-visit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.h5-plans,.h5-visit-grid{grid-template-columns:1fr}}
.h5-subhero .eyebrow,.h5-tiffin .eyebrow{color:var(--h5-gold)!important}
@media(max-width:767px){.cafe-page .nav-action{font-size:13px!important;padding:10px 8px!important}.cafe-page .nav-action:after{content:none!important}}
@media(max-width:999px){.cafe-page .topbar nav a,.cafe-page .nav-links a{display:inline-flex;align-items:center;min-height:44px;padding-inline:10px}.cafe-page .nav-action{min-height:44px}}
@media(prefers-reduced-motion:reduce){
  .h5-gal-grid img,.h5-menu-grid a,.h5-link{transition:none}
}

/* v2.8.0: comfortable touch targets (44px) on phones and tablets */
.company{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:1000px),(pointer:coarse){
  header nav a,.topbar nav a{min-height:44px;display:inline-flex;align-items:center}
  footer a{display:inline-flex;align-items:center;min-height:44px}
  .h5-textlink,.h5-tag a{display:inline-flex;align-items:center;min-height:44px}
  details>summary{padding-block:12px}
  .veg-toggle{min-height:44px;display:inline-flex;align-items:center;gap:8px}
  .success-actions a,.success-actions button{min-height:44px}
}
