/* ===========================================================
   MAX FUNLAND — Shared Stylesheet
   Reusable across all location pages.
   =========================================================== */
:root{
  --bg:#05060f;
  --bg2:#0a0c1c;
  --panel:rgba(18,20,42,.55);
  --line:rgba(255,255,255,.08);
  --pink:#ff2e88;
  --cyan:#22e0ff;
  --violet:#a855ff;
  --gold:#ffd56b;
  --text:#eef0ff;
  --muted:#9aa0c4;
  --radius:22px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Outfit',sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  line-height:1.6;
}
.font-display{font-family:'Orbitron',sans-serif;letter-spacing:.04em}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* ===== ambient glow background ===== */
.bg-aura{position:fixed;inset:0;z-index:-2;background:
  radial-gradient(60vw 60vw at 80% -10%, rgba(168,85,255,.20), transparent 60%),
  radial-gradient(55vw 55vw at -10% 30%, rgba(34,224,255,.16), transparent 60%),
  radial-gradient(70vw 70vw at 50% 120%, rgba(255,46,136,.16), transparent 60%),
  linear-gradient(180deg,#05060f,#070818 60%,#05060f);}
.bg-grid{position:fixed;inset:0;z-index:-1;opacity:.25;background-image:
  linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:60px 60px;mask-image:radial-gradient(ellipse at 50% 0,#000 30%,transparent 80%)}

/* ===== Reusable text effects ===== */
/* Auto shining sweep across text */
.shine{
  background:linear-gradient(110deg,
    var(--text) 0%, var(--text) 35%,
    #ffffff 47%, var(--cyan) 50%, #ffffff 53%,
    var(--text) 65%, var(--text) 100%);
  background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shineSweep 4.5s linear infinite;
}
@keyframes shineSweep{
  0%{background-position:200% 0}
  100%{background-position:-50% 0}
}
/* Neon gradient text that softly pulses */
.neon{
  background:linear-gradient(90deg,var(--pink),var(--violet),var(--cyan));
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px rgba(168,85,255,.45));
  animation:neonShift 6s ease-in-out infinite, neonPulse 3.2s ease-in-out infinite;
}
@keyframes neonShift{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes neonPulse{
  0%,100%{filter:drop-shadow(0 0 10px rgba(168,85,255,.35))}
  50%{filter:drop-shadow(0 0 26px rgba(34,224,255,.7))}
}

/* ===== NAV ===== */
header{position: relative; top:0;z-index:50;backdrop-filter:blur(14px);
  background:rgba(5,6,15,.6);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:8px;font-family:'Orbitron';font-weight:900;font-size:2.35rem}
.brand .cube{margin-top: 10px;}
@keyframes cubePulse{0%,100%{box-shadow:0 0 18px rgba(255,46,136,.5)}50%{box-shadow:0 0 30px rgba(168,85,255,.8)}}
/* FUNLAND wordmark: FUN white, LAND glowing */
.brand .word{font-family:'Orbitron';font-weight:900;letter-spacing:.02em}
.brand .word .fun{color:#fff}
.brand .word .land{
  background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink));
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 10px rgba(34,224,255,.6));
  animation:landGlow 4s ease-in-out infinite;
}
@keyframes landGlow{
  0%,100%{background-position:0 0;filter:drop-shadow(0 0 8px rgba(34,224,255,.5))}
  50%{background-position:100% 0;filter:drop-shadow(0 0 22px rgba(168,85,255,.85))}
}
.navlinks{display:flex;gap:30px;font-weight:500;font-size:.95rem}
.navlinks a{color:var(--muted);transition:.25s;position:relative}
.navlinks a:hover{color:#fff}
.navlinks a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:linear-gradient(90deg,var(--cyan),var(--pink));transition:.25s}
.navlinks a:hover::after{width:100%}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:22px;font-weight:600;font-size:1rem;
  transition:.25s;border:1px solid transparent;cursor:pointer}
.btn-primary{background:linear-gradient(90deg,var(--pink),var(--violet));color:#fff;box-shadow:0 0 24px rgba(255,46,136,.45)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 36px rgba(255,46,136,.7)}
.btn-ghost{border-color:rgba(34,224,255,.5);color:var(--cyan)}
.btn-ghost:hover{background:rgba(34,224,255,.1);box-shadow:0 0 24px rgba(34,224,255,.35)}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:2.1rem;cursor:pointer}

/* ===== HERO ===== */
.hero{position:relative;min-height:82vh;display:flex;align-items:center;overflow:hidden;padding:0}
.hero-img{position:absolute;inset:0;background-image:var(--hero-img);background-size:cover;background-position:center;filter:saturate(1.1)}
.hero-img::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(5,6,15,.92) 0%,rgba(5,6,15,.7) 45%,rgba(5,6,15,.35) 100%),
  linear-gradient(0deg,var(--bg),transparent 55%)}
.hero-inner{position:relative;z-index:2;max-width:680px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:50px;
  border:1px solid rgba(34,224,255,.4);background:rgba(34,224,255,.07);color:var(--cyan);
  font-family:'Orbitron';font-size:.70rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:26px}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan);animation:dotBlink 1.6s ease-in-out infinite}
@keyframes dotBlink{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-family:'Orbitron';font-weight:900;font-size:clamp(2rem,6vw,3rem);line-height:1.02;text-transform:uppercase}
.hero p{color:var(--muted);font-size:1.15rem;margin:22px 0 34px;max-width:540px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-stats{display:flex;gap:40px;margin-top:48px;flex-wrap:wrap}
.hero-stats .s b{font-family:'Orbitron';font-size:2.2rem;background:linear-gradient(90deg,var(--cyan),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-stats .s span{display:block;color:var(--muted);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}

/* ===== MARQUEE ===== */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,46,136,.06);overflow:hidden;padding:14px 0}
.marquee-track{display:flex;gap:42px;white-space:nowrap;animation:scroll 32s linear infinite;font-family:'Orbitron';font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.marquee-track span{color:var(--cyan)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== SECTION ===== */
section{padding:30px 0;position:relative}
.sec-head{text-align:center;max-width:680px;margin:0 auto 15px}
.sec-tag{font-family:'Orbitron';color:var(--pink);font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;margin-bottom:0px}
.sec-head h2{font-family:'Orbitron';font-weight:800;font-size:clamp(1.9rem,4vw,2.9rem);text-transform:uppercase}
.sec-head p{color:var(--muted);margin-top:0px}

/* ===== PRICING GRID ===== */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px;
  backdrop-filter:blur(12px);position:relative;transition:transform .3s}
/* Always-on glow behind card that gently pulses (dim -> bright -> dim) */
.card::before{content:"";position:absolute;inset:-2px;border-radius:calc(var(--radius) + 4px);z-index:-1;
  filter:blur(22px);opacity:.55;animation:glowBreath 5s ease-in-out infinite}
.card.cyan::before{background:radial-gradient(120% 120% at 50% 50%,rgba(34,224,255,.55),transparent 70%)}
.card.pink::before{background:radial-gradient(120% 120% at 50% 50%,rgba(255,46,136,.55),transparent 70%)}
@keyframes glowBreath{
  0%,100%{opacity:.28;filter:blur(20px)}
  50%{opacity:.8;filter:blur(30px)}
}
.card:hover{transform:translateY(-6px)}
.card.cyan:hover::before{opacity:.95}
.card.pink:hover::before{opacity:.95}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.card h3{font-family:'Orbitron';font-size:1.25rem;text-transform:uppercase}
.tag-chip{font-family:'Orbitron';font-size:0.9rem;letter-spacing:.14em;padding:6px 12px;border-radius:50px;text-transform:uppercase;white-space:nowrap}

.tag-chip.cyan{color:var(--cyan);border:1px solid rgba(34,224,255,.4);background:rgba(34,224,255,.08)}
.tag-chip.pink{color:var(--pink);border:1px solid rgba(255,46,136,.4);background:rgba(255,46,136,.08)}
.tag-chip.gold{color:var(--gold);border:1px solid rgba(255,213,107,.4);background:rgba(255,213,107,.08)}
.price-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px dashed rgba(255,255,255,.08)}
.price-row:last-child{border-bottom:none}
.price-row .label{color:var(--muted);font-weight:500;font-size: 20px;}
.price-row .val{font-family:'Orbitron';font-weight:700;font-size:1.15rem}
.price-row .val.cyan{color:var(--cyan)}
.price-row .val.pink{color:var(--pink)}
.price-row .val.gold{color:var(--gold)}
.note{display:inline-block;margin-top:6px;font-size:.85rem;color:var(--muted)}
.socks-banner{margin:0 auto 40px;max-width:540px;text-align:center;padding:14px 24px;border-radius:50px;
  border:1px solid rgba(255,213,107,.35);background:rgba(255,213,107,.07);color:var(--gold);font-family:'Orbitron';font-size:.85rem;letter-spacing:.08em}

/* ===== feature image cards ===== */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feat{position:relative;border-radius:var(--radius);overflow:hidden;height:260px;border:1px solid var(--line)}
.feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s}
.feat:hover img{transform:scale(1.08)}
.feat::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,15,.92),transparent 70%)}
.feat .cap{position:absolute;left:22px;bottom:20px;z-index:2}
.feat .cap h4{font-family:'Orbitron';font-size:1.15rem;text-transform:uppercase}
.feat .cap p{color:var(--muted);font-size:.85rem}

/* ===== INFO / parking + party split ===== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.info-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:38px;backdrop-filter:blur(12px)}
.info-card h3{font-family:'Orbitron';font-size:1.3rem;text-transform:uppercase;margin-bottom:8px}
.info-card .lead{color:var(--muted);margin-bottom:20px}
.kv{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.kv:last-child{border:none}
.kv .v{font-family:'Orbitron';color:var(--cyan)}
.party-card{background:linear-gradient(135deg,rgba(255,46,136,.16),rgba(168,85,255,.16));position:relative;overflow:hidden}
.party-card::after{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,46,136,.4),transparent 70%)}

/* ===== CONTACT ===== */
.contact{background:linear-gradient(180deg,transparent,rgba(168,85,255,.06))}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.cc{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px;backdrop-filter:blur(12px)}
.cc .icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px;font-size:1.2rem}
.cc h4{font-family:'Orbitron';font-size:1.05rem;text-transform:uppercase;margin-bottom:12px}
.cc p{color:var(--muted);margin:4px 0}
.cc a{color:var(--cyan)}
.glow-cyan{background:rgba(34,224,255,.12);box-shadow:0 0 18px rgba(34,224,255,.35)}
.glow-pink{background:rgba(255,46,136,.12);box-shadow:0 0 18px rgba(255,46,136,.35)}
.glow-gold{background:rgba(255,213,107,.12);box-shadow:0 0 18px rgba(255,213,107,.35)}

/* ===== FOOTER ===== */
footer{border-top:1px solid var(--line);padding:54px 0 30px;text-align:center;background:rgba(5,6,15,.6)}
footer .brand{justify-content:center;margin-bottom:18px}
footer .small{color:var(--muted);font-size:.82rem;margin-top:18px}
footer .chips{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:22px 0}
footer .chips span{font-size:.78rem;color:var(--muted);padding:6px 14px;border:1px solid var(--line);border-radius:50px}

/* ===== reveal on scroll ===== */
.reveal{opacity:0;transform:translateY(28px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

@media(max-width:880px){
  .nav-cta{display:}
  .menu-toggle{display:block}
  .grid2,.split,.contact-grid,.features{grid-template-columns:1fr}
  .hero-stats{gap:26px}

  /* Mobile dropdown menu */
  nav{position:relative}
  .navlinks{
    display:none;                 /* hidden by default */
    position:absolute;
    top:74px;                     /* sit just under the navbar */
    left:0;
    right:0;
    flex-direction:column;        /* stack vertically */
    gap:0;
    padding:8px 24px 16px;
    background:rgba(5,6,15,.97);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    box-shadow:0 18px 40px rgba(0,0,0,.5);
    z-index:60;
  }
  .navlinks.open{display:flex}    /* shown when toggled */
  .navlinks a{
    padding:14px 4px;
    font-size:1.05rem;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .navlinks a:last-child{border-bottom:none}
  .navlinks a::after{display:none}
}


/* reduce motion preference */
@media (prefers-reduced-motion: reduce){
  .shine,.neon,.land,.card::before,.cube,.dot{animation:none !important}
}
