* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #0b0b12;
  color: white;
  font-family: Arial, sans-serif;
  padding-top:50px;
}

.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background:
    radial-gradient(circle at top left, #ff4fa3, transparent 35%),
    radial-gradient(circle at bottom right, #00d9d9, transparent 35%),
    #0b0b12;
}

.hero-content {
  padding: 30px;
}

 h1{
  font-size:5rem;
  font-weight:900;
  letter-spacing:4px;

  background:linear-gradient(90deg, #ff4fa3, #00d9d9, #ff4fa3);
  background-size:300%;

  background-clip:text;
  -webkit-background-clip:text;

  color:transparent;
  -webkit-text-fill-color:transparent;

  animation: gradientMove 6s linear infinite;
}

@keyframes gradientMove{

  from{
    background-position:0%;
  }

  to{
    background-position:300%;
  }

}

.tagline {
  font-size: 1.3rem;
  margin: 20px 0;
  color: #00d9d9;
}

.btn {
  display: inline-block;
  padding: 14px 26px;
  background: #ff4fa3;
  color: white;
  text-decoration: none;
  border-radius: 30px;
  box-shadow: 0 0 20px #ff4fa3;
}

.about {
  padding: 70px 25px;
  max-width: 800px;
  margin: auto;
  text-align: center;
}

.about h2 {
  color: #00d9d9;
  margin-bottom: 20px;
}
.profile-image{
  width:250px;
  height:250px;
  object-fit:cover;
  border-radius:50%;

  border:4px solid #ff4fa3;

  box-shadow:
    0 0 20px #ff4fa3,
    0 0 40px #ff4fa3,
    0 0 80px #ff4fa3;

  margin-bottom:30px;

  animation: pulseGlow 3s infinite;
}

@keyframes pulseGlow{

  0%{
    box-shadow:
      0 0 20px #ff4fa3,
      0 0 40px #ff4fa3;
  }

  50%{
    box-shadow:
      0 0 35px #ff4fa3,
      0 0 70px #ff4fa3,
      0 0 120px #ff4fa3;
  }

  100%{
    box-shadow:
      0 0 20px #ff4fa3,
      0 0 40px #ff4fa3;
  }
}
.particles{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:hidden;
  z-index:-1;
}

.particles span{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#00d9d9;

  box-shadow:
    0 0 10px #00d9d9,
    0 0 20px #00d9d9,
    0 0 40px #00d9d9;

  animation: floatUp 12s linear infinite;
}

.particles span:nth-child(1){
  left:10%;
  animation-delay:0s;
}

.particles span:nth-child(2){
  left:25%;
  animation-delay:2s;
}

.particles span:nth-child(3){
  left:40%;
  animation-delay:4s;
}

.particles span:nth-child(4){
  left:60%;
  animation-delay:1s;
}

.particles span:nth-child(5){
  left:80%;
  animation-delay:3s;
}

.particles span:nth-child(6){
  left:95%;
  animation-delay:5s;
}

@keyframes floatUp{
  from{
    transform:translateY(110vh);
    opacity:0;
  }

  20%{
    opacity:1;
  }

  80%{
    opacity:1;
  }

  to{
    transform:translateY(-20vh);
    opacity:0;
  }
}
.universe{
  padding:80px 30px;
  text-align:center;
}

.universe h2{
  font-size:3rem;
  margin-bottom:50px;
  color:#ff4fa3;
}

.cards{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:25px;
}
.card{
  text-decoration:none;
  color:white;
}
.card{
  width:280px;
  padding:25px;

  background:rgba(255,255,255,0.05);

  backdrop-filter:blur(10px);

  border:1px solid rgba(255,255,255,0.1);

  border-radius:20px;

  transition:0.4s;

  cursor:pointer;
}

.card:hover{

  transform:translateY(-10px);

  box-shadow:
    0 0 20px #ff4fa3,
    0 0 40px #00d9d9;
}

.card h3{
  margin-bottom:15px;
}
.universe-page{
  min-height:100vh;
  padding:80px 30px;
  text-align:center;

  background:
    radial-gradient(circle at top left, #ff4fa3, transparent 35%),
    radial-gradient(circle at bottom right, #00d9d9, transparent 35%),
    #0b0b12;
}

.universe-page h1{
  font-size:4rem;
  margin-bottom:15px;
}

.back-btn{
  margin-top:50px;
}
header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 40px;
}

nav{
    display:flex;
    justify-content:space-evenly;
    align-items:center;

    width:100%;

    padding:20px 0;

    background:rgba(255,255,255,0.03);

    backdrop-filter:blur(10px);
}

nav a{
    color:#b9b9c9;

    text-decoration:none;

    font-size:1rem;

    letter-spacing:2px;

    text-transform:uppercase;

    transition:0.3s;
}
nav a:hover{

    color:#ff4fa3;

    text-shadow:
      0 0 10px #ff4fa3,
      0 0 20px #ff4fa3;

}

.top-banner{
    animation: bannerGlow 4s ease-in-out infinite;
}

@keyframes bannerGlow{

    0%{
        box-shadow:0 0 5px #ff4fa3;
    }

    50%{
        box-shadow:
          0 0 10px #ff4fa3,
          0 0 20px #00d9d9;
    }

    100%{
        box-shadow:0 0 5px #ff4fa3;
    }
}
.top-banner{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:50px;
  overflow:hidden;
  background:rgba(0,0,0,0.85);
  z-index:9999;
  border-bottom:1px solid rgba(255,255,255,0.15);
}

.banner-track{
  display:flex;
  width:max-content;
  height:50px;
  align-items:center;
  gap:30px;
  white-space:nowrap;
  animation: bannerMove 18s linear infinite;
}

.banner-text{
  font-size:1.2rem;
  font-weight:bold;
  color:#ff4fa3;
  text-shadow:
    0 0 10px #ff4fa3,
    0 0 20px #ff4fa3;
}

@keyframes bannerMove{
  from{
    transform:translateX(100vw);
  }
  to{
    transform:translateX(-100%);
  }
}

@keyframes scrollBanner{

    from{
        transform:translateX(100%);
    }

    to{
        transform:translateX(-100%);
    }

}
.about-page{
  min-height:100vh;
  padding:80px 25px;
  text-align:center;

  background:
    radial-gradient(circle at top left, #ff4fa3, transparent 35%),
    radial-gradient(circle at bottom right, #00d9d9, transparent 35%),
    #0b0b12;
}

.about-box{
  max-width:900px;
  margin:auto;
  padding:40px;

  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:25px;

  backdrop-filter:blur(12px);

  box-shadow:
    0 0 25px rgba(255,79,163,0.25),
    0 0 50px rgba(0,217,217,0.15);
}

.about-box h1{
  font-size:4rem;
  margin-bottom:10px;
}

.about-box h2{
  color:#00d9d9;
  margin:30px 0 15px;
}

.about-box p{
  font-size:1.1rem;
  line-height:1.8;
  color:#e6e6f0;
  margin-bottom:18px;
}

.about-image{
  width:230px;
  height:230px;
  object-fit:cover;
  border-radius:50%;
  margin:30px 0;

  border:4px solid #ff4fa3;

  box-shadow:
    0 0 20px #ff4fa3,
    0 0 50px rgba(255,79,163,0.8);
}

.fun-facts{
  margin-top:35px;
}

.fact-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:15px;
  margin-top:25px;
}

.fact{
  padding:18px;
  border-radius:18px;

  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);

  color:white;

  transition:0.3s;
}

.fact:hover{
  transform:translateY(-5px);

  box-shadow:
    0 0 15px #ff4fa3,
    0 0 25px #00d9d9;
}
.about-content{
    display:flex;
    align-items:center;
    gap:40px;
    margin:40px 0;
}

.about-text{
    flex:1;
    text-align:left;
}
.about-image{
  width:150px;
  height:150px;
  border-radius:50%;
  object-fit:cover;

  border:3px solid #ff4fa3;

  box-shadow:
    0 0 10px #ff4fa3,
    0 0 20px #ff4fa3;
}
.family-page{
  min-height:100vh;
  padding:80px 25px;
  text-align:center;

  background:
    radial-gradient(circle at top left, #ff4fa3, transparent 35%),
    radial-gradient(circle at bottom right, #00d9d9, transparent 35%),
    #0b0b12;
}

.family-box{
  max-width:950px;
  margin:auto;
  padding:40px;

  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:25px;

  backdrop-filter:blur(12px);

  box-shadow:
    0 0 25px rgba(255,79,163,0.25),
    0 0 50px rgba(0,217,217,0.15);
}

.family-box h1{
  font-size:4rem;
  margin-bottom:10px;
}

.family-box h2{
  color:#00d9d9;
  margin:45px 0 20px;
}

.family-heart{
  font-size:3.5rem;
  line-height:1.6;
  margin:35px 0;

  text-shadow:
    0 0 15px #ff4fa3,
    0 0 30px #00d9d9;
}

.family-intro{
  max-width:700px;
  margin:0 auto 30px;
  font-size:1.2rem;
  line-height:1.8;
  color:#e6e6f0;
}

.chosen-family{
  max-width:650px;
  margin:35px auto;
  padding:25px;

  background:rgba(255,255,255,0.07);
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.12);

  color:white;
  font-size:1.2rem;
  line-height:1.8;
}

.values,
.stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:18px;
  margin-top:25px;
}

.value,
.stat{
  padding:20px;
  border-radius:18px;

  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);

  color:white;

  transition:0.3s;
}

.value:hover,
.stat:hover{
  transform:translateY(-5px);

  box-shadow:
    0 0 15px #ff4fa3,
    0 0 25px #00d9d9;
}

.percent{
  margin-top:10px;
  font-size:1.8rem;
  font-weight:bold;
  color:#ff4fa3;
  text-shadow:0 0 12px #ff4fa3;
}
.couple-page{
  min-height:100vh;
  padding:80px 25px;
  text-align:center;

  background:
    radial-gradient(circle at top left, #ff4fa3, transparent 35%),
    radial-gradient(circle at bottom right, #00d9d9, transparent 35%),
    #0b0b12;
}

.couple-box{
  max-width:950px;
  margin:auto;
  padding:40px;

  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:25px;

  backdrop-filter:blur(12px);

  box-shadow:
    0 0 25px rgba(255,79,163,0.25),
    0 0 50px rgba(0,217,217,0.15);
}

.couple-box h1{
  font-size:3.5rem;
  margin-bottom:10px;
}

.couple-box h2{
  color:#00d9d9;
  margin:50px 0 25px;
}

.couple-intro{
  max-width:700px;
  margin:30px auto;
  font-size:1.2rem;
  line-height:1.8;
  color:#e6e6f0;
}

.timeline{
  max-width:650px;
  margin:40px auto;
}

.timeline-card{
  padding:25px;
  border-radius:22px;
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);
  color:white;

  box-shadow:
    0 0 15px rgba(255,79,163,0.2);

  transition:0.3s;
}

.timeline-card:hover{
  transform:translateY(-5px);
  box-shadow:
    0 0 18px #ff4fa3,
    0 0 30px #00d9d9;
}

.timeline-icon{
  font-size:2.8rem;
  margin-bottom:10px;
}

.timeline-card h3{
  color:#ff4fa3;
  margin-bottom:10px;
}

.timeline-card p{
  color:#e6e6f0;
  line-height:1.6;
}

.timeline-arrow{
  font-size:2.2rem;
  color:#00d9d9;
  margin:18px 0;

  text-shadow:
    0 0 10px #00d9d9,
    0 0 20px #00d9d9;
}

.final-card{
  border:1px solid rgba(255,79,163,0.5);
}

.couple-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:18px;
  margin:25px 0 40px;
}
.gallery-page{
  min-height:100vh;
  padding:80px 25px;
  text-align:center;

  background:
    radial-gradient(circle at top left, #ff4fa3, transparent 35%),
    radial-gradient(circle at bottom right, #00d9d9, transparent 35%),
    #0b0b12;
}

.gallery-box{
  max-width:1100px;
  margin:auto;
  padding:40px;

  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:25px;

  backdrop-filter:blur(12px);

  box-shadow:
    0 0 25px rgba(255,79,163,0.25),
    0 0 50px rgba(0,217,217,0.15);
}

.gallery-box h1{
  font-size:4rem;
  margin-bottom:10px;
}

.gallery-intro{
  max-width:750px;
  margin:25px auto 40px;
  font-size:1.15rem;
  line-height:1.8;
  color:#e6e6f0;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
  gap:22px;
  margin:40px 0;
}

.gallery-card{
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:20px;
  overflow:hidden;

  transition:0.3s;
}

.gallery-card:hover{
  transform:translateY(-7px);

  box-shadow:
    0 0 18px #ff4fa3,
    0 0 30px #00d9d9;
}

.gallery-card img{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
}

.gallery-card p{
  padding:15px;
  color:white;
  font-weight:bold;
}
.music-page{
  min-height:100vh;
  padding:80px 25px;
  text-align:center;

  background:
    radial-gradient(circle at top left, #ff4fa3, transparent 35%),
    radial-gradient(circle at bottom right, #00d9d9, transparent 35%),
    #0b0b12;
}

.music-box{
  max-width:1000px;
  margin:auto;
  padding:40px;

  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:25px;

  backdrop-filter:blur(12px);

  box-shadow:
    0 0 25px rgba(255,79,163,0.25),
    0 0 50px rgba(0,217,217,0.15);
}

.music-box h1{
  font-size:4rem;
  margin-bottom:10px;
}

.music-intro{
  max-width:750px;
  margin:25px auto 40px;
  font-size:1.15rem;
  line-height:1.8;
  color:#e6e6f0;
}

.soundcloud-card{
  padding:25px;
  border-radius:22px;
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);
  margin:35px 0;

  box-shadow:
    0 0 18px rgba(255,79,163,0.25);
}

.soundcloud-card h2{
  color:#00d9d9;
  margin-bottom:20px;
}

.soundcloud-card iframe{
  border-radius:18px;
  overflow:hidden;
}

.music-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:18px;
  margin:35px 0;
}

.music-card{
  padding:22px;
  border-radius:18px;
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);
  color:white;
  transition:0.3s;
}

.music-card:hover{
  transform:translateY(-5px);
  box-shadow:
    0 0 15px #ff4fa3,
    0 0 25px #00d9d9;
}
.summer-page{
  min-height:100vh;
  padding:80px 25px;
  text-align:center;

  background:
    radial-gradient(circle at top left, #ff4fa3, transparent 35%),
    radial-gradient(circle at bottom right, #00d9d9, transparent 35%),
    #0b0b12;
}

.summer-box{
  max-width:1000px;
  margin:auto;
  padding:40px;

  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:25px;

  backdrop-filter:blur(12px);

  box-shadow:
    0 0 25px rgba(255,79,163,0.25),
    0 0 50px rgba(0,217,217,0.15);
}

.summer-box h1{
  font-size:4rem;
  margin-bottom:10px;
}

.summer-box h2{
  color:#00d9d9;
  margin:50px 0 25px;
}

.event-date{
  display:inline-block;
  margin:25px 0;
  padding:18px 30px;

  border-radius:30px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.15);

  color:#ff4fa3;
  font-size:1.5rem;
  font-weight:bold;

  box-shadow:0 0 20px rgba(255,79,163,0.35);
}

.summer-intro{
  max-width:750px;
  margin:25px auto 40px;
  font-size:1.15rem;
  line-height:1.8;
  color:#e6e6f0;
}

.dj-grid,
.info-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:18px;
  margin:25px 0 40px;
}

.dj-card,
.info-card{
  padding:22px;
  border-radius:18px;

  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);

  color:white;
  font-weight:bold;

  transition:0.3s;
}

.dj-card:hover,
.info-card:hover{
  transform:translateY(-5px);

  box-shadow:
    0 0 15px #ff4fa3,
    0 0 25px #00d9d9;
}
.countdown-box{
  margin:35px auto;
  padding:25px;
  border-radius:22px;

  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);

  box-shadow:
    0 0 18px rgba(255,79,163,0.25);
}

.countdown-box h2{
  margin-top:0;
}

.countdown{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:18px;
  margin-top:20px;
}

.countdown div{
  padding:18px;
  border-radius:18px;

  background:rgba(0,0,0,0.25);
  border:1px solid rgba(255,255,255,0.12);
}

.countdown span{
  display:block;
  font-size:2.4rem;
  font-weight:bold;
  color:#ff4fa3;
animation: pulseCountdown 2s infinite;
  text-shadow:
    0 0 10px #ff4fa3,
    0 0 20px #ff4fa3;
}

.countdown p{
  margin-top:8px;
  color:#e6e6f0;
}
@keyframes pulseCountdown{

  0%{
    transform:scale(1);
  }

  50%{
    transform:scale(1.08);
  }

  100%{
    transform:scale(1);
  }

}
.lightbox{

  display:none;

  position:fixed;

  top:0;
  left:0;

  width:100%;
  height:100%;

  background:rgba(0,0,0,0.95);

  z-index:99999;

  justify-content:center;
  align-items:center;
}

.lightbox-image{

  max-width:90%;
  max-height:90%;

  border-radius:15px;

  box-shadow:
    0 0 25px #ff4fa3,
    0 0 50px #00d9d9;
}

.close{

  position:absolute;

  top:20px;
  right:35px;

  font-size:50px;

  color:white;

  cursor:pointer;
}
.wedding-card{

  border:2px solid rgba(255,79,163,0.4);

  box-shadow:
    0 0 20px rgba(255,79,163,0.4),
    0 0 40px rgba(255,79,163,0.2);

  background:
    linear-gradient(
      135deg,
      rgba(255,79,163,0.12),
      rgba(0,217,217,0.08)
    );
}
.story-ending{

  margin-top:60px;

  padding:35px;

  border-radius:25px;

  background:rgba(255,255,255,0.05);

  border:1px solid rgba(255,255,255,0.12);

  text-align:center;

  font-size:1.3rem;

  line-height:2;

  color:white;

  box-shadow:
    0 0 20px rgba(255,79,163,0.2),
    0 0 40px rgba(0,217,217,0.1);
}

.story-ending p{

  margin:12px 0;

  text-shadow:
    0 0 10px rgba(255,79,163,0.4);
}
.hilsner-page{
  min-height:100vh;
  padding:80px 25px;
  text-align:center;

  background:
    radial-gradient(circle at top left, #ff4fa3, transparent 35%),
    radial-gradient(circle at bottom right, #00d9d9, transparent 35%),
    #0b0b12;
}

.hilsner-box{
  max-width:1000px;
  margin:auto;
  padding:40px;

  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:25px;

  backdrop-filter:blur(12px);

  box-shadow:
    0 0 25px rgba(255,79,163,0.25),
    0 0 50px rgba(0,217,217,0.15);
}

.hilsner-box h1{
  font-size:3.7rem;
  margin-bottom:10px;
}

.hilsner-box h2{
  color:#00d9d9;
  margin:45px 0 20px;
}

.hilsner-intro{
  max-width:750px;
  margin:25px auto 35px;
  font-size:1.15rem;
  line-height:1.8;
  color:#e6e6f0;
}

.guestbook-form{
  max-width:650px;
  margin:35px auto;
  padding:28px;

  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:22px;
}

.guestbook-form input,
.guestbook-form textarea{
  width:100%;
  margin-bottom:15px;
  padding:15px;

  border:none;
  border-radius:14px;

  background:rgba(0,0,0,0.35);
  color:white;

  font-size:1rem;
  outline:none;
}

.guestbook-form textarea{
  min-height:130px;
  resize:vertical;
}

.guestbook-form input::placeholder,
.guestbook-form textarea::placeholder{
  color:#b9b9c9;
}

.small-note{
  margin-top:15px;
  font-size:0.9rem;
  color:#b9b9c9;
}

.greetings{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:18px;
  margin:30px 0 40px;
}

.greeting-card{
  padding:24px;
  border-radius:20px;

  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);

  color:white;
  text-align:left;

  transition:0.3s;
}

.greeting-card:hover{
  transform:translateY(-5px);

  box-shadow:
    0 0 15px #ff4fa3,
    0 0 25px #00d9d9;
}

.greeting-card h3{
  color:#ff4fa3;
  margin-bottom:12px;
}

.greeting-card p{
  color:#e6e6f0;
  line-height:1.6;
}
.info-card{
  cursor:pointer;
}

.info-details{
  display:none;
  margin-top:15px;
  font-weight:normal;
  line-height:1.6;
  color:#e6e6f0;
}

.info-card.active .info-details{
  display:block;

.info-card.active{
  border-color:#ff4fa3;

  box-shadow:
    0 0 15px #ff4fa3,
    0 0 25px rgba(255,79,163,0.3);
}
}
.honeypot{
  display:none !important;
}
.honeypot{
  position:absolute;
  left:-9999px;
  opacity:0;
  width:1px;
  height:1px;
  overflow:hidden;
}
input.honeypot{
  display:none !important;
  visibility:hidden !important;
  position:absolute !important;
  left:-9999px !important;
}