*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
img,picture img{-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
:root{
 --red:#e91e8c;--red-hot:#f43f8e;--red-deep:#be185d;
 --gold:#f5c000;--bg:#fff;
 --card:rgba(255,255,255,.97);--border:rgba(233,30,140,.18);
 --text:#1f2937;--dim:#6b7280;--muted:#9ca3af;--ok:#059669;--err:#e53935
}
html{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;overflow-x:clip;max-width:100vw}
body{
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 background:
   radial-gradient(ellipse 70% 70% at 60% 40%,rgba(233,30,140,.06) 0%,transparent 60%),
   radial-gradient(ellipse 40% 60% at 20% 80%,rgba(190,24,93,.04) 0%,transparent 50%),
   #fff;
 min-height:100vh;line-height:1.4;padding:.85rem;
 display:flex;flex-direction:column;align-items:center;overflow-x:hidden
}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
 background-image:
   linear-gradient(rgba(233,30,140,.04) 1px,transparent 1px),
   linear-gradient(90deg,rgba(233,30,140,.04) 1px,transparent 1px);
 background-size:60px 60px;
 animation:bgGridShift 20s linear infinite}
@keyframes bgGridShift{0%{background-position:0 0}to{background-position:60px 60px}}
@media(prefers-reduced-motion:reduce){body::after{animation:none}}
.wrap{position:relative;z-index:1;width:100%;max-width:440px;margin:.5rem auto 1.5rem}

.brand{display:flex;align-items:center;gap:.55rem;justify-content:center;margin-bottom:.85rem}
.logo-box{width:30px;height:30px;background:var(--gold);display:flex;align-items:center;justify-content:center;
 font-weight:800;font-size:.7rem;color:#1a1a00;letter-spacing:.04em;
 clip-path:polygon(4px 0%,100% 0%,calc(100% - 4px) 100%,0% 100%)}
.logo-text{font-size:1.05rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.logo-text span{color:var(--red)}

.card{background:#fff;box-shadow:0 4px 24px rgba(233,30,140,.08),0 1px 4px rgba(233,30,140,.06);
 border:1px solid rgba(233,30,140,.12);padding:.85rem .75rem .9rem;position:relative;border-radius:16px}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
 background:linear-gradient(90deg,var(--gold),var(--red),var(--gold));border-radius:16px 16px 0 0}

/* Step number badge */
.step{display:inline-flex;align-items:center;justify-content:center;
 width:18px;height:18px;background:var(--red);color:#fff;
 font-size:.62rem;font-weight:900;border-radius:50%;margin-right:.45rem;
 flex-shrink:0;letter-spacing:0}
.lab.done .step{background:var(--ok)}
.lab.done .step::before{content:"✅"}
.lab.done .step{font-size:0}
.lab.done .step::before{font-size:.7rem}

.head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}
.head h1{font-size:.95rem;line-height:1.1;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.head h1 b{color:var(--gold);font-weight:800}
.badge{display:inline-flex;align-items:center;gap:.35rem;background:rgba(233,30,140,.08);
 border:1px solid rgba(233,30,140,.25);color:var(--red);font-size:.55rem;font-weight:800;
 letter-spacing:.28em;text-transform:uppercase;padding:.28rem .55rem;
 border-radius:999px;white-space:nowrap}
.badge::before{content:"";width:5px;height:5px;background:var(--red);border-radius:50%;animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}

.lab{font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);
 margin:0 0 .35rem;display:flex;align-items:center;gap:.4rem}
.lab .req{color:var(--red-hot)}
.lab .pick{margin-left:auto;color:var(--gold);font-weight:700;letter-spacing:.08em;
 font-size:.62rem;text-transform:none;opacity:0;transition:opacity .15s;max-width:60%;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lab .pick.show{opacity:1}

fieldset{border:0;margin:0 0 .65rem;padding:0;min-width:0}
.evt-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.3rem}
@media (max-width:380px){.evt-list{grid-template-columns:1fr 1fr}}
.evt{position:relative;display:flex;align-items:center;gap:.4rem;
 min-height:36px;padding:.4rem .5rem;cursor:pointer;
 background:#fdf2f8;border:1px solid rgba(233,30,140,.12);border-radius:8px;
 transition:border-color .15s,background .15s,box-shadow .15s}
.evt input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.evt .radio{flex:0 0 auto;width:13px;height:13px;border-radius:50%;
 border:1.5px solid rgba(233,30,140,.3);background:transparent;
 display:flex;align-items:center;justify-content:center;transition:.15s}
.evt .radio::after{content:"";width:6px;height:6px;border-radius:50%;
 background:var(--red);transform:scale(0);transition:transform .15s}
.evt .nm{flex:1;font-size:.66rem;font-weight:700;letter-spacing:.04em;
 text-transform:uppercase;color:var(--text);line-height:1.1;min-width:0}
.evt:hover{border-color:rgba(233,30,140,.45);background:#fce7f3}
.evt input:focus-visible+.radio{box-shadow:0 0 0 2px var(--gold)}
.evt:has(input:checked){border-color:var(--red);background:rgba(233,30,140,.08);
 box-shadow:0 0 0 1px var(--red),0 4px 14px -4px rgba(233,30,140,.25)}
.evt:has(input:checked) .radio{border-color:var(--red)}
.evt:has(input:checked) .radio::after{transform:scale(1)}
.evt:has(input:checked) .nm{color:var(--red)}

/* Selected event banner — only appears after pick */
.evt-banner{margin-top:.6rem;position:relative;width:100%;aspect-ratio:2/1;
 overflow:hidden;border:1px solid rgba(233,30,140,.25);background:#fdf2f8;border-radius:10px;
 box-shadow:0 4px 18px rgba(233,30,140,.15);
 animation:bannerIn .25s ease-out}
@keyframes bannerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.evt-banner img{width:100%;height:100%;object-fit:cover;display:block}
.evt-banner .tag{position:absolute;top:8px;left:8px;z-index:2;
 display:inline-flex;align-items:center;gap:.35rem;
 background:rgba(233,30,140,.9);border:1px solid transparent;color:#fff;
 font-size:.6rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
 padding:.3rem .55rem;border-radius:999px}
.evt-banner .tag::before{content:"";width:6px;height:6px;background:var(--red);
 border-radius:50%;animation:blink 1s step-end infinite}

.row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.55rem;min-width:0}
.row.two{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;align-items:start;margin-bottom:.55rem}
.row.two .field{display:flex;flex-direction:column;gap:.25rem;min-width:0}

.ctl{width:100%;min-height:42px;background:#fff;color:var(--text);
 border:1px solid rgba(233,30,140,.18);padding:.55rem .75rem;font:inherit;font-size:.9rem;
 outline:none;transition:border-color .15s,box-shadow .15s;
 -webkit-appearance:none;appearance:none;border-radius:8px}
select.ctl{
 background-image:linear-gradient(45deg,transparent 50%,var(--red) 50%),linear-gradient(180deg,var(--red) 50%,transparent 50%);
 background-position:calc(100% - 16px) 19px,calc(100% - 11px) 19px;
 background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.1rem}
.ctl:focus{border-color:var(--red);box-shadow:0 0 0 2px rgba(204,0,0,.25)}
.ctl::placeholder{color:#d1d5db}
.ctl[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 2px rgba(255,71,71,.18)}
.hint{font-size:.6rem;color:var(--muted);min-height:1em;line-height:1.25}
.hint.err{color:var(--err)}
.hint.ok{color:var(--ok)}

/* Custom platform picker */
.plat-trigger{width:100%;min-height:46px;background:#fff;color:var(--text);
 border:1px solid rgba(233,30,140,.18);padding:.5rem .75rem;
 display:flex;align-items:center;gap:.55rem;cursor:pointer;text-align:left;
 font:inherit;font-size:.9rem;border-radius:0;-webkit-appearance:none;appearance:none;
 touch-action:manipulation;
 transition:border-color .15s,box-shadow .15s}
.plat-trigger:hover{border-color:var(--red)}
.plat-trigger:focus-visible{outline:none;border-color:var(--red);box-shadow:0 0 0 2px rgba(204,0,0,.25)}
.plat-trigger[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 2px rgba(255,71,71,.18)}
.plat-trigger img{width:28px;height:28px;object-fit:contain;flex:0 0 auto;background:transparent}
.plat-trigger .plat-ph{flex:0 0 auto;width:28px;height:28px;border:1px dashed rgba(233,30,140,.25);
 display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.75rem}
.plat-trigger .plat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 font-weight:700;letter-spacing:.04em}
.plat-trigger .plat-name.dim{color:#9ca3af;font-weight:400}
.plat-trigger .plat-arr{flex:0 0 auto;width:0;height:0;
 border-left:5px solid transparent;border-right:5px solid transparent;
 border-top:6px solid var(--red);transition:transform .15s}
.plat-trigger[aria-expanded="true"] .plat-arr{transform:rotate(180deg)}

.plat-pop{position:fixed;z-index:99998;
 left:50%;top:50%;transform:translate(-50%,-50%);
 width:min(440px,calc(100vw - 24px));max-height:80vh;overflow:auto;
 background:#fff;border:1px solid rgba(233,30,140,.2);border-radius:16px;
 box-shadow:0 20px 60px -10px rgba(233,30,140,.2),0 0 0 1px rgba(233,30,140,.1);
 display:none}
.plat-backdrop{position:fixed;inset:0;z-index:99997;background:rgba(0,0,0,.78);
 display:none}
.plat-backdrop.show,.plat-pop.show{display:block}
.plat-pop-head{display:flex;align-items:center;justify-content:space-between;
 padding:.7rem .9rem;border-bottom:1px solid rgba(233,30,140,.1);
 position:sticky;top:0;background:#fff;z-index:1;border-radius:16px 16px 0 0}
.plat-pop-head strong{font-size:.78rem;letter-spacing:.12em;color:var(--gold)}
.plat-pop-close{background:none;border:0;color:var(--text);font-size:1.4rem;
 line-height:1;cursor:pointer;padding:0 .2rem}
@keyframes popFade{from{opacity:0}to{opacity:1}}
.plat-pop.show,.plat-backdrop.show{animation:popFade .15s ease-out}
.plat-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.3rem;padding:.45rem}
@media (max-width:380px){.plat-grid{grid-template-columns:1fr 1fr}}
.plat-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;
 padding:.55rem .35rem;background:#fdf2f8;border:1px solid rgba(233,30,140,.1);border-radius:8px;
 cursor:pointer;font:inherit;color:var(--text);text-align:center;min-height:74px;
 -webkit-appearance:none;appearance:none;
 touch-action:manipulation;-webkit-user-select:none;user-select:none;
 transition:border-color .15s,background .15s,transform .1s}
.plat-opt:hover{border-color:var(--red);background:#fce7f3}
.plat-opt:active{transform:scale(.97)}
.plat-opt[aria-selected="true"]{border-color:var(--red);background:rgba(233,30,140,.1);
 box-shadow:inset 0 0 0 1px var(--red)}
.plat-opt img{width:38px;height:38px;object-fit:contain;background:transparent}
.plat-opt span{font-size:.62rem;font-weight:800;letter-spacing:.06em;line-height:1;
 color:var(--text)}
.plat-wrap{position:relative}

.btn{width:100%;min-height:48px;font-size:.85rem;font-weight:800;letter-spacing:.2em;
 text-transform:uppercase;color:#fff;background:linear-gradient(180deg,var(--red),var(--red-deep));
 border:none;cursor:pointer;padding:.8rem 1rem;
 transition:filter .2s,box-shadow .2s,background .22s;
 margin-top:.3rem;border-radius:999px;
 box-shadow:0 4px 18px rgba(233,30,140,.35);
 -webkit-appearance:none;appearance:none}

.btn.ready{
  background:linear-gradient(180deg,var(--ok),#0c5c2a);
  border-color:rgba(34,197,94,.45);
  animation:btnPulse .9s cubic-bezier(.4,0,.2,1) infinite alternate;
  box-shadow:0 0 0 0 rgba(34,197,94,.18),0 0 18px 0 rgba(34,197,94,.18);
}
.btn:not(.ready){
  background:linear-gradient(180deg,#d1d5db,#9ca3af 80%);
  border-color:transparent;
  color:#fff;
  animation:none;
  box-shadow:none;
}
@keyframes btnPulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.18),0 0 18px 0 rgba(34,197,94,.18)}
  100%{box-shadow:0 0 0 8px rgba(34,197,94,.10),0 0 22px 2px rgba(34,197,94,.22)}
}
.btn:hover{filter:brightness(1.1);box-shadow:0 0 22px rgba(204,0,0,.45)}
.btn:active{filter:brightness(.95)}
.btn[disabled]{opacity:.6;cursor:wait;filter:none;box-shadow:none}

.alert{padding:.6rem .75rem;border:1px solid;font-size:.82rem;margin-bottom:.7rem}
.alert.err{border-color:rgba(255,71,71,.45);background:rgba(255,71,71,.08);color:#ffb3b3}

.foot{text-align:center;color:var(--muted);font-size:.62rem;letter-spacing:.22em;
 text-transform:uppercase;margin-top:.85rem}
.foot a{color:var(--dim);text-decoration:none;border-bottom:1px dotted var(--muted)}

/* Register-account CTA — high-conversion */
.signup{position:relative;margin-top:1.1rem;padding:1.1rem .9rem 1rem;
 background:#fff;
 border:1px solid rgba(233,30,140,.15);border-radius:16px;overflow:hidden;
 box-shadow:0 4px 24px rgba(233,30,140,.08),0 1px 4px rgba(233,30,140,.06)}
.signup::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
 background:linear-gradient(90deg,var(--gold),var(--red),var(--gold));border-radius:16px 16px 0 0;pointer-events:none}
.signup::after{content:"";position:absolute;left:-30%;top:0;width:30%;height:100%;
 background:linear-gradient(90deg,transparent,rgba(233,30,140,.04),transparent);
 transform:skewX(-20deg);animation:sweep 3.5s ease-in-out infinite;pointer-events:none}
@keyframes sweep{0%,60%{left:-30%}100%{left:130%}}

.signup-flag{position:absolute;top:0;right:0;background:var(--red);color:#fff;
 font-size:.55rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
 padding:.32rem .65rem .32rem .75rem;
 border-radius:0 16px 0 12px;z-index:2}
.signup-flag::before{content:"";display:inline-block;width:5px;height:5px;background:#fff;
 border-radius:50%;margin-right:.35rem;vertical-align:middle;animation:blink 1s step-end infinite}

.signup-eyebrow{position:relative;z-index:1;display:flex;align-items:center;gap:.45rem;
 font-size:.55rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;
 color:var(--red);margin-bottom:.45rem}
.signup-eyebrow::before,.signup-eyebrow::after{content:"";flex:1;height:1px;
 background:linear-gradient(90deg,transparent,rgba(233,30,140,.3),transparent)}

.signup-title{position:relative;z-index:1;text-align:center;font-size:1.05rem;
 font-weight:800;letter-spacing:.04em;line-height:1.2;color:#1f2937;margin-bottom:.2rem}
.signup-title b{color:var(--gold)}
.signup-sub{position:relative;z-index:1;text-align:center;font-size:.7rem;color:var(--dim);
 margin-bottom:.7rem;line-height:1.35}
.signup-sub b{color:var(--text);font-weight:700}

.signup-perks{position:relative;z-index:1;display:flex;justify-content:center;gap:.4rem;
 flex-wrap:wrap;margin-bottom:.85rem}
.signup-perks span{font-size:.55rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
 color:var(--red);background:rgba(233,30,140,.06);border:1px solid rgba(233,30,140,.2);
 padding:.28rem .6rem;border-radius:999px}

.signup-cta{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;
 gap:.55rem;min-height:54px;padding:.85rem 1rem;text-decoration:none;
 background:linear-gradient(135deg,#F5C842 0%,#D4A017 50%,#b07d10 100%);
 border:0;color:#1a0f00;border-radius:999px;
 font-weight:900;font-size:.92rem;letter-spacing:.18em;text-transform:uppercase;
 box-shadow:0 4px 20px rgba(212,160,23,.45),0 1px 3px rgba(0,0,0,.1);
 animation:goldPulse 2.2s ease-in-out infinite;
 transition:transform .15s,box-shadow .2s,filter .2s}
.signup-cta:hover{transform:translateY(-2px);filter:brightness(1.08);
 box-shadow:0 0 0 1px #fff5b8,0 0 36px rgba(212,160,23,.85),inset 0 -2px 0 rgba(0,0,0,.2)}
.signup-cta:active{transform:translateY(0)}
.signup-cta .arr{font-size:1.05rem;line-height:1;animation:arrSlide 1.4s ease-in-out infinite}
@keyframes goldPulse{0%,100%{box-shadow:0 4px 20px rgba(212,160,23,.45),0 1px 3px rgba(0,0,0,.1)}
 50%{box-shadow:0 6px 32px rgba(212,160,23,.7),0 1px 3px rgba(0,0,0,.1)}}
@keyframes arrSlide{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

.signup-trust{position:relative;z-index:1;text-align:center;font-size:.58rem;
 color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-top:.55rem}
.signup-trust b{color:var(--ok);font-weight:800}
@media (prefers-reduced-motion:reduce){
 .signup::after,.signup-cta,.signup-cta .arr{animation:none}
}

.success{display:none;text-align:center;padding:.3rem .2rem 0}
.success.show{display:block}
#newBtn{
 background:linear-gradient(135deg,var(--red-hot,#f43f8e),var(--red,#e91e8c),var(--gold,#f5c000));
 background-size:200% 200%;
 color:#fff;
 box-shadow:0 4px 20px rgba(233,30,140,.45);
 animation:newBtnPulse 1.1s ease-in-out infinite alternate, newBtnGrad 3s ease infinite;
 border:none;
}
#newBtn:hover{filter:brightness(1.12);animation-play-state:paused}
@keyframes newBtnPulse{
 0%{box-shadow:0 4px 18px rgba(233,30,140,.35),0 0 0 0 rgba(233,30,140,.25)}
 100%{box-shadow:0 6px 28px rgba(233,30,140,.6),0 0 0 10px rgba(233,30,140,.0)}
}
@keyframes newBtnGrad{
 0%{background-position:0% 50%}
 50%{background-position:100% 50%}
 100%{background-position:0% 50%}
}
.ok-icon{width:56px;height:56px;border-radius:50%;border:2px solid var(--ok);background:rgba(5,150,105,.07);
 display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;
 color:var(--ok);font-size:1.7rem;font-weight:800}
.success h2{font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem}
.success p{color:var(--dim);font-size:.85rem;margin-bottom:.8rem}
.recap{background:#fdf2f8;border:1px solid rgba(233,30,140,.12);border-radius:10px;padding:.7rem .8rem;margin:.6rem 0 .9rem;text-align:left}
.recap dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .8rem}
.recap dt{color:var(--dim);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;align-self:center}
.recap dd{color:var(--text);font-weight:700;font-size:.88rem;word-break:break-word}
.disclaimer{color:var(--dim);font-size:.72rem;line-height:1.55;text-align:left;
 background:#fdf2f8;border:1px solid rgba(233,30,140,.1);border-left:3px solid var(--red);
 padding:.7rem .8rem;margin:.4rem 0 0;border-radius:8px}

/* Countdown timer (per event) */
.evt-timer{display:none;margin-top:.6rem;padding:.6rem .7rem;
 background:#fffde7;border:1px solid rgba(245,192,0,.35);border-left:3px solid var(--gold);border-radius:8px;
 animation:bannerIn .25s ease-out}
.evt-timer.show{display:block}
.et-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}
.et-lbl{font-size:.55rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
 display:flex;align-items:center;gap:.4rem}
.et-lbl::before{content:"";width:6px;height:6px;background:var(--gold);border-radius:50%;
 box-shadow:0 0 6px var(--gold);animation:blink 1.2s step-end infinite}
.et-when{font-size:.6rem;color:var(--dim);font-weight:700;letter-spacing:.04em;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%;text-align:right}
.et-clock{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;text-align:center}
.et-cell{background:#fff;border:1px solid rgba(245,192,0,.25);border-radius:6px;padding:.45rem .2rem .35rem;box-shadow:0 2px 6px rgba(245,192,0,.1)}
.et-num{font-size:1.15rem;font-weight:900;color:var(--text);letter-spacing:.04em;line-height:1;
 font-variant-numeric:tabular-nums}
.et-unit{font-size:.5rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-top:.25rem}
.et-after{font-size:.6rem;color:var(--muted);text-align:center;margin-top:.45rem;line-height:1.35}
.et-after b{color:var(--gold);font-weight:700}

/* Contact strip (above submit button) — ultra compact */
.contact-strip{margin:.3rem 0 .55rem}
.contact-strip .cs-head{display:none}
.contact-strip .cs-desc{font-size:.65rem;line-height:1.35;color:var(--dim);margin:0 0 .4rem;text-align:center}
.contact-strip .cs-desc b{color:var(--text);font-weight:700}
.contact-strip .cs-btns{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.cs-btn{display:flex;align-items:center;gap:.4rem;min-height:30px;padding:.3rem .5rem;
 text-decoration:none;color:var(--text);background:#fdf2f8;
 border:1px solid rgba(233,30,140,.12);border-radius:8px;
 transition:background .15s,border-color .15s,transform .1s;
 -webkit-appearance:none;appearance:none;cursor:pointer}
.cs-btn:hover{background:#fce7f3;border-color:var(--red)}
.cs-btn:active{transform:scale(.98)}
.cs-btn .cs-ico{flex:0 0 auto;width:20px;height:20px;display:flex;align-items:center;justify-content:center;
 border-radius:50%;color:#fff}
.cs-btn .cs-ico svg{width:12px;height:12px;display:block;fill:currentColor}
.cs-btn .cs-ico.tg{background:linear-gradient(180deg,#37bbfe,#007dbb)}
.cs-btn .cs-ico.wa{background:linear-gradient(180deg,#25d366,#128c7e)}
.cs-btn .cs-meta{flex:1;min-width:0;display:flex;align-items:baseline;gap:.3rem;text-align:left;line-height:1}
.cs-btn .cs-lbl{display:none}
.cs-btn .cs-val{font-size:.7rem;font-weight:800;color:var(--text);letter-spacing:.01em;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Highlighted contact card on success view */
.contact-card{position:relative;margin-top:.9rem;padding:.95rem .9rem 1rem;
 background:
   radial-gradient(ellipse 70% 50% at 50% 0%,rgba(245,192,0,.12),transparent 70%),
   #fff;
 border:1px solid rgba(245,192,0,.35);border-radius:12px;text-align:left;
 box-shadow:0 0 0 1px rgba(245,192,0,.15),0 8px 28px -8px rgba(245,192,0,.35);
 animation:contactPulse 2.4s ease-in-out infinite}
@keyframes contactPulse{0%,100%{box-shadow:0 0 0 1px rgba(212,160,23,.25),0 8px 28px -8px rgba(212,160,23,.45)}
 50%{box-shadow:0 0 0 1px rgba(212,160,23,.55),0 10px 36px -6px rgba(212,160,23,.75)}}
.contact-card .ct-title{display:flex;align-items:center;gap:.45rem;
 font-size:.65rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
 color:var(--gold);margin-bottom:.6rem}
.contact-card .ct-title::before{content:"";width:6px;height:6px;background:var(--gold);
 border-radius:50%;box-shadow:0 0 8px var(--gold);animation:blink 1.2s step-end infinite}
.contact-card .ct-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;margin-top:.4rem;
 background:#fdf2f8;border:1px solid rgba(233,30,140,.1);
 border-radius:8px;text-decoration:none;color:var(--text);
 transition:border-color .15s,background .15s,transform .1s}
.contact-card .ct-row:hover{border-color:var(--gold);background:rgba(212,160,23,.08);transform:translateX(2px)}
.contact-card .ct-ico{flex:0 0 auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;
 color:#fff;border-radius:50%;box-shadow:0 0 0 2px rgba(233,30,140,.12)}
.contact-card .ct-ico svg{width:20px;height:20px;display:block;fill:currentColor}
.contact-card .ct-ico.tg{background:linear-gradient(180deg,#37bbfe,#007dbb)}
.contact-card .ct-ico.wa{background:linear-gradient(180deg,#25d366,#128c7e)}
.contact-card .ct-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.contact-card .ct-lbl{font-size:.55rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.contact-card .ct-val{font-size:.85rem;font-weight:800;color:var(--text);letter-spacing:.02em;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-card .ct-arr{flex:0 0 auto;color:var(--gold);font-size:1rem;font-weight:900}
.btn-ghost{display:inline-block;width:100%;text-align:center;background:transparent;color:var(--dim);
 border:1px solid rgba(233,30,140,.2);border-radius:999px;min-height:46px;padding:.7rem;text-transform:uppercase;
 letter-spacing:.2em;font-size:.72rem;font-weight:700;cursor:pointer;text-decoration:none}
.btn-ghost:hover{color:var(--text);border-color:var(--border)}

@media (max-width:380px){
 .evt-grid{gap:.4rem}
 .head h1{font-size:.95rem}
 .card{padding:.85rem .75rem 1rem}
}

/* Winners marquee (auto-scroll) */
.winners{margin:1.1rem -.85rem .2rem;position:relative;overflow:hidden;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
         mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.winners-head{display:flex;align-items:center;justify-content:center;gap:.45rem;
 margin:0 .85rem .55rem;font-size:.62rem;font-weight:800;letter-spacing:.28em;
 text-transform:uppercase;color:var(--gold)}
.winners-head::before,.winners-head::after{content:"";flex:1;height:1px;
 background:linear-gradient(90deg,transparent,rgba(212,160,23,.4),transparent);max-width:60px}
.winners-head .dot{width:6px;height:6px;background:var(--ok);border-radius:50%;
 box-shadow:0 0 8px var(--ok);animation:wpulse 1.5s infinite}
@keyframes wpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.wm-track{display:flex;gap:.55rem;width:max-content;
 animation:wmScroll 60s linear infinite;will-change:transform}
.winners:hover .wm-track{animation-play-state:paused}
@keyframes wmScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.wm-track{animation:none}}
.wm-card{flex:0 0 auto;width:140px;height:200px;background:#fdf2f8;
 border:1px solid rgba(233,30,140,.1);border-radius:8px;overflow:hidden;position:relative;
 cursor:zoom-in;-webkit-appearance:none;appearance:none;padding:0;margin:0}
.wm-card img{width:100%;height:100%;object-fit:cover;display:block;
 filter:saturate(1.05);transition:transform .3s;pointer-events:none}
.wm-card:hover,.wm-card:focus-visible{border-color:var(--border);outline:none}
.wm-card:focus-visible{box-shadow:0 0 0 2px var(--gold)}
.wm-card:hover img{transform:scale(1.04)}
@media (max-width:380px){.wm-card{width:120px;height:170px}}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:99999;background:rgba(249,225,240,.92);
 display:none;align-items:center;justify-content:center;padding:1rem;
 -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lb.show{display:flex;animation:lbIn .15s ease-out}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
.lb img{max-width:100%;max-height:90vh;object-fit:contain;
 box-shadow:0 10px 40px rgba(233,30,140,.2);border:1px solid rgba(233,30,140,.2);border-radius:8px}
.lb-close{position:absolute;top:.7rem;right:.7rem;width:44px;height:44px;
 background:rgba(233,30,140,.7);color:#fff;border:1px solid rgba(255,255,255,.3);
 font-size:1.5rem;font-weight:700;line-height:1;cursor:pointer;
 display:flex;align-items:center;justify-content:center;border-radius:0;
 -webkit-appearance:none;appearance:none}
.lb-close:hover{background:var(--red);border-color:var(--red);color:#fff}

/* Bottom floating nav bar (5 items, center bumped) */
.bottom-nav-bar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);
 background:#fff;border:1px solid rgba(0,0,0,.1);
 display:flex;align-items:center;justify-content:center;gap:14px;
 padding:9px 18px;border-radius:22px;z-index:40;
 width:max-content;max-width:95vw;
 box-shadow:0 8px 28px rgba(0,0,0,.5),0 0 0 1px rgba(204,0,0,.18)}
.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;
 text-decoration:none;color:#333;font-size:.55rem;font-weight:800;
 letter-spacing:.06em;text-transform:uppercase;
 padding:5px;border-radius:11px;min-width:54px;
 transition:all .2s ease}
.nav-item:hover{background:rgba(204,0,0,.1);color:var(--red);transform:translateY(-3px)}
.nav-item img{width:42px;height:42px;object-fit:cover;margin-bottom:3px;
 transition:transform .2s ease}
.nav-item .main-icon{width:60px;height:60px;border-radius:11px;
 margin-bottom:-11px;transform:translateY(-9px)}
.nav-item:hover img{transform:scale(1.1)}
.nav-item:hover .main-icon{transform:translateY(-9px) scale(1.1)}
@media (max-width:620px){
 .bottom-nav-bar{bottom:0;width:100%;max-width:100%;border-radius:0;
  padding:7px 0;padding-bottom:calc(7px + env(safe-area-inset-bottom));
  gap:0;justify-content:space-evenly;border-left:0;border-right:0;border-bottom:0}
 .nav-item{min-width:auto;flex:1;padding:5px 0}
}
/* push page content above the fixed bar */
body{padding-bottom:110px}
@media (max-width:620px){body{padding-bottom:96px}}

/* Warn banner */
body{padding-top:calc(.85rem + 38px)}
.warn-banner{background:linear-gradient(90deg,var(--red-deep),var(--red));position:fixed;top:0;left:0;right:0;width:100%;z-index:50;
 display:flex;align-items:center;gap:.55rem;height:38px;
 border-bottom:1px solid rgba(255,255,255,.18);
 padding:0 .75rem;
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 box-shadow:0 4px 14px -6px rgba(233,30,140,.4)}
.warn-tag{flex:0 0 auto;font-size:.55rem;font-weight:800;letter-spacing:.18em;
 color:#fff;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);
 padding:.22rem .45rem;text-transform:uppercase;
 clip-path:polygon(4px 0%,100% 0%,calc(100% - 4px) 100%,0% 100%)}
.warn-text{flex:1;min-width:0;font-size:.7rem;color:#fff;line-height:1.2;
 overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.warn-text #warn-inner{display:inline-block;transition:opacity .35s ease}
.warn-text strong{color:var(--gold);font-weight:800;letter-spacing:.04em}
@media (max-width:380px){.warn-text{font-size:.62rem}.warn-tag{letter-spacing:.12em;font-size:.5rem}}
