/* ===== HSR EVENT PAGE — the item is the star, claiming it is the point ===== */
:root{
  --space-1:#0a0f28; --space-2:#121a45; --space-3:#1b2360;
  --violet:#8b7be8; --violet-2:#b8abff;
  --gold:#f0cf8e; --gold-2:#ffe6b0; --gold-3:#c9a250;
  --t1:#f4f6ff; --t2:#b3bade; --t3:#7d85ad;
  --line:rgba(184,171,255,.26); --line-g:rgba(240,207,142,.32);
  --disp:"Rajdhani","Segoe UI",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,Segoe UI,sans-serif;
  --maxw:1120px; --gutter:40px;
}
*{box-sizing:border-box;margin:0;padding:0;min-width:0}
html{background:var(--space-1)}
body{
  background:
    radial-gradient(60% 42% at 50% 6%, rgba(240,207,142,.16), transparent 62%),
    radial-gradient(75% 55% at 50% 30%, rgba(139,123,232,.24), transparent 66%),
    linear-gradient(180deg,var(--space-1),var(--space-2) 58%,var(--space-3));
  background-color:var(--space-1);
  color:var(--t1);font-family:var(--body);font-size:16px;line-height:1.6;min-height:100vh;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
button{font-family:inherit;color:inherit;cursor:pointer;border:0;background:none}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);position:relative;z-index:3}
.stars{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#e9eeff}

header{position:relative;z-index:5}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:26px}
.brandline{font-family:var(--disp);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.84rem;color:var(--t2);display:flex;align-items:center;gap:10px}
.brandline .em{width:18px;height:18px;border:1.5px solid var(--gold);border-radius:50%;position:relative}
.brandline .em::before{content:"";position:absolute;inset:4px;background:var(--gold);border-radius:50%}

/* ===== HERO ===== */
.hero{position:relative;text-align:center;padding-top:clamp(18px,3vw,34px);padding-bottom:clamp(30px,5vw,54px)}
.evt{display:inline-flex;align-items:center;gap:.6em;font-family:var(--disp);font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  font-size:.72rem;color:var(--gold);border:1px solid var(--line-g);border-radius:999px;padding:7px 16px;background:rgba(240,207,142,.07)}
.title{font-family:var(--disp);font-weight:700;text-transform:uppercase;line-height:1.04;letter-spacing:.01em;
  font-size:clamp(2.4rem,6.2vw,4.4rem);margin-top:.5em}
.title .free{
  display:inline-block;color:#20183a;
  background:linear-gradient(120deg,var(--gold-2),var(--gold) 55%,var(--gold-3));
  padding:0 .3em;border-radius:8px;box-shadow:0 10px 26px -10px rgba(240,207,142,.7);
}
.kick{color:var(--t2);font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.62;max-width:52ch;margin:1em auto 0}
.kick b{color:var(--t1)}

.stage{position:relative;margin:clamp(20px,3.4vw,38px) auto 0;width:min(760px,100%);height:clamp(300px,42vw,430px)}
.rays{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(620px,96%);aspect-ratio:1;pointer-events:none;
  background:repeating-conic-gradient(from 0deg, rgba(240,207,142,.2) 0 3deg, transparent 3deg 18deg);
  mask-image:radial-gradient(circle,transparent 0 14%,#000 30%,rgba(0,0,0,.45) 48%,transparent 70%);
  -webkit-mask-image:radial-gradient(circle,transparent 0 14%,#000 30%,rgba(0,0,0,.45) 48%,transparent 70%);
  animation:spin 70s linear infinite;opacity:.9}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.bloom{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(430px,72%);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(255,230,176,.4),rgba(139,123,232,.18) 46%,transparent 70%);filter:blur(3px)}
.pass{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:3;height:clamp(196px,29vw,316px);width:auto;
  filter:drop-shadow(0 24px 34px rgba(6,10,32,.72)) drop-shadow(0 0 30px rgba(255,230,176,.5));animation:bob 6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 10px))}}
.pedestal{position:absolute;left:50%;bottom:15%;transform:translateX(-50%);width:44%;height:26px;z-index:1;
  background:radial-gradient(ellipse 50% 60% at 50% 50%,rgba(255,230,176,.36),transparent 72%)}
.spark{position:absolute;z-index:4;width:8px;height:8px;pointer-events:none;
  background:radial-gradient(circle,#fff,rgba(255,230,176,0) 70%)}

.claim{margin-top:clamp(22px,3vw,32px);display:flex;flex-direction:column;align-items:center;gap:.85em}
.cta{
  position:relative;overflow:hidden;font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.16em;
  font-size:clamp(1rem,1.5vw,1.16rem);color:#20183a;
  background:linear-gradient(120deg,var(--gold-2),var(--gold) 55%,var(--gold-3));
  padding:1.05em 2.8em;border-radius:12px;
  box-shadow:0 18px 40px -16px rgba(240,207,142,.8), inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .16s ease, box-shadow .16s ease;
}
.cta:hover{transform:translateY(-2px);box-shadow:0 24px 50px -16px rgba(240,207,142,.95), inset 0 1px 0 rgba(255,255,255,.7)}
.cta:active{transform:translateY(0)}
.cta::after{content:"";position:absolute;top:0;bottom:0;width:38%;left:-50%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:sheen 3.4s ease-in-out infinite}
@keyframes sheen{0%{left:-50%}55%,100%{left:120%}}
.cta:focus-visible{outline:3px solid var(--violet-2);outline-offset:4px}

/* ===== WHAT YOU GET ===== */
.gifts{padding-block:clamp(40px,6vw,76px)}
.gift-head{text-align:center}
.gift-head .lab{font-family:var(--disp);font-weight:700;letter-spacing:.26em;text-transform:uppercase;font-size:.74rem;color:var(--gold)}
.gift-head h2{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(1.7rem,3.4vw,2.5rem);margin-top:.3em}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.8vw,20px);margin-top:clamp(22px,3vw,34px)}
.card{position:relative;text-align:center;border:1px solid var(--line);border-radius:18px;padding:clamp(20px,2.6vw,30px) 18px;
  background:linear-gradient(180deg,rgba(184,171,255,.11),rgba(10,15,40,.5))}
.card.big{border-color:var(--line-g);background:linear-gradient(180deg,rgba(240,207,142,.16),rgba(10,15,40,.5))}
.card .ico{width:74px;height:74px;margin:0 auto;display:grid;place-items:center;border-radius:16px;
  background:rgba(255,255,255,.06);border:1px solid var(--line)}
.card .ico img{width:52px;height:52px;object-fit:contain}
.card .amt{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(2rem,4vw,2.8rem);line-height:1;margin-top:.5em;
  color:var(--t1);font-variant-numeric:tabular-nums}
.card.big .amt{color:var(--gold-2)}
.card .nm{display:block;font-family:var(--disp);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;color:var(--t1);margin-top:.5em}
.card .when{display:block;color:var(--t3);font-size:.82rem;margin-top:.35em;line-height:1.45}
.total-line{text-align:center;color:var(--t2);font-size:.95rem;margin-top:clamp(18px,2.4vw,26px)}
.total-line b{color:var(--gold-2)}

/* ===== HOW TO CLAIM ===== */
.how{padding-block:clamp(34px,5vw,64px);border-top:1px solid rgba(184,171,255,.14)}
.how h3{text-align:center;font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(1.3rem,2.6vw,1.8rem)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,28px);margin-top:clamp(20px,3vw,30px)}
.step{text-align:center}
.step .n{width:46px;height:46px;margin:0 auto;border-radius:50%;display:grid;place-items:center;
  font-family:var(--disp);font-weight:700;font-size:1.2rem;color:#20183a;background:linear-gradient(120deg,var(--gold-2),var(--gold-3))}
.step .st{display:block;font-family:var(--disp);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.92rem;margin-top:.7em}
.step .sd{display:block;color:var(--t3);font-size:.88rem;margin-top:.35em;line-height:1.5;max-width:30ch;margin-inline:auto}

footer{border-top:1px solid rgba(184,171,255,.14);margin-top:clamp(20px,3vw,40px)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding-block:22px 38px}
.f-mark{font-family:var(--disp);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:var(--t2)}
.f-disc{font-size:.78rem;color:var(--t3);max-width:60ch}

.rise{opacity:1}
html.cap .rise{opacity:1!important;transform:none!important}
html.cap .rays,html.cap .cta::after,html.cap .pass{animation:none!important}
@media (prefers-reduced-motion:reduce){.rays,.cta::after,.pass{animation:none!important}}

@media (max-width:900px){
  .cards{grid-template-columns:1fr;max-width:420px;margin-inline:auto}
  .steps{grid-template-columns:1fr;gap:26px}
}
@media (max-width:560px){
  :root{--gutter:18px}
  .stage{height:clamp(270px,64vw,330px)}
  .pass{height:clamp(135px,34vw,185px)}
  .cta{width:100%;padding-inline:1.2em}
}

/* narrow phones */
@media (max-width:430px){
  header .wrap{flex-wrap:wrap;row-gap:8px}
  .f-mark{font-size:.72rem;letter-spacing:.1em}
}
