
/* ===================== GLOBAL / RESET ===================== */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Georgia',serif;
  background: radial-gradient(circle at top, #7a24c7 0%, #5e18a6 45%, #3c0d73 100%);
  color:#f8f4ef;
  line-height:1.6;
}

/* ===================== TYPOGRAPHY ===================== */
h1,h2,h3{font-weight:600;letter-spacing:1px}
h1{font-size:clamp(42px,6vw,72px)}
h2{font-size:clamp(28px,4vw,40px);margin-bottom:20px}
p{color:#ccc;font-size:15px}

/* ===================== HEADER ===================== */
header{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 40px;
  background:rgba(0,0,0,0.75);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.05);
  position:sticky;top:0;z-index:1000;
}
.logo{
  font-size:28px;
  font-weight:700;
  color:#401aa8;
  letter-spacing:3px;
  text-transform:uppercase;
  text-shadow:3px 3px 0 rgba(0,0,0,0.18);
}
nav a{
  margin:0 18px;
  text-decoration:none;
  color:#f8f4ef;
  font-size:14px;
  font-weight:600;
  letter-spacing:1px;
  position:relative;
  text-transform:uppercase;
}
nav a::after{
  content:"";
  position:absolute;
  width:0;height:2px;
  bottom:-5px;left:0;
  background:#f6b33c;
  transition:0.3s;
}
nav a:hover::after{width:100%}
nav a:hover{color:#fff}

/* ===================== HERO ===================== */
.hero{
  min-height:100vh;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 15% 20%, rgba(26,166,168,0.22), transparent 26%),
    radial-gradient(circle at 82% 24%, rgba(246,179,60,0.22), transparent 24%),
    linear-gradient(180deg, rgba(0,0,0,0.16), rgba(0,0,0,0.24));
}
.hero h1, .hero p, .hero a{position:relative;z-index:2}
.hero p{font-size:20px;margin-top:10px}

/* ===================== BUTTON ===================== */
.btn{
  margin-top:25px;
  padding:14px 32px;
  background:#f6b33c;
  color:#000;
  border-radius:30px;
  font-size:14px;
  text-decoration:none;
  letter-spacing:1px;
  transition:all 0.3s ease;
}
.btn:hover{
  background:#1aa6a8;
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(0,0,0,0.22);
}

/* ===================== SECTIONS ===================== */
section{
  padding:88px 8%;
}

.section-panel{
  background:rgba(248,244,239,0.08);
  border:2px solid rgba(248,244,239,0.14);
  border-radius:28px;
  box-shadow:0 18px 40px rgba(0,0,0,0.18);
}

.section-intro{
  max-width:760px;
  margin:0 auto 30px;
  text-align:center;
}

.poster-frame{
  max-width:420px;
  margin:0 auto;
  background:#f8f4ef;
  border-radius:28px;
  padding:14px;
  box-shadow:0 24px 50px rgba(0,0,0,0.22);
  transform:rotate(-2deg);
}

.poster-frame img{
  display:block;
  border-radius:18px;
}

.hero-split{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  align-items:center;
  gap:40px;
  min-height:100vh;
  padding:120px 8% 80px;
}

.hero-copy{
  position:relative;
  z-index:2;
}

.hero-kicker{
  display:inline-block;
  margin-bottom:18px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(248,244,239,0.12);
  border:1px solid rgba(248,244,239,0.18);
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
}

.hero-copy p{
  max-width:640px;
  font-size:18px;
  color:#f1e8dd;
}

.dual-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.btn-outline{
  margin-top:25px;
  padding:14px 32px;
  background:transparent;
  color:#f8f4ef;
  border:2px solid #f8f4ef;
  border-radius:30px;
  font-size:14px;
  text-decoration:none;
  letter-spacing:1px;
  transition:all 0.3s ease;
}

.btn-outline:hover{
  background:#f8f4ef;
  color:#5e18a6;
}

.stat-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(120px, 1fr));
  gap:18px;
  margin-top:36px;
}

.stat{
  background:rgba(0,0,0,0.16);
  border:1px solid rgba(248,244,239,0.14);
  border-radius:22px;
  padding:18px;
}

.stat strong{
  display:block;
  font-size:28px;
  color:#f6b33c;
}

.feature-band{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}

.feature-pill{
  background:#f8f4ef;
  color:#44106f;
  border-radius:999px;
  padding:14px 18px;
  text-align:center;
  font-weight:700;
  letter-spacing:0.8px;
}

.gallery-strip{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
}

.quote-box{
  max-width:860px;
  margin:0 auto;
  text-align:center;
  font-size:24px;
  line-height:1.5;
  color:#f8f4ef;
}

/* ===================== GRID SYSTEM ===================== */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:30px;
}

/* ===================== CARDS ===================== */
.card{
  background:linear-gradient(145deg, rgba(248,244,239,0.12), rgba(248,244,239,0.06));
  padding:28px;
  border-radius:26px;
  border:1px solid rgba(248,244,239,0.14);
  transition:all 0.35s ease;
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(10px);
}
.card::before{
  content:"";
  position:absolute;
  width:120%;height:120%;
  background:radial-gradient(circle, rgba(26,166,168,0.30) 0%, transparent 70%);
  opacity:0;
  top:-50%;left:-50%;
  transition:0.5s;
}
.card:hover::before{opacity:0.35}
.card:hover{
  transform:translateY(-10px) scale(1.02);
  box-shadow:0 20px 40px rgba(0,0,0,0.6);
}

/* ===================== IMAGES ===================== */
img{
  width:100%;
  border-radius:12px;
  transition:0.4s;
}
img:hover{transform:scale(1.05)}

/* ===================== CINEMATIC GALLERY ===================== */
.gallery-section{
  padding: 90px 8%;
}

.gallery-intro{
  text-align:center;
  max-width:700px;
  margin:0 auto 50px;
}

.gallery-intro h1{
  margin-bottom:12px;
  text-transform:uppercase;
  letter-spacing:2px;
}

.gallery-intro p{
  color:#e7ddd2;
  font-size:16px;
}

.cinematic-gallery{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  grid-auto-rows:260px;
}

.gallery-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:rgba(0,0,0,0.25);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 18px 40px rgba(0,0,0,0.35);
}

.gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:brightness(0.78) contrast(1.05);
  transition:transform 0.7s ease, filter 0.7s ease;
}

.gallery-card:hover img{
  transform:scale(1.08);
  filter:brightness(0.95) contrast(1.1);
}

.gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.72), rgba(0,0,0,0.15), rgba(0,0,0,0.05));
}

.gallery-overlay{
  position:absolute;
  left:20px;
  bottom:18px;
  z-index:2;
}

.gallery-overlay h3{
  color:#f8f4ef;
  font-size:20px;
  letter-spacing:1px;
  text-shadow:0 4px 14px rgba(0,0,0,0.5);
}

.gallery-card.tall{
  grid-row:span 2;
}

.gallery-card.wide{
  grid-column:span 2;
}

@media(max-width:980px){
  .cinematic-gallery{
    grid-template-columns:repeat(2, 1fr);
  }

  .gallery-card.wide{
    grid-column:span 2;
  }
}

@media(max-width:768px){
  .cinematic-gallery{
    grid-template-columns:1fr;
    grid-auto-rows:240px;
  }

  .gallery-card.tall,
  .gallery-card.wide{
    grid-column:span 1;
    grid-row:span 1;
  }

  .gallery-overlay h3{
    font-size:18px;
  }
}

/* ===================== LOCATION MAPS ===================== */
.location-maps{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  margin-top:30px;
}

.map-card{
  display:grid;
  grid-template-columns:0.95fr 1.05fr;
  gap:24px;
  align-items:stretch;
  background:linear-gradient(145deg, rgba(248,244,239,0.12), rgba(248,244,239,0.05));
  border:1px solid rgba(248,244,239,0.12);
  border-radius:28px;
  padding:22px;
  box-shadow:0 18px 40px rgba(0,0,0,0.28);
  overflow:hidden;
  backdrop-filter:blur(10px);
}

.map-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 6px;
}

.map-text h3{
  font-size:28px;
  margin-bottom:12px;
  color:#f8f4ef;
}

.map-text p{
  color:#e8ddd2;
  font-size:15px;
  line-height:1.7;
}

.map-card iframe{
  width:100%;
  height:320px;
  border:none;
  border-radius:22px;
  filter:grayscale(0.15) contrast(1.05) brightness(0.95);
}

@media(max-width:900px){
  .map-card{
    grid-template-columns:1fr;
  }

  .map-card iframe{
    height:280px;
  }
}
/* ===================== FORM ===================== */
input,textarea{
  width:100%;
  padding:14px 16px;
  margin:10px 0;
  border-radius:14px;
  border:1px solid rgba(248,244,239,0.16);
  background:rgba(0,0,0,0.18);
  color:#fff;
}
input:focus,textarea:focus{
  outline:none;
  border-color:#d4af37;
  box-shadow:0 0 8px rgba(212,175,55,0.4);
}
button{
  padding:12px 22px;
  background:#f6b33c;
  border:none;
  border-radius:20px;
  cursor:pointer;
  transition:0.3s;
}
button:hover{
  background:#1aa6a8;
}

/* ===================== FOOTER ===================== */
footer{
  background:#000;
  text-align:center;
  padding:25px;
  font-size:13px;
  border-top:1px solid rgba(255,255,255,0.05);
}

/* ===================== RESPONSIVE ===================== */
@media(max-width:980px){
  .hero-split,
  .feature-band,
  .gallery-strip{
    grid-template-columns:1fr;
  }
  .poster-frame{
    max-width:360px;
    transform:none;
  }
}

@media(max-width:768px){
  header{padding:15px 20px;flex-direction:column;gap:12px}
  nav{display:flex;flex-wrap:wrap;justify-content:center}
  nav a{margin:0 10px;font-size:12px}
  .hero h1{font-size:40px}
  .stat-row{grid-template-columns:1fr}
  section{padding:72px 20px}
}
  nav a{margin:0 10px;font-size:12px}
  .hero h1{font-size:40px}
