/* ======================
   Global Styles
====================== */
* {
  font-family:'Inter', sans-serif;
  scroll-behavior: smooth;
  box-sizing: border-box;
}

body {
  margin: 0;
  overflow-x: hidden;
  background-color: var(--bs-body-bg);
  flex-direction: column;
}

section {
    flex: 1;
}

/* Typography */
h1,h2,h3,h4,h5,h6 {
  font-family: 'Gabarito', serif;
  margin: 20, 20, 20, 0px;
}

/* Images */
img {
  max-width: 100%;
  height: auto;
  margin: 10px;
}

/* Backgrounds */
.bg-grey { background-color: #f6f6f6; }

/* Navbar Background */
.custom-navbar {
    background-color: #024670 !important;
    padding: 1rem 0;
}

/* Navbar Logo */
.navbar-logo {
    height: 50px;
    width: auto;
    transition: height 0.3s ease;
}

button {
  color: rgb(255, 174, 0);
}

/* Navbar link active state */
.nav-link.active {
    color: #ff9800 !important;
    font-weight: 600;
    border-bottom: 2px solid #ff9800;
}

/* Responsive Logo Sizes */
@media (max-width: 992px) {
    .navbar-logo { height: 40px; }
}

@media (max-width: 768px) {
    .navbar-logo { height: 35px; }
}

@media (max-width: 576px) {
    .navbar-logo { height: 30px; }
}

.navbar .nav-link,
.navbar .navbar-brand { color: #fff !important; }
.navbar-toggler {
  border-color: white;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Services Section Icons */
.service-box {
  background: #fff;
  border-radius: 12px;
  transition: transform 0.3s, box-shadow 0.3s;
}
.service-box:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.service-box i {
  display: block;
}
.service-heading {
  margin-top: 15px;
  font-weight: 700;
}

/* Sections */
.custom-section { height: 350px; max-width: 900px; }

/* Video Background */
.video-wrapper { position: relative; height: 100vh; overflow: hidden; }
.bg-video { position: absolute; top: 0; left:0; height: 100%; /* limit height */ width: 100%; object-fit:cover; z-index:1; }
.video-wrapper::before { content:""; position:absolute; inset:0; background: rgba(0,0,0,0.4); z-index:2; }
.overlay-content { position: relative; z-index:3; height:100%; padding: 2rem; }

/* Contact Section */
.bg-image { background: url('images/wpb.png') no-repeat center center/cover; max-height: 1080px; position: relative; }
form { margin: 20px; z-index: 1000; }
#card { border-radius: 10px; background-color: #fff; padding: 20px; margin: 20px; }
:root {
  --bs-placeholder-opacity: 0.2;
}

/* Footer */
footer {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  background-color: rgb(24,24,24);
  padding: 25px 0;
  color: white;
}

footer img { max-height: 40px; margin-right: 80px; }
footer .copyright { font-size: 10px; line-height: 40px; }

/* Utilities */
.py-5 { padding-top:3rem !important; padding-bottom:3rem !important; }
.text-center { text-align:center !important; }