:root {
  --gold: #d4af37;
  --gold-light: #f5d76e;
  --purple: #2b004f;
  --bg: #000;
  --font: 'Cinzel', serif;
}

body {
  margin: 0;
  font-family: var(--font);
  background: var(--bg);
  color: #fff;
  overflow-x: hidden;
  transition: background 0.3s ease;
}

/* Header */
header {
  background: var(--purple);
  padding: 1rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid var(--gold);
}
header img {
  height: 55px;
  cursor: pointer;
  transition: transform 0.3s ease;
}
header img:hover { transform: scale(1.05); }
nav ul {
  list-style: none;
  display: flex;
  gap: 1.5rem;
}
nav a {
  color: #fff;
  font-weight: 600;
  position: relative;
}
nav a::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--gold);
  transition: width 0.3s ease;
}
nav a:hover::after { width: 100%; }
nav a:hover { color: var(--gold-light); }

/* Hero */
.hero-slider {
  position: relative;
  height: 60vh;
  overflow: hidden;
}
.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease;
}
.hero-slide.active { opacity: 1; }
.hero-caption {
  position: absolute;
  bottom: 10%;
  left: 5%;
  background: rgba(0,0,0,0.5);
  color: var(--gold-light);
  padding: 1rem 2rem;
  border-left: 4px solid var(--gold);
  border-radius: 8px;
}

/* Featured Service */
.featured-service {
  padding: 4rem 2rem;
  text-align: center;
  background: linear-gradient(180deg, var(--purple), #000);
}
.featured-service h1 { color: var(--gold); font-size: 2.5rem; }
.featured-service p {
  max-width: 900px;
  margin: 1rem auto 2rem;
  color: #ddd;
  line-height: 1.8;
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px,1fr));
  gap: 2rem;
}
.service-box {
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--gold);
  padding: 2rem;
  border-radius: 10px;
  transition: transform .3s, box-shadow .3s;
}
.service-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 20px rgba(212,175,55,0.4);
}

/* Grid Showcase */
.showcase {
  padding: 4rem 2rem;
  background: #000;
  text-align: center;
}
.grid-header h2 { color: var(--gold-light); font-size: 2rem; margin-bottom: .5rem; }
.grid-header p { color: #ccc; margin-bottom: 2rem; }
.grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  gap: 1.5rem;
}
.grid-item {
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--gold);
  border-radius: 10px;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s;
}
.grid-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 25px rgba(245,215,110,0.4);
}
.grid-item img { width: 100%; height: 250px; object-fit: cover; }
.grid-item h3 { padding: 1rem; color: var(--gold-light); }

/* Brand Ticker */
.brand-ticker {
  background: linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));
  color: var(--purple);
  padding: 0.8rem 0;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
}
.ticker-content {
  display: inline-block;
  animation: scroll 70s linear infinite;
}
@keyframes scroll {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

/* Footer */
footer {
  text-align: center;
  background: var(--purple);
  color: #fff;
  padding: 2rem 1rem;
  border-top: 2px solid var(--gold);
}
footer a { color: var(--gold); font-weight: 700; }

/* Intro Animation */
#intro-animation {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  animation: fadeOut 1s ease 3s forwards;
}
#intro-animation img {
  width: 200px;
  animation: zoomIn 1.5s ease forwards;
}
@keyframes fadeOut { to { opacity: 0; visibility: hidden; } }
@keyframes zoomIn { 0% { transform: scale(0.7); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }

/* Animations on hover globally */
* {
  transition: all 0.3s ease-in-out;
}
