:root {
  --bg: #040609;
  --bg2: #080d14;
  --card: #0c121c;
  --card2: #090e16;
  --line: rgba(255,255,255,0.12);
  --line-bright: rgba(255,255,255,0.25);
  
  --accent: #b0c4de;
  --accent-light: #e2e8f0;
  
  --text: #f1f5f9;
  --muted: #94a3b8;
  --shadow: 0 24px 60px rgba(0,0,0,0.6), 0 0 20px rgba(176,196,222,0.03);
}

html { 
  scroll-behavior: smooth; 
  max-width: 100%;
  overflow-x: hidden !important;
}

body {
  font-family: 'Inter', sans-serif;
  background: radial-gradient(circle at top, rgba(176,196,222,0.06), transparent 30%), linear-gradient(180deg, var(--bg), #06090f 55%, var(--bg));
  color: var(--text);
  max-width: 100%;
  overflow-x: hidden !important;
}

h1, h2, h3, h4, h5, .display-font {
  font-family: 'Playfair Display', serif;
  letter-spacing: .2px;
}

.navbar {
  background: rgba(4,6,9,0.88);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--line);
}

.navbar-brand {
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff !important;
}

.brand-mark {
  color: var(--accent);
}

.navbar-dark .navbar-nav .nav-link {
  color: var(--text);
}

.navbar-dark .navbar-nav .nav-link:hover, 
.navbar-dark .navbar-nav .nav-link:focus {
  color: var(--accent-light);
}

.btn-gold {
  background: linear-gradient(135deg, #e2e8f0, #94a3b8);
  color: #040609;
  border: 1px solid rgba(255,255,255,0.4);
  font-weight: 700;
  box-shadow: 0 12px 30px rgba(176,196,222,0.2);
}

.btn-gold:hover { 
  opacity: .95; 
  transform: translateY(-1px); 
  color: #040609;
  background: linear-gradient(135deg, #f8fafc, #cbd5e1);
  box-shadow: 0 15px 35px rgba(176,196,222,0.3);
}

.glass-card, .service-card {
  background: linear-gradient(180deg, rgba(12,18,28,0.95), rgba(8,13,20,0.95));
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow);
  height: 100%;
  transition: all 0.3s ease;
}

.glass-card:hover, .service-card:hover {
  border-color: var(--line-bright);
}

.section-pad { 
  padding: 60px 0; 
}

#contact {
  margin-top: 40px;
}

.section-title {
  font-size: clamp(2rem,3vw,3rem);
  margin-bottom: 1rem;
}

.section-sub {
  color: var(--muted);
  max-width: 70ch;
}

.icon-badge {
  width: 56px; height: 56px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(176,196,222,0.08);
  border: 1px solid rgba(176,196,222,0.2);
  color: var(--accent-light);
  font-size: 1.4rem;
}

.bg-soft {
  background: linear-gradient(180deg, rgba(255,255,255,0.015), rgba(255,255,255,0.005));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.form-control, .form-select {
  background: #080d14;
  border: 1px solid var(--line);
  color: #fff;
  border-radius: 14px;
  padding: .9rem 1rem;
}

.form-control:focus, .form-select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 .25rem rgba(176,196,222,0.12);
  background: #080d14;
  color: #fff;
}

.form-control::placeholder, .form-select::placeholder {
  color: var(--muted);
  opacity: 1;
}

.small-muted { color: var(--muted); }

footer {
  border-top: 1px solid var(--line);
  color: var(--muted);
  background: var(--bg2);
}

a { color: inherit; text-decoration: none; }

.submitting { 
  opacity: 0.5; 
  pointer-events: none; 
  transition: opacity 0.3s ease; 
}

/* --- Mobile Navigation Enhancements --- */
@media (max-width: 991px) {
  .navbar-collapse {
    background: rgba(4,6,9,0.98);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--line-bright);
    padding: 20px 20px 30px 20px;
    margin-top: 15px;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.8);
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .navbar-nav .nav-link {
    font-size: 1.2rem !important;
    padding: 12px 16px !important;
    border-radius: 10px;
  }
  
  .navbar-nav .nav-link:hover {
    background: rgba(176,196,222,0.08);
    color: var(--accent-light) !important;
  }

  .navbar-nav .dropdown-menu {
    position: static !important;
    background: rgba(8,13,20,0.6) !important;
    box-shadow: none !important;
    border: none !important;
    padding-left: 12px !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
    display: none;
  }

  .navbar-nav .dropdown-menu.show {
    display: block !important;
  }

  .navbar-nav .dropdown-item {
    font-size: 1.05rem !important;
    padding: 12px 16px !important;
    color: var(--muted) !important;
    border-radius: 8px;
    margin-bottom: 4px;
  }

  .navbar-nav .dropdown-item:hover,
  .navbar-nav .dropdown-item:focus {
    background: rgba(176,196,222,0.12);
    color: #fff !important;
  }

  .navbar-nav .btn-gold {
    margin-top: 15px;
    padding: 14px !important;
    font-size: 1.1rem !important;
    text-align: center;
    display: block;
  }
}