/* Home-only UI cleanup: tighter hierarchy, less visual noise, smoother flow */
body {
  line-height: 1.68;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Home readability baseline */
.hero-title,
.intro-title,
.section-title,
.service-card h3,
.feature-content h3,
.contact-form h3,
.contact-info h3 {
  color: var(--text-primary) !important;
  letter-spacing: -0.01em;
}

.hero-description,
.intro-description,
.service-card p,
.feature-content p,
.testimonial-text,
.contact-description,
.contact-info p,
.contact-info li,
.contact-form label,
.read-more {
  color: var(--text-secondary) !important;
}

/* Dark mode readability overrides for homepage */
html[data-theme="dark"] .hero-subtitle,
body[data-theme="dark"] .hero-subtitle {
  color: #f1c48d !important;
  font-weight: 600;
}

html[data-theme="dark"] .hero-title,
html[data-theme="dark"] .intro-title,
html[data-theme="dark"] .section-title,
html[data-theme="dark"] .service-card h3,
html[data-theme="dark"] .feature-content h3,
html[data-theme="dark"] .contact-form h3,
html[data-theme="dark"] .contact-info h3,
body[data-theme="dark"] .hero-title,
body[data-theme="dark"] .intro-title,
body[data-theme="dark"] .section-title,
body[data-theme="dark"] .service-card h3,
body[data-theme="dark"] .feature-content h3,
body[data-theme="dark"] .contact-form h3,
body[data-theme="dark"] .contact-info h3 {
  color: #f7dbb3 !important;
}

html[data-theme="dark"] .hero-title .highlight,
body[data-theme="dark"] .hero-title .highlight {
  color: #d08a45 !important;
}

html[data-theme="dark"] .hero-description,
html[data-theme="dark"] .intro-description,
html[data-theme="dark"] .service-card p,
html[data-theme="dark"] .feature-content p,
html[data-theme="dark"] .testimonial-text,
html[data-theme="dark"] .contact-description,
html[data-theme="dark"] .contact-info p,
html[data-theme="dark"] .contact-info li,
html[data-theme="dark"] .contact-form label,
html[data-theme="dark"] .read-more,
body[data-theme="dark"] .hero-description,
body[data-theme="dark"] .intro-description,
body[data-theme="dark"] .service-card p,
body[data-theme="dark"] .feature-content p,
body[data-theme="dark"] .testimonial-text,
body[data-theme="dark"] .contact-description,
body[data-theme="dark"] .contact-info p,
body[data-theme="dark"] .contact-info li,
body[data-theme="dark"] .contact-form label,
body[data-theme="dark"] .read-more {
  color: #f3d5ac !important;
}

/* Light mode readability overrides for homepage */
html[data-theme="light"] .hero-subtitle,
body[data-theme="light"] .hero-subtitle {
  color: #3b2418 !important;
  font-weight: 600;
}

html[data-theme="light"] .hero-title,
html[data-theme="light"] .intro-title,
html[data-theme="light"] .section-title,
html[data-theme="light"] .service-card h3,
html[data-theme="light"] .feature-content h3,
html[data-theme="light"] .contact-form h3,
html[data-theme="light"] .contact-info h3,
body[data-theme="light"] .hero-title,
body[data-theme="light"] .intro-title,
body[data-theme="light"] .section-title,
body[data-theme="light"] .service-card h3,
body[data-theme="light"] .feature-content h3,
body[data-theme="light"] .contact-form h3,
body[data-theme="light"] .contact-info h3 {
  color: #2f1b11 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

html[data-theme="light"] .hero-title .highlight,
body[data-theme="light"] .hero-title .highlight {
  color: #8b4513 !important;
}

html[data-theme="light"] .hero-description,
html[data-theme="light"] .intro-description,
html[data-theme="light"] .service-card p,
html[data-theme="light"] .feature-content p,
html[data-theme="light"] .testimonial-text,
html[data-theme="light"] .contact-description,
html[data-theme="light"] .contact-info p,
html[data-theme="light"] .contact-info li,
html[data-theme="light"] .contact-form label,
html[data-theme="light"] .read-more,
body[data-theme="light"] .hero-description,
body[data-theme="light"] .intro-description,
body[data-theme="light"] .service-card p,
body[data-theme="light"] .feature-content p,
body[data-theme="light"] .testimonial-text,
body[data-theme="light"] .contact-description,
body[data-theme="light"] .contact-info p,
body[data-theme="light"] .contact-info li,
body[data-theme="light"] .contact-form label,
body[data-theme="light"] .read-more {
  color: #4a3021 !important;
}

html[data-theme="light"] .btn-secondary {
  background: rgba(255, 255, 255, 0.92) !important;
  color: #2f1b11 !important;
  border-color: rgba(107, 63, 37, 0.35) !important;
}

html[data-theme="light"] .hero-main-image .image-placeholder::after {
  background: linear-gradient(
    135deg,
    rgba(44, 24, 16, 0.18) 0%,
    rgba(62, 35, 24, 0.08) 45%,
    rgba(44, 24, 16, 0.2) 100%
  ) !important;
}

.hero-description,
.intro-description,
.feature-content p,
.testimonial-text,
.contact-description {
  font-size: clamp(1.03rem, 1.18vw, 1.14rem) !important;
  line-height: 1.75 !important;
}

.hero,
.intro-section,
.services-section,
.why-choose-section,
.partners-section,
.contact-section {
  margin-top: 28px;
  margin-bottom: 0;
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.hero {
  padding-top: 56px !important;
}

.wave-separator {
  display: none !important;
}

.hero-container,
.intro-container,
.services-container,
.why-choose-container,
.partners-container,
.contact-container {
  width: min(1120px, calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
}

.hero-container {
  gap: 36px !important;
  align-items: center;
}

.hero-title {
  font-size: clamp(2rem, 4.2vw, 3.4rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.01em;
  max-width: 15ch;
  text-wrap: balance;
}

.hero-description {
  max-width: 56ch;
  font-size: clamp(1rem, 1.3vw, 1.12rem) !important;
  margin-top: 14px;
}

.hero-buttons {
  gap: 12px !important;
}

.hero-main-image {
  position: relative;
  border-radius: 18px !important;
  overflow: hidden;
}

.hero-main-image .image-placeholder {
  position: relative;
  width: 100%;
  aspect-ratio: 21 / 9;
  min-height: clamp(220px, 22vw, 360px) !important;
  border-radius: inherit !important;
  overflow: hidden;
}

.hero-main-image .image-placeholder img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.hero-main-image .image-placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(44, 24, 16, 0.52) 0%,
    rgba(62, 35, 24, 0.38) 45%,
    rgba(44, 24, 16, 0.55) 100%
  );
  pointer-events: none;
}

.hero .image-placeholder span,
.services-section .service-image .image-placeholder span,
.partners-section .image-placeholder span {
  display: none !important;
}

.services-grid {
  gap: 20px !important;
}

.service-card {
  padding: 22px 20px !important;
  border-radius: 16px !important;
  transform: none !important;
}

.service-card.is-hovered,
.service-card:hover {
  transform: translateY(-4px) !important;
}

.service-card .service-icon {
  font-size: 1.4rem !important;
}

.service-card h3 {
  margin-bottom: 10px !important;
  font-size: 1.12rem !important;
  line-height: 1.35;
}

.service-card p {
  font-size: 0.99rem !important;
  line-height: 1.7 !important;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 8.3em;
}

.section-title,
.intro-title {
  font-size: clamp(1.6rem, 2.6vw, 2.35rem) !important;
  margin-bottom: 18px !important;
  line-height: 1.25;
  text-wrap: balance;
}

.intro-description,
.feature-content p,
.testimonial-text,
.contact-description {
  max-width: 70ch;
  margin-left: auto;
  margin-right: auto;
}

.why-choose-grid {
  gap: 24px !important;
}

.feature-item {
  padding: 16px 18px !important;
  border-radius: 14px !important;
}

.partners-grid {
  gap: 16px !important;
}

.partner-logo {
  min-height: 88px;
  border-radius: 14px !important;
}

.contact-container {
  gap: 24px !important;
}

.contact-form,
.contact-info {
  padding: 22px !important;
  border-radius: 16px !important;
}

input,
textarea,
select,
option {
  color: #fff1dc !important;
}

html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select,
html[data-theme="light"] option {
  color: #2f1b11 !important;
}

input::placeholder,
textarea::placeholder {
  color: #d8a77c !important;
  opacity: 1;
}

label {
  color: #f3d5ac !important;
  font-weight: 600;
}

html[data-theme="light"] label {
  color: #3f281b !important;
}

input,
textarea,
select {
  min-height: 46px;
}

textarea {
  min-height: 110px;
}

.scroll-to-top {
  width: 44px !important;
  height: 44px !important;
}

/* Reduce heavy motion artifacts from homepage script */
.hero-visual.parallax {
  transform: none !important;
}

@media (max-width: 900px) {
  .hero,
  .intro-section,
  .services-section,
  .why-choose-section,
  .partners-section,
  .contact-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .hero-main-image,
  .hero-main-image .image-placeholder {
    min-height: 180px !important;
  }

  .service-card p {
    -webkit-line-clamp: 6;
    font-size: 1rem !important;
    line-height: 1.72 !important;
  }

  .hero-description,
  .intro-description,
  .feature-content p,
  .testimonial-text,
  .contact-description {
    font-size: 1.02rem !important;
    line-height: 1.72 !important;
  }

  .hero-container {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .hero-title {
    max-width: none !important;
  }

  .hero-description {
    max-width: none !important;
  }

  .hero-buttons {
    justify-content: center;
  }

  .why-choose-grid {
    grid-template-columns: 1fr !important;
  }

  .services-grid {
    grid-template-columns: 1fr !important;
  }

}

@media (max-width: 480px) {
  .hero,
  .intro-section,
  .services-section,
  .why-choose-section,
  .partners-section,
  .contact-section {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .hero-main-image,
  .hero-main-image .image-placeholder {
    min-height: 160px !important;
    aspect-ratio: 16 / 9 !important;
  }

  .hero-container,
  .intro-container,
  .services-container,
  .why-choose-container,
  .partners-container,
  .contact-container {
    width: 100% !important;
    padding: 0 !important;
  }

  .section-title,
  .intro-title {
    font-size: clamp(1.35rem, 5.5vw, 1.8rem) !important;
  }

  .contact-form,
  .contact-info {
    padding: 16px !important;
  }

  .feature-item {
    padding: 14px !important;
  }

  .footer {
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
