/* Shahi Hatti — coming soon. Fonts self-hosted, see /fonts. */

@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Khand';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/khand-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Khand';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/khand-600-deva.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:'Khand';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/khand-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Khand';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/khand-700-deva.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:'Yatra One';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/yatraone-400-deva.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}

:root{--doodh:#f2e6ce;--paper:#f7eed8;--aata:#e8d9b5;--lal:#6b1f1f;--eet:#a33a2a;--kajal:#1f1812;--kesar:#e85d1f;--sarson:#d9a441;--mehndi:#6b7a4a;--mono:"IBM Plex Mono",monospace;--disp:"Yatra One",serif;--wmf:"Khand",sans-serif;--body:"Crimson Pro",Georgia,serif}
*{box-sizing:border-box;margin:0}
html,body{height:100%}
body{background:#120e0a;color:var(--doodh);font-family:var(--body);overflow:hidden}
a{color:var(--kesar)}a:hover{color:var(--sarson)}
:focus-visible{outline:2px solid var(--kesar);outline-offset:3px}

.night{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr auto;background:
radial-gradient(78% 62% at 50% 40%,#3b2a1d 0%,#241a12 46%,#140f0a 82%);
overflow:hidden}
.night::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 100% at 50% 42%,transparent 40%,rgba(10,7,5,.72));z-index:8}
.tex{position:fixed;inset:-10%;pointer-events:none;z-index:9;opacity:.42;mix-blend-mode:overlay}

/* top meta */
.top{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(14px,2.4vh,26px) clamp(16px,3.4vw,44px);font-family:var(--mono);font-size:clamp(10px,.9vw,12px);letter-spacing:.24em;text-transform:uppercase;color:rgba(242,230,206,.72);opacity:0;animation:fd 1s linear .3s forwards}
.veg{display:flex;align-items:center;gap:8px}
.veg .bx{width:13px;height:13px;border:1.5px solid var(--mehndi);display:grid;place-items:center;flex:none}
.veg .bx::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--mehndi)}
.veg .dv-in{font-family:var(--wmf);font-weight:600;font-size:clamp(14px,1.25vw,17px);letter-spacing:.06em;color:var(--sarson);line-height:1}

/* stage */
.mid{position:relative;display:grid;place-items:center;min-height:0;padding:0 clamp(14px,3vw,40px)}
.glow{position:absolute;width:min(150vw,1500px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(240,164,74,.26),rgba(232,120,40,.09) 40%,transparent 66%);opacity:0;animation:bloom 2.6s ease-out .55s forwards}
@keyframes bloom{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}

.wrap{position:relative;display:grid;justify-items:center;gap:clamp(12px,2.4vh,26px);max-height:100%}

/* bulb rail */
.rail{position:relative;width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 2%;opacity:0;animation:flick 1.4s steps(1,end) .35s forwards}
.rail::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(217,164,65,.22)}
.rail i{position:relative;width:clamp(6px,.78vw,10px);aspect-ratio:1;border-radius:50%;background:#8a6132;box-shadow:0 0 6px rgba(217,164,65,.25);animation:chase 2.4s steps(1,end) 1.7s infinite}
@keyframes flick{0%{opacity:0}18%{opacity:1}26%{opacity:.1}42%{opacity:1}52%{opacity:.18}68%{opacity:1}100%{opacity:1}}
@keyframes chase{0%,16%{background:#ffc46a;box-shadow:0 0 clamp(8px,1.1vw,16px) rgba(255,178,80,.85),0 0 clamp(26px,3vw,40px) rgba(232,93,31,.34)}17%,100%{background:#8a6132;box-shadow:0 0 6px rgba(217,164,65,.25)}}

/* board */
.board{position:relative;background:linear-gradient(178deg,#742323,#601b1b 62%,#551717);padding:clamp(22px,4.6vh,52px) clamp(26px,5.4vw,74px) clamp(18px,3.4vh,38px);box-shadow:0 clamp(10px,1.8vh,22px) 0 rgba(10,7,5,.55),0 clamp(24px,4vh,44px) clamp(30px,5vh,60px) rgba(0,0,0,.5);max-width:min(1080px,92vw);opacity:0;transform:translateY(1.2vh) scale(.985);animation:bin 1.1s cubic-bezier(.22,1,.36,1) .5s forwards}
@keyframes bin{to{opacity:1;transform:none}}
.board::before{content:"";position:absolute;inset:clamp(7px,1vh,12px);border:1.5px solid rgba(217,164,65,.78);pointer-events:none}
.board::after{content:"";position:absolute;inset:clamp(13px,1.8vh,20px);border:.5px solid rgba(242,230,206,.26);pointer-events:none}
.paint{position:absolute;inset:0;pointer-events:none;opacity:.32;mix-blend-mode:soft-light}
.sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(168deg,rgba(255,214,150,.16),transparent 46%),radial-gradient(80% 60% at 26% 8%,rgba(255,222,170,.12),transparent 60%)}

/* wordmark */
.wm{position:relative;font-family:var(--wmf);font-weight:700;text-transform:uppercase;text-align:center;color:var(--doodh);line-height:.88;letter-spacing:-.015em;font-size:clamp(46px,min(13.2vw,20vh),150px);filter:url(#ink) drop-shadow(0 2px 0 rgba(10,7,5,.35))}
.wm .ln{display:block;overflow:hidden;height:.88em}
.wm .ln i{display:block;font-style:normal;transform:translateY(106%);animation:rise .9s cubic-bezier(.16,1,.3,1) forwards}
.wm .ln:nth-child(1) i{animation-delay:1.05s}
.wm .ln:nth-child(2) i{animation-delay:1.19s}
@keyframes rise{to{transform:translateY(0)}}
.dv{display:flex;align-items:center;justify-content:center;gap:clamp(9px,1.1vw,18px);margin-top:clamp(6px,1.1vh,14px)}
.dv .r{height:1.5px;background:rgba(217,164,65,.85);flex:1;max-width:clamp(30px,6vw,112px);transform:scaleX(0);animation:wx .6s cubic-bezier(.22,1,.36,1) 1.75s forwards}
.dv b{font-family:var(--wmf);font-weight:600;color:var(--sarson);font-size:clamp(18px,min(5vw,7.4vh),56px);line-height:1;letter-spacing:.012em;white-space:nowrap;opacity:0;animation:fd .6s linear 1.82s forwards}
@keyframes wx{to{transform:scaleX(1)}}
@keyframes fd{to{opacity:1}}

/* below-board type */
.say{display:grid;justify-items:center;gap:clamp(5px,.9vh,10px);opacity:0;transform:translateY(1.4vh);animation:up .8s cubic-bezier(.22,1,.36,1) 2.15s forwards}
@keyframes up{to{opacity:1;transform:none}}
.say .hi{font-family:var(--disp);color:var(--doodh);font-size:clamp(19px,min(3.4vw,4.6vh),40px);line-height:1.15;text-align:center}
.say .en{font-family:var(--mono);font-weight:500;font-size:clamp(9px,.86vw,12px);letter-spacing:.42em;text-transform:uppercase;color:var(--sarson);text-align:center}

/* marquee */
.strip{position:relative;z-index:6;background:var(--sarson);color:#2a1b0d;height:clamp(24px,3.6vh,34px);display:flex;align-items:center;overflow:hidden;font-family:var(--mono);font-weight:500;font-size:clamp(8px,.72vw,10.5px);letter-spacing:.32em;text-transform:uppercase;transform:scaleY(0);animation:wy .7s cubic-bezier(.22,1,.36,1) 2.6s forwards}
@keyframes wy{to{transform:scaleY(1)}}
.strip .tk{display:flex;white-space:nowrap;animation:mq 46s linear infinite;will-change:transform}
.strip .tk span{padding-right:3em}
@keyframes mq{to{transform:translateX(-50%)}}

/* dust */
.mote{position:absolute;border-radius:50%;background:rgba(255,205,140,.5);pointer-events:none;z-index:5;animation:float linear infinite}
@keyframes float{0%{transform:translate(0,0);opacity:0}12%{opacity:.5}88%{opacity:.4}100%{transform:translate(var(--dx),var(--dy));opacity:0}}

@media (max-width:600px){.top{letter-spacing:.16em}.top .est{display:none}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01s!important;animation-iteration-count:1!important}}
