*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
    margin:0;
    padding:0;
    min-height:100vh;
    overflow-x:hidden;
    overflow-y:auto;

    font-family:'Cinzel', serif;
    color:white;

    background:
      radial-gradient(circle at top, rgba(255,215,0,0.18), transparent 35%),
      radial-gradient(circle at bottom, rgba(255,140,0,0.10), transparent 45%),
      linear-gradient(180deg,
        #030712 0%,
        #071b4d 35%,
        #0b214f 70%,
        #020202 100%);
}

.page{
  position:absolute;
  inset:0;

  width:100%;
  min-height:100vh;

  padding:30px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  opacity:0;
  visibility:hidden;

  transform:scale(1.05);
  filter:blur(10px);

  transition:
    opacity 1.2s ease,
    transform 1.2s ease,
    filter 1.2s ease;


    overflow-y:auto;
    overflow-x:hidden;
}

.page.active{
  opacity:1;
  visibility:visible;

  transform:scale(1);
  filter:blur(0);
}

.main-title{
    font-size:80px;
    color:#f7d26a;
    text-shadow:
        0 0 10px #ffcc00,
        0 0 20px #ffcc00,
        0 0 40px #ff9900;

    letter-spacing:4px;
    font-weight:700;
}


.sub-title{
  font-family:'Great Vibes', cursive;
  font-size:40px;
  color:#ffd66b;
  margin-bottom:40px;
}

/* PAGE 1 */

.door-container{
    position:relative;

    width:420px;
    max-width:90vw;

    margin:auto;

    display:flex;
    justify-content:center;
    align-items:center;
}

.door-image{
  width:100%;
  max-height:80vh;

  object-fit:contain;

  border-radius:20px;

  box-shadow:0 0 40px rgba(255,215,0,0.5);
}

@keyframes doorGlow{
  0%{
    box-shadow:0 0 25px rgba(255,215,0,0.25);
  }

  50%{
    box-shadow:0 0 55px rgba(255,215,0,0.65);
  }

  100%{
    box-shadow:0 0 25px rgba(255,215,0,0.25);
  }
}

.bell{
  position:absolute;
  width:120px;
  top:20px;
  left:50%;
  transform:translateX(-50%);
  cursor:pointer;
  transition:0.3s;
  animation:swing 2s infinite;
}

.bell.clicked{
  animation:
    bellRing 0.8s ease,
    glowPulse 1.2s ease;
}

@keyframes bellRing{
  0%{transform:translateX(-50%) rotate(0deg) scale(1);}
  20%{transform:translateX(-50%) rotate(15deg) scale(1.1);}
  40%{transform:translateX(-50%) rotate(-15deg) scale(1.1);}
  60%{transform:translateX(-50%) rotate(10deg) scale(1.05);}
  80%{transform:translateX(-50%) rotate(-10deg);}
  100%{transform:translateX(-50%) rotate(0deg);}
}

@keyframes glowPulse{
  0%{
    filter:drop-shadow(0 0 0px gold);
  }

  50%{
    filter:drop-shadow(0 0 30px gold);
  }

  100%{
    filter:drop-shadow(0 0 0px gold);
  }
}

.tap-text{
    position:absolute;
    left:50%;
    top:145px;
    transform:translateX(-50%);

    width:max-content;
    z-index:999;

    color:#FFD700 !important;

    font-family:'Cinzel', serif;
    font-size:28px;
    font-weight:bold;
    letter-spacing:2px;

    white-space:nowrap;

    text-shadow:
        0 0 8px #FFD700,
        0 0 15px #FFCC00,
        0 0 25px #FF9900;
}


@keyframes glow{
  0%{opacity:0.6;}
  50%{opacity:1;}
  100%{opacity:0.6;}
}

@keyframes swing{
  0%{transform:translateX(-50%) rotate(0deg);}
  25%{transform:translateX(-50%) rotate(8deg);}
  50%{transform:translateX(-50%) rotate(0deg);}
  75%{transform:translateX(-50%) rotate(-8deg);}
  100%{transform:translateX(-50%) rotate(0deg);}
}

/* PAGE 2 */

.namaste-card{
  .namaste-img{
    width:100%;
    height:80vh;
    object-fit:cover;
    border-radius:20px;
    box-shadow:0 0 40px rgba(255,215,0,0.5);
}
}

.namaste-img{
  width:100%;
  border-radius:20px;
  box-shadow:0 0 40px rgba(255,215,0,0.5);
}

.namaste-overlay{
    position:absolute;
    bottom:30px;

    left:0;
    right:0;

    width:100%;
    text-align:center;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.namaste-overlay h1,
.namaste-overlay p,
.namaste-overlay button{
  animation:fadeUp 1.5s ease;
}

@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(40px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

.namaste-overlay h1{
  font-size:50px;
  color:#ffe18a;
}

.namaste-overlay p{
  font-size:28px;
  margin-bottom:20px;
}

.namaste-overlay button{
  padding:16px 38px;

  border:none;
  border-radius:50px;

  background:
    linear-gradient(
      135deg,
      #ffd700,
      #ffb300,
      #ff8800
    );

  color:#111;

  font-family:'Cinzel', serif;
  font-size:20px;
  font-weight:700;
  letter-spacing:2px;

  cursor:pointer;

  transition:0.4s ease;

  box-shadow:
    0 0 20px rgba(255,215,0,0.4),
    0 0 40px rgba(255,140,0,0.25);

  text-transform:uppercase;
}

.namaste-overlay button:hover{
  transform:scale(1.08);

  box-shadow:
    0 0 30px rgba(255,215,0,0.7),
    0 0 60px rgba(255,140,0,0.4);
}

/* PAGE 3 */

.navbar{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px;
  border-bottom:1px solid rgba(255,255,255,0.2);
}

.navbar ul{
  display:flex;
  list-style:none;
  gap:30px;
}

.logo{
  color:#f7d26a;
  font-weight:bold;
}

.contact-page{
  width:100%;
  text-align:center;
  margin-top:40px;
}

.contact-page h1{
  color:#f7d26a;
  font-size:55px;
}

.desc{
  margin:20px 0 40px;
}

.cards{
  display:flex;
  gap:30px;
  justify-content:center;
  flex-wrap:wrap;
}

.card{
  width:450px;
  padding:30px;
  border:1px solid rgba(255,255,255,0.2);
  border-radius:20px;
  background:rgba(255,255,255,0.05);
  box-shadow:0 0 20px rgba(255,215,0,0.2);
}

.card h2{
  color:#f7d26a;
  margin-bottom:30px;
}

.info-box{
  padding:20px;
  margin-bottom:20px;
  border-radius:15px;
  background:rgba(255,255,255,0.05);
}

.info-box p,
.info-box a{
  text-transform:none !important;
  font-variant:normal !important;
}

.info-box a{
  color:#ffd86d;

  text-decoration:none;

  font-family:'Trebuchet MS', sans-serif;

  font-size:20px;

  letter-spacing:1px;

  text-transform:none !important;

  font-variant:normal !important;

  text-shadow:
    0 0 8px rgba(255,215,0,0.5),
    0 0 15px rgba(255,140,0,0.3);

  transition:0.3s ease;
}

;

.info-box a:hover{
  color:#fff3c4;

  text-shadow:
    0 0 12px rgba(255,215,0,0.9),
    0 0 25px rgba(255,140,0,0.6);
}

.social{
  display:block;
  padding:18px;
  margin-bottom:20px;
  border-radius:15px;
  color:white;
  text-decoration:none;
  font-weight:bold;
}

.instagram{
  background:linear-gradient(to right,#ff9a3c,#ff2ebc);
}

.facebook{
  background:linear-gradient(to right,#00c6ff,#0072ff);
}

.email{
  background:linear-gradient(to right,#ff512f,#dd2476);
}

.bottom-features{
  margin-top:40px;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:30px;
  color:#f7d26a;
}

/* MOBILE */

@media(max-width:768px){

  .cards{
  flex-direction:column;
  align-items:center;
}

.card{
  width:95%;
  padding:20px;
}

.info-box{
  width:100%;
}

.info-box a{
  font-size:16px;
  word-break:break-word;
}

.social{
  font-size:16px;
}

.bottom-features{
  margin-top:20px;
}

.signature{
  font-size:22px;
  padding:0 15px;
  line-height:1.4;
}

  .main-title{
    font-size:45px;
  }

  .sub-title{
    font-size:28px;
  }

  .tap-text{
    top:120px;
    font-size:20px;
  }

  .bell{
    width:80px;
  }

  .navbar{
    flex-direction:column;
    gap:20px;
  }

  .navbar ul{
    flex-wrap:wrap;
    justify-content:center;
  }

  .contact-page h1{
    font-size:35px;
  }

  /* ADD THIS */

  .signature{
    font-size:26px;
    text-align:center;
    padding:0 20px;
    line-height:1.5;
  }

}