/* ==========================================================================
   1. GLOBAL STYLES & TYPOGRAPHY
   ========================================================================== */
* {
  transition: all 0.3s ease;
  scroll-behavior: smooth;
  box-sizing: border-box;
  /* Added to prevent padding from breaking widths */
}


body {
  display: flex;
  flex-direction: column;
  background-color: white;
  color: #333;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

p {
  line-height: 1.5;
}

h1,h2,h3,h4,h5,h6 {
  margin: 10px 0px;
  padding: 10px 0px;
  font-weight: 700;
}

.iti {
  width: 100%;
}

.tel {
  padding-bottom: 15px;
}

.card-icon {
  color: #000;
}

body {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
}

.fw-bold {
  font-weight: 700;
}

.fw-light {
  font-weight: 300;
}


.btn-black {
  background-color: #000000;
  color: #ffffff;
}

.btn-light {
  background-color: #f8f9fa;
  color: #000000;
  border: 1px solid #000000;
}

a {
  color: #000000;
  text-decoration: none;
}

.service-tab {
  cursor: pointer;
}

.service-tab:hover {
  color: #ffffff;
}

.service-tab-wrapper {
  margin: 0px;
  padding: 0px;
}

.news-image {
  height: 240px;
  object-fit: cover;
  object-position: center;
}

.card {
  border: solid 1px #242424;
}

.news-card {
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
}

.introduction-text{
  line-height: 1.6;
}
.introduction-h2{
  font-weight: 400;
}
.form-control::placeholder {
  color: #899096;
  opacity: 1;
}
.iti,.iti * {
  transition: none !important;
}
.btn-light{
  border-color: #bdc3c7;
}