:root {
  --primary-color: #365b6d;
  --secondary-color: #417086;
  --tertiary-color: #aed9e0;
  --text-color: #111111;
  --background-color: #f6f5f4;
  --background-color-secondary: #ebebeb;
  --horizontal-spacing: 70px;
}

* {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  box-sizing: border-box;
  text-decoration: none;
  list-style: none;
  font-family: "Poppins", sans-serif;
}

body {
  background-color: var(--background-color);
  color: var(--primary-color);
  overflow-x: hidden;
}

::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: var(--background-color);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  background: #c7c7c7;
  border: 2px solid #f1f1f1;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #b3b3b3;
}

::-webkit-scrollbar-thumb:active {
  background: #9c9c9c;
}

/* NAVBAR SECTION */
.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px var(--horizontal-spacing);
}

.logo {
  font-size: 23px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.logo img {
  width: 60px;
}
.logo span {
  color: #6c8997;
}

.nav-links {
  display: flex;
  gap: 50px;
}

.nav-links a {
  text-decoration: none;
  color: #4a5568;
  font-size: 16px;
  color: var(--primary-color);
  transition: 0.3s all;
}
.nav-links a:hover {
  color: var(--secondary-color);
}

.cta-button {
  padding: 12px 20px;
  background-color: var(--secondary-color);
  color: var(--background-color);
  font-size: 15px;
  font-weight: 500;
  border: none;
  border-radius: 200px;
  cursor: pointer;
  transition: 0.3s all;
}
.cta-button:hover {
  scale: 1.02;
  background-color: var(--primary-color);
}

@media (min-width: 1900px) {
  :root {
    --horizontal-spacing: 150px;
  }
}
@media (min-width: 1900px) {
  :root {
    --horizontal-spacing: 150px;
  }
}

/* HERO SECTION */
.hero-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 50px var(--horizontal-spacing);
}

.hero-text {
  max-width: 50%;
}

.hero-text h1 {
  font-family: "Libre Baskerville", sans-serif;
  font-size: 47px;
  line-height: 60px;
  margin-bottom: 10px;
}

.hero-text p {
  color: var(--secondary-color);
  margin-bottom: 20px;
  font-size: 17px;
  width: 90%;
}

.hero-buttons {
  display: flex;
  gap: 15px;
}

.primary-button {
  padding: 14px 30px;
  background-color: var(--primary-color);
  color: var(--background-color);
  border: 2px solid var(--background-color);
  border-radius: 200px;
  cursor: pointer;
  transition: 0.3s all;
}
.primary-button:hover {
  color: var(--primary-color);
  background-color: var(--background-color);
  border: 2px solid var(--primary-color);
  scale: 1.02;
}

.secondary-button {
  padding: 14px 30px;
  background-color: var(--background-color);
  color: var(--primary-color);
  border: 2px solid #b7c2ce;
  border-radius: 200px;
  cursor: pointer;
  transition: 0.3s all;
}
.secondary-button:hover {
  border: 2px solid var(--primary-color);
  box-shadow: 0 0 25px #dfdfdf;
  scale: 1.02;
}

#hero-animation {
  width: 600px;
  height: auto;
}

/* ABOUT SECTION */
.about-section {
  background-color: var(--background-color-secondary);
  display: flex;
  justify-content: center;
  padding: 40px var(--horizontal-spacing) 70px;
}

.about-container {
  max-width: 1250px;
  gap: 75px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#about-animation {
  width: 600px;
  height: auto;
}

.content-area {
  width: 700px;
}

.content-area .about-title {
  font-size: 35px;
}

.content-area .about-description {
  margin-bottom: 30px;
}

.content-area .h3 {
  font-size: 40px;
  color: var(--primary-color);
  font-weight: 700;
}

.content-area p {
  line-height: 1.5;
  color: var(--secondary-color);
}

.points {
  display: flex;
  gap: 27px;
  justify-content: center; /* Ensures items are centered */
  align-items: center;
}

.point {
  width: 50%;
}

.point h3 {
  font-size: 27px;
  color: var(--primary-color);
  font-weight: 700;
  margin-top: 50px;
  margin-bottom: 10px;
}

.point p {
  color: var(--secondary-color);
}

.about-container-responsive {
  display: none;
}

/* SERVICES SECTION */
.services-section {
  background-color: var(--background-color);
  padding: 90px var(--horizontal-spacing) 110px;
}

.features-container .features-title {
  font-size: 35px;
  color: var(--primary-color);
  margin-bottom: 5px;
  text-align: center;
}

.features-container .features-description {
  font-size: 17px;
  color: var(--secondary-color);
  margin-bottom: 45px;
  text-align: center;
}

.features-grid {
  gap: 20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.feature-card {
  width: 300px;
  background: var(--background-color);
  border: 2px solid #dbdbdb;
  border-radius: 22px;
  padding: 23px;
  transition: 0.3s all;
}

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1);
  border: 2px solid var(--primary-color);
}

.feature-card .icon-placeholder img {
  width: 100%;
}

.feature-card h3 {
  font-size: 20px;
  color: var(--primary-color);
  margin: 20px 0 7px;
}

.feature-card p {
  font-size: 15px;
  color: var(--secondary-color);
  margin-bottom: 25px;
}

.feature-card a {
  text-decoration: none;
  color: var(--primary-color);
  font-weight: 700;
  font-size: 15px;
  display: inline-block;
  opacity: 0.7;
  transition: 0.2s all;
}

.feature-card a:hover {
  opacity: 1;
}

/* RESULTS SECTION */
.results-section {
  background-color: var(--background-color-secondary);
  padding: 90px var(--horizontal-spacing) 110px;
}

.results-container .results-title {
  font-size: 35px;
  color: var(--primary-color);
  margin-bottom: 5px;
  text-align: center;
}

.results-container .results-description {
  font-size: 17px;
  color: var(--secondary-color);
  margin-bottom: 45px;
  text-align: center;
}

.results-grid {
  gap: 20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.result-card {
  width: 320px;
  height: 210px;
  background: var(--background-color-secondary);
  border: 2px solid #c9c9c9;
  border-radius: 22px;
  padding: 23px;
  transition: 0.3s all;
}

.result-top {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
  gap: 15px;
}

.icon-placeholder img {
  width: 65px;
}

.result-card h3 {
  font-size: 20px;
  color: var(--secondary-color);
  font-weight: 500;
}

.result-card .result-value {
  font-family: "DM Sans", sans-serif;
  font-size: 50px;
  font-weight: 600;
}

.result-card .result-value span {
  color: #365b6d80;
}

/* TEAM SECTION */
.team-section {
  background-color: var(--background-color);
  padding: 90px var(--horizontal-spacing) 100px;
}

.team-section h2 {
  font-size: 35px;
  color: var(--primary-color);
  margin-bottom: 5px;
  text-align: center;
}

.team-section p {
  font-size: 17px;
  color: var(--secondary-color);
  margin-bottom: 45px;
  text-align: center;
}

.team-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  width: 1200px;
  margin: auto;
}

.team-card {
  width: 320px;
  height: auto;
  background: var(--background-color);
  border: 2px solid #dbdbdb;
  border-radius: 22px;
  padding: 23px;
  transition: 0.3s all;
  text-align: center;
}

.team-card .profile-img {
  width: 120px;
  height: 120px;
  margin: 0 auto 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  object-fit: fill;
  background-color: #eaeaea;
  border-radius: 200px;
  overflow: hidden;
}

.team-card .profile-img img {
  width: 100%;
}

.team-card h3 {
  font-size: 22px; /* Matches result-card h3 */
  color: var(--secondary-color);
  font-weight: 600;
}

.team-card .role {
  font-size: 16px;
  font-weight: 300;
  color: var(--secondary-color);
  margin-bottom: 15px;
}

.team-card p {
  font-size: 15px; /* Slightly smaller for readability */
  color: var(--secondary-color);
  margin: 0;
}

/* CONTACT SECTION */
.contact-section {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 70px var(--horizontal-spacing) 90px;
  gap: 100px;
  background-color: var(--background-color-secondary);
}

.container {
  width: 600px;
}

.form-container h2 {
  font-size: 35px;
  color: var(--primary-color);
  margin-bottom: 15px;
  font-weight: 700;
}

form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

form input,
form textarea {
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: 10px;
  background-color: #dfdfdf;
  font-size: 15px;
  outline: none;
  transition: 0.3s all;
}

form label {
  font-weight: 500;
  margin-bottom: -13px;
}

form input:hover,
form textarea:hover {
  background-color: #d8d8d8;
}

form textarea {
  resize: none;
  height: 130px;
}

form button {
  padding: 1rem;
  background-color: var(--primary-color);
  color: var(--background-color);
  border: none;
  cursor: pointer;
  margin-top: 20px;
  border-radius: 10px;
  font-size: 17px;
  transition: 0.3s all;
}

form button:hover {
  background-color: var(--secondary-color);
}

#contact-animation {
  width: 600px;
}

/* FOOTER SECTION */
footer {
  background-color: var(--background-color);
  padding: 20px 110px;
}

.footer-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo-footer {
  font-size: 20px;
  display: flex;
  align-items: center;
  gap: 5px;
  opacity: 0.8;
}
.logo-footer img {
  width: 50px;
}
.logo-footer span {
  color: #6c8997;
}

.footer-links {
  display: flex;
  gap: 45px;
}

.footer-links a {
  color: var(--primary-color);
  opacity: 0.7;
  transition: 0.3s all;
}

.footer-links a:hover {
  opacity: 1;
}

.footer-socials {
  display: flex;
  gap: 10px;
  margin-left: 100px;
}

.footer-socials a {
  color: var(--primary-color);
  background-color: #6c899744;
  font-size: 17px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  text-decoration: none;
  opacity: 0.7;
  transition: 0.3s all;
}

.footer-socials a:hover {
  opacity: 1;
  scale: 1.05;
}

.footer-line {
  height: 0.5px;
  margin-top: 40px;
  width: 100%;
  background-color: var(--primary-color);
  opacity: 0.7;
}

.footer-bottom {
  text-align: center;
  margin-top: 20px;
  font-size: 15px;
  color: var(--primary-color);
  opacity: 0.7;
}
