 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
}
 body {
     font-family: 'Roboto', sans-serif;
     line-height: 1.6;
     color: #333;
     background: #f4f4f4;
     overflow-x: hidden;
}
 h1, h2, h3 {
     font-family: 'Playfair Display', serif;
}
/* Header  */
 header {
     position: relative;
     height: 100vh;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     text-align: center;
     color: #fff;
     overflow: hidden;
     background: linear-gradient(to bottom, #001f3f, #000033);
     perspective: 1px;
}
 #particles-js {
     position: absolute;
     width: 100%;
     height: 100%;
     top: 0;
     left: 0;
     z-index: 0;
     transform: translateZ(-1px) scale(2);
}
 .hero-content {
     z-index: 1;
     animation: fadeInUp 1.5s ease-out;
     max-width: 900px;
     padding: 0 2em;
}
 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(50px);
    }
     to {
         opacity: 1;
         transform: translateY(0);
    }
}
 header h1 {
     font-size: 5em;
     margin-bottom: 0.3em;
     text-shadow: 3px 3px 6px rgba(0,0,0,0.6);
     animation: glow 2s infinite alternate;
}
 @keyframes glow {
     from {
         text-shadow: 3px 3px 6px rgba(0,0,0,0.6);
    }
     to {
         text-shadow: 3px 3px 12px rgba(255,215,0,0.8);
    }
}
 header p {
     font-size: 2em;
     text-shadow: 1px 1px 4px rgba(0,0,0,0.5);
}
 .hero-verse {
     font-style: italic;
     font-size: 1.6em;
     margin-top: 1.5em;
     animation: fadeIn 2s ease-in-out 0.5s both;
}
 .hero-reflection {
     font-size: 1.4em;
     margin-top: 1em;
     animation: fadeIn 2s ease-in-out 1s both;
}
 .center {
     text-align: center;
}
 .cross {
     font-size: 1.2em;
     color: #FFD700;
}
/* Navigation with hamburger on mobile */
 nav {
     background: linear-gradient(to bottom, #16213e, #0f3460);
     padding: 1em;
     top: 0;
     z-index: 10;
     box-shadow: 0 2px 10px rgba(0,0,0,0.3);
     padding-bottom: 5vh;
}
 nav ul {
     list-style: none;
     display: flex;
     justify-content: center;
}
 nav li {
     margin: 0 2em;
}
 nav a {
     color: #fff;
     text-decoration: none;
     font-weight: bold;
     transition: color 0.3s, transform 0.3s;
     position: relative;
}
 nav a::after {
     content: '';
     position: absolute;
     width: 0;
     height: 2px;
     bottom: -5px;
     left: 0;
     background: #FFD700;
     transition: width 0.3s;
}
 nav a:hover::after, nav a.active::after {
     width: 100%;
}
 nav a:hover {
     color: #FFD700;
     transform: translateY(-2px);
}
 nav a.active {
     color: #FFD700;
}



 @media (max-width: 768px) {
     nav ul {
        display: grid;
        grid-template-columns: auto auto auto;
        gap: 20px;
     }


}
/* Sections */
 section {
     padding: 5em 2em;
     max-width: 1200px;
     margin: 0 auto;
     opacity: 0;
     transform: translateY(50px);
     transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
 section.visible {
     opacity: 1;
     transform: translateY(0);
     margin-top: 4px;
}
 #about, #insights {
     background: #fff;
     border-radius: 12px;
     box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
 h2 {
     text-align: center;
     margin-bottom: 2em;
     font-size: 3em;
     color: #001f3f;
     position: relative;
}
 h2::after {
     content: '';
     width: 100px;
     height: 3px;
     background: #FFD700;
     position: absolute;
     bottom: -10px;
     left: 50%;
     transform: translateX(-50%);
}
/* Quotes */
 #quote-rotator {
     text-align: center;
     margin-top: 3em;
     font-style: italic;
     color: #555;
     font-size: 1.4em;
     transition: opacity 0.5s ease;
}
/* CTA buttons */
 .cta-buttons {
     text-align: center;
     margin-top: 3em;
}
 .cta-buttons a {
     background: linear-gradient(to bottom, #16213e, #0f3460);
     color: #fff;
     padding: 1.2em 2.5em;
     margin: 1em;
     border-radius: 50px;
     text-decoration: none;
     font-weight: bold;
     transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
     display: inline-block;
     box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
 .cta-buttons a:hover {
     background: #FFD700;
     color: #001f3f;
     transform: translateY(-5px);
     box-shadow: 0 8px 20px rgba(255,215,0,0.4);
}
/* Insights */
 .insights-carousel {
     position: relative;
     overflow: hidden;
}
 .insights-slides {
     display: flex;
     transition: transform 0.5s ease;
}
 .insights-slide {
     min-width: 100%;
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
     gap: 2.5em;
}
 .insight {
     background: #f9f9f9;
     padding: 2em;
     border-radius: 16px;
     box-shadow: 0 6px 15px rgba(0,0,0,0.1);
     transition: transform 0.3s, box-shadow 0.3s;
     cursor: pointer;
}
 .insight:hover {
     transform: translateY(-10px);
     box-shadow: 0 12px 30px rgba(0,0,0,0.2);
}
 .insight h4 {
     color: #001f3f;
     margin-bottom: 0.8em;
}
 .insight p {
     font-style: italic;
}
 .insight small {
     display: block;
     margin-top: 1.5em;
     color: #666;
}
 .carousel-nav {
     text-align: center;
     margin-top: 2em;
}
 .carousel-nav button {
     background: linear-gradient(to bottom, #16213e, #0f3460);
     color: #fff;
     border: none;
     padding: 0.5em 1em;
     margin: 0 0.5em;
     border-radius: 50px;
     cursor: pointer;
     transition: background 0.3s;
     margin-bottom: 4px;
}
 .carousel-nav button:hover {
     background: #FFD700;
     color: #001f3f;
}
 .carousel-dots {
     display: flex;
     justify-content: center;
     margin-top: 1em;
}
 .dot {
     width: 10px;
     height: 10px;
     background: #ccc;
     border-radius: 50%;
     margin: 0 0.5em;
     cursor: pointer;
     transition: background 0.3s;
}
 .dot.active {
     background: #001f3f;
}

 @media (max-width: 768px) {
     .insights-slide {
         grid-template-columns: 1fr;
    }
     .insight {
         animation: bob 3s infinite ease-in-out alternate;
    }
     @keyframes bob {
         from {
             transform: translateY(0);
        }
         to {
             transform: translateY(10px);
        }
    }
}
 #signup {
     background-color: #0f3460;
     text-align: center;
     border-radius: 12px;
     height: 100%;
}
 #signup h2 {
     color: #f1f5f9;
}
 .pull{
     margin-bottom: -4vh;
}
 input {
     width: 100%;
     padding: 1.2em;
     margin-bottom: 1.5em;
     border: 2px solid #ccc;
     border-radius: 50px;
     transition: border 0.3s, box-shadow 0.3s;
}
 input:focus {
     border-color: #FFD700;
     box-shadow: 0 0 10px rgba(255,215,0,0.5);
}
 button {
     background: linear-gradient(to bottom, #16213e, #0f3460);
     color: #fff;
     padding: 1.2em;
     border: none;
     cursor: pointer;
     width: 100%;
     border-radius: 50px;
     transition: background 0.3s, transform 0.3s;
     box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
 button:hover {
     background: #FFD700;
     color: #001f3f;
     transform: translateY(-3px);
}
/* Back to top button */
 #back-to-top {
     position: fixed;
     bottom: 2em;
     right: 2em;
     background: #001f3f;
     color: #fff;
     padding: 1em;
     border-radius: 50%;
     display: none;
     cursor: pointer;
     transition: opacity 0.3s, transform 0.3s;
     box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
 #back-to-top:hover {
     transform: scale(1.1);
}

 @media (max-width: 768px) {
     header h1 {
         font-size: 3.5em;
    }
     header p {
         font-size: 1.6em;
    }
}
