/* Explore Jabalpur — layout: photo hero that tears into a parchment page; sindoor + Narmada green;
   Devanagari display (Rozha One), Latin headings (Lora), body (Mukta), handwritten footer line (Kalam). */
:root{
  --paper:#f4ead7; --paper2:#ebdcc0; --card:#fbf5ea; --ink:#2b2018; --soft:#6b5a49; --rule:#d9c6a3;
  --crimson:#a8221b; --green:#1e4a3b; --gold:#c98e22; --sky:#e3ecf4; --skyink:#1d3346;
  --foot:#173a2f; --footink:#f3ead6; --night:#160c09; --nightink:#fbe9dc; --spread:#7a1712;
  --heroink:#fff8ee; --herogold:#f4c463;
  --hi:"Rozha One","Lora",Georgia,serif;
  --head:"Lora","Rozha One",Georgia,serif;
  --body:"Mukta",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hand:"Kalam","Mukta",cursive;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .3 0 0 0 0 .16 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --tear:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 26' preserveAspectRatio='none'%3E%3Cpath d='M0 26 L0 10.4 L11 10.4 L18 7.2 L31 17.5 L40 6.7 L45 12.1 L56 12.8 L63 12.5 L68 5.7 L75 12.2 L84 10.3 L97 7.8 L102 12.9 L111 9.9 L116 13.5 L123 14.2 L136 14.2 L145 9.6 L150 7.6 L155 10.6 L166 10.0 L173 14.3 L178 11.7 L189 17.1 L196 16.5 L207 14.6 L220 7.3 L227 10.0 L238 10.0 L247 15.4 L260 8.6 L267 7.2 L280 15.7 L287 7.6 L300 8.9 L305 5.9 L312 5.2 L325 10.4 L336 18.0 L347 7.2 L354 14.8 L361 6.9 L374 7.4 L385 12.2 L390 6.3 L399 7.9 L408 10.0 L419 8.5 L424 6.5 L437 12.4 L444 17.0 L455 13.3 L462 8.4 L469 9.1 L480 16.8 L493 15.0 L498 16.1 L507 13.4 L512 15.2 L517 13.8 L522 5.9 L527 15.8 L534 14.5 L543 6.0 L548 15.5 L553 15.4 L566 12.9 L571 15.3 L576 16.9 L585 9.7 L598 10.5 L600 10.4 L600 26Z'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#1b1510; --paper2:#251d15; --card:#2a2119; --ink:#f1e5d0; --soft:#bba78d; --rule:#3e3226;
  --crimson:#e0473c; --green:#86c9ad; --gold:#e8b85a; --sky:#1d2833; --skyink:#dce8f2;
  --foot:#0e241d; --footink:#efe5d2; --night:#0d0605; --spread:#4e100c; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#1b1510; --paper2:#251d15; --card:#2a2119; --ink:#f1e5d0; --soft:#bba78d; --rule:#3e3226;
  --crimson:#e0473c; --green:#86c9ad; --gold:#e8b85a; --sky:#1d2833; --skyink:#dce8f2;
  --foot:#0e241d; --footink:#efe5d2; --night:#0d0605; --spread:#4e100c; color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;padding-top:env(safe-area-inset-top,0px)}
img{max-width:100%}
h1,h2,h3{margin:0;font-family:var(--head);font-weight:700;line-height:1.15;text-wrap:balance}
html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] h3{font-family:var(--hi);font-weight:400}
p{margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--crimson);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html[lang="hi"] .l-en,html:not([lang="hi"]) .l-hi{display:none}
.paper{background-color:var(--paper);background-image:var(--grain)}
svg{stroke-linecap:round;stroke-linejoin:round}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:11px 22px;border-radius:999px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn .arr{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.btn.red{background:var(--crimson);color:#fff;box-shadow:0 6px 18px rgba(120,20,10,.35)}
.btn.ghost{border-color:rgba(255,248,238,.85);color:var(--heroink);background:rgba(0,0,0,.18)}
.btn.line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn.small{padding:7px 14px;font-size:.9rem}
.btn.wa{background:#1f8f4e;color:#fff}

/* ---------- header ---------- */
.site-head{position:relative;z-index:20;color:var(--ink);background:var(--paper);border-bottom:1px solid var(--rule)}
.page-home .site-head{position:absolute;left:0;right:0;top:env(safe-area-inset-top,0px);background:linear-gradient(rgba(10,6,4,.45),rgba(10,6,4,0));border:0;color:var(--heroink)}
.head-in{display:flex;align-items:center;gap:16px 28px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.logo-mark{width:62px;height:54px;flex:none}
.logo-txt{display:grid;line-height:1}
.logo-txt small{font-family:var(--head);font-size:1rem;font-weight:600;padding-left:2px}
.logo-txt b{font-family:var(--head);font-size:2rem;font-weight:700;color:var(--green);letter-spacing:-.01em}
.page-home .logo-txt b{color:var(--heroink)}
.logo-txt em{font-style:normal;font-family:var(--hi);font-size:.95rem;padding-left:2px;margin-top:3px}
.mainnav{display:flex;gap:26px}
.mainnav a{text-decoration:none;font-weight:600;font-size:.98rem;padding:6px 0;border-bottom:2px solid transparent}
.mainnav a:hover,.mainnav a[aria-current="page"]{border-color:currentColor}
.head-tools{display:flex;align-items:center;gap:8px}
.iconbtn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;cursor:pointer;padding:0}
.iconbtn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.langpill{display:flex;border:1.5px solid currentColor;border-radius:999px;overflow:hidden;height:40px}
.langpill button{font:inherit;font-weight:700;font-size:.85rem;background:transparent;color:inherit;border:0;padding:0 12px;cursor:pointer}
.langpill button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.page-home .langpill button[aria-pressed="true"]{background:var(--heroink);color:#2b2018}
.langmore{font:inherit;font-size:.85rem;height:40px;border-radius:999px;border:1.5px solid currentColor;background:transparent;color:inherit;padding:0 10px}
.langmore option{color:#2b2018}
.menubtn{display:none}

.searchdlg{border:0;padding:0;width:min(640px,92vw);margin-top:10vh;background:var(--card);color:var(--ink);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.searchdlg::backdrop{background:rgba(20,12,6,.55)}
.search-top{display:flex;gap:10px;padding:14px;border-bottom:1px solid var(--rule)}
.search-top input{flex:1;font:inherit;font-size:1.1rem;padding:10px 14px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);color:var(--ink);min-width:0}
.search-res{list-style:none;margin:0;padding:8px;max-height:60vh;overflow:auto}
.search-res a{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:8px;border-radius:10px;text-decoration:none}
.search-res a:hover,.search-res a:focus-visible{background:var(--paper2)}
.search-res img,.search-res .ico{width:52px;height:52px;border-radius:8px;object-fit:cover;background:var(--paper2);display:grid;place-items:center;font-size:1.3rem}
.search-res small{display:block;color:var(--soft)}
.search-res li.none{padding:14px;color:var(--soft)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:clamp(560px,82vh,760px);display:flex;align-items:center;color:var(--heroink);background:#3a2a24;overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-media img,.hero-media canvas{width:100%;height:100%;object-fit:cover;display:block}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,8,6,.72) 0%,rgba(14,8,6,.38) 42%,rgba(14,8,6,0) 70%)}
.hero-in{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding-block:130px 90px}
.hero-h{font-family:var(--hi);font-weight:400;font-size:clamp(2.6rem,6.4vw,5.2rem);line-height:1.12;text-shadow:0 2px 18px rgba(0,0,0,.35)}
html[lang] .hero-h{font-family:var(--hi);font-weight:400}
.hero-h span{display:block}
.hero-h .gold{color:var(--herogold)}
.hero-sub{font-family:var(--head);font-weight:600;font-size:clamp(1.15rem,2.2vw,1.5rem);color:var(--herogold);margin-top:16px}
.hero-p{max-width:44ch;margin-top:8px;font-size:1.05rem;opacity:.95}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.stamp{width:250px;background:#f3e6c8;color:#5a1d12;padding:22px 18px 10px;transform:rotate(-4deg);box-shadow:0 14px 30px rgba(0,0,0,.35);clip-path:polygon(2% 3%,20% 0,46% 2%,70% 0,98% 3%,100% 30%,97% 58%,100% 86%,96% 100%,64% 97%,38% 100%,12% 97%,0 100%,2% 70%,0 40%);background-image:var(--grain);align-self:end;margin-bottom:10px}
.stamp b{display:block;font-family:var(--hi);font-weight:400;font-size:2rem;line-height:1;color:#9b2a1b;transform:rotate(-3deg)}
.stamp i{display:block;font-family:var(--hi);font-style:normal;font-size:2.1rem;line-height:1.1;color:#9b2a1b;transform:rotate(-3deg);margin-left:22px}
.stamp svg{display:block;width:100%;height:auto;margin-top:6px;color:#4a3a2a}
.tear{height:26px;background:var(--paper);-webkit-mask:var(--tear) 0 0/600px 26px repeat-x;mask:var(--tear) 0 0/600px 26px repeat-x}
.tear-hero{position:relative;z-index:2;margin-top:-25px}

/* ---------- tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding-block:6px 26px}
.tile{display:grid;justify-items:center;text-align:center;gap:2px;padding:16px 8px 14px;text-decoration:none;background:var(--paper2);background-image:var(--grain);border-radius:6px 14px 8px 12px;box-shadow:0 1px 0 var(--rule),0 6px 14px rgba(80,50,20,.08);transition:transform .15s}
.tile:nth-child(even){border-radius:12px 6px 14px 8px}
.tile:hover{transform:translateY(-3px) rotate(-.5deg)}
.tile svg{width:34px;height:34px;fill:none;stroke-width:1.6;margin-bottom:6px}
.c-red{stroke:var(--crimson)} .c-green{stroke:var(--green)}
.tile b{font-family:var(--head);font-size:1.08rem}
.tile span{font-size:.85rem;color:var(--soft)}

/* ---------- feature cards ---------- */
.features{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:22px;padding-bottom:26px}
.feat{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:250px;border-radius:16px 22px 14px 20px;overflow:hidden;text-decoration:none;box-shadow:0 10px 26px rgba(80,50,20,.16);transition:transform .2s}
.feat:hover{transform:translateY(-3px)}
.feat-copy{position:relative;z-index:1;padding:28px 10px 26px 30px;display:grid;align-content:center;gap:8px;justify-items:start}
.feat h2{font-size:clamp(1.6rem,2.6vw,2.1rem)}
.feat .hi-sub{font-family:var(--hi);font-size:1.15rem}
.feat p{font-size:.98rem}
.feat .btn{margin-top:6px;padding:8px 18px;font-size:.95rem}
.feat-img{position:relative}
.feat-img img,.feat-img canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.feat-nv{background:linear-gradient(100deg,#f7e2b3,#f2c98a);color:#2b1608}
.feat-nv .btn.line{border-color:#2b1608;color:#2b1608}
.feat-nv .feat-img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f2c98a 0%,rgba(242,201,138,0) 30%)}
.feat-ex{background:var(--sky);color:var(--skyink);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.feat-ex .btn.line{border-color:var(--skyink);color:var(--skyink)}
.feat-ex .feat-img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--sky) 0%,transparent 35%)}
.count{font-size:.85rem;font-weight:600;background:rgba(255,255,255,.55);padding:3px 10px;border-radius:999px;color:#5a1d12}

/* ---------- attractions + stories ---------- */
.duo{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:22px;padding-bottom:40px}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.sec-head h2{font-size:clamp(1.5rem,3vw,2.3rem)}
.sec-head p{color:var(--soft);max-width:60ch}
.kicker{display:block;font-family:var(--hi);color:var(--crimson);font-size:1rem;margin-bottom:2px}
.more{color:var(--crimson);font-weight:700;text-decoration:none;font-size:.95rem;cursor:pointer}
.attr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.attr-card{position:relative;display:block;aspect-ratio:4/3.3;max-width:100%;border-radius:10px;overflow:hidden;box-shadow:0 6px 16px rgba(60,40,20,.18);text-decoration:none}
.attr-card img,.attr-card canvas{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.attr-card:hover img,.attr-card:hover canvas{transform:scale(1.05)}
.attr-card span{position:absolute;left:8px;bottom:8px;right:8px;width:max-content;max-width:calc(100% - 16px);background:rgba(251,245,234,.94);color:#2b2018;font-family:var(--head);font-weight:600;font-size:.85rem;line-height:1.2;padding:5px 10px;border-radius:8px}
.world{position:relative;background:var(--card);border-radius:14px 18px 12px 16px;padding:24px 26px;box-shadow:0 6px 18px rgba(60,40,20,.1);overflow:hidden;min-height:260px}
.world h2{font-size:clamp(1.4rem,2.4vw,1.8rem);max-width:16ch}
.world h2 em{font-style:normal;color:var(--gold)}
.world p{margin-top:6px;color:var(--soft);max-width:30ch;font-size:.95rem}
.world .more{display:inline-block;margin-top:12px;color:var(--ink)}
.polaroids{position:absolute;right:14px;bottom:14px;width:58%;height:62%}
.pol{position:absolute;margin:0;background:#fff;padding:6px 6px 18px;box-shadow:0 6px 16px rgba(0,0,0,.2);width:46%;aspect-ratio:4/4.6}
.pol img,.pol canvas{width:100%;height:100%;object-fit:cover;display:block}
.pol.p1{left:0;bottom:2%;transform:rotate(-7deg)}
.pol.p2{left:28%;top:0;transform:rotate(5deg);z-index:2}
.pol.p3{right:0;bottom:4%;transform:rotate(9deg)}

/* ---------- sections ---------- */
.sect{padding-block:46px}
.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.place{display:grid;grid-template-rows:auto 1fr;background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 4px 14px rgba(60,40,20,.1);scroll-margin-top:90px}
.place .pimg{aspect-ratio:16/10;position:relative}
.place .pimg img,.place .pimg canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.place .pbody{padding:14px 16px 16px;display:grid;gap:4px;align-content:start}
.place h3{font-size:1.25rem;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.place h3 small{font-family:var(--body);font-size:.8rem;font-weight:600;color:var(--green);white-space:nowrap}
.place .sub{font-size:.85rem;color:var(--soft)}
.place .note{font-family:var(--hand);color:var(--crimson);font-size:1.02rem;line-height:1.35;margin-top:4px}
.plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plan-col{background:var(--card);border-radius:12px;padding:20px 22px;box-shadow:0 4px 14px rgba(60,40,20,.08)}
.plan-col h3{font-size:1.2rem;margin-bottom:8px}
.plan-col ul{margin:0;padding-left:18px;display:grid;gap:8px}
.plan-col ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.plan-col ol li{display:grid;grid-template-columns:3.4rem 1fr;gap:8px}
.plan-col ol b{color:var(--crimson);font-variant-numeric:tabular-nums}
.two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}
.tl{list-style:none;margin:0;padding:0}
.tl li{display:grid;grid-template-columns:6.4rem minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px dashed var(--rule)}
.tl b{color:var(--green);font-variant-numeric:tabular-nums}
.menu{background:var(--card);background-image:var(--grain);border:1px solid var(--rule);border-radius:4px;padding:22px 24px 12px;box-shadow:6px 8px 0 var(--paper2)}
.menu h3{font-family:var(--hi);font-weight:400;font-size:2rem;text-align:center;border-bottom:3px double var(--ink);padding-bottom:8px;margin-bottom:6px}
.menu div{display:flex;align-items:baseline;gap:8px;padding:8px 0}
.menu div span:nth-child(2){flex:1;border-bottom:1px dotted var(--soft);transform:translateY(-4px)}
.menu em{font-style:normal;color:var(--soft);font-size:.92rem}
.about{max-width:760px}
.about h2{font-size:1.8rem;margin-bottom:10px}
.about p+p{margin-top:10px}

/* ---------- footer ---------- */
.site-foot{color:var(--footink);background:var(--paper)}
.tear-foot{background:var(--foot)}
.foot-body{background:var(--foot)}
.foot-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:28px;align-items:center;padding-block:22px 18px}
.foot-art{display:flex;align-items:end;gap:20px;min-width:0}
.skyline{width:min(300px,45%);flex:none;color:rgba(243,234,214,.75)}
.tagline{font-family:var(--hand);font-size:clamp(1.3rem,2.4vw,1.9rem);color:#f2cf86;line-height:1.25;transform:rotate(-2deg)}
.subscribe h3{font-size:1.2rem}
.subscribe p{font-size:.88rem;opacity:.85}
.sub-row{display:flex;margin-top:8px;border-radius:999px;overflow:hidden;background:#fff;max-width:420px}
.sub-row input{flex:1;min-width:0;border:0;padding:11px 16px;font:inherit;font-size:.95rem;color:#2b2018;background:#fff}
.sub-row button{border:0;background:var(--crimson);color:#fff;font:inherit;font-weight:700;padding:0 18px;cursor:pointer}
.sub-msg{font-size:.85rem;margin-top:6px;min-height:1.2em}
.social{display:flex;gap:16px}
.social a{color:var(--footink);display:grid;place-items:center;width:32px;height:32px}
.social svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}
.social svg .f{fill:currentColor;stroke:none}
.foot-base{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;padding-block:12px 22px;border-top:1px solid rgba(243,234,214,.15);font-size:.82rem;opacity:.8}

/* ---------- Navratri page ---------- */
.nv-hero{position:relative;background:var(--night);color:var(--nightink);overflow:hidden;background-image:radial-gradient(ellipse at 75% 120%,rgba(201,90,20,.45),transparent 60%),radial-gradient(ellipse at 10% -20%,rgba(160,30,20,.35),transparent 55%)}
.lights{position:absolute;left:0;right:0;top:0;width:100%;height:44px}
@media (prefers-reduced-motion:no-preference){.bulb{animation:tw 1.8s ease-in-out infinite}.bulb:nth-child(3n){animation-delay:.6s}.bulb:nth-child(3n+1){animation-delay:1.2s}}
@keyframes tw{50%{opacity:.25}}
.nv-in{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end;padding-block:72px 44px}
.eyebrow{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.nv-hero h1{font-family:var(--hi);font-weight:400;font-size:clamp(3rem,9vw,6.2rem);line-height:1.05;margin-top:8px}
.nv-hero .gold{color:var(--herogold)}
.nv-sub{font-family:var(--hand);font-size:1.45rem;color:var(--herogold);margin-top:6px}
.nv-lede{max-width:50ch;margin-top:12px;opacity:.88}
.cd{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.cd strong{font-family:var(--hi);font-weight:400;font-size:5.5rem;line-height:.9;color:var(--herogold);font-variant-numeric:tabular-nums}
.stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(251,233,220,.2)}
.stats div{font-size:.88rem;opacity:.85;line-height:1.3}
.stats b{display:block;font-family:var(--hi);font-weight:400;font-size:2.3rem;opacity:1}
.days-band{background:var(--spread);color:#fff1e2}
.days{list-style:none;margin:0;padding:16px 0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;font-variant-numeric:tabular-nums}
.days li{padding:8px 6px;border-top:4px solid var(--c);font-size:.8rem;line-height:1.3}
.days .dt{display:block;opacity:.8}
.days .dv{font-family:var(--hi);font-size:.98rem}
.days li.past{opacity:.55}
.days li.today{background:#fff1e2;color:#7a1712}
.viewtabs{display:flex;background:var(--paper2);border-radius:999px;padding:4px}
.viewtabs button{font:inherit;font-weight:600;border:0;background:transparent;color:var(--soft);padding:7px 18px;border-radius:999px;cursor:pointer}
.viewtabs button[aria-selected="true"]{background:var(--crimson);color:#fff}
.nv-tools{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:12px}
.nv-tools input[type=search]{flex:1 1 260px;font:inherit;padding:10px 16px;border-radius:999px;border:1px solid var(--rule);background:var(--card);color:var(--ink);min-width:0}
.nv-tools select{font:inherit;padding:9px 12px;border-radius:999px;border:1px solid var(--rule);background:var(--card);color:var(--ink)}
.chk{display:flex;align-items:center;gap:6px;font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.chips button{font:inherit;font-size:.9rem;padding:5px 14px;border-radius:999px;border:1px solid var(--rule);background:var(--card);color:var(--ink);cursor:pointer}
.chips button b{font-weight:600;color:var(--soft);margin-left:4px;font-size:.8rem}
.chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chips button[aria-pressed="true"] b{color:inherit}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.pcard{display:grid;grid-template-rows:auto 1fr;align-content:start;text-decoration:none;background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 4px 14px rgba(60,40,20,.12);transition:transform .2s}
.pcard:hover{transform:translateY(-3px)}
.pcard .pc-img{position:relative;aspect-ratio:4/5;background:var(--paper2)}
.pcard .pc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pcard .badge{position:absolute;left:10px;top:10px;display:flex;gap:6px}
.pcard .badge span{background:rgba(20,10,6,.72);color:#fff;font-size:.75rem;font-weight:600;padding:3px 9px;border-radius:999px}
.pcard .pc-body{padding:12px 14px 14px;display:grid;gap:2px}
.pcard b{font-family:var(--head);font-size:1.08rem;line-height:1.25}
html[lang="hi"] .pcard b{font-family:var(--hi);font-weight:400}
.pcard small{color:var(--soft);font-size:.85rem}
.pmap{height:min(70vh,620px);border-radius:12px;overflow:hidden;border:1px solid var(--rule);background:var(--paper2)}
.pmap .mapnote{display:grid;place-items:center;height:100%;color:var(--soft);padding:20px;text-align:center}
.pmap .leaflet-popup-content{margin:10px;font-family:var(--body)}
.pop{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center;text-decoration:none;color:#2b2018;min-width:200px}
.pop img{width:72px;height:72px;object-fit:cover;border-radius:6px}
.pempty{color:var(--soft);padding:30px 0}
.addyours{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;background:var(--card);border-radius:14px;padding:28px 30px!important;margin-block:10px 30px;box-shadow:0 4px 14px rgba(60,40,20,.08)}
.addyours h2{font-size:1.6rem}
.addyours p{color:var(--soft);max-width:60ch;margin-top:6px}
.mailbox{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mailbox b{font-size:1.05rem;padding:8px 14px;background:var(--paper2);border-radius:8px;user-select:all;overflow-wrap:anywhere}
.route{list-style:none;margin:0;padding:0;counter-reset:r}
.route li{counter-increment:r;display:grid;grid-template-columns:2rem 1fr;gap:6px;padding:10px 0;border-top:1px dashed var(--rule)}
.route li::before{content:counter(r);font-family:var(--hi);color:var(--crimson);font-size:1.2rem;line-height:1.3}
.trad{display:grid;gap:18px}
.trad div{background:var(--card);border-radius:12px;padding:16px 18px}
.trad h3{font-size:1.15rem}
.trad p{color:var(--soft);margin-top:4px;font-size:.96rem}

/* ---------- pandal page ---------- */
.pd{padding-block:26px 50px}
.crumbs{font-size:.9rem;color:var(--soft)}
.crumbs a{text-decoration:none;color:var(--crimson);font-weight:600}
.pd-head{margin:10px 0 20px}
.pd-head h1{font-size:clamp(2rem,5vw,3.2rem)}
.pd-meta{color:var(--soft);margin-top:4px}
.pd-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:start}
.gal-main{display:block;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;cursor:zoom-in;background:var(--paper2)}
.gal-main img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;background:#120a07}
.gal-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.gal-thumbs button{flex:none;width:84px;height:84px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:none}
.gal-thumbs button[aria-current="true"]{border-color:var(--crimson)}
.gal-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:18px}
.yt{position:relative;aspect-ratio:16/9;border:0;border-radius:10px;overflow:hidden;cursor:pointer;background:#000 center/cover no-repeat;padding:0}
.yt.short{aspect-ratio:9/16;max-height:520px}
.yt .play{position:absolute;inset:0;margin:auto;width:64px;height:44px;border-radius:12px;background:#d4231b}
.yt .play::after{content:"";position:absolute;left:26px;top:13px;border-left:16px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vlink{display:inline-flex;margin-top:12px;font-weight:600;color:var(--crimson)}
.pd-side{position:sticky;top:20px;display:grid;gap:18px}
.facts{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;background:var(--card);padding:16px 18px;border-radius:12px}
.facts dt{color:var(--soft);font-size:.9rem}
.facts dd{margin:0;font-weight:600}
.pd-desc p+p{margin-top:10px}
.pd-actions{display:flex;flex-wrap:wrap;gap:10px}
.credit{font-size:.85rem;color:var(--soft)}
.pd-nav{display:flex;justify-content:space-between;gap:12px;margin-top:34px;padding-top:18px;border-top:1px dashed var(--rule)}
.pd-nav a{text-decoration:none;font-weight:600;color:var(--crimson);max-width:48%}
.pd-more{margin-top:34px}
.pd-more h2{font-size:1.4rem;margin-bottom:14px}
.lightbox{border:0;padding:0;max-width:96vw;max-height:96vh;background:#0c0705;color:#fff}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox img{display:block;max-width:96vw;max-height:86vh;margin:auto}
.lb-bar{display:flex;gap:10px;justify-content:center;align-items:center;padding:10px}
.lb-bar button{font:inherit;background:none;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:4px 14px;cursor:pointer;font-size:1.1rem}

/* ---------- painted fallbacks ---------- */
canvas.painted{display:block;width:100%;height:100%}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .mainnav{gap:18px}
  .features,.duo{grid-template-columns:minmax(0,1fr)}
  .stamp{display:none}
  .hero-in{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .menubtn{display:grid}
  .mainnav{display:none;position:absolute;left:12px;right:12px;top:100%;flex-direction:column;gap:0;background:var(--card);color:var(--ink);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.25);padding:8px}
  .mainnav.open{display:flex}
  .mainnav a{padding:12px 14px;border:0;border-radius:8px}
  .mainnav a:hover{background:var(--paper2)}
  .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .attr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .place-grid,.plan{grid-template-columns:minmax(0,1fr)}
  .two,.pd-grid,.nv-in{grid-template-columns:minmax(0,1fr)}
  .pd-side{position:static}
  .days{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-in{grid-template-columns:minmax(0,1fr)}
  .foot-art{flex-direction:column;align-items:start}
  .skyline{width:min(300px,80%)}
}
@media (max-width:600px){
  body{font-size:16px}
  .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .head-in{gap:8px;padding-block:10px}
  .logo-mark{width:44px;height:40px}
  .logo-txt b{font-size:1.5rem}
  .logo-txt small{font-size:.8rem}
  .logo-txt em{font-size:.78rem}
  .iconbtn,.langpill{height:36px}
  .iconbtn{width:36px}
  .langpill button{padding:0 9px}
  .hero{min-height:600px}
  .hero-in{padding-block:110px 70px}
  .feat{grid-template-columns:minmax(0,1fr);min-height:0}
  .feat-img{order:-1;height:190px}
  .feat-nv .feat-img::before,.feat-ex .feat-img::before{background:linear-gradient(0deg,rgba(0,0,0,.08),transparent)}
  .feat-copy{padding:20px}
  .world{padding-bottom:230px}
  .polaroids{left:16px;right:16px;width:auto;height:200px}
  .pol{width:40%}
  .tiles{gap:8px}
  .tile{padding:12px 4px}
  .tile b{font-size:.95rem}
  .tile span{font-size:.75rem}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pcard .pc-body{padding:10px}
  .pcard b{font-size:.95rem}
  .sect{padding-block:34px}
  .addyours{padding:20px!important}
}
@media (max-width:440px){.logo-mark{display:none}.head-tools{gap:6px}}
@media (max-width:340px){#searchBtn{display:none}}
