:root{--g:#0b3a2c;--g2:#07271d;--gold:#d9a441;--gl:#ffe08a;--red:#c8283a;--paper:#f3ecd6;--ink:#10231c;--r:22px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Bricolage Grotesque',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;overflow-x:hidden}
.ml{font-family:'Noto Sans Malayalam',sans-serif;font-weight:700;color:var(--gold)}
a{color:inherit}h1,h2,h3{line-height:1.08;letter-spacing:-.02em}
h2{font-size:clamp(2rem,5vw,3.6rem);font-weight:800}
.logo{width:46px;height:46px;flex:none}.logo.big{width:70px;height:70px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.btn,.callbtn{display:inline-block;padding:.85rem 1.5rem;border-radius:99px;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s}
.btn:hover,.callbtn:hover{transform:translateY(-3px) rotate(-1deg)}
.gold,.callbtn{background:var(--gold);color:var(--g2);box-shadow:0 6px 0 #9c7220}
.line{border:2px solid currentColor}
.cta{display:flex;gap:1rem;flex-wrap:wrap;margin:1.6rem 0}

/* header */
.hdr{position:fixed;top:12px;left:50%;transform:translateX(-50%);width:min(1180px,94vw);z-index:50;display:flex;align-items:center;gap:1.4rem;padding:.55rem .7rem .55rem 1rem;background:rgba(7,39,29,.82);backdrop-filter:blur(14px);color:#fff;border-radius:99px;border:1.5px solid var(--gold);transition:transform .4s}
.hdr.hide{transform:translate(-50%,-140%)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;margin-right:auto}
.brand b{display:block;font-size:1.05rem;line-height:1.1}.brand small{color:var(--gl);font-size:.75rem}
.nav{display:flex;gap:1.3rem}.nav a{text-decoration:none;font-size:.92rem;position:relative}
.nav a:after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gold);transition:width .3s}.nav a:hover:after{width:100%}
.callbtn{padding:.6rem 1.1rem;box-shadow:none}
.burger{display:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--gold);position:relative;cursor:pointer}
.burger i{position:absolute;left:12px;right:12px;height:2.5px;background:var(--g2);transition:.35s}.burger i:first-child{top:17px}.burger i:last-child{top:25px}
.burger[aria-expanded=true] i:first-child{top:21px;transform:rotate(45deg)}.burger[aria-expanded=true] i:last-child{top:21px;transform:rotate(-45deg)}
.sheet{position:fixed;inset:0;z-index:40;background:var(--g2);display:flex;flex-direction:column;justify-content:center;gap:.4rem;padding:2rem;clip-path:circle(0 at calc(100% - 44px) 44px);transition:clip-path .6s cubic-bezier(.7,0,.2,1);visibility:hidden}
.sheet.open{clip-path:circle(150% at calc(100% - 44px) 44px);visibility:visible}
.sheet>a:not(.callbtn){font-size:2.4rem;font-weight:800;color:#fff;text-decoration:none}
.sheet .callbtn{margin-top:1rem;text-align:center}

/* hero */
.hero{min-height:100svh;background:radial-gradient(circle at 80% 30%,#14634a,transparent 55%),var(--g);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:2rem;padding:8rem 5vw 4rem;position:relative}
.hero h1{font-size:clamp(2.6rem,6.2vw,5.4rem);font-weight:800;margin:.6rem 0 1.2rem}
.lead{max-width:52ch;color:#d9eadf;font-size:1.1rem}
.drum{display:flex;align-items:center;gap:.6rem;margin-top:1rem}
.ser{background:var(--red);padding:.5rem .8rem;border-radius:10px;font-weight:800}
.digits{display:flex;gap:.3rem}
.dg{width:2.4rem;height:3.2rem;background:var(--paper);color:var(--ink);border-radius:8px;overflow:hidden;position:relative;font-weight:800;font-size:1.9rem}
.dg div{display:flex;flex-direction:column;transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.dg span{height:3.2rem;line-height:3.2rem;text-align:center}
.hero-art{position:relative;display:grid;place-items:center;perspective:900px}
.ticket{position:relative;width:min(340px,80vw);background:var(--paper);color:var(--ink);border-radius:18px;padding:2rem 1.5rem;text-align:center;transform:rotate(5deg);box-shadow:0 30px 60px rgba(0,0,0,.45);background-image:repeating-linear-gradient(90deg,var(--gold) 0 10px,transparent 10px 20px);background-size:100% 8px;background-repeat:no-repeat;background-position:top;animation:bob 5s ease-in-out infinite;transition:transform .2s}
.ticket h2{font-size:1.15rem;letter-spacing:.04em;margin:.6rem 0}
.tn{font-size:2.3rem;font-weight:800;color:var(--red);margin:.3rem 0}
.count{font-size:2rem;font-weight:800;margin-top:.5rem;font-variant-numeric:tabular-nums}
.notch{position:absolute;top:58%;width:30px;height:30px;border-radius:50%;background:var(--g)}.notch.l{left:-15px}.notch.r{right:-15px}
.coin{position:absolute;width:150px;height:150px;border-radius:50%;object-fit:cover;border:5px solid var(--gold);left:-5%;bottom:-3%;animation:bob 6s ease-in-out infinite reverse}
@keyframes bob{50%{translate:0 -16px}}

/* marquee */
.marquee{background:var(--gold);color:var(--g2);overflow:hidden;white-space:nowrap;font-weight:800;font-size:1.4rem;transform:rotate(-1.5deg);margin:-1.2rem -2vw 0;position:relative;z-index:2;padding:.8rem 0}
.marquee div{display:inline-flex;animation:mq 28s linear infinite}
.marquee span{padding:0 2rem}.marquee span:after{content:"\2726";margin-left:4rem}
@keyframes mq{to{transform:translateX(-50%)}}

/* week */
.week{padding:7rem 5vw 5rem;max-width:1200px;margin:auto}
.sub{max-width:60ch;margin:1rem 0 2rem;color:#3d4f46}
.days{display:flex;gap:6px;overflow-x:auto;padding:.5rem 0 1rem}
.day{flex:1 0 84px;padding:1.2rem .5rem;background:var(--g);color:#fff;border:0;font:inherit;font-weight:700;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%);transition:.3s;padding-bottom:1.8rem}
.day:hover{translate:0 -6px}.day[aria-pressed=true]{background:var(--red);scale:1.06}
.daybox{background:var(--g2);color:#fff;border-radius:var(--r);padding:2rem;display:grid;gap:.4rem;border-left:10px solid var(--gold);animation:pop .5s}
.daybox h3{font-size:2.2rem;color:var(--gl)}
@keyframes pop{from{opacity:0;translate:0 20px}}

/* lucky */
.lucky{background:var(--red);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:6rem 5vw;align-items:center;clip-path:polygon(0 6vw,100% 0,100% 100%,0 100%);margin-top:-2rem}
.lucky p{margin:1rem 0;max-width:46ch}
.lucky label{display:block;font-weight:700;margin-top:1rem}
.lucky input{width:100%;max-width:300px;padding:.9rem 1.2rem;border-radius:99px;border:0;font:inherit;font-size:1.3rem;margin:.5rem .8rem .8rem 0}
.lucky-r{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.ball{width:clamp(110px,16vw,160px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,var(--gl) 40%,var(--gold));color:var(--g2);display:grid;place-items:center;font-size:1.6rem;font-weight:800;box-shadow:inset -8px -10px 18px rgba(0,0,0,.2),0 14px 24px rgba(0,0,0,.3)}
.ball.roll{animation:roll .9s cubic-bezier(.3,1.4,.5,1) both}
@keyframes roll{from{translate:0 -200px;rotate:-360deg;opacity:0}}

/* how */
.how{padding:5rem 5vw;max-width:1200px;margin:auto}
.steps{list-style:none;margin-top:3rem;position:relative;counter-reset:s;padding-left:3.5rem}
.steps:before{content:"";position:absolute;left:1.15rem;top:0;bottom:0;width:4px;background:repeating-linear-gradient(var(--gold) 0 10px,transparent 10px 18px)}
.steps li{counter-increment:s;position:relative;margin-bottom:2.2rem;max-width:60ch}
.steps li:before{content:counter(s);position:absolute;left:-3.5rem;top:0;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--g);color:var(--gl);display:grid;place-items:center;font-weight:800}
.steps b{display:block;font-size:1.6rem}.steps li:nth-child(even){margin-left:min(14vw,160px)}

/* why */
.why{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;padding:5rem 5vw 6rem;background:var(--g);color:#fff}
.why-img{border-radius:200px 200px 20px 20px;overflow:hidden;min-height:420px;background:linear-gradient(160deg,var(--gold),var(--red))}
.why-img img{width:100%;height:100%;object-fit:cover;display:block}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-content:center}
.why-grid h2{grid-column:1/-1}
.why-grid article{border-top:3px solid var(--gold);padding-top:.8rem}
.why-grid h3{font-size:1.3rem;color:var(--gl)}
.stat{font-size:1.1rem}.stat b{font-size:3.6rem;color:var(--gold);margin-right:.3rem}

/* faq */
.faq{max-width:860px;margin:auto;padding:6rem 5vw}
.faq h2{margin-bottom:2rem}
details{border-bottom:2px dashed var(--g);padding:1.1rem 0}
summary{font-size:1.25rem;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
summary:after{content:"+";font-size:1.8rem;transition:.3s;color:var(--red)}
details[open] summary:after{rotate:45deg}
details p{padding-top:.6rem;animation:pop .4s}

/* visit */
.visit{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff;border-radius:40px 40px 0 0}
.visit>div{padding:5rem 5vw}
address{font-style:normal;margin:1.5rem 0;font-size:1.2rem;border-left:4px solid var(--gold);padding-left:1rem}
.visit p a{color:var(--gl)}
.visit iframe{width:100%;height:100%;min-height:380px;border:0;filter:grayscale(.4) contrast(1.05)}
footer{background:var(--g2);color:#bcd0c6;display:flex;align-items:center;gap:1rem;padding:1.5rem 5vw 5.5rem;font-size:.85rem}
.dock{display:none}

/* reveal */
.rv{opacity:0;translate:0 40px;transition:opacity .9s,translate .9s}.rv.in{opacity:1;translate:0}

@media(max-width:900px){
 .nav,.hdr .callbtn{display:none}.burger{display:block}
 .hdr{gap:.5rem}
 .hero,.lucky,.why,.visit{grid-template-columns:1fr}
 .hero{padding-top:7rem}.hero-art{margin-top:1rem}
 .steps li:nth-child(even){margin-left:0}
 .why-grid{grid-template-columns:1fr}.why-img{min-height:300px}
 .dock{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:10px;left:10px;right:10px;z-index:45;background:var(--gold);border-radius:99px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.35)}
 .dock a{text-align:center;padding:.9rem;font-weight:800;color:var(--g2);text-decoration:none}
 .dock a+a{border-left:2px solid rgba(7,39,29,.25)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;translate:0}}
