/* ===========================================================
   NIRWANA INFRASTRUCTURE DEVELOPERS — Site Stylesheet
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Cinzel:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --ivory-bg: #FDFCF7;
  --pearl-bg: #F6F4EE;
  --navy-dark: #08162A;
  --navy-deep: #0F284E;
  --blue-royal: #1E3E62;
  --blue-slate: #3B5A7D;
  --gold-foil: #C89B3C;
  --gold-light: #F0DA95;
  --gold-dark: #9A7220;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', sans-serif;
  background-color: var(--ivory-bg);
}

.font-serif { font-family: 'Bodoni Moda', serif; }
.font-display { font-family: 'Cinzel', serif; }

/* ---------- Text & background gradients ---------- */
.text-gold-gradient {
  background: linear-gradient(120deg, #F0DA95 0%, #C89B3C 45%, #9A7220 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---------- Ambient background glows ---------- */
.ambient-glow-gold,
.ambient-glow-blue {
  position: absolute;
  border-radius: 9999px;
  filter: blur(110px);
  opacity: 0.28;
  pointer-events: none;
  z-index: 0;
}
.ambient-glow-gold { background: radial-gradient(circle, #F0DA95 0%, transparent 70%); }
.ambient-glow-blue { background: radial-gradient(circle, #1E3E62 0%, transparent 70%); }

/* ---------- Sticky nav glass effect ---------- */
.glass-nav-light {
  background: rgba(253, 252, 247, 0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(200, 155, 60, 0.18);
}
.glass-nav-light.nav-scrolled {
  background: rgba(253, 252, 247, 0.96);
  box-shadow: 0 8px 30px rgba(8, 22, 42, 0.08);
}

/* ---------- Cards ---------- */
.luxury-card {
  border-radius: 1.25rem;
  box-shadow: 0 10px 40px rgba(8, 22, 42, 0.08);
  position: relative;
  z-index: 1;
}

/* ---------- Buttons ---------- */
.btn-gold-foil {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: linear-gradient(120deg, #F0DA95 0%, #C89B3C 55%, #9A7220 100%);
  color: #08162A;
  font-weight: 700;
  padding: 0.9rem 1.9rem;
  border-radius: 0.6rem;
  box-shadow: 0 8px 24px rgba(200, 155, 60, 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  white-space: nowrap;
}
.btn-gold-foil:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(200, 155, 60, 0.45);
}

.btn-blue-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: transparent;
  color: #0F284E;
  font-weight: 700;
  padding: 0.9rem 1.9rem;
  border-radius: 0.6rem;
  border: 1.5px solid rgba(15, 40, 78, 0.35);
  transition: border-color 0.25s ease, background 0.25s ease;
  white-space: nowrap;
}
.btn-blue-outline:hover {
  border-color: #0F284E;
  background: rgba(15, 40, 78, 0.04);
}

/* ---------- Badges ---------- */
.badge-gold-light {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #FFF9E8;
  color: #9A7220;
  border: 1px solid rgba(200, 155, 60, 0.4);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.4rem 0.9rem;
  border-radius: 9999px;
}

.badge-status-completed {
  display: inline-block;
  padding: 0.35rem 0.9rem;
  border-radius: 9999px;
  letter-spacing: 0.06em;
}
.badge-status-completed.badge-gold-light {
  background: rgba(240, 218, 149, 0.95);
  color: #08162A;
  border: none;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.45rem 1rem;
  border-radius: 9999px;
}
.status-pill.status-progress { background: #C89B3C; color: #08162A; }
.status-pill.status-ready { background: #1b8a4b; color: #ffffff; }
.status-pill.status-soon { background: rgba(255,255,255,0.12); color: #F0DA95; border: 1px solid rgba(240,218,149,0.5); }

/* ---------- Mobile nav ---------- */
#mobileMenu.menu-open { transform: translateX(0); }
.mobile-nav-link { display: block; }

/* ---------- Misc ---------- */
.divider-gold {
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #C89B3C, transparent);
}

.section-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #9A7220;
}

.input-field {
  width: 100%;
  padding: 0.85rem 1rem;
  border-radius: 0.6rem;
  border: 1px solid rgba(8, 22, 42, 0.15);
  background: #FDFCF7;
  font-size: 0.9rem;
  color: #08162A;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.input-field:focus {
  outline: none;
  border-color: #C89B3C;
  box-shadow: 0 0 0 3px rgba(200, 155, 60, 0.18);
}

.card-tilt {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.card-tilt:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(8, 22, 42, 0.14);
}

footer a:hover { color: #F0DA95; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ---------- Focus visibility ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #C89B3C;
  outline-offset: 2px;
}
