/* Pasa Ya Kitchen: classic, quiet, a little playful */
:root{
  --bg:#132a1f; --bg-deep:#0f2219; --panel:#17321f; --green:#1b5239;
  --cream:#f2ede3; --muted:#a7b2ab; --line:rgba(242,237,227,.14); --brass:#c8a66a;
  --serif:Cambria,Caladea,Georgia,"Times New Roman",serif;
  --display:Cinzel,"Trajan Pro",Cambria,Georgia,serif;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--bg);color:var(--cream);font:18px/1.7 var(--serif);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font-family:inherit}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.2;letter-spacing:.06em}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:720px;margin:0 auto;text-align:center}
.eyebrow{font-family:var(--display);font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--brass)}
.sec{padding:110px 0}
.sec.deep{background:var(--bg-deep)}
.sec h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:.6em 0 .5em;text-transform:uppercase}
.lead{color:var(--muted);font-size:1.12rem}
.small{color:var(--muted);font-size:.95rem;margin-top:14px}
.small a{color:var(--brass)}
.orn{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px auto}
.orn::before,.orn::after{content:"";height:1px;width:60px;background:linear-gradient(90deg,transparent,var(--brass))}
.orn::after{transform:scaleX(-1)}
.orn span{transform:rotate(45deg);display:inline-block;width:7px;height:7px;border:1px solid var(--brass)}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:1em 2em;font-family:var(--display);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid var(--cream);cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease);background:transparent;color:var(--cream);overflow:hidden}
.btn:hover{background:var(--cream);color:var(--bg)}
.btn.solid{background:var(--cream);color:var(--bg)}
.btn.solid:hover{background:transparent;color:var(--cream)}
.btn.brass{border-color:var(--brass);color:var(--brass)}
.btn.brass:hover{background:var(--brass);color:var(--bg)}
.btn:active{transform:scale(.97)}
.link{font-family:var(--display);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--brass);background:linear-gradient(var(--brass),var(--brass)) 0 100%/0 1px no-repeat;padding-bottom:3px;transition:background-size .35s var(--ease)}
.link:hover,a:hover .link{background-size:100% 1px}

/* nav */
nav.top{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .35s,border-color .35s;border-bottom:1px solid transparent}
nav.top.solid,body:not(.home) nav.top{background:rgba(19,42,31,.96);backdrop-filter:blur(8px);border-color:var(--line)}
.nav-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:80px}
.nav-l,.nav-r{display:flex;gap:30px;align-items:center}
.nav-r{justify-content:flex-end}
.nav-l a,.nav-r>a:not(.btn),.navbtn{font-family:var(--display);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--cream);opacity:.85;background:none;border:0;cursor:pointer;position:relative;padding:6px 0}
.nav-l a::after,.nav-r>a:not(.btn)::after,.navbtn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brass);transform:scaleX(0);transition:transform .3s var(--ease)}
.nav-l a:hover::after,.nav-r>a:not(.btn):hover::after,.navbtn:hover::after,a.cur::after{transform:scaleX(1)}
a.cur{color:var(--brass)!important;opacity:1!important}
.nav-r .btn{padding:.75em 1.4em;font-size:.72rem}
.brand>img{width:54px;height:54px;transition:opacity .35s,transform .5s var(--ease)}
.home nav.top:not(.solid) .brand>img{opacity:0;transform:scale(.6)}
.brand:hover>img{transform:rotate(-8deg) scale(1.05)}
.burger{display:none;background:none;border:0;color:var(--cream);width:44px;height:44px;cursor:pointer}
.mnav{display:none}

/* order popover */
.order-wrap{position:relative}
.pop{position:absolute;top:calc(100% + 14px);right:-20px;min-width:250px;background:var(--bg-deep);border:1px solid var(--line);padding:8px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:all .25s var(--ease);box-shadow:0 20px 40px rgba(0,0,0,.35);z-index:60}
.pop.open{opacity:1;transform:none;pointer-events:auto}
.pop a{display:flex;flex-direction:column;padding:14px 16px;text-decoration:none;transition:background .2s}
.pop a:hover{background:var(--panel)}
.pop b{font-family:var(--display);font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}
.pop span{color:var(--muted);font-size:.9rem;font-style:italic}

/* hero (home) */
.hero{min-height:100svh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:110px 0 70px;background:radial-gradient(ellipse 50% 42% at 50% 34%,rgba(200,166,106,.10),transparent 70%),var(--bg)}
#embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.hero-in{position:relative;z-index:2}
.logo-stage{position:relative;width:min(300px,62vw);aspect-ratio:1;margin:0 auto 6px;cursor:pointer;-webkit-tap-highlight-color:transparent;transform-style:preserve-3d;transition:transform .6s var(--ease)}
.logo-stage img{position:absolute;pointer-events:none}
.logo-stage .base{inset:0;width:100%;height:100%;transform:translateZ(0)}
.logo-stage .fl{position:absolute;left:36.34%;top:6.9%;width:28.46%;transform:translateZ(40px);transform-style:preserve-3d}
.logo-stage .fl img{position:static;width:100%;transform-origin:50% 96%;animation:burn 2.2s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(240,150,60,.55))}
.logo-stage .fl img.glow{position:absolute;inset:0;filter:blur(10px);opacity:.45;mix-blend-mode:screen;animation:burn 2.2s ease-in-out infinite,glow 3s ease-in-out infinite}
@keyframes burn{0%,100%{transform:scale(1,1) skewX(0)}25%{transform:scale(1.01,1.04) skewX(-1.2deg)}50%{transform:scale(.995,.985) skewX(.8deg)}75%{transform:scale(1.015,1.05) skewX(-.6deg)}}
@keyframes glow{0%,100%{opacity:.3}50%{opacity:.6}}
.logo-stage.flare .fl img{animation:flare 1s ease-out}
@keyframes flare{30%{transform:scale(1.08,1.22)}100%{transform:scale(1)}}
.hero .eyebrow{display:block;margin-top:8px}
.hero h1{font-size:clamp(2.2rem,5.6vw,4.2rem);text-transform:uppercase;letter-spacing:.1em;margin:14px 0 4px}
.hero h1 .ch{display:inline-block;opacity:0;transform:translateY(.4em);animation:rise .8s var(--ease) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.hero .tag{font-style:italic;font-size:clamp(1.15rem,2.2vw,1.4rem);opacity:.9}
.ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:36px}
.status{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font-size:.95rem;color:var(--muted)}
.dot{width:7px;height:7px;border-radius:50%;background:#77847c}
.dot.open{background:#7fc79a;box-shadow:0 0 0 0 rgba(127,199,154,.5);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(127,199,154,0)}100%{box-shadow:0 0 0 0 rgba(127,199,154,0)}}
.scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;color:var(--muted);font-family:var(--display);font-size:.65rem;letter-spacing:.3em;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll::after{content:"";width:1px;height:34px;background:linear-gradient(var(--brass),transparent);animation:drop 2.4s ease-in-out infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* sub-page header */
.phead{padding:170px 0 70px;text-align:center;border-bottom:1px solid var(--line);background:radial-gradient(ellipse 60% 70% at 50% 0,rgba(200,166,106,.09),transparent 70%)}
.phead h1{font-size:clamp(2rem,5vw,3.4rem);text-transform:uppercase;letter-spacing:.12em;margin:12px 0 6px}
.phead p{color:var(--muted);font-style:italic;font-size:1.15rem;max-width:640px;margin:0 auto}

/* info band */
.band{border-block:1px solid var(--line);background:var(--bg-deep)}
.band-in{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}
.band-in>*{padding:28px 16px;text-decoration:none;transition:background .3s}
.band-in>a:hover{background:var(--panel)}
.band-in>*+*{border-left:1px solid var(--line)}
.band b{display:block;font-family:var(--display);font-weight:500;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);margin-bottom:4px}

/* glossary */
.story p{color:var(--muted);margin-bottom:18px;font-size:1.1rem}
.story .sign{font-style:italic;color:var(--cream);font-size:1.3rem}
.glossary{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-block:1px solid var(--line)}
.glossary>div{padding:30px 22px;text-align:center;cursor:default}
.glossary>div+div{border-left:1px solid var(--line)}
.glossary h3{font-size:1.05rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:8px;transition:color .3s,letter-spacing .4s var(--ease)}
.glossary>div:hover h3{color:var(--brass);letter-spacing:.26em}
.glossary p{color:var(--muted);font-size:.98rem;line-height:1.55;margin:0}

/* tilt */
[data-tilt]{transform-style:preserve-3d;will-change:transform;transition:transform .5s var(--ease),background .3s;position:relative}
[data-tilt].tilting{transition:transform .08s linear,background .3s}
[data-tilt]::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,236,200,.10),transparent 55%);opacity:0;transition:opacity .4s}
[data-tilt].tilting::after{opacity:1}
[data-tilt] .z1{transform:translateZ(24px)}
[data-tilt] .z2{transform:translateZ(44px)}

/* cards grid */
.grid{display:grid;gap:22px;margin-top:56px}
.g4{grid-template-columns:repeat(4,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--bg-deep);border:1px solid var(--line);padding:40px 28px 34px;display:flex;flex-direction:column;text-align:center;text-decoration:none}
.sec.deep .card{background:var(--bg)}
.card:hover{border-color:rgba(200,166,106,.45)}
.card .no{font-family:var(--display);color:var(--brass);font-size:.8rem;letter-spacing:.2em}
.card h3{font-size:1.15rem;text-transform:uppercase;letter-spacing:.12em;margin:14px 0 10px}
.card p{color:var(--muted);font-size:.98rem;line-height:1.55;flex:1}
.card .it{font-style:italic}
.card .foot{margin-top:22px;display:flex;flex-direction:column;align-items:center;gap:12px}
.card svg.ic{width:30px;height:30px;color:var(--brass);margin:0 auto}
.card .soon{font-style:italic;color:var(--brass);font-size:.92rem;margin-top:14px}
.price{color:var(--cream);font-size:1.05rem;letter-spacing:.04em;white-space:nowrap}
.price small{color:var(--muted);font-size:.78rem;margin-right:4px;font-style:italic}
.add{font-family:var(--display);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;background:none;border:1px solid var(--line);color:var(--cream);padding:.55em 1.1em;cursor:pointer;transition:all .2s}
.add:hover{border-color:var(--brass);color:var(--brass)}
.add.done{border-color:var(--brass);color:var(--brass)}

/* catering teaser (home) */
.teaser{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.teaser ul{list-style:none;display:grid;gap:14px;margin:24px 0 30px}
.teaser li{display:flex;gap:14px;color:var(--muted)}
.teaser li::before{content:"";flex:none;width:7px;height:7px;border:1px solid var(--brass);transform:rotate(45deg);margin-top:.65em}
.teaser .frame{border:1px solid var(--line);padding:46px 36px;text-align:center;background:var(--bg)}
.teaser .big{font-family:var(--display);font-size:clamp(2.6rem,6vw,4rem);color:var(--brass);line-height:1}

/* rating */
.rating{font-family:var(--display);font-size:3.6rem;line-height:1}
.stars{color:var(--brass);letter-spacing:6px;font-size:1.1rem;margin:10px 0 4px}
.stars span{display:inline-block;opacity:0;transform:scale(.3);transition:all .5s var(--ease)}
.in .stars span{opacity:1;transform:none}
.socials{display:flex;justify-content:center;gap:34px;margin-top:40px;flex-wrap:wrap}
.socials a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--muted);font-family:var(--display);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;transition:color .2s,transform .3s var(--ease)}
.socials a:hover{color:var(--brass);transform:translateY(-3px)}
.socials svg{width:20px;height:20px}

/* menu */
.tools{position:sticky;top:80px;z-index:20;background:rgba(19,42,31,.97);backdrop-filter:blur(8px);padding:18px 0 0;border-bottom:1px solid var(--line)}
.search{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:14px}
.search input[type=search]{flex:1;min-width:220px;max-width:420px;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--cream);padding:.5em 0;font:inherit;font-size:1rem}
.search input[type=search]::placeholder{color:var(--muted);font-style:italic}
.search input[type=search]:focus{outline:none;border-color:var(--brass)}
.diet{display:flex;gap:20px;flex-wrap:wrap}
.diet label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.95rem;cursor:pointer}
.diet input{accent-color:#c8a66a;width:15px;height:15px}
.cats{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cat{background:none;border:0;border-bottom:1px solid transparent;color:var(--muted);font-family:var(--display);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:10px 0 12px;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}
.cat:hover{color:var(--cream)}
.cat.on{color:var(--brass);border-color:var(--brass)}
.mcat{margin-top:70px}
.mcat h3{font-size:1.25rem;text-transform:uppercase;letter-spacing:.2em;text-align:center}
.mcat .cnt{text-align:center;color:var(--muted);font-style:italic;font-size:.92rem;margin:4px 0 26px}
.items{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 64px}
.item{padding:16px 12px;margin:0 -12px;transition:background .25s}
.item:hover{background:rgba(242,237,227,.03)}
.item .top{display:flex;align-items:baseline;gap:10px}
.item .nm{font-size:1.08rem;font-weight:700}
.item .dots{flex:1;border-bottom:1px dotted rgba(242,237,227,.28);transform:translateY(-5px);min-width:20px}
.item .ds{color:var(--muted);font-size:.96rem;font-style:italic;line-height:1.5;margin-top:3px}
.item .meta{display:flex;align-items:center;gap:12px;margin-top:6px}
.tag{font-family:var(--display);font-size:.62rem;letter-spacing:.14em;color:var(--brass)}
.item .add{padding:.35em .8em;font-size:.6rem;margin-left:auto;opacity:.75}
.item:hover .add{opacity:1}
.item.out{opacity:.45}
.sigmark{color:var(--brass);font-size:.8rem;margin-left:4px}
.legend{color:var(--muted);font-size:.92rem;margin-top:60px;text-align:center;font-style:italic}
.empty{color:var(--muted);padding:50px 0;text-align:center;font-style:italic}
.sync{font-size:.85rem;color:var(--muted);text-align:center;margin-top:14px;font-style:italic}

/* tray */
.tray-btn{position:fixed;right:24px;bottom:24px;z-index:60;display:none;background:var(--cream);color:var(--bg);border-color:var(--cream);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.tray-btn:hover{background:var(--cream);color:var(--bg)}
.tray-btn .count{border-left:1px solid rgba(19,42,31,.3);padding-left:.8em}
.tray-btn.bump{animation:bump .45s var(--ease)}
@keyframes bump{40%{transform:scale(1.08)}}
.flyer{position:fixed;z-index:90;width:12px;height:12px;border-radius:50%;background:var(--brass);box-shadow:0 0 12px var(--brass);pointer-events:none}
.tray{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);background:var(--bg-deep);border-left:1px solid var(--line);z-index:80;transform:translateX(100%);transition:transform .4s var(--ease);display:flex;flex-direction:column;visibility:hidden}
.tray.open{transform:none;visibility:visible}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:70;opacity:0;pointer-events:none;transition:opacity .3s}
.scrim.open{opacity:1;pointer-events:auto}
.tray header{padding:30px 28px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:start;gap:10px}
.tray header h3{font-size:1.1rem;text-transform:uppercase;letter-spacing:.2em}
.tray header p{color:var(--muted);font-size:.95rem;font-style:italic;margin-top:4px}
.x{background:none;border:0;color:var(--cream);font-size:1.8rem;cursor:pointer;width:40px;height:40px;line-height:1;transition:transform .3s var(--ease)}
.x:hover{transform:rotate(90deg)}
.tray-list{flex:1;overflow:auto;padding:8px 28px}
.tl{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.tl .n{flex:1}
.qty{display:flex;align-items:center;gap:10px}
.qty button{width:28px;height:28px;border:1px solid var(--line);background:none;color:var(--cream);cursor:pointer}
.qty button:hover{border-color:var(--brass)}
.tray footer{padding:20px 28px 26px;border-top:1px solid var(--line);display:grid;gap:12px}
.ppl{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}
.tot{display:flex;justify-content:space-between;align-items:baseline;font-size:1.2rem}
.tot .pp{color:var(--muted);font-size:.92rem;font-style:italic}
.tray .note{font-size:.85rem;color:var(--muted);font-style:italic}
.tip{border-left:2px solid var(--brass);padding:4px 12px;font-size:.95rem;font-style:italic}
.tip:empty{display:none}

/* catering */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:70px 0}
.steps>div{display:flex;align-items:center;gap:16px;color:var(--muted)}
.steps b{font-family:var(--display);font-weight:500;width:42px;height:42px;border:1px solid var(--brass);color:var(--brass);display:grid;place-items:center;border-radius:50%;flex:none;transition:all .3s}
.steps>div:hover b{background:var(--brass);color:var(--bg)}
.calc{border:1px solid var(--line);background:var(--bg-deep);padding:44px;display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:center}
.calc h3{font-size:1.15rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:10px}
.calc p{color:var(--muted)}
.slider{margin-top:26px}
.slider .val{font-family:var(--display);font-size:3rem;color:var(--brass);line-height:1}
.slider .val small{font-size:.9rem;color:var(--muted);letter-spacing:.2em;margin-left:8px}
.slider input{width:100%;margin-top:16px;accent-color:#c8a66a}
.qgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.qgrid>div{background:var(--bg-deep);padding:22px 20px;text-align:center}
.qgrid b{display:block;font-family:var(--display);font-weight:500;font-size:1.7rem;line-height:1.1;font-variant-numeric:tabular-nums}
.qgrid span{color:var(--muted);font-size:.92rem}
.cform{max-width:820px;margin:0 auto;border:1px solid var(--line);background:var(--bg-deep);padding:48px;position:relative}
.cform>h3{font-size:1.2rem;text-transform:uppercase;letter-spacing:.2em;text-align:center}
.cform .sub{color:var(--muted);text-align:center;font-style:italic;margin:4px 0 30px}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 26px}
.cform label{display:flex;flex-direction:column;gap:6px;font-family:var(--display);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.cform input:not([type=radio]):not([type=checkbox]),.cform select,.cform textarea{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--cream);font:1rem var(--serif);padding:.5em 0;letter-spacing:0;text-transform:none;border-radius:0;color-scheme:dark}
.cform select option{background:var(--bg-deep)}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--brass)}
.cform textarea{resize:vertical;border:1px solid var(--line);padding:.7em}
.cform .full{margin-top:24px}
.cform fieldset{border:0;margin-top:28px}
.cform legend{font-family:var(--display);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.cform legend small{text-transform:none;letter-spacing:0;font-family:var(--serif);font-style:italic;font-size:.9rem}
.seg{display:flex;flex-wrap:wrap;gap:10px}
.seg legend{width:100%}
.seg label{flex-direction:row;cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{border:1px solid var(--line);padding:.7em 1.3em;font-family:var(--serif);font-size:1rem;letter-spacing:0;text-transform:none;color:var(--cream);transition:all .2s}
.seg input:checked+span{border-color:var(--brass);color:var(--brass)}
.seg input:focus-visible+span{outline:1px solid var(--brass);outline-offset:2px}
.picks .pk{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 20px}
.picks label{flex-direction:row;align-items:center;gap:10px;font-family:var(--serif);font-size:.98rem;letter-spacing:0;text-transform:none;color:var(--cream);cursor:pointer}
.picks input{accent-color:#c8a66a;width:16px;height:16px}
.fend{display:flex;align-items:center;gap:24px;margin-top:34px;flex-wrap:wrap}
.hp{position:absolute;left:-9999px}
.cform [hidden]{display:none!important}
.thanks{position:absolute;inset:0;background:var(--bg-deep);display:grid;place-content:center;text-align:center;padding:40px;gap:10px}
.thanks h3{font-size:1.3rem;text-transform:uppercase;letter-spacing:.2em}
.thanks p{color:var(--muted);max-width:420px}

/* reservations / visit */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.ot-frame{background:#fff;min-height:320px;display:grid;place-items:center;overflow:hidden}
.ot-frame iframe{border:0;width:100%;max-width:300px}
.box{border:1px solid var(--line);padding:36px;background:var(--bg-deep)}
.box h3{font-size:1.1rem;text-transform:uppercase;letter-spacing:.2em;margin-bottom:10px}
.box p{color:var(--muted);margin-bottom:18px}
.sugg-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:1rem;animation:fadein .4s var(--ease)}
@keyframes fadein{from{opacity:0;transform:translateX(-6px)}}
.sugg-row span:last-child{color:var(--muted)}
.sugg-tot{display:flex;justify-content:space-between;padding-top:12px;font-style:italic}
.hours{width:100%;border-collapse:collapse}
.hours td{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);vertical-align:top}
.hours td:last-child{text-align:right;color:var(--cream)}
.hours tr.today td{color:var(--brass)}
.map{overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--bg-deep)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) invert(.9) hue-rotate(180deg) contrast(.9)}
.addr{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;font-size:1rem;margin:22px 0 4px}
.contact{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

footer.site{border-top:1px solid var(--line);padding:64px 0 120px;color:var(--muted);text-align:center;font-size:.95rem}
footer.site img{width:70px;margin:0 auto 16px}
footer.site .fn{font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream);font-size:.85rem;margin-bottom:8px}
.flinks{display:flex;justify-content:center;flex-wrap:wrap;gap:26px;margin:22px 0}
.flinks a{font-family:var(--display);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--cream);opacity:.8}
.flinks a:hover{color:var(--brass);opacity:1}

.mbar{display:none}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}
main{animation:pagein .6s var(--ease)}
@keyframes pagein{from{opacity:0}}

@media (max-width:960px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .glossary{grid-template-columns:repeat(2,1fr)}
  .glossary>div:nth-child(3){border-left:0}
  .glossary>div:nth-child(n+3){border-top:1px solid var(--line)}
  .calc{grid-template-columns:1fr}
}
@media (max-width:820px){
  body{font-size:17px}
  .sec{padding:80px 0}
  .nav-l,.nav-r{display:none}
  .nav-in{grid-template-columns:44px 1fr 44px}
  .brand{justify-self:center}
  .burger{display:block}
  .mnav{display:none;position:fixed;top:80px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:20px 24px 28px;flex-direction:column;gap:18px;text-align:center;z-index:49}
  .mnav.show{display:flex}
  .mnav a{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;text-decoration:none}
  .band-in{grid-template-columns:1fr}
  .band-in>*+*{border-left:0;border-top:1px solid var(--line)}
  .band-in>*{padding:18px}
  .split,.g3,.teaser,.steps{grid-template-columns:1fr}
  .g4,.items,.glossary{grid-template-columns:1fr}
  .glossary>div+div{border-left:0;border-top:1px solid var(--line)}
  .tools{top:80px}
  .fgrid{grid-template-columns:1fr}
  .picks .pk{grid-template-columns:1fr 1fr}
  .cform,.calc{padding:30px 22px}
  .phead{padding:140px 0 54px}
  .mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(15,34,25,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .mbar a{text-align:center;padding:17px 6px;text-decoration:none;font-family:var(--display);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
  .mbar a+a{border-left:1px solid var(--line)}
  .mbar a.primary{background:var(--cream);color:var(--bg)}
  .tray-btn{bottom:72px;right:16px}
  .hero{padding-top:96px}
  .scroll{display:none}
  .ctas{flex-direction:column;align-items:center}
  .ctas .btn{width:250px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.hero h1 .ch{opacity:1;transform:none}
}

/* order popover + sheet */
.pop{min-width:300px}
.pop-h{font-family:var(--display);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);padding:12px 16px 4px}
.pop-d{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding-bottom:6px}
.pop-d a{padding:10px 16px}
.pop-d a b{font-size:.7rem}
.pop-d a span{font-size:.8rem}
.sheet{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:20px;background:rgba(5,12,9,.7);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .3s}
.sheet.open{opacity:1;pointer-events:auto}
.sheet-in{position:relative;width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--bg);border:1px solid var(--line);padding:48px 44px;text-align:center;transform:translateY(20px) scale(.98);transition:transform .4s var(--ease)}
.sheet.open .sheet-in{transform:none}
.sheet-in .x{position:absolute;top:14px;right:14px}
.sheet-in h3{font-size:1.5rem;text-transform:uppercase;letter-spacing:.14em;margin:12px 0 30px}
.sheet-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:1px;background:var(--line);border:1px solid var(--line);text-align:left}
.sheet-grid>div{background:var(--bg-deep);padding:30px 28px;display:flex;flex-direction:column;gap:12px}
.sheet-grid h4{font-family:var(--display);font-weight:500;letter-spacing:.2em;text-transform:uppercase;font-size:.95rem}
.sheet-grid p{color:var(--muted);font-size:.98rem}
.dlist{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dl{display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);padding:12px 14px;text-decoration:none;transition:border-color .2s,transform .25s var(--ease)}
.dl:hover{border-color:var(--brass);transform:translateY(-2px)}
.dl b{font-family:var(--display);font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}
.dl span{color:var(--muted);font-size:.8rem;font-style:italic}
@media (max-width:820px){.sheet{place-items:end center;padding:0}.sheet-in{padding:40px 22px 30px;border-bottom:0}.sheet-grid{grid-template-columns:1fr}}

/* photos */
.card.has-ph{padding-top:0;overflow:hidden}
.card .ph{margin:0 -28px 26px;aspect-ratio:4/3;overflow:hidden;background:#0b1712}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover .ph img{transform:scale(1.07)}
.card.no-ph-pad{padding-top:40px}
.item.wph{position:relative;padding-left:88px}
.item .thumb{position:absolute;left:12px;top:18px;width:62px;height:62px;border-radius:50%;object-fit:cover;border:1px solid var(--line);transition:transform .5s var(--ease)}
.item.wph:hover .thumb{transform:scale(1.12) rotate(-4deg)}
.story-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.story-split .story{text-align:left}
.story-split .story .orn{justify-content:flex-start}
.story-split .story .orn::before{display:none}
.photo-frame{position:relative;border:1px solid var(--line);padding:12px;background:var(--bg-deep)}
.photo-frame img{width:100%;aspect-ratio:4/5;object-fit:cover}
.photo-frame .cap{position:absolute;left:-14px;bottom:28px;background:var(--cream);color:var(--bg);font-family:var(--display);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;padding:.8em 1.2em;transform:translateZ(50px)}
.gallery{overflow:hidden;padding:10px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.gallery-in{display:flex;gap:18px;width:max-content;animation:slide 60s linear infinite}
.gallery:hover .gallery-in{animation-play-state:paused}
.gallery figure{width:280px;flex:none;position:relative;overflow:hidden;border:1px solid var(--line)}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .8s var(--ease),filter .5s}
.gallery figure:hover img{transform:scale(1.08)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;background:linear-gradient(transparent,rgba(10,22,16,.85));font-family:var(--display);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:all .4s var(--ease)}
.gallery figure:hover figcaption{opacity:1;transform:none}
@keyframes slide{to{transform:translateX(calc(-50% - 9px))}}
.phead.photo{position:relative;background:linear-gradient(rgba(15,34,25,.72),rgba(15,34,25,.88)),var(--ph) center/cover;padding:200px 0 110px;border-bottom:0}
@media (max-width:820px){
  .story-split{grid-template-columns:1fr;gap:40px}
  .item.wph{padding-left:78px}
  .item .thumb{width:54px;height:54px}
  .gallery figure{width:210px}
  .phead.photo{padding:160px 0 80px}
}
@media (prefers-reduced-motion:reduce){.gallery-in{animation:none}}

/* culture */
.culture{background:var(--bg-deep);padding-bottom:110px}
.banner{position:relative;min-height:78vh;display:grid;align-items:end;background:linear-gradient(180deg,rgba(15,34,25,.15) 0%,rgba(15,34,25,.35) 45%,rgba(15,34,25,.96) 100%),var(--ph) center 35%/cover;background-attachment:scroll,fixed}
.banner-in{padding-bottom:90px;max-width:760px;margin-left:max(24px,calc((100vw - 1120px)/2 + 24px))}
.banner h2{font-size:clamp(2rem,5vw,3.6rem);text-transform:uppercase;letter-spacing:.1em;margin:.4em 0 .4em}
.banner p{font-size:1.15rem;color:var(--cream);opacity:.88;max-width:620px}
.bcap{position:absolute;right:24px;bottom:22px;font-family:var(--display);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);opacity:.6}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:18px;margin-top:-40px;position:relative;z-index:2}
.mosaic figure{position:relative;overflow:hidden;border:1px solid var(--line);background:#0b1712}
.mosaic .m-wide{grid-column:span 2}
.mosaic .m-tall{grid-row:span 2}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s}
.mosaic figure:hover img{transform:scale(1.06)}
.mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:50px 22px 18px;background:linear-gradient(transparent,rgba(8,18,13,.88));transform:translateZ(30px)}
.mosaic figcaption b{display:block;font-family:var(--display);font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem}
.mosaic figcaption span{color:var(--muted);font-style:italic;font-size:.92rem;opacity:0;max-height:0;display:block;transition:all .45s var(--ease)}
.mosaic figure:hover figcaption span{opacity:1;max-height:40px}
.credit{color:var(--muted);font-size:.8rem;font-style:italic;text-align:center;margin-top:26px;opacity:.75}
/* bar */
.bar{background:radial-gradient(ellipse 60% 70% at 20% 50%,rgba(200,166,106,.07),transparent 70%),var(--bg)}
.bar-in{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.bar h2{text-align:left}
.bar-ph{position:relative;padding:0 70px 70px 0}
.bar-ph .b1{width:78%;aspect-ratio:2/3;object-fit:cover;border:1px solid var(--line)}
.bar-ph .b2{position:absolute;right:0;bottom:0;width:58%;aspect-ratio:3/2;object-fit:cover;border:10px solid var(--bg);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.drinks{list-style:none;margin:26px 0 34px;border-top:1px solid var(--line)}
.drinks li{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid var(--line);transition:padding .35s var(--ease)}
.drinks li:hover{padding-left:10px}
.drinks b{font-family:var(--display);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}
.drinks span{color:var(--muted);font-style:italic;font-size:.98rem}
/* events */
.ev-ph{position:relative;padding:0 0 60px 80px}
.ev-ph img{width:100%;max-width:440px;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line);margin-left:auto}
.ev-ph .ev2{position:absolute;left:0;bottom:0;width:44%;max-width:220px;border:10px solid var(--bg-deep);box-shadow:0 30px 60px rgba(0,0,0,.45);margin:0}
@media (max-width:820px){
  .banner{min-height:70vh;background-attachment:scroll}
  .banner-in{padding-bottom:60px;margin-left:0}
  .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:10px;margin-top:-24px}
  .mosaic .m-wide{grid-column:span 2}
  .mosaic figcaption{padding:30px 12px 10px}
  .mosaic figcaption span{display:none}
  .bar-in{grid-template-columns:1fr;gap:44px}
  .bar-ph{padding:0 40px 50px 0}
  .ev-ph{padding:0 0 50px 50px}
}
.banner .eyebrow,.banner h2,.banner p{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.banner .eyebrow{color:var(--gold,#e2c48c)}
.bcap{top:22px;bottom:auto}

/* Kathmandu Valley imagery as backgrounds */
.hero{background:radial-gradient(ellipse 45% 40% at 50% 34%,rgba(15,34,25,.35),transparent 70%),linear-gradient(180deg,rgba(15,34,25,.78) 0%,rgba(15,34,25,.70) 45%,rgba(19,42,31,.97) 100%),url(/img/culture/machhindranath-jatra.webp) center 45%/cover no-repeat}
.hero .tag,.hero h1,.hero .eyebrow{text-shadow:0 2px 20px rgba(0,0,0,.6)}
.bgsec{position:relative;isolation:isolate}
.bgsec::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(19,42,31,.97) 0%,rgba(19,42,31,.92) 45%,rgba(19,42,31,.80) 100%),var(--bgimg) center/cover no-repeat}
.bgsec.night::before{background:linear-gradient(rgba(12,26,19,.86),rgba(12,26,19,.9)),var(--bgimg) center/cover no-repeat fixed}
@media (max-width:820px){.bgsec::before{background:linear-gradient(rgba(19,42,31,.93),rgba(19,42,31,.95)),var(--bgimg) center/cover no-repeat}.bgsec.night::before{background:linear-gradient(rgba(12,26,19,.86),rgba(12,26,19,.9)),var(--bgimg) center/cover no-repeat}}

/* always-burning mini logo (header + footer) */
.mini-logo{position:relative;display:block;width:54px;height:54px;transition:opacity .35s,transform .5s var(--ease)}
.mini-logo img{position:absolute;pointer-events:none}
.mini-logo .ml-base{inset:0;width:100%;height:100%}
.mini-logo .ml-fl{position:absolute;left:36.34%;top:6.9%;width:28.46%}
.mini-logo .ml-fl img{position:static;width:100%;transform-origin:50% 96%;animation:burn 1.8s ease-in-out infinite;filter:drop-shadow(0 0 3px rgba(240,150,60,.7))}
.mini-logo .ml-fl img.ml-glow{position:absolute;inset:0;filter:blur(4px);opacity:.5;mix-blend-mode:screen;animation:burn 1.8s ease-in-out infinite,glow 2.6s ease-in-out infinite}
.home nav.top:not(.solid) .mini-logo{opacity:0;transform:scale(.6)}
.brand:hover .mini-logo{transform:rotate(-8deg) scale(1.05)}
.brand:hover .ml-fl img{animation-duration:.9s}
.mini-logo.foot-logo{width:76px;height:76px;margin:0 auto 16px}

/* real fire: distorted flame + licking tongues */
.logo-stage .fl img.core{filter:url(#fire) drop-shadow(0 0 8px rgba(240,150,60,.6))}
.mini-logo .ml-fl img.core{filter:url(#fire-sm) drop-shadow(0 0 3px rgba(240,150,60,.7))}
.tongues{position:absolute;left:8%;right:8%;top:-38%;bottom:6%;pointer-events:none;mix-blend-mode:screen;z-index:2}
.tongues i{position:absolute;bottom:0;left:50%;width:42%;aspect-ratio:1/1.7;border-radius:50% 50% 46% 46%/62% 62% 38% 38%;background:radial-gradient(ellipse at 50% 72%,rgba(255,246,200,.95) 0%,rgba(255,190,70,.85) 32%,rgba(245,110,30,.55) 55%,rgba(230,70,20,0) 72%);filter:blur(1.5px);opacity:0;transform:translate(-50%,0) scale(1);animation:lick 1.1s ease-in infinite}
.tongues i:nth-child(1){--dx:-30%;left:38%;animation-delay:0s;animation-duration:1.05s}
.tongues i:nth-child(2){--dx:25%;left:60%;animation-delay:.18s;animation-duration:1.2s}
.tongues i:nth-child(3){--dx:-10%;left:50%;animation-delay:.35s;width:50%}
.tongues i:nth-child(4){--dx:35%;left:44%;animation-delay:.52s;animation-duration:.95s;width:34%}
.tongues i:nth-child(5){--dx:-25%;left:56%;animation-delay:.7s;animation-duration:1.15s}
.tongues i:nth-child(6){--dx:10%;left:48%;animation-delay:.86s;width:46%}
.tongues i:nth-child(7){--dx:-40%;left:62%;animation-delay:.28s;animation-duration:1.3s;width:30%}
@keyframes lick{0%{opacity:0;transform:translate(-50%,10%) scale(1,.8)}12%{opacity:.95}55%{opacity:.7}100%{opacity:0;transform:translate(calc(-50% + var(--dx,0%)),-115%) scale(.25,.6)}}
.mini-logo .tongues i{filter:blur(.6px)}
.logo-stage .tongues i{filter:blur(2.5px)}
@media (prefers-reduced-motion:reduce){.tongues{display:none}.logo-stage .fl img.core,.mini-logo .ml-fl img.core{filter:none}}

/* v2 fire: flame keeps the logo shape; living fire light moves inside it */
.tongues{display:none}
.logo-stage .fl,.mini-logo .ml-fl{aspect-ratio:148/195}
.logo-stage .fl::after,.mini-logo .ml-fl::after{content:"";position:absolute;inset:0;pointer-events:none;
  -webkit-mask:url(/img/flame.webp) center/100% 100% no-repeat;mask:url(/img/flame.webp) center/100% 100% no-repeat;
  background:
    radial-gradient(ellipse 30% 22% at 50% 78%,rgba(255,252,225,.95),transparent 70%),
    repeating-linear-gradient(0deg,rgba(255,240,170,0) 0%,rgba(255,236,160,.75) 9%,rgba(255,170,60,0) 18%);
  background-size:100% 100%,100% 220%;
  mix-blend-mode:screen;animation:fireflow 1.4s linear infinite,fireflick 1.9s ease-in-out infinite;transform-origin:50% 96%}
.logo-stage .fl::after{animation:fireflow 1.4s linear infinite,fireflick 1.9s ease-in-out infinite,burn 2.2s ease-in-out infinite}
.mini-logo .ml-fl::after{animation:fireflow 1.2s linear infinite,fireflick 1.6s ease-in-out infinite,burn 1.8s ease-in-out infinite}
@keyframes fireflow{from{background-position:0 0,0 0}to{background-position:0 0,0 -220%}}
@keyframes fireflick{0%,100%{opacity:.55}20%{opacity:.85}45%{opacity:.6}65%{opacity:.95}85%{opacity:.7}}
@media (prefers-reduced-motion:reduce){.logo-stage .fl::after,.mini-logo .ml-fl::after{display:none}}
.logo-stage .fl::after{filter:blur(2px)}
.mini-logo .ml-fl::after{filter:blur(.5px)}

.bgsec.night::before{background:linear-gradient(rgba(12,26,19,.84),rgba(12,26,19,.9)),var(--bgimg) center 30%/cover no-repeat fixed}
@media (max-width:820px){.bgsec.night::before{background:linear-gradient(rgba(12,26,19,.84),rgba(12,26,19,.9)),var(--bgimg) center/cover no-repeat}}
.photo-frame img{object-position:40% 50%}

/* WebGL fire replaces the static flame when available */
.fire-host{position:absolute;left:25%;width:50%;top:-14%;height:58%;pointer-events:none;z-index:3}
.fire-cv{width:100%;height:100%;display:block;filter:blur(.3px)}
.logo-stage .fire-host{filter:drop-shadow(0 0 18px rgba(255,140,40,.55))}
.mini-logo .fire-host{filter:drop-shadow(0 0 4px rgba(255,140,40,.6))}
.fire-host.has-fire + .fl,.fire-host.has-fire + .ml-fl{opacity:0}

.bgsec.fest::before{background:linear-gradient(90deg,rgba(19,42,31,.96) 0%,rgba(19,42,31,.9) 50%,rgba(19,42,31,.82) 100%),var(--bgimg) center/cover no-repeat}
.teaser .frame{background:rgba(15,34,25,.85);backdrop-filter:blur(2px)}

/* light the fire with a match */
.logo-stage{overflow:visible}
.ember-glow{position:absolute;left:36%;width:28%;top:34%;height:10%;border-radius:50%;pointer-events:none;z-index:2;
  background:radial-gradient(ellipse at 50% 60%,rgba(255,120,30,.55),rgba(255,80,20,.15) 55%,transparent 72%);filter:blur(3px);animation:ember 2.6s ease-in-out infinite;transition:opacity .8s}
@keyframes ember{0%,100%{opacity:.45}50%{opacity:.85}}
.lit .ember-glow{opacity:0}
.match{position:absolute;right:-34%;bottom:18%;width:46%;height:5%;padding:0;border:0;background:none;cursor:grab;z-index:6;touch-action:none;
  transform:rotate(-32deg);transform-origin:85% 50%;transition:opacity .6s;-webkit-tap-highlight-color:transparent}
.match:active{cursor:grabbing}
.match:focus-visible{outline:1px dashed var(--brass);outline-offset:6px}
.m-stick{position:absolute;left:10%;right:0;top:22%;bottom:22%;border-radius:3px;background:linear-gradient(180deg,#f3d9a4,#d9b277 55%,#b88d52);box-shadow:0 4px 10px rgba(0,0,0,.45)}
.m-head{position:absolute;left:0;top:-14%;width:15%;height:128%;border-radius:50% 40% 40% 50%/50%;background:radial-gradient(circle at 40% 35%,#d8463a,#8e1d16 70%,#5a100c);box-shadow:inset -2px -2px 4px rgba(0,0,0,.35)}
.m-flame{position:absolute;left:-30%;bottom:40%;width:150%;aspect-ratio:1/1.9;border-radius:50% 50% 45% 45%/62% 62% 38% 38%;opacity:0;transform-origin:50% 100%;transform:rotate(32deg) scale(.2);
  background:radial-gradient(ellipse at 50% 78%,#fff8d8 0%,#ffd36a 28%,#ff8a22 55%,rgba(240,70,20,0) 74%);filter:blur(.6px) drop-shadow(0 0 10px rgba(255,150,40,.9));transition:opacity .15s,transform .25s}
.match.struck .m-flame{opacity:1;transform:rotate(32deg) scale(1);animation:mflick .18s ease-in-out infinite alternate}
.match.struck .m-head{background:radial-gradient(circle at 40% 35%,#3a2a24,#1a1210 70%)}
@keyframes mflick{from{transform:rotate(30deg) scale(.95,1.02)}to{transform:rotate(34deg) scale(1.04,.94)}}
.match.gone{opacity:0;pointer-events:none}
.light-hint{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);white-space:nowrap;font-family:var(--display);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);transition:opacity .6s;animation:hintpulse 2.4s ease-in-out infinite}
.light-hint .lh-m{display:none}
@media (hover:none){.light-hint .lh-d{display:none}.light-hint .lh-m{display:inline}}
@keyframes hintpulse{0%,100%{opacity:.55}50%{opacity:1}}
.lit .light-hint{opacity:0;animation:none}
.no-light .match,.no-light .light-hint,.no-light .ember-glow{display:none}
.spark{position:fixed;width:4px;height:4px;border-radius:50%;background:#ffd36a;box-shadow:0 0 6px #ff9a2a;pointer-events:none;z-index:99}
@media (max-width:820px){.match{right:-22%;bottom:12%;width:44%}.light-hint{bottom:-30px;font-size:.58rem}}
.fire-host.has-fire ~ .fl,.fire-host.has-fire ~ .ml-fl{opacity:0}
.hero{-webkit-user-select:none;user-select:none}
.light-hint{left:auto;right:-38%;bottom:-2%;transform:none;white-space:normal;width:40%;text-align:center;line-height:1.6}
@media (max-width:820px){.light-hint{right:-20%;bottom:-6%;width:46%}}
.light-hint{bottom:-14%}

/* lights out until the fire is lit */
.lights-out{position:fixed;inset:0;z-index:70;pointer-events:none;
  background:radial-gradient(circle at var(--lx,50%) var(--ly,35%),rgba(4,9,6,0) 0,rgba(4,9,6,0) calc(var(--lr,220px)*.55),rgba(4,9,6,.55) calc(var(--lr,220px)*.95),rgba(4,9,6,.93) calc(var(--lr,220px)*1.6),rgba(3,7,5,.97) 100%)}
.lights-out::after{content:"";position:absolute;inset:0;opacity:0;
  background:radial-gradient(circle at var(--lx,50%) var(--ly,35%),rgba(255,170,70,.55),rgba(255,120,40,.18) 35%,transparent 70%)}
.lights-out.flash::after{animation:warmflash 1.8s ease-out forwards}
@keyframes warmflash{0%{opacity:0}15%{opacity:1}100%{opacity:0}}
.lights-out.on{transition:opacity 1.2s ease .9s;opacity:0}
.light-hint .lh-d,.light-hint .lh-m{text-shadow:0 0 12px rgba(255,160,60,.6)}
.blow-btn{position:absolute;left:50%;bottom:-16%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:var(--muted);font-family:var(--display);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .8s 1.5s,color .2s;white-space:nowrap;touch-action:none;z-index:6}
.blow-btn svg{width:18px;height:18px}
.blow-btn:hover{color:var(--brass)}
.lit .blow-btn{opacity:.8;pointer-events:auto}
.no-light .blow-btn{display:none}
.puff{position:fixed;left:0;top:0;width:34px;height:34px;border-radius:50%;pointer-events:none;z-index:99;background:radial-gradient(circle,rgba(200,200,190,.55),rgba(160,160,150,.2) 55%,transparent 72%);filter:blur(3px)}
.lights-out.fading{transition:none}
.hero .logo-stage{margin-bottom:30px}
.light-hint{bottom:-4%}
.blow-btn{left:auto;right:-36%;bottom:22%;transform:none;flex-direction:column;gap:6px;width:36%;white-space:normal;line-height:1.5}
.blow-btn svg{width:22px;height:22px}
@media (max-width:820px){.blow-btn{right:-24%;width:40%}}

/* hero: slow crossfading festival slideshow */
.hero{background:var(--bg)}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg i{position:absolute;inset:-3%;background-position:center 40%;background-size:cover;background-repeat:no-repeat;opacity:0;animation:herofade 24s linear infinite;will-change:opacity,transform}
.hero-bg i:nth-child(1){animation-delay:-1s}
.hero-bg i:nth-child(2){animation-delay:7s}
.hero-bg i:nth-child(3){animation-delay:15s}
@keyframes herofade{0%{opacity:0;transform:scale(1)}5%{opacity:1}33%{opacity:1}39%{opacity:0;transform:scale(1.07)}100%{opacity:0;transform:scale(1.07)}}
.hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 45% 40% at 50% 34%,rgba(15,34,25,.35),transparent 70%),linear-gradient(180deg,rgba(15,34,25,.80) 0%,rgba(15,34,25,.72) 45%,rgba(19,42,31,.97) 100%)}
@media (prefers-reduced-motion:reduce){.hero-bg i{animation:none}.hero-bg i:nth-child(1){opacity:1}}
.doused .ember-glow{opacity:0;animation:none}
.lights-out.fading{--dim:1}

/* ===== intro: light the fire to enter ===== */
.lights-out,.blow-btn,.light-hint{display:none!important}
html.intro-open,html.intro-open body{overflow:hidden}
.intro{position:fixed;inset:0;z-index:300;display:grid;place-items:center;text-align:center;
  background:radial-gradient(circle at 50% 42%,rgba(40,26,12,.55) 0,rgba(6,12,9,.96) 38%,#040806 75%);
  transition:opacity .9s ease,background .9s ease;touch-action:none}
.intro[hidden]{display:none}
.intro.entering{opacity:0}
.intro.lit{background:radial-gradient(circle at 50% 42%,rgba(255,150,60,.35) 0,rgba(10,20,14,.9) 45%,rgba(4,8,6,.94) 80%)}
.intro.leaving{opacity:0;pointer-events:none;background:transparent}
.intro-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px}
.intro-stage{position:relative;width:min(300px,62vw);aspect-ratio:1;transform-origin:50% 50%}
.intro-stage .base{position:absolute;inset:0;width:100%;height:100%;filter:brightness(.55);transition:filter 1s}
.intro.lit .intro-stage .base{filter:none}
.intro-stage .ember-glow{position:absolute;left:36%;width:28%;top:34%;height:10%;border-radius:50%;background:radial-gradient(ellipse at 50% 60%,rgba(255,120,30,.55),rgba(255,80,20,.15) 55%,transparent 72%);filter:blur(3px);animation:ember 2.6s ease-in-out infinite;transition:opacity .8s}
.intro.lit .ember-glow{opacity:0}
.intro .match{position:absolute;right:calc(50% - min(300px,62vw)/2 - 18%);top:min(300px,62vw);width:min(150px,32vw);height:14px;bottom:auto}
.intro-hint{font-family:var(--display);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);line-height:2;margin-top:34px;animation:hintpulse 2.4s ease-in-out infinite;text-shadow:0 0 12px rgba(255,160,60,.5)}
.intro-hint small{font-size:.9em;color:var(--muted);letter-spacing:.3em}
.intro-hint .lh-m{display:none}
@media (hover:none){.intro-hint .lh-d{display:none}.intro-hint .lh-m{display:inline}}
.intro.lit .intro-hint,.intro.lit .intro-skip{opacity:0;transition:opacity .4s}
.intro-skip{background:none;border:0;color:var(--muted);opacity:.55;font-family:var(--serif);font-style:italic;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.intro-skip:hover{opacity:1}
/* header logo always visible and burning; water button beside it */
.home nav.top:not(.solid) .mini-logo{opacity:1!important;transform:none!important}
.brand-wrap{position:relative;display:flex;align-items:center;justify-self:center}
.mini-logo.arriving{animation:arrive 1.6s ease-out}
@keyframes arrive{0%,60%{filter:drop-shadow(0 0 0 rgba(255,160,60,0))}75%{filter:drop-shadow(0 0 14px rgba(255,160,60,.9))}100%{filter:none}}
.douse{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:6px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:rgba(19,42,31,.6);color:#9fd2ee;cursor:pointer;display:grid;place-items:center;opacity:.75;transition:opacity .2s,border-color .2s,transform .2s}
.douse:hover{opacity:1;border-color:#9fd2ee;transform:translateY(-50%) scale(1.08)}
.douse svg{width:16px;height:16px}
html.pyk-dark .douse{opacity:0;pointer-events:none}
.no-intro .douse{display:none}
.jug{position:fixed;width:40px;height:40px;z-index:120;pointer-events:none;transform-origin:20% 30%}
.drop{position:fixed;left:0;top:0;width:3px;height:7px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:linear-gradient(#e6f6ff,#7cc0e6);z-index:119;pointer-events:none}
.intro{background:radial-gradient(circle at 50% 42%,#1d140b 0,#070d0a 40%,#040806 75%)}
.intro.lit{background:radial-gradient(circle at 50% 42%,#4a2a10 0,#0d1a13 45%,#060c09 80%)}
.intro.leaving{background:radial-gradient(circle at 50% 42%,#4a2a10 0,#0d1a13 45%,#060c09 80%)}
/* paper-burn exit + header logo always shown (hero logo removed) */
.burn-cv{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.intro.burning{background:transparent!important;pointer-events:none}
.intro.burning .intro-in{position:relative;z-index:1}
.intro.burning .ember-glow,.intro.burning .match,.intro.burning .intro-hint,.intro.burning .intro-skip{visibility:hidden}
.home nav.top:not(.solid) .mini-logo{opacity:1;transform:none}
.hero h1 .wd{display:inline-block;white-space:nowrap}
.hero{padding-bottom:140px}
@media (max-width:560px){.hero h1{font-size:clamp(1.7rem,9vw,2.4rem);letter-spacing:.06em}}
/* taller header, larger logo, labelled water button */
.nav-in{height:94px}
nav.top .mini-logo{width:72px;height:72px}
.mnav{top:94px}
.phead{padding-top:184px}
.douse{margin-left:8px;width:34px;height:34px;opacity:.9}
.douse svg{width:18px;height:18px}
.douse-tip{position:absolute;left:calc(100% + 7px);top:50%;transform:translateY(-50%);font-family:var(--display);font-size:.52rem;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;color:#9fd2ee;text-align:left;white-space:nowrap;pointer-events:none}
.douse:hover{transform:translateY(-50%)}
.douse:hover svg{transform:scale(1.12)}
.douse svg{transition:transform .2s}
html:not(.pyk-dark) .douse{animation:dousehint 2.4s ease-in-out 1.5s 3}
@keyframes dousehint{0%,100%{box-shadow:0 0 0 0 rgba(159,210,238,0)}50%{box-shadow:0 0 0 6px rgba(159,210,238,.18)}}
@media (max-width:820px){
  .nav-in{height:78px}
  nav.top .mini-logo{width:62px;height:62px}
  .mnav{top:78px}
  .douse{width:30px;height:30px;margin-left:6px}
  .douse svg{width:16px;height:16px}
  .phead{padding-top:150px}
}
/* set menus */
.g2{grid-template-columns:repeat(2,1fr)}
.sets{max-width:920px;margin:44px auto 0}
.card.set ul{list-style:none;padding:0;margin:4px 0 18px;columns:2;column-gap:18px;text-align:left;font-size:.95rem;line-height:1.9;color:var(--cream)}
.card.set ul li{break-inside:avoid;padding-left:14px;position:relative}
.card.set ul li::before{content:"";position:absolute;left:0;top:.8em;width:5px;height:5px;background:var(--brass);transform:rotate(45deg)}
.card.set p:last-of-type{flex:1}
@media (max-width:820px){.g2{grid-template-columns:1fr}}
@media (max-width:420px){.card.set ul{columns:1}}
/* header logo: bigger, burns like paper */
.nav-in{height:104px}
nav.top .mini-logo{width:88px;height:88px}
.mnav{top:104px}
.phead{padding-top:196px}
.paper-cv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
nav.top .mini-logo.paper .ml-base{opacity:0}
nav.top .mini-logo .fire-host{z-index:3}
nav.top .mini-logo.renewing .paper-cv{animation:renewin 1.6s ease-out}
@keyframes renewin{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@media (max-width:820px){
  .nav-in{height:86px}
  nav.top .mini-logo{width:72px;height:72px}
  .mnav{top:86px}
  .phead{padding-top:158px}
}
html.logo-flying nav.top .mini-logo{opacity:0!important}
.intro.burning .intro-stage{z-index:2;will-change:transform}
/* phone tilt */
html.gyro .btn,html.gyro [data-tilt]:not(.reveal),html.gyro .reveal.in[data-tilt],html.gyro nav.top .mini-logo,html.gyro .douse{
  transform:perspective(700px) rotateX(var(--gy,0deg)) rotateY(var(--gx,0deg))}
html.gyro .douse{transform:translateY(-50%) perspective(700px) rotateX(var(--gy,0deg)) rotateY(var(--gx,0deg))}
html.gyro .btn{transition-property:background,color,border-color,opacity}
html.gyro [data-tilt]{transition:opacity 1s ease,transform .35s ease-out,border-color .25s}
html.gyro nav.top .mini-logo{transition:opacity .35s}
/* clearer skip link + longer water hint */
.intro-skip{font-size:1.08rem;opacity:.8;color:var(--cream);padding:10px 18px;margin-top:6px}
.intro-skip:hover{opacity:1;color:var(--brass)}
.douse-tip{font-size:.5rem;letter-spacing:.14em}
@media (max-width:820px){.douse-tip{font-size:.44rem;letter-spacing:.1em}}
@media (max-width:380px){.douse-tip{display:none}}
/* keep the water button + label inside its own reserved space so it never touches the menu */
.brand-wrap{padding:0 104px}
.douse{left:auto;right:104px;margin-left:0;transform:translate(calc(100% + 10px),-50%)}
.douse:hover{transform:translate(calc(100% + 10px),-50%)}
html.gyro .douse{transform:translate(calc(100% + 10px),-50%) perspective(700px) rotateX(var(--gy,0deg)) rotateY(var(--gx,0deg))}
.douse-tip{font-size:.48rem;letter-spacing:.12em;line-height:1.45;left:calc(100% + 8px)}
.nav-l,.nav-r{gap:clamp(16px,2.2vw,30px)}
@media (max-width:1100px){.nav-l a,.nav-r>a:not(.btn),.navbtn{letter-spacing:.14em;font-size:.7rem}}
@media (max-width:820px){.brand-wrap{padding:0 92px}.douse{right:92px;transform:translate(calc(100% + 8px),-50%)}.douse:hover{transform:translate(calc(100% + 8px),-50%)}
  html.gyro .douse{transform:translate(calc(100% + 8px),-50%) perspective(700px) rotateX(var(--gy,0deg)) rotateY(var(--gx,0deg))}
  .douse-tip{font-size:.44rem;letter-spacing:.08em}}
@media (max-width:380px){.douse-tip{display:block;font-size:.4rem}}
@media (min-width:821px) and (max-width:1000px){.douse-tip{display:none}}
.paper-cv{filter:drop-shadow(0 0 3px rgba(255,120,30,.55))}
.smoke-cv{position:absolute;left:-60%;top:-40%;width:220%;height:140%;pointer-events:none;z-index:4}
.paper-cv{filter:drop-shadow(0 0 3px rgba(255,120,30,.45))}
nav.top .mini-logo.ashed .paper-cv{filter:none;transition:filter 3s}
/* matchbox */
.mrow{position:relative;width:min(300px,80vw);height:92px;margin-top:4px}
.mbox{position:absolute;left:6%;top:8px;width:118px;height:72px;border-radius:5px;cursor:pointer;touch-action:none;
  background:linear-gradient(160deg,#21402f 0%,#132a1f 70%);border:1px solid rgba(200,166,106,.55);box-shadow:0 12px 26px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);transform:rotate(-3deg)}
.mb-tray{position:absolute;right:-30px;top:9px;bottom:16px;width:34px;border-radius:0 3px 3px 0;background:linear-gradient(90deg,#b98d55,#d9b277);box-shadow:inset 2px 0 4px rgba(0,0,0,.35);display:flex;flex-direction:column;justify-content:space-evenly;padding-left:4px}
.mb-tray i{display:block;width:22px;height:4px;border-radius:2px;background:linear-gradient(90deg,#f0d7a2 70%,#8e1d16 70%)}
.mb-lbl{position:absolute;inset:7px 8px 20px;border:1px solid rgba(200,166,106,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:var(--display);color:var(--brass);text-transform:uppercase}
.mb-lbl b{font-size:.6rem;letter-spacing:.18em;font-weight:600}
.mb-lbl i{font-style:normal;font-size:.38rem;letter-spacing:.16em;opacity:.8}
.mb-strike{position:absolute;left:6px;right:6px;bottom:5px;height:10px;border-radius:2px;
  background:radial-gradient(circle at 20% 40%,#7a5234 0 1px,transparent 1.5px) 0 0/5px 4px,radial-gradient(circle at 60% 70%,#2a170d 0 1px,transparent 1.5px) 0 0/6px 5px,linear-gradient(#5b3a24,#3d2416)}
.intro .match{left:54%;right:auto;top:40px;bottom:auto;width:min(140px,38vw);height:13px;transform:none;transform-origin:50% 50%}
.intro .m-flame{transform:scale(.2)}
.intro .match.struck .m-flame{transform:scale(1);animation:mflick2 .18s ease-in-out infinite alternate}
@keyframes mflick2{from{transform:scale(1) skewX(-3deg)}to{transform:scale(1.08,1.14) skewX(3deg)}}
.intro-hint{margin-top:14px}
@media (max-width:420px){.mbox{left:2%}.intro .match{left:50%}}
.mbox{-webkit-tap-highlight-color:transparent;outline:none;user-select:none;-webkit-user-select:none;transition:opacity .7s .3s}
.intro.lit .mbox{opacity:0}
.intro.burning .mrow{visibility:hidden}
/* elephant water sprayer beside the header logo */
.brand-wrap{padding:0 122px}
.douse{right:122px;width:46px;height:38px;border:0;border-radius:0;background:none;opacity:1;color:inherit}
.douse:hover{border:0}
.douse .ele{width:46px;height:38px;overflow:visible;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));transition:transform .25s}
.douse:hover .ele{transform:translateY(-2px) rotate(-3deg)}
.douse svg{width:46px;height:38px}
.douse:hover svg{transform:translateY(-2px) rotate(-3deg)}
.el-ear{transform-origin:19px 12px;animation:earflap 5s ease-in-out infinite}
@keyframes earflap{0%,80%,100%{transform:none}84%{transform:scaleX(1.18) rotate(-6deg)}88%{transform:none}92%{transform:scaleX(1.14) rotate(-4deg)}}
.el-trunk{transform-origin:11px 20px;transition:transform .35s cubic-bezier(.4,0,.2,1);animation:trunksway 5s ease-in-out infinite}
@keyframes trunksway{0%,60%,100%{transform:none}66%{transform:rotate(14deg)}72%{transform:rotate(-6deg)}}
.douse.spraying .el-trunk{animation:none;transform:rotate(128deg)}
.douse.spraying .ele{animation:elebounce .5s ease-in-out 3}
@keyframes elebounce{50%{transform:translateY(-2px)}}
.douse-tip{left:calc(100% + 6px)}
.tip-m{display:none}
.drop.spray{width:4px;height:4px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f2fbff,#86c4e6 70%);box-shadow:0 0 3px rgba(150,210,240,.6)}
html:not(.pyk-dark) .douse{animation:none}
html:not(.pyk-dark) .douse .el-trunk{animation:trunksway 5s ease-in-out infinite}
@media (max-width:820px){
  .brand-wrap{padding:0 84px}
  .douse{right:84px;width:38px;height:32px;transform:translate(calc(100% + 6px),-50%)}
  .douse:hover{transform:translate(calc(100% + 6px),-50%)}
  html.gyro .douse{transform:translate(calc(100% + 6px),-50%) perspective(700px) rotateX(var(--gy,0deg)) rotateY(var(--gx,0deg))}
  .douse .ele,.douse svg{width:38px;height:32px}
  .tip-d{display:none}.tip-m{display:block}
}
@media (max-width:380px){.tip-m{display:none}}
@media (min-width:821px) and (max-width:1000px){.tip-d{display:none}}
/* realistic elephant */
.brand-wrap{padding:0 136px}
.douse{right:136px;width:58px;height:46px}
.douse .ele,.douse svg{width:58px;height:46px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.45))}
.douse:hover .ele,.douse:hover svg{transform:translateY(-1px)}
.el-trunk{transform-origin:13px 15px;animation:trunksway 6s ease-in-out infinite}
@keyframes trunksway{0%,62%,100%{transform:none}68%{transform:rotate(9deg)}74%{transform:rotate(-4deg)}80%{transform:none}}
.douse.spraying .el-trunk{animation:none;transform:none}
.el-ear{transform-origin:22px 12px;animation:earflap 4.5s ease-in-out infinite}
@keyframes earflap{0%,78%,100%{transform:none}82%{transform:scaleX(1.14) rotate(-5deg)}86%{transform:none}90%{transform:scaleX(1.1) rotate(-3deg)}}
.douse.spraying .ele{animation:elepush 1.6s ease-in-out}
@keyframes elepush{0%,100%{transform:none}25%{transform:rotate(-4deg) translateX(1px)}35%,80%{transform:rotate(-2deg)}}
.intro-hint.flash{animation:hintflash .9s ease-in-out 2}
@keyframes hintflash{50%{color:#ffd36a;text-shadow:0 0 14px rgba(255,180,60,.9)}}
.intro .match::before{content:"";position:absolute;inset:-18px -10px}
@media (max-width:820px){
  .brand-wrap{padding:0 94px}
  .douse{right:94px;width:48px;height:38px}
  .douse .ele,.douse svg{width:48px;height:38px}
}
