/* ===========================
   D Morgan Holdings Ltd
   =========================== */

/* -- Fonts & Base -- */

body {
  font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: #2c2c2c;
}

/* -- Hero Section -- */

.hero-section {
  min-height: 100vh;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  position: relative;
  overflow: hidden;
  padding-top: 80px;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at 30% 50%, rgba(15, 52, 96, 0.4) 0%, transparent 70%), radial-gradient(ellipse at 70% 50%, rgba(26, 26, 46, 0.3) 0%, transparent 70%);
  pointer-events: none;
}

.hero-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.015);
  pointer-events: none;
}

.hr-gold {
  width: 80px;
  border: none;
  border-top: 3px solid #c9a84c;
  opacity: 1;
}

/* -- Section Headings -- */

.section-heading {
  color: #1a1a2e;
}

.heading-underline {
  width: 60px;
  height: 3px;
  background-color: #c9a84c;
  margin-top: 1rem;
}

.heading-underline-light {
  width: 60px;
  height: 3px;
  background-color: #c9a84c;
  margin-top: 1rem;
}

/* -- Credentials Card -- */

.credentials-card {
  background: #f8f9fa;
  border-left: 4px solid #c9a84c;
}

/* -- Sector Cards -- */

.sector-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sector-img-wrapper {
  height: 220px;
  overflow: hidden;
}

.sector-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.sector-card:hover .sector-img {
  transform: scale(1.05);
}

.sector-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.12) !important;
}

.sector-icon-wrapper {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1a1a2e, #0f3460);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.sector-quote {
  border-top: 1px solid #e9ecef;
  padding-top: 1rem;
}

/* -- Criteria Cards -- */

.criteria-card {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.criteria-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
}

.criteria-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: #c9a84c;
  line-height: 1;
}

/* -- Contact Section -- */

#contact .btn-primary {
  background-color: #c9a84c;
  border-color: #c9a84c;
  color: #1a1a2e;
  font-weight: 600;
  transition: all 0.3s ease;
}

#contact .btn-primary:hover {
  background-color: #b89640;
  border-color: #b89640;
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1.5rem rgba(201, 168, 76, 0.3);
}

/* -- Navbar -- */

.navbar {
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  background-color: #f0f0f0 !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.navbar-brand span {
  opacity: 0.8;
}

.brand-logo {
  flex-shrink: 0;
}

.nav-link {
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-size: 0.85rem;
  padding: 0.5rem 1rem !important;
  transition: color 0.3s ease;
  color: #1a1a2e !important;
}

.nav-link:hover {
  color: #c9a84c !important;
}

/* -- Hero Button -- */

.hero-section .btn-outline-light {
  border-width: 2px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 0.9rem;
  transition: all 0.3s ease;
}

.hero-section .btn-outline-light:hover {
  background-color: #c9a84c;
  border-color: #c9a84c;
  color: #1a1a2e;
}

/* -- Footer -- */

footer {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* -- GDPR Cookie Banner -- */

.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(26, 26, 46, 0.97);
  color: #d4d4d4;
  padding: 1.25rem 0;
  z-index: 9999;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(201, 168, 76, 0.3);
  box-shadow: 0 -0.5rem 2rem rgba(0, 0, 0, 0.3);
  font-size: 0.9rem;
  transform: translateY(0);
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.cookie-banner.hidden {
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}

.cookie-banner .btn-warning {
  background-color: #c9a84c;
  border-color: #c9a84c;
  color: #1a1a2e;
}

.cookie-banner .btn-warning:hover {
  background-color: #b89640;
  border-color: #b89640;
}

.cookie-banner .btn-outline-light:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* -- Smooth Scroll -- */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 76px;
}

/* -- Responsive Adjustments -- */

@media (max-width: 767.98px) {
  .hero-section {
    min-height: 90vh;
  }
}

@media (max-width: 767.98px) {
  .hero-section h1 {
    font-size: 2.5rem;
  }
}

@media (max-width: 767.98px) {
  .hero-section .fs-5 {
    font-size: 1.1rem !important;
  }
}

@media (max-width: 767.98px) {
  .sector-card .card-body {
    padding: 2rem !important;
  }
}

