* {
  margin: 0;
  padding: 0;
}

:root{
  --brand:#8b5cf6; /* purple accent */
  --accent:#f97316; /* warm accent */
  --muted:#6b7280;
  --bg:#fafafa;
  --max-width:1100px;
}

header {
  width: 100%;
  height: 100%;
  position: relative;
}

body{background:var(--bg);color:#1f2937;font-family:"Open Sans",system-ui,Segoe UI,Arial}

/* NAVBAR */
.site-nav{position:sticky;top:0;z-index:999;background:rgba(255,255,255,0.9);backdrop-filter:blur(6px);box-shadow:0 2px 8px rgba(16,24,40,0.06)}
.site-nav .nav-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:16px}
.site-nav .nav-logo img{height:44px}
.site-nav .nav-links{list-style:none;display:flex;gap:12px;align-items:center}
.site-nav .nav-links a{color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:8px;font-weight:600}
.site-nav .nav-links a:hover{background:linear-gradient(90deg,rgba(139,92,246,0.08),rgba(249,115,22,0.06));color:var(--brand)}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:700}
.btn-primary{background:linear-gradient(90deg,var(--brand),#7c3aed);color:white}
.btn-secondary{background:transparent;border:2px solid rgba(16,24,40,0.06);color:var(--muted)}
 .btn-ghost{background:transparent;border:1px dashed rgba(255,255,255,0.35);color:#fff}

/* skip link */
.skip-link{position:absolute;left:8px;top:8px;background:#111;color:#fff;padding:8px 12px;border-radius:6px;z-index:1000;transform:translateY(-120%);transition:transform .18s}
.skip-link:focus{transform:translateY(0)}

/* nav toggle */
.nav-toggle{display:none;background:transparent;border:0;font-size:20px}
.nav-toggle:focus{outline:2px solid var(--brand);border-radius:6px}


header .text-container {
  position: absolute;
  top: 40%;
  left: 0;
  width: 100%;
  z-index: 10;
}

.hero-content{max-width:var(--max-width);margin:0 auto;}
.hero-sub{opacity:0.95;margin:12px 0 18px;color:#f3f4f6}
.countdown{display:flex;gap:12px;justify-content:center;margin-top:12px}
.countdown{display:flex;gap:18px;justify-content:center;margin-top:24px;padding:18px;border-radius:14px;background:linear-gradient(90deg,rgba(139,92,246,0.12),rgba(249,115,22,0.06));box-shadow:0 12px 30px rgba(15,23,42,0.08);align-items:center;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.countdown::-webkit-scrollbar{height:8px}
.countdown::-webkit-scrollbar-thumb{background:rgba(15,23,42,0.12);border-radius:6px}
.countdown div{background:rgba(255,255,255,0.96);padding:14px 16px;border-radius:12px;text-align:center;min-width:72px}
.countdown span{display:block;font-weight:800;font-size:26px;color:#0f172a}
.countdown small{display:block;color:var(--muted);font-size:11px}

.countdown-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0}
.countdown-cta p{margin:0 0 8px 0}
.countdown-cta .btn{padding:10px 18px}

/* subtle pulse when under 48 hours */
.countdown.pulse{animation:pulse 1.6s infinite}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}100%{transform:scale(1)}}
.hero-ctas{display:flex;gap:12px;justify-content:center}

ol > li,
ul > li,
.text {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  padding: 10px 20px;
}

.text .tamil {
  font-family: "Baloo Thambi 2", system-ui;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}

.center {
  text-align: center;
}
li {
  margin: 0;
}
ol > li,
ul > li {
  font-size: 12px;
  line-height: 12px;
}
.font-small {
  font-size: 14px;
}

.font-medium {
  font-size: 20px;
}

.font-large {
  font-size: 28px;
}

.font-vlarge {
  font-size: 40px;
}


.text.small-lh {
  line-height: 14px;
}

.text.med-lh {
  line-height: 20px;
}

.text.large-lh {
  line-height: 28px;
}


.text.vlarge-lh {
  line-height: 40px;
}

.text.font-white {
  color: #ffffff;
}

header .dotted-black-overlay {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.2);
  background-image: radial-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 0);
  background-size: 15px 15px;
  background-position: -19px -19px;
  /* opacity: 0.2; */
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: right;
  align-items: center;
}

.scroll {
	width: 35px;
	height: 35px;
  margin: 50px auto;
	border: 2px solid #fff;
	border-radius: 50%;
	position: relative;
	animation: down 1.5s infinite;
	-webkit-animation: down 1.5s infinite;
  opacity: 1;

}
.scroll::before{content:'';position:absolute;top:8px;left:10px;width:12px;height:12px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}

@keyframes down {
	0% {
		transform: translate(0);
	}
	20% {
		transform: translateY(15px);
	}
	40% {
		transform: translate(0);
	}
}

@-webkit-keyframes down {
	0% {
		transform: translate(0);
	}
	20% {
		transform: translateY(15px);
	}
	40% {
		transform: translate(0);
	}
}


header .images-container {
  width: 100%;
  height: 90vh;
  display: flex;
  flex-direction: row;
  position: relative;
}

header .images-container .timer {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 0;
  height: 5px;
  background-color: rgba(0, 0, 0, 0.6);
  animation: run-timer 6400ms ease infinite forwards;
  animation-delay: 100ms;
}

@keyframes run-timer {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

.image {
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center;
  width: 0;
  min-width: 0;
  height: 90vh;
  opacity: 0;
}

.image.active {
  opacity: 1;
  width: 100%;
  min-width: 100%;
}

.image-one {
  background-image: url("./assets/pongal27.png");
}
.image-two {
  background-image: url("./assets/Pongal26.jpeg");
}


header .logo-container {
  width: 100%;
  height: 10vh;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background-color: #fafafa;
  position: relative;
}

header .logo-container img.logo {
  position: absolute;
  position: absolute;
  top: -20%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: auto;
  width: 500px;
}

@media only screen and (max-width: 750px) {
  .image-one {
    background-position-x: 80%;
    
  }
    .image-two {
    background-position-x: 100%;
    
  }
  header .logo-container img.logo {
    width: 400px;
  }
}

.text-shadow {
  text-shadow: 0px 2px 2px rgba(255, 255, 255, 0.4);
}

.main-container, .pricing-plans {margin: 120px auto;width:100%;height:auto}
.pricing-plans.second-table{margin-top:-90px}

/* SECTION LAYOUT */
.section{padding:10px 20px}
.container{max-width:var(--max-width);margin:0 auto}
.about-section h2{font-size:28px;margin-bottom:8px}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.feature-card{background:white;padding:18px;border-radius:12px;box-shadow:0 6px 18px rgba(16,24,40,0.06);text-align:center}
.feature-emoji{font-size:28px}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.gallery-item{width:100%;height:180px;object-fit:cover;border-radius:10px;cursor:pointer;box-shadow:0 8px 18px rgba(16,24,40,0.06)}

/* Lightbox */
#lightbox{position:fixed;inset:0;background:rgba(2,6,23,0.8);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
#lightbox.open{opacity:1;pointer-events:auto}
#lightbox .lb-inner{position:relative;max-width:90%;max-height:90%}
#lightbox img{max-width:100%;max-height:80vh;border-radius:8px}
#lb-close{position:absolute;right:-6px;top:-22px;background:#fff;border-radius:6px;border:0;padding:6px}

/* Newsletter modal */
#newsletter-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(2,6,23,0.5);opacity:0;pointer-events:none;transition:opacity .18s}
#newsletter-modal.open{opacity:1;pointer-events:auto}
#newsletter-modal .nm-inner{background:white;padding:20px;border-radius:12px;max-width:420px;width:90%;text-align:center;box-shadow:0 12px 40px rgba(2,6,23,0.2)}
#nm-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:18px}
#nm-form{display:flex;gap:8px;margin-top:12px}
#nm-form input[type=email]{flex:1;padding:10px;border-radius:8px;border:1px solid #e5e7eb}


/* PRICING & TICKETS */
.pricing-plans{max-width:1000px;margin:30px auto}

/* TERMS */
.terms-and-conds-section{background:#fff;padding:18px;border-radius:12px;box-shadow:0 6px 18px rgba(16,24,40,0.04);max-width:900px;margin:30px auto}

/* FAQ */
.faq-section details{background:#fff;padding:12px;border-radius:8px;margin:12px 0;box-shadow:0 6px 14px rgba(16,24,40,0.04)}
.faq-section summary{cursor:pointer;font-weight:700}

/* CONTACT */
.contact-section .socials a{color:var(--brand);text-decoration:none;font-weight:700}

/* BACK TO TOP */
#back-to-top{position:fixed;right:18px;bottom:18px;background:var(--brand);color:#fff;border:0;padding:10px 12px;border-radius:10px;box-shadow:0 6px 18px rgba(16,24,40,0.12);cursor:pointer;display:none}



.divider {
  display: flex;
  justify-content: center;
  align-items: center;
}

footer {
  background-color: #eee;
  width: max-content;
  border-top-right-radius: 100px;
  padding: 10px 40px 10px 10px !important;
}
.powered-by-section {
  margin-top: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.partner-card {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.powered-by-section > div > p {
  text-align: center;
  font-size: 10px;
  font-weight: 700;
}
.powered-by-logo {
  width: 70px;
  height: auto;
  margin: 0 10px;
}
.powered-by-logo-ht {
  height: 70px;
  width: auto;
}
.terms-and-conds-section {
  margin-top: 50px;
}
.terms-and-conds-section .terms-heading{
  font-weight: 700;
}
.terms-and-conds-section .terms-text {
  max-width: 600px;
  margin: 0 auto;
}
.maps-iframe {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px auto;
}
.liquid-container {
  max-width: 900px;
  margin: 0 auto;
}
#read-more-less-btn {
  background-color: #eee;
  border: 0;
  border-radius: 20px;
  cursor: pointer;
}
.sponsors-section {display:flex;justify-content:center;gap:12px}

@media (max-width:900px){
  .features-grid{grid-template-columns:repeat(1,1fr)}
  .site-nav .nav-links{display:none}
  .nav-toggle{display:block}
  .site-nav .nav-inner{gap:8px}
  header .logo-container img.logo{width:320px;top:-10%}
  .hero-sub{font-size:15px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .countdown{gap:12px;padding:12px}
  .countdown div{padding:12px}
}

/* Mobile responsive countdown rules */
@media (max-width:600px){
  .countdown{gap:12px;padding:10px}
  .countdown div{min-width:68px;padding:10px;border-radius:10px}
  .countdown span{font-size:20px}
  .countdown small{font-size:11px}
  .countdown-wrapper{margin:16px 0}
  .countdown-cta .btn{width:160px}
}

@media (max-width:380px){
  .countdown{gap:10px;padding:8px}
  .countdown div{min-width:64px;padding:8px}
  .countdown span{font-size:18px}
  .countdown small{font-size:10px}
  .countdown-cta .btn{width:100%}
}

@media (max-width: 768px) {
  .desktop-br {
    display: none;
  }
}