:root{--green:#1a7a30;--green-light:#25a040;--green-dark:#0f5020;--yellow:#f5d020;--white:#f9f9f9;--black:#111;--red:#e02020}*,::after,::before{box-sizing:border-box;margin:0;padding:0}body{background:var(--green-dark);font-family:Nunito,sans-serif;color:var(--white);overflow-x:hidden;min-height:100vh}@font-face{font-family:acsunn;src:url(/assets/fonts/ACSunn.otf)}#intro{position:fixed;inset:0;z-index:1000;background:#080f0a;overflow:hidden}#intro.hiding{animation:introOut .9s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}@keyframes introOut{to{opacity:0;transform:scale(1.05)}}#intro-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#goal-text{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%) scale(0);font-family:Caudex,sans-serif;font-size:clamp(2rem, 19vw, 4rem);color:var(--yellow);text-shadow:0 0 60px rgba(232,196,66,.9),5px 5px 0 #000;letter-spacing:5px;opacity:0;pointer-events:none;white-space:nowrap;z-index:2;padding:0 80px}#goal-text.pop{animation:gPop .6s cubic-bezier(.175,.885,.32,1.55) forwards}@keyframes gPop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}60%{transform:translate(-50%,-50%) scale(1.2);opacity:1}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}#skip-btn{position:absolute;bottom:22px;right:22px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.18);font-family:Nunito,sans-serif;font-size:.78rem;letter-spacing:1px;padding:7px 16px;border-radius:30px;cursor:pointer;transition:background .2s;z-index:10;margin-bottom:20px}#skip-btn:hover{background:rgba(255,255,255,.2)}.field-bg{position:fixed;inset:0;z-index:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 60px,transparent 60px,transparent 120px),linear-gradient(180deg,#0f5020 0,#1a7a30 50%,#0f5020 100%)}.field-bg::after{content:'';position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,620px);height:min(90vw,620px);border-radius:50%;border:4px solid rgba(255,255,255,.12);pointer-events:none;display:block;background-image:url('./assets/images/AEK_Larnaca_logo.png');background-size:cover;background-position:center;z-index:-1}.section-bg-image{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 200px);max-width:355px;height:auto;object-fit:contain;z-index:0;opacity:.2;pointer-events:none}.wrapper{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:20px 16px 60px;opacity:0;transition:opacity .9s ease}.wrapper.visible{opacity:1}.confetti-layer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.confetti-layer span{position:absolute;top:-30px;font-size:1.4rem;animation:fall linear infinite;opacity:0}@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(110vh) rotate(720deg);opacity:0}}.header{text-align:center;padding:40px 0 10px;animation:fadeDown .8s ease both}@keyframes fadeDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.header .emoji-row{font-size:2.4rem;letter-spacing:6px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}.header h1{font-family:acsunn;font-size:clamp(5rem, 5vw, 10rem);line-height:1;color:var(--yellow);text-shadow:4px 4px 0 #000,6px 6px 0 var(--green-dark);letter-spacing:2px}#aek-intro-brand{display:flex;justify-content:space-between}.header h2{font-family:acsunn;font-size:clamp(2rem, 6vw, 5rem);line-height:1;color:var(--yellow);text-shadow:4px 4px 0 #000,6px 6px 0 var(--green-dark);margin:10px 0 4px;letter-spacing:2px}.header .subtitle{font-size:1rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.7)}.ball-wrap{display:flex;justify-content:center;margin:18px 0}.ball{font-size:5rem;animation:bounce .8s cubic-bezier(.28,.84,.42,1) infinite alternate;filter:drop-shadow(0 8px 4px rgba(0,0,0,.4))}@keyframes bounce{from{transform:translateY(0)}to{transform:translateY(-22px)}}.names-card{background:rgba(0,0,0,.35);border:3px solid var(--yellow);border-radius:20px;padding:28px 20px;text-align:center;margin:20px 0;position:relative;overflow:hidden;animation:fadeUp .9s .2s ease both;box-shadow:0 0 40px rgba(245,208,32,.2)}@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.names-card::before{content:'⚽';position:absolute;font-size:9rem;opacity:.05;right:-20px;top:-20px;animation:slowSpin 20s linear infinite}.regular-text{font-family:acsunn;font-size:2rem}.regular-text-bigger{font-family:acsunn;font-size:1.5rem!important}@keyframes slowSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.names-card .invite-text{font-size:.95rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:10px}.names-card .names{font-family:Caudex,sans-serif;font-size:clamp(2.4rem, 8vw, 4rem);color:var(--yellow);line-height:1.1;text-shadow:3px 3px 0 #000;letter-spacing:2px}.names-card .amp{font-size:2rem;color:var(--white);display:block;margin:2px 0}.names-card .age-badge{display:inline-block;background:var(--red);color:#fff;font-family:Caudex,sans-serif;font-size:1.3rem;letter-spacing:2px;padding:4px 18px;border-radius:30px;margin-top:12px;box-shadow:0 3px 10px rgba(0,0,0,.3);animation:wiggle 3s 1s ease-in-out infinite}@keyframes wiggle{0%,100%,90%{transform:rotate(0)}93%{transform:rotate(-4deg)}96%{transform:rotate(4deg)}}.details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}@media (max-width:400px){.details{grid-template-columns:1fr}}.detail-card{background:rgba(0,0,0,.3);border:2px solid rgba(255,255,255,.15);border-radius:16px;padding:20px 16px;text-align:center;transition:transform .25s,border-color .25s;animation:fadeUp .9s ease both}.detail-card:last-child{grid-column:1/-1;justify-self:center}.detail-card:first-child{animation-delay:.3s}.detail-card:nth-child(2){animation-delay:.4s}.detail-card:nth-child(3){animation-delay:.5s}.detail-card:nth-child(4){animation-delay:.6s}.detail-card:hover{transform:translateY(-4px);border-color:var(--yellow)}.detail-card .icon{width:50px;margin-bottom:8px}.detail-card .label{font-family:acsunn;font-size:1.7rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:6px}.detail-card .value{font-family:Caudex,sans-serif;font-size:1.5rem;letter-spacing:1px;color:var(--yellow);line-height:1.2}.detail-card .sub{font-family:Caudex,sans-serif;font-size:.8rem;color:rgba(255,255,255,.6);margin-top:4px}.tl-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--sage);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.tl-link:hover{border-color:var(--sage)}.tl-link svg{width:10px;height:10px;opacity:.7}.divider{text-align:center;font-size:1.5rem;letter-spacing:10px;color:rgba(255,255,255,.25);margin:6px 0}.message-card{background:var(--yellow);color:var(--black);border-radius:18px;padding:24px 22px;text-align:center;margin:20px 0;animation:fadeUp .9s .65s ease both;box-shadow:0 8px 30px rgba(0,0,0,.3)}.message-card .msg-title{font-family:Caudex,sans-serif;font-size:1.8rem;letter-spacing:2px;margin-bottom:8px;color:var(--green-dark)}.message-card p{font-size:.95rem;line-height:1.6;font-weight:700;color:#222}.rsvp-card{background:rgba(0,0,0,.4);border:2px solid var(--green-light);border-radius:18px;padding:26px 20px;text-align:center;margin:20px 0;animation:fadeUp .9s .8s ease both}.rsvp-card .rsvp-title{font-family:Caudex,sans-serif;font-size:2rem;letter-spacing:2px;color:var(--yellow);margin-bottom:6px}.rsvp-card p{font-size:.9rem;color:rgba(255,255,255,.7);margin-bottom:16px}.rsvp-card .phone{display:inline-block;background:var(--green-light);color:#fff;font-family:Caudex,sans-serif;font-size:1.6rem;letter-spacing:3px;padding:10px 30px;border-radius:40px;text-decoration:none;box-shadow:0 4px 15px rgba(0,0,0,.3);transition:transform .2s,background .2s}.rsvp-card .phone:hover{transform:scale(1.05);background:var(--yellow);color:var(--black)}.footer{text-align:center;padding-top:16px;font-size:.8rem;color:rgba(255,255,255,.3);letter-spacing:1px}.footer .big-emoji{font-size:2rem;display:block;margin-bottom:6px;animation:spin 4s linear infinite}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.goalpost{text-align:center;font-size:3rem;margin:10px 0;line-height:1;animation:fadeUp 1s .1s ease both}.ticker-wrap{overflow:hidden;background:var(--yellow);color:var(--black);padding:8px 0;border-radius:40px;margin:18px 0;font-family:Caudex,sans-serif;font-size:1.1rem;letter-spacing:3px;display:flex;justify-content:center;align-items:center}.ticker{display:inline-flex;white-space:nowrap;animation:ticker 18s linear infinite}.ticker span{margin:0 20px;height:35px}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}.piece{position:absolute;width:10px;height:10px;background:red;opacity:.8;animation:fall linear infinite}.image-piece{position:absolute;width:40px;height:40px;background-image:url('./assets/images/AEK_Larnaca_logo.png');background-size:contain;background-repeat:no-repeat;animation:fall linear infinite}@keyframes fall{0%{transform:translateY(-10vh) rotate(0)}100%{transform:translateY(110vh) rotate(360deg)}}.message-card{position:relative;overflow:visible}.msg-title{position:relative;overflow:visible}.msg-title span{position:relative;z-index:1}.msg-title iframe{position:absolute;top:0;width:100px;height:100px;border:0;transform:translateY(-50%);pointer-events:none;z-index:999}.msg-title iframe:first-of-type{left:-110px}#flipped{right:-100px;transform:translateY(-50%) scaleX(-1)}.name-top{font-family:acsunn;font-size:2rem}.footer-subtitle{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.85rem;opacity:.7;padding-top:20px}.footer-subtitle a{display:flex;align-items:center;gap:6px;font-family:Montserrat,sans-serif;text-decoration:none;color:#fff}.footer-subtitle img{height:25px;width:auto;border-radius:5px}