:root{--bg-yellow:#FFFC00;--deep-ink:#0D0D12;--white:#FFF;--aqua:#00D9FF;--coral:#FF5A5F;--deep-yellow:#F5E400}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-yellow);color:var(--deep-ink);font-family:'Outfit',sans-serif;min-height:100vh;overflow-x:hidden;display:flex;flex-direction:column;position:relative}.bg-layer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden}.bg-layer svg{position:absolute;width:150%;height:150%;top:-25%;left:-25%}.particle{animation:floatDiag 20s linear infinite}.p1{animation-duration:25s}.p2{animation-duration:18s;animation-delay:-5s}.p3{animation-duration:22s;animation-delay:-10s}.p4{animation-duration:30s;animation-delay:-15s}@keyframes floatDiag{0%{transform:translate(0,0) rotate(0deg);opacity:0}10%{opacity:.6}90%{opacity:.6}100%{transform:translate(-300px,300px) rotate(45deg);opacity:0}}.banner{position:fixed;top:0;left:0;width:100%;background:var(--deep-ink);color:var(--white);text-align:center;padding:8px 15px;font-size:.9rem;font-weight:700;z-index:100;animation:slideDown .5s ease-out forwards;transform:translateY(-100%)}.timer{font-family:'Lilita One',cursive;color:var(--aqua);letter-spacing:1px;display:inline-block;animation:pulseTimer 2s infinite}@keyframes slideDown{to{transform:translateY(0)}}@keyframes pulseTimer{0%,100%{opacity:1;text-shadow:0 0 5px var(--aqua)}50%{opacity:.5;text-shadow:none}}.main-wrap{flex:1;display:flex;flex-direction:column;position:relative;z-index:1;padding-top:40px;width:100%;max-width:1200px;margin:0 auto}.grid{display:flex;flex-direction:column;flex:1;padding:20px}.logo-wrap{margin-bottom:20px}.logo-wrap img{height:40px;width:auto}h1{font-family:'Lilita One',cursive;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1.1;margin-bottom:15px;color:var(--deep-ink)}.hl{color:var(--coral);transition:color .2s}.hl:hover{animation:hlHover .4s infinite alternate}@keyframes hlHover{0%{color:var(--coral)}100%{color:var(--white)}}.support{font-size:clamp(1rem,4vw,1.25rem);line-height:1.4;margin-bottom:20px;font-weight:400;max-width:500px}.visual-col{flex:1;display:flex;align-items:flex-end;justify-content:center;width:100%;min-height:35vh;max-height:45vh;position:relative}.centerpiece{width:100%;height:100%;max-height:100%;object-fit:contain;transform-origin:bottom}.cta-wrap{margin:20px 0;display:flex;flex-direction:column;align-items:flex-start}.cta-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--deep-ink);color:var(--white);text-decoration:none;font-size:1.25rem;font-weight:700;padding:15px 35px;border-radius:50px;box-shadow:6px 6px 0 var(--coral);transition:transform .2s,box-shadow .2s;position:relative}.cta-btn:hover{transform:translate(2px,2px);box-shadow:4px 4px 0 var(--coral)}.cta-btn:focus-visible{outline:3px solid var(--aqua);outline-offset:4px}.cta-dot{width:8px;height:8px;background:var(--aqua);border-radius:50%;margin-left:12px;box-shadow:0 0 8px var(--aqua)}.under-cta{font-size:.85rem;margin-top:12px;font-weight:700;opacity:.8}footer{text-align:center;padding:20px;font-weight:700;font-size:1rem;z-index:1}@media(min-width:768px){.grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto 1fr;gap:0 40px;align-items:start}.logo-wrap{grid-column:1;grid-row:1}.headline-wrap{grid-column:1;grid-row:2}.support-wrap{grid-column:1;grid-row:3}.cta-wrap{grid-column:1;grid-row:4;align-self:end;margin-bottom:40px}.visual-col{grid-column:2;grid-row:1/-1;max-height:100%;justify-content:flex-end}}.card-wrap{opacity:0;transform:translateY(80px);animation:riseUp .8s cubic-bezier(.34,1.56,.64,1) forwards}.card-bob{animation:idleBob 2.5s ease-in-out infinite alternate}@keyframes riseUp{to{opacity:1;transform:translateY(0)}}@keyframes idleBob{to{transform:translateY(-8px)}}.pulse-heart{animation:heartPulse 1.5s infinite}@keyframes heartPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}@media(prefers-reduced-motion){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html,body{max-width:100%;overflow-x:clip}