:root{--bg-color: #050505;--text-color: #ffffff;--neon-pink: #ff2a6d;--neon-blue: #05d9e8;--neon-purple: #9d00ff;--neon-yellow: #fffb96;--card-bg: rgba(26, 30, 36, .4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;overflow-x:hidden;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px}a{color:var(--neon-blue);text-decoration:none;transition:color .3s}a:hover{color:var(--neon-pink)}.map-link{color:#888;text-decoration:underline;text-decoration-color:#8886;text-underline-offset:3px;transition:all .3s}.map-link:hover{color:var(--neon-yellow);text-decoration-color:var(--neon-yellow)}h1,h2,h3{font-weight:900;letter-spacing:1px}.container{max-width:1000px;margin:0 auto;padding:0 20px;position:relative;z-index:2}.section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:100px 0;position:relative}.top-nav{position:fixed;top:0;left:0;width:100%;padding:20px;display:flex;justify-content:flex-end;z-index:1000;pointer-events:none}.btn-text{pointer-events:auto;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--neon-blue);border:1px solid rgba(5,217,232,.3);padding:10px 20px;border-radius:50px;cursor:pointer;font-family:Outfit,sans-serif;font-weight:700;font-size:1rem;display:flex;align-items:center;gap:8px;transition:all .3s ease}.btn-text:hover{background:var(--neon-blue);color:#000;box-shadow:0 0 15px #05d9e880}.btn-text i{width:18px;height:18px}.hero-section{align-items:center;text-align:center;perspective:1500px;overflow:hidden}.envelope-wrapper{position:relative;width:90vw;max-width:600px;height:320px;margin:120px auto 0;cursor:pointer;transition:transform .5s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}.envelope-wrapper:hover:not(.open){transform:scale(1.02) translateY(-10px)}.envelope{position:absolute;inset:0;transform-style:preserve-3d}.envelope-pocket{position:absolute;top:0;left:0;width:100%;height:100%;background:#11151a;border-radius:10px;border:2px solid rgba(255,42,109,.5);box-shadow:0 20px 40px #000c;z-index:4;clip-path:polygon(0% 0%,50% 50%,100% 0%,100% 100%,0% 100%);transition:border-color .5s ease;display:flex;align-items:flex-end;justify-content:center;padding-bottom:30px}.envelope-wrapper:hover:not(.open) .envelope-pocket{border-color:var(--neon-blue)}.envelope-front-text{font-family:Outfit,sans-serif;font-weight:900;font-size:1.8rem;color:var(--neon-pink);text-transform:uppercase;letter-spacing:3px;z-index:5;text-shadow:0 0 15px rgba(255,42,109,.6);opacity:1;transition:opacity .5s;pointer-events:none}.envelope-wrapper.open .envelope-front-text{opacity:0}.envelope-flap{position:absolute;top:0;left:0;width:100%;height:60%;background:#171c22;border-bottom:2px solid rgba(255,42,109,.5);border-radius:10px 10px 0 0;clip-path:polygon(0% 0%,100% 0%,50% 100%);transform-origin:top;z-index:5;transition:transform .6s cubic-bezier(.68,-.55,.265,1.55)}.click-hint{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);color:var(--neon-yellow);font-weight:700;letter-spacing:2px;text-transform:uppercase;animation:pulse-op 2s infinite;display:flex;align-items:center;gap:10px;pointer-events:none}@keyframes pulse-op{0%,to{opacity:.5}50%{opacity:1}}.letter{position:absolute;bottom:5px;left:10px;right:10px;height:300px;background:#0f0f14fa;padding:30px 20px;border-radius:10px 10px 0 0;z-index:1;border:1px solid rgba(255,255,255,.2);border-bottom:none;box-shadow:0 -10px 20px #00000080;transition:all .8s cubic-bezier(.68,-.2,.265,1);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center}.letter:before{content:"";position:absolute;inset:0;border-radius:10px 10px 0 0;box-shadow:inset 0 0 30px #05d9e833;pointer-events:none}.letter .stamp,.letter .date-box,.letter .message,.letter #btn-start{opacity:0;pointer-events:none;transition:opacity .3s}.letter h1{font-size:2.2rem;margin-bottom:5px;background:linear-gradient(to right,#fff,#bbb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-top:10px;transition:font-size .5s}.letter .subtitle{font-size:1rem;color:var(--neon-pink);margin-bottom:10px;transition:font-size .5s}.letter .to{align-self:flex-start;font-style:italic;color:#aaa;margin-bottom:5px;transition:font-size .5s;font-size:.9rem}.envelope-wrapper.open .envelope-flap{transform:rotateX(180deg);z-index:0;border-bottom:none;border-top:2px solid rgba(255,42,109,.2);background:#0a0d11}.envelope-wrapper.open .letter{height:auto;min-height:480px;bottom:25%;transform:translateY(0) translateZ(50px);z-index:10;box-shadow:0 30px 60px #000c,0 0 20px #05d9e84d;padding:40px 30px}.envelope-wrapper.open .click-hint{display:none}.envelope-wrapper.open{cursor:default}.envelope-wrapper.open .letter .stamp,.envelope-wrapper.open .letter .date-box,.envelope-wrapper.open .letter .message,.envelope-wrapper.open .letter #btn-start{opacity:1;pointer-events:auto;transition:opacity .8s .4s}.envelope-wrapper.open .letter h1{font-size:3rem}.envelope-wrapper.open .letter .subtitle{font-size:1.2rem}.envelope-wrapper.open .letter .to{font-size:1.1rem}.badge.inactive{opacity:.5;background:#ffffff0d;border:1px dashed rgba(255,255,255,.2);color:#888}.minibadge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;padding:2px 6px;border-radius:12px;font-weight:600;text-transform:uppercase;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.minibadge i{width:12px;height:12px}.minibadge.badge-Bouldern{color:#facc15;border-color:#facc15}.minibadge.badge-Contra-Punto{color:orange;border-color:orange}.minibadge.badge-Pink-Freud{color:var(--neon-pink);border-color:var(--neon-pink)}.minibadge.badge-Elevate{color:var(--neon-blue);border-color:var(--neon-blue)}.guests-cards li{transition:transform .2s,background .2s}.guests-cards li:hover{transform:translateY(-2px);background:#ffffff14!important}.date-box{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);display:inline-flex;flex-direction:column;padding:10px 20px;border-radius:10px;margin-bottom:20px}.date-box .day{font-size:.9rem;color:#888;text-transform:uppercase;letter-spacing:2px}.date-box .date{font-size:1.5rem;font-weight:900;color:var(--neon-blue)}.letter .message{font-size:1rem;color:#ddd;margin-bottom:25px;line-height:1.4}.stamp{position:absolute;top:15px;right:15px;border:2px dashed rgba(255,255,255,.4);color:var(--neon-yellow);padding:5px 10px;font-weight:700;font-size:.8rem;transform:rotate(15deg);text-transform:uppercase}.btn-primary{background:#ffffff0d;color:var(--text-color);border:1px solid rgba(255,255,255,.2);padding:15px 30px;font-size:1.1rem;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;justify-content:center}.btn-primary:hover{background:var(--neon-blue);color:#000;border-color:var(--neon-blue);box-shadow:0 0 20px #05d9e899;transform:scale(1.05)}.btn-submit{animation:bounce-attention 2.5s infinite}@keyframes bounce-attention{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-15px) scale(1.02);box-shadow:0 15px 25px #05d9e866}60%{transform:translateY(-7px) scale(1.01)}}.btn-primary i{width:20px;height:20px}.btn-secondary{background:transparent;color:var(--neon-blue);border:1px solid var(--neon-blue);padding:12px 25px;font-size:1rem;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;justify-content:center}.btn-secondary:hover{background:#05d9e81a;box-shadow:0 0 15px #05d9e84d}.station-card{background:var(--card-bg);border-radius:30px;overflow:hidden;display:flex;flex-direction:column;flex-wrap:wrap;margin-bottom:80px;max-width:900px;margin-left:auto;margin-right:auto;border:1px solid rgba(255,255,255,.05);box-shadow:0 20px 40px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .5s ease;opacity:0;transform:translateY(50px)}.station-card.visible{opacity:1;transform:translateY(0)}.station-card:hover{transform:translateY(-5px);box-shadow:0 30px 60px #000c,0 0 20px #ffffff0d}@media(min-width:900px){.station-card{flex-direction:row;align-items:stretch;flex-wrap:wrap}.station-card.reverse{flex-direction:row-reverse}.station-image{width:45%;min-height:400px;height:auto}.station-content{width:55%;padding:60px;position:relative}}.station-image{height:250px;background-size:cover;background-position:center;position:relative}.station-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,var(--card-bg),transparent)}.station-card.reverse .station-image:after{background:linear-gradient(to left,var(--card-bg),transparent)}@media(max-width:899px){.station-image:after,.station-card.reverse .station-image:after{background:linear-gradient(to top,var(--card-bg),transparent)}}.boulder-bg{background-image:url(/boulderclub_original.png)}.pinkfreud-bg{background-image:url(/pink_freud_bar.png)}.contrapunto-bg{background-image:url(/Pizzeria_Bar_Contra-Punto-Graz_Banner.jpg)}.elevate-bg{background-image:url(/dom_im_berg_clubbing_besser.jpg);background-position:center bottom}.station-content{padding:40px 20px;display:flex;flex-direction:column;justify-content:center}.station-content h3{font-size:2.2rem;margin-bottom:15px;color:var(--text-color)}.station-content .time,.station-content .address{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:1.1rem}.time i,.address i{width:22px;height:22px;flex-shrink:0;margin-top:3px}.station-content .time{color:var(--neon-pink);font-weight:700}.station-content .address{color:#aaa;margin-bottom:25px;line-height:1.4}.address-details{display:flex;flex-direction:column;gap:5px}.address-details strong{color:#fff;font-size:1.1rem;margin-bottom:2px}.site-link,.ticket-link{font-size:.9em;display:inline-flex;align-items:center;gap:5px}.site-link i,.ticket-link i{width:14px;height:14px;margin-top:0}.ticket-link{color:var(--neon-purple)}.station-content p{color:#ccc;font-size:1.1rem;margin-bottom:30px}.rsvp-actions{display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;width:100%;margin-top:30px;padding-bottom:30px}.rsvp-toggle{display:inline-flex;align-items:center;cursor:pointer;background:#ffffff14;padding:10px 20px;border-radius:50px;border:1px solid rgba(255,255,255,.25);width:fit-content;transition:all .3s}.rsvp-toggle:hover{background:#ffffff0d}.rsvp-toggle input{display:none}.toggle-slider{width:50px;height:26px;background-color:#222;border-radius:30px;position:relative;transition:.4s;margin-right:15px;box-shadow:inset 0 0 5px #00000080}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background-color:#888;top:4px;left:4px;transition:.4s}.rsvp-toggle input:checked+.toggle-slider{background-color:var(--neon-blue);box-shadow:0 0 15px var(--neon-blue),inset 0 0 5px #0003}.rsvp-toggle input:checked+.toggle-slider:before{transform:translate(24px);background-color:#fff;box-shadow:0 0 10px #fff}.toggle-label{font-size:1.1rem;font-weight:700;color:#ccc;transition:.3s;text-transform:uppercase;letter-spacing:1px}.rsvp-toggle input:checked~.toggle-label{color:var(--neon-blue);text-shadow:0 0 10px rgba(5,217,232,.5)}#check-contrapunto:checked+.toggle-slider{background-color:orange;box-shadow:0 0 15px orange}#check-contrapunto:checked~.toggle-label{color:orange;text-shadow:0 0 10px rgba(255,165,0,.5)}#check-pinkfreud:checked+.toggle-slider{background-color:var(--neon-pink);box-shadow:0 0 15px var(--neon-pink)}#check-pinkfreud:checked~.toggle-label{color:var(--neon-pink);text-shadow:0 0 10px rgba(255,42,109,.5)}#check-elevate:checked+.toggle-slider{background-color:var(--neon-purple);box-shadow:0 0 15px var(--neon-purple)}#check-elevate:checked~.toggle-label{color:var(--neon-purple);text-shadow:0 0 10px rgba(157,0,255,.5)}.btn-skip{background:transparent;color:#fff6;border:none;font-family:Outfit,sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;gap:5px;padding:5px 10px;transition:all .3s;border-radius:5px}.btn-skip:hover{color:#fff;background:#ffffff0d}.btn-skip i{width:16px;height:16px;transition:transform .3s}.btn-skip:hover i{transform:translateY(3px)}.rsvp-section{text-align:center}.summary-interactive-area{display:flex;flex-direction:column;gap:20px;max-width:600px;margin:0 auto 40px;text-align:left}.summary-box.single-box{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:30px;min-height:120px}.summary-divider{height:1px;background:#ffffff1a;margin:25px 0;width:100%}.summary-yes h3{color:var(--neon-blue);font-size:1.4rem;display:flex;align-items:center;gap:10px;margin-bottom:15px}.summary-no h3{color:#888;font-size:1.1rem;display:flex;align-items:center;gap:8px;margin-bottom:15px}.badges-container{display:flex;flex-wrap:wrap;gap:10px}.small-badges .badge{font-size:.85rem;padding:6px 12px}.badge{padding:8px 15px;border-radius:30px;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.badge:hover{transform:scale(1.05) translateY(-2px)}.badge i{width:18px;height:18px}.badge.active.badge-Bouldern{background:#05d9e81a;color:var(--neon-blue);border:1px solid var(--neon-blue);box-shadow:0 0 10px #05d9e84d}.badge.active.badge-Contra\.Punto{background:#ffa5001a;color:orange;border:1px solid #ffa500;box-shadow:0 0 10px #ffa5004d}.badge.active.badge-Pink\.Freud{background:#ff2a6d1a;color:var(--neon-pink);border:1px solid var(--neon-pink);box-shadow:0 0 10px #ff2a6d4d}.badge.active.badge-Elevate{background:#9d00ff1a;color:var(--neon-purple);border:1px solid var(--neon-purple);box-shadow:0 0 10px #9d00ff4d}.badge.active i.action-icon{width:16px;height:16px;margin-left:auto;opacity:.5}.badge.active:hover i.action-icon{color:#fff;opacity:1}.badge.inactive{background:#00000080;color:#666;border:1px dashed #444}.badge.inactive:hover{background:#ffffff0d;color:#aaa;border-style:solid}.badge.inactive i.action-icon{width:16px;height:16px;margin-left:auto;color:#888}.badge.inactive:hover i.action-icon{color:#fff}.empty-msg{color:#555;font-style:italic;font-size:1rem}.rsvp-form{max-width:500px;margin:0 auto;background:var(--card-bg);padding:50px;border-radius:30px;border:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 50px #00000080}.input-group{margin-bottom:30px;text-align:left}.input-group label{display:block;margin-bottom:12px;color:#aaa;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.input-group input{width:100%;padding:18px 20px;border-radius:12px;border:2px solid #333;background:#00000080;color:#fff;font-size:1.2rem;font-family:inherit;transition:all .3s}.input-group input:focus{outline:none;border-color:var(--neon-yellow);box-shadow:0 0 20px #fffb9633;background:#000c}.btn-submit{width:100%;border-color:var(--neon-pink);box-shadow:0 0 15px #ff2a6d33;justify-content:center}.feedback-msg{margin-top:20px;font-weight:700;font-size:1.1rem;min-height:25px}.feedback-msg.success{color:#0f8;text-shadow:0 0 10px #00ff88}.feedback-msg.error{color:#f33;text-shadow:0 0 10px #ff3333}.feedback-msg.info{color:#aaa}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{background:var(--card-bg);border:1px solid rgba(255,255,255,.1);padding:40px;border-radius:20px;max-width:450px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 50px #000;transform:translateY(20px);transition:transform .3s}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px;margin:10px 0}.modal-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--neon-blue)}.modal-overlay.active .modal-content{transform:translateY(0)}.btn-close{position:absolute;top:15px;right:15px;background:none;border:none;color:#fff;cursor:pointer;transition:color .3s}.btn-close:hover{color:var(--neon-pink)}.modal-content h2{color:var(--neon-blue);margin-bottom:5px;font-size:2rem}.modal-subtitle{color:#aaa;margin-bottom:30px;font-weight:700;text-transform:uppercase;letter-spacing:2px}.timeline-list{list-style:none;border-left:2px solid rgba(255,42,109,.5);padding-left:20px;margin-left:10px}.timeline-list li{position:relative;margin-bottom:30px}.timeline-list li:before{content:"";position:absolute;left:-26px;top:2px;width:10px;height:10px;border-radius:50%;background:var(--neon-pink);box-shadow:0 0 10px var(--neon-pink)}.t-time{color:var(--neon-yellow);font-weight:900;font-size:1.2rem;display:flex;align-items:center;gap:8px}.t-details strong{display:block;font-size:1.1rem;color:#fff}.t-details span{color:#aaa;font-size:.9rem}
