/* LED Robot Final Premium (Luxury) */
:root{
  --bg:#0b0f14;
  --panel:#0f1621;
  --text:#e9eef6;
  --muted:#a8b3c4;
  --line:rgba(255,255,255,.10);
  --radius:18px;
  --shadow: 0 18px 50px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 700px at 20% 10%, rgba(120,255,255,.08), transparent 60%),
              radial-gradient(900px 600px at 90% 30%, rgba(255,120,255,.06), transparent 55%),
              var(--bg);
  color:var(--text);
  line-height:1.55;
}
a{color:inherit}
img{max-width:100%; display:block}
.container{width:min(1140px, 92vw); margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(11,15,20,.55);
  border-bottom:1px solid var(--line);
}
.header__inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand__mark{
  width:14px;height:14px;border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(120,255,255,.45) 35%, rgba(0,0,0,0) 70%);
  box-shadow: 0 0 22px rgba(120,255,255,.35);
}
.brand__text{font-weight:600; letter-spacing:.2px}
.nav__menu{display:flex; align-items:center; gap:18px}
.nav__menu a{text-decoration:none; color:var(--muted); font-weight:500}
.nav__menu a:hover{color:var(--text)}
.nav__toggle{
  display:none; border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color:var(--text); border-radius:12px; padding:10px 10px;
}
.nav__toggleLines{display:block;width:18px;height:12px;position:relative}
.nav__toggleLines::before,.nav__toggleLines::after{
  content:"";position:absolute;left:0;right:0;height:2px;background:var(--text);border-radius:2px
}
.nav__toggleLines::before{top:0}
.nav__toggleLines::after{bottom:0}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 18px; border-radius:14px; text-decoration:none;
  font-weight:600; letter-spacing:.15px;
  border:1px solid rgba(120,255,255,.22);
  background: radial-gradient(120px 80px at 30% 20%, rgba(255,255,255,.15), transparent 60%),
              linear-gradient(135deg, rgba(120,255,255,.20), rgba(255,120,255,.12));
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.btn:hover{transform: translateY(-1px)}
.btn--ghost{border:1px solid var(--line); background: rgba(255,255,255,.04)}
.btn--sm{padding:10px 14px; border-radius:12px}

.hero{
  position:relative;
  min-height: calc(100svh - 64px);
  display:flex; align-items:center;
  overflow:hidden;
  padding: clamp(64px, 10vh, 110px) 0 54px;
}
.heroMedia{
  position:absolute; inset:0;
  background-image: url("../img/hero.jpg");
  background-image: -webkit-image-set(url("../img/hero.webp") type("image/webp"), url("../img/hero.jpg") type("image/jpeg"));
  background-image: image-set(url("../img/hero.webp") type("image/webp"), url("../img/hero.jpg") type("image/jpeg"));
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
.heroVideo{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  opacity:.92;
}
.heroOverlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(11,15,20,.80) 0%, rgba(11,15,20,.40) 42%, rgba(11,15,20,.50) 100%),
    radial-gradient(1000px 600px at 25% 30%, rgba(120,255,255,.10), transparent 60%),
    radial-gradient(900px 600px at 75% 25%, rgba(255,120,255,.08), transparent 60%);
}
.hero__inner{position:relative}
.kicker{
  color:rgba(233,238,246,.78);
  font-weight:500; letter-spacing:.12em; text-transform:uppercase;
  font-size:.78rem;
}
h1{font-size: clamp(2.2rem, 4.4vw, 3.8rem); line-height:1.04; margin:10px 0 10px}
.tagline{font-size: clamp(1.05rem, 1.35vw, 1.25rem); color: rgba(233,238,246,.88); max-width: 68ch; margin:0}

/* Hide hero title & tagline on landing (requested) */
.hero__inner h1:not(.hero__h1), .hero__inner .tagline{
  display:none !important;
}


/* Hero cleanup (requested): remove hero text */
.kicker, .hero h1:not(.hero__h1), .tagline{display:none !important}
.cta{display:flex; gap:12px; flex-wrap:wrap; margin:0; padding-top: clamp(18vh, 22vh, 28vh)}
.trust{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px 14px;color:rgba(233,238,246,.75);font-weight:500}
.trust li{border:1px solid var(--line);background: rgba(255,255,255,.03);padding:8px 10px;border-radius:999px}
.heroCard{
  margin-top:22px; border:1px solid var(--line);
  background: rgba(15,22,33,.65);
  border-radius: var(--radius); box-shadow: var(--shadow);
  padding:16px; display:flex; gap:14px; justify-content:space-between; flex-wrap:wrap;
}
.heroCard__text{margin:6px 0 0; color:var(--muted)}
.miniLink{display:block;color: rgba(233,238,246,.92);text-decoration:none;margin:4px 0}
.miniLink:hover{text-decoration:underline}

.section{padding:62px 0}
.section--alt{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
h2{font-size: clamp(1.6rem, 2.6vw, 2.25rem); margin:0 0 6px; line-height:1.12}
.sectionHead{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:22px}
.sectionHead p{margin:0;color:var(--muted);max-width:72ch}
.grid2{display:grid;grid-template-columns: 1.2fr .8fr;gap:22px}
.card{border:1px solid var(--line);background: rgba(15,22,33,.60);border-radius: var(--radius);padding:18px;box-shadow: var(--shadow)}
.check{margin:10px 0 0; padding-left:18px}
.check li{margin:8px 0; color:rgba(233,238,246,.90)}

.gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.tile{
  border:1px solid var(--line);
  background: rgba(255,255,255,.02);
  border-radius: 16px;
  overflow:hidden;
  cursor:pointer;
}
.tile img{width:100%; aspect-ratio: 4/3; object-fit:cover; transition: transform .25s ease}
.tile:hover img{transform: scale(1.02)}

.reels{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
}
.reelCard{
  border:1px solid var(--line);
  background: rgba(15,22,33,.55);
  border-radius: var(--radius);
  overflow:hidden;
  text-decoration:none;
  box-shadow: var(--shadow);
}
.reelCard__media{position:relative}
.reelCard__media img{width:100%; aspect-ratio: 4/3; object-fit:cover}
.play{
  position:absolute; inset:0; display:grid; place-items:center;
}
.play span{
  width:56px;height:56px;border-radius:999px;
  background: rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.22);
  display:grid; place-items:center;
  box-shadow: 0 12px 35px rgba(0,0,0,.35);
}
.play span::before{
  content:"";
  display:block;
  width:0;height:0;
  border-left: 14px solid rgba(233,238,246,.95);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  margin-left:3px;
}
.reelCard__body{padding:14px 14px 16px}
.reelCard__title{margin:0 0 6px; font-weight:700}
.reelCard__sub{margin:0; color:var(--muted)}

.reviews{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.reviewTile{border:1px solid var(--line); background: rgba(255,255,255,.02); border-radius:16px; overflow:hidden; cursor:pointer}
.reviewTile img{width:100%; aspect-ratio: 4/3; object-fit:cover}

.contactWrap{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:start;
}
.contactImg{
  border:1px solid var(--line);
  border-radius: var(--radius);
  overflow:hidden;
  background: rgba(255,255,255,.02);
}
.contactImg img{width:100%; height:auto}
.form label{display:block;font-weight:600;color: rgba(233,238,246,.92);margin:12px 0 0}
.form input,.form select,.form textarea{
  width:100%; margin-top:6px; border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  color: var(--text);
  padding:12px; outline:none;
}
.form input:focus,.form select:focus,.form textarea:focus{
  border-color: rgba(120,255,255,.35);
  box-shadow: 0 0 0 4px rgba(120,255,255,.10);
}
.formNote{color:var(--muted);font-size:.92rem;margin:12px 0 0}

.footer{border-top:1px solid rgba(255,255,255,.06);padding:22px 0 34px;color: var(--muted)}
.footer__inner{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footer__small a{color: rgba(233,238,246,.85)}

.lightbox{
  position:fixed; inset:0; z-index:200;
  background: rgba(0,0,0,.85);
  display:none;
  place-items:center;
  padding: 4vh 4vw;
}
.lightbox.is-open{display:grid}
.lightbox img{
  max-width: min(1100px, 92vw);
  max-height: 90vh;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
}
.lightboxClose{
  position:fixed; top:14px; right:14px;
  width:44px; height:44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: var(--text);
  cursor:pointer;
}
.lightboxClose:hover{background: rgba(255,255,255,.10)}

@media (max-width: 900px){
  .grid2{grid-template-columns: 1fr}
  .gallery{grid-template-columns: 1fr 1fr}
  .reels{grid-template-columns: 1fr 1fr}
  .reviews{grid-template-columns: 1fr 1fr}
  .contactWrap{grid-template-columns: 1fr}
  .nav__toggle{display:inline-flex}
  .nav__menu{
    position:absolute; right:4vw; top:62px;
    display:none; flex-direction:column; padding:12px;
    border-radius:16px; border:1px solid var(--line);
    background: rgba(11,15,20,.92); min-width: 220px;
  }
  .nav__menu.is-open{display:flex}
}
@media (max-width: 560px){
  .gallery,.reels,.reviews{grid-template-columns: 1fr}
}
/* ═══ NEW: Book Now CTA button ═══ */
.btn--cta {
  border-color: rgba(120,255,255,.5);
  background: radial-gradient(120px 80px at 30% 20%, rgba(120,255,255,.25), transparent 60%),
              linear-gradient(135deg, rgba(120,255,255,.30), rgba(255,120,255,.15));
  box-shadow: 0 10px 30px rgba(0,0,0,.25), 0 0 20px rgba(120,255,255,.12);
}
.btn--cta:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,.3), 0 0 30px rgba(120,255,255,.25);
}

/* ═══ NEW: About h2 subtitle ═══ */
.h2-sub {
  font-size: clamp(1rem, 1.6vw, 1.35rem);
  font-weight: 400;
  color: rgba(120,255,255,.70);
  letter-spacing: .04em;
}

/* ═══ NEW: Events grid ═══ */
.eventsGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.eventCard {
  border: 1px solid var(--line);
  background: rgba(15,22,33,.55);
  border-radius: var(--radius);
  padding: 28px 22px;
  transition: border-color .25s, background .25s, transform .2s;
}
.eventCard:hover {
  border-color: rgba(120,255,255,.30);
  background: rgba(15,22,33,.80);
  transform: translateY(-3px);
}
.eventCard__icon {
  font-size: 2.2rem;
  margin-bottom: 12px;
  display: block;
}
.eventCard__title {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .01em;
}
.eventCard__desc {
  margin: 0;
  color: var(--muted);
  font-size: .93rem;
  line-height: 1.55;
}

/* ═══ NEW: FAQ ═══ */
.faqList {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 860px;
}
.faqItem {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(15,22,33,.50);
  overflow: hidden;
}
.faqQuestion {
  padding: 18px 20px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  color: var(--text);
  transition: color .2s;
}
.faqQuestion::-webkit-details-marker { display: none; }
.faqQuestion::after {
  content: '+';
  font-size: 1.3rem;
  font-weight: 300;
  flex-shrink: 0;
  opacity: .6;
  transition: transform .25s;
}
.faqItem[open] .faqQuestion::after {
  transform: rotate(45deg);
}
.faqItem[open] .faqQuestion {
  color: rgba(120,255,255,.90);
}
.faqAnswer {
  padding: 0 20px 18px;
  color: var(--muted);
  line-height: 1.65;
}
.faqAnswer p { margin: 0; }

/* ═══ Responsive updates ═══ */
@media (max-width: 900px) {
  .eventsGrid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .eventsGrid { grid-template-columns: 1fr; }
}

/* ═══ SCROLL REVEAL ANIMATIONS ═══ */
.will-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}
.will-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Cards pop up with slight scale */
.eventCard.will-reveal,
.tile.will-reveal,
.reelCard.will-reveal,
.reviewTile.will-reveal {
  opacity: 0;
  transform: translateY(20px) scale(0.97);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.eventCard.revealed,
.tile.revealed,
.reelCard.revealed,
.reviewTile.revealed {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Hero canvas sits above bg but below content */
.hero { isolation: isolate; }
.hero__inner { position: relative; z-index: 2; }
.heroOverlay { z-index: 1; }



/* ═══ LIGHTNING SPLASH ═══ */
.splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #03030f;
  overflow: hidden;
}
.splash--exit {
  animation: splashExit 0.65s ease forwards;
}
@keyframes splashExit {
  0%   { opacity:1; filter:brightness(1); }
  50%  { opacity:1; filter:brightness(3); }
  100% { opacity:0; filter:brightness(4); }
}
#lightningCanvas {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.splash__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  opacity: 0;
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
  text-align: center;
  width: 100%;
}
.splash__content--visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.splash__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.splash__mark {
  width: 18px; height: 18px; border-radius: 50%;
  flex-shrink: 0;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(120,255,255,.5) 40%, transparent 70%);
  box-shadow: 0 0 30px rgba(120,255,255,.9), 0 0 60px rgba(120,255,255,.4);
  animation: markPulse 0.8s ease-in-out infinite alternate;
}
@keyframes markPulse {
  from { box-shadow: 0 0 20px rgba(120,255,255,.7); }
  to   { box-shadow: 0 0 50px rgba(120,255,255,1), 0 0 100px rgba(120,255,255,.5); }
}
.splash__text {
  font-family: Inter, sans-serif;
  font-size: clamp(2rem, 8vw, 3rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.06em;
  text-shadow: 0 0 30px rgba(120,255,255,.8), 0 0 60px rgba(120,255,255,.3);
  white-space: nowrap;
}
.splash__sub {
  font-family: Inter, sans-serif;
  font-size: clamp(0.6rem, 2.5vw, 0.78rem);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(120,255,255,0.8);
  margin: 0;
  text-shadow: 0 0 20px rgba(120,255,255,.6);
}

/* ═══ HERO ENTRANCE ═══ */
.hero-animate {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.hero-animate--in {
  opacity: 1;
  transform: translateY(0);
}

/* ═══ SCROLL REVEAL ═══ */
.will-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.will-reveal.revealed { opacity:1; transform:translateY(0); }
.eventCard.will-reveal, .tile.will-reveal, .reelCard.will-reveal, .reviewTile.will-reveal {
  opacity:0; transform:translateY(18px) scale(0.97);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.eventCard.revealed, .tile.revealed, .reelCard.revealed, .reviewTile.revealed {
  opacity:1; transform:translateY(0) scale(1);
}

/* ═══ HERO TITLES ═══ */
.hero__titles {
  text-align: center;
  margin-bottom: 16px;
}
.hero__h1 {
  font-size: clamp(1.6rem, 5vw, 3rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1.1;
  margin: 0 0 8px;
  text-shadow: 0 0 40px rgba(120,255,255,0.4);
}
.hero__h2 {
  font-size: clamp(0.8rem, 2vw, 1rem);
  font-weight: 400;
  color: rgba(120,255,255,0.85);
  letter-spacing: 0.01em;
  line-height: 1.4;
  margin: 0;
}

/* ═══ SEO BLOCK ═══ */
.seoBlock {
  background: rgba(255,255,255,0.02);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.seoBlock__title {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 16px;
}
.seoBlock p {
  color: var(--muted);
  line-height: 1.75;
  margin: 0 0 14px;
  max-width: 820px;
}
.seoBlock p:last-child { margin: 0; }
