:root {
  --header-offset-desktop: 120px;
  --header-offset-mobile: 100px;
  --header-offset: var(--header-offset-desktop);
}



@media (max-width: 768px) {
  :root {
    --header-offset: var(--header-offset-mobile);
  }



body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #87ceeb;
  
  overflow-x: hidden;
  padding-top: 0;
}



html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  /* text-size-adjust: 100%; */ /* Not supported by Firefox, Safari - removed for compatibility */
  scroll-behavior: smooth;
  overflow-x: hidden;
}



body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  line-height: 1.6;
  color: #1f2937;
  background: transparent;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}




.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}





.grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}



.grid-2 {
  grid-template-columns: 1fr;
}



.grid-3 {
  grid-template-columns: 1fr;
}



.grid-4 {
  grid-template-columns: 1fr;
}




.card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
  max-width: 100%;
}



.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}



.card-body {
  padding: 1rem;
}



.card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 0.5rem;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
}



.card-text {
  color: #6b7280;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}




.service-card {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border: 1px solid #e2e8f0;
  transition: all 0.3s ease;
  text-align: center;
  width: 100%;
  margin-bottom: 1rem;
}



.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  border-color: #1e40af;
}



.service-card h3 {
  font-size: 1.2rem;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 0.75rem;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
}



.service-card p {
  color: #6b7280;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}



.service-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}



.service-card li {
  padding: 0.25rem 0;
  color: #6b7280;
  font-size: 0.85rem;
  position: relative;
  padding-left: 1.25rem;
  line-height: 1.4;
}



.service-card li::before {
  content: '✓';
  color: #1e40af;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0.25rem;
}




h1, h2, h3, h4, h5, h6 {
  line-height: 1.2;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}



h1 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 1rem;
}



h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 0.875rem;
}



h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}



p {
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
}




.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  min-height: 44px; 
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
}



.btn-primary {
  background: #1e40af;
  color: white;
}



.btn-primary:hover {
  background: #1d4ed8;
  transform: translateY(-1px);
}



.btn-secondary {
  background: transparent;
  color: #1e40af;
  border: 2px solid #1e40af;
}



.btn-secondary:hover {
  background: #1e40af;
  color: white;
}




img {
  max-width: 100%;
  height: auto;
  display: block;
}



.image-card {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  margin-bottom: 1rem;
}



.image-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}



.image-card-caption {
  padding: 1rem;
  background: white;
}



.image-card-caption h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 0.5rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
}




.section {
  padding: 2rem 0;
}



.section-sm {
  padding: 1.5rem 0;
}



.section-lg {
  padding: 3rem 0;
}


.mb-2 { margin-bottom: 1rem; }




@media (min-width: 768px) {
  .container {
    padding: 0 2rem;
  }


  
  .grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }


  
  .grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }


  
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }


  
  .service-card {
    padding: 2rem;
  }


  
  .service-card h3 {
    font-size: 1.3rem;
  }


  
  .service-card p {
    font-size: 1rem;
  }


  
  .btn {
    width: auto;
    min-width: 120px;
  }


  
  h1 {
    font-size: 2.25rem;
  }


  
  h2 {
    font-size: 1.875rem;
  }


  
  h3 {
    font-size: 1.5rem;
  }


  
  p {
    font-size: 1rem;
  }


  
  .image-card img {
    height: 250px;
  }


  
  .section {
    padding: 3rem 0;
  }


  
  .section-lg {
    padding: 4rem 0;
  }


}


@media (min-width: 1024px) {
  .grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }


  
  .grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }


  
  .service-card {
    padding: 2.5rem;
  }


  
  .service-card h3 {
    font-size: 1.4rem;
  }


  
  h1 {
    font-size: 2.5rem;
  }


  
  h2 {
    font-size: 2.25rem;
  }


  
  h3 {
    font-size: 1.75rem;
  }


  
  .image-card img {
    height: 300px;
  }


  
  .section {
    padding: 4rem 0;
  }


  
  .section-lg {
    padding: 5rem 0;
  }


}


@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
    padding: 0 2rem;
  }


  
  .service-card {
    padding: 3rem;
  }


  
  .section {
    padding: 5rem 0;
  }


  
  .section-lg {
    padding: 6rem 0;
  }


}


@media (max-width: 767px) {
  
  * {
    max-width: 100%;
  }


  
  
  .container,
  .container-fluid {
    width: 100%;
    max-width: 100%;
    padding: 0 1rem;
    margin: 0;
  }


  
  
  .services-grid,
  .types-grid,
  .features-grid,
  .gallery-grid,
  .reasons-grid,
  .service-areas-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }


  
  
  .service-card h3,
  .card-title,
  .image-card-caption h3 {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }


  
  
  .service-card,
  .card,
  .image-card {
    margin-bottom: 1rem;
    width: 100%;
    max-width: 100%;
  }


  
  
  .btn-row {
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
  }


  
  .btn-row .btn {
    width: 100%;
    max-width: 280px;
  }


  
  
  .image-card img {
    height: 180px;
  }


  
  
  .service-card,
  .card-body {
    padding: 1rem;
  }


  
  
  h1 {
    font-size: 1.5rem;
  }


  
  h2 {
    font-size: 1.375rem;
  }


  
  h3 {
    font-size: 1.125rem;
  }


  
  p {
    font-size: 0.9rem;
  }


}


@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }


}


@media (prefers-contrast: high) {
  .card,
  .service-card {
    border: 2px solid #000;
  }


  
  .btn-primary {
    background: #000;
    border: 2px solid #000;
  }


  
  .btn-secondary {
    border: 2px solid #000;
    color: #000;
  }


}


@media print {
  .card,
  .service-card {
    break-inside: avoid;
    box-shadow: none;
    border: 1px solid #000;
  }


  
  .btn {
    display: none;
  }


}






.services-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  padding: 0 1rem;
  margin: 0 auto;
}



.service-card {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border: 1px solid #e2e8f0;
  transition: all 0.3s ease;
  text-align: center;
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  box-sizing: border-box;
}



.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  border-color: #1e40af;
}




.service-card h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 0.75rem;
  line-height: 1.3;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  width: 100%;
  max-width: 100%;
}



.service-card p {
  color: #6b7280;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
}



.service-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}



.service-card li {
  padding: 0.25rem 0;
  color: #6b7280;
  font-size: 0.85rem;
  position: relative;
  padding-left: 1.25rem;
  line-height: 1.4;
  word-wrap: break-word;
  overflow-wrap: break-word;
}



.service-card li::before {
  content: '✓';
  color: #1e40af;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0.25rem;
}




.service-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
  width: 100%;
  height: 100%;
}



.service-card-link:hover {
  text-decoration: none;
  color: inherit;
}




.image-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  padding: 0 1rem;
  margin: 0 auto;
}



.image-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border: 1px solid #e2e8f0;
  transition: all 0.3s ease;
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  box-sizing: border-box;
}



.image-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  border-color: #1e40af;
}



.image-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}



.image-card-caption {
  padding: 1rem;
  background: white;
}



.image-card-caption h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 0.5rem;
  line-height: 1.3;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  width: 100%;
  max-width: 100%;
}




.services-container {
  width: 100%;
  max-width: 100%;
  padding: 0 1rem;
  margin: 0 auto;
  box-sizing: border-box;
}



.services-section {
  width: 100%;
  max-width: 100%;
  padding: 2rem 0;
  margin: 0;
  box-sizing: border-box;
}




.services-section h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 1.5rem;
  text-align: center;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  padding: 0 1rem;
}



.services-section p {
  font-size: 0.95rem;
  color: #6b7280;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
  padding: 0 1rem;
}




@media (min-width: 768px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    padding: 0 2rem;
  }


  
  .image-cards-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    padding: 0 2rem;
  }


  
  .service-card {
    padding: 2rem;
  }


  
  .service-card h3 {
    font-size: 1.25rem;
  }


  
  .service-card p {
    font-size: 1rem;
  }


  
  .image-card img {
    height: 220px;
  }


  
  .image-card-caption h3 {
    font-size: 1.2rem;
  }


  
  .services-section h2 {
    font-size: 2rem;
  }


  
  .services-section p {
    font-size: 1.1rem;
  }


  
  .services-container {
    padding: 0 2rem;
  }


}


@media (min-width: 1024px) {
  .services-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }


  
  .image-cards-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }


  
  .service-card {
    padding: 2.5rem;
  }


  
  .service-card h3 {
    font-size: 1.375rem;
  }


  
  .image-card img {
    height: 250px;
  }


  
  .image-card-caption h3 {
    font-size: 1.3rem;
  }


  
  .services-section h2 {
    font-size: 2.25rem;
  }


  
  .services-section p {
    font-size: 1.2rem;
  }


}


@media (min-width: 1200px) {
  .services-grid {
    max-width: 1200px;
  }


  
  .image-cards-grid {
    max-width: 1200px;
  }


  
  .services-container {
    max-width: 1200px;
  }


}


@media (max-width: 767px) {
  
  .services-grid,
  .image-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }


  
  
  .service-card,
  .image-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }


  
  
  .service-card h3,
  .image-card-caption h3,
  .service-card p,
  .service-card li {
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }


  
  
  .service-card,
  .image-card {
    margin-bottom: 1rem;
  }


  
  
  .service-card {
    padding: 1.25rem;
  }


  
  .image-card-caption {
    padding: 0.875rem;
  }


}


@media (prefers-reduced-motion: reduce) {
  .service-card,
  .image-card {
    transition: none;
  }


  
  .service-card:hover,
  .image-card:hover {
    transform: none;
  }


}


@media (prefers-contrast: high) {
  .service-card,
  .image-card {
    border: 2px solid #000;
  }


  
  .service-card h3,
  .image-card-caption h3 {
    color: #000;
  }


}





@media (max-width: 767px) {
  
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }


  
  
  .services-grid,
  .types-grid,
  .features-grid,
  .gallery-grid,
  .reasons-grid,
  .service-areas-grid,
  .process-steps,
  .materials-content {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }


  
  
  h1, h2, h3, h4, h5, h6,
  .service-title,
  .service-card h3,
  .type-card h3,
  .feature-item h3,
  .reason-item h3,
  .step h3,
  .image-card-caption h3,
  .gallery-overlay h3 {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
  }


  
  
  p,
  .service-description,
  .service-card p,
  .type-card p,
  .feature-item p,
  .reason-item p,
  .step p {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
  }


  
  
  li,
  .service-card li,
  .type-card li,
  .materials-text li {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
  }


  
  
  .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 1rem !important;
    margin: 0 !important;
  }


  
  
  .service-card,
  .type-card,
  .feature-item,
  .reason-item,
  .step,
  .service-area-group,
  .service-box,
  .image-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 1rem 0 !important;
    padding: 1.25rem !important;
    box-sizing: border-box !important;
  }


  
  
  .btn,
  .btn-primary,
  .btn-secondary,
  .primary-button,
  .secondary-button {
    width: 100% !important;
    max-width: 280px !important;
    margin: 0 auto !important;
    min-height: 44px !important;
    font-size: 0.9rem !important;
  }


  
  .btn-row {
    flex-direction: column !important;
    gap: 0.75rem !important;
    align-items: center !important;
  }


  
  
  h1 {
    font-size: 1.5rem !important;
  }


  
  h2 {
    font-size: 1.375rem !important;
  }


  
  h3 {
    font-size: 1.125rem !important;
  }


  
  p {
    font-size: 0.9rem !important;
  }


  
  
  img {
    max-width: 100% !important;
    height: auto !important;
  }


  
  .image-card img {
    height: 180px !important;
  }


  
  
  section {
    padding: 2rem 0 !important;
  }


  
  
  body, html, .App {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }


}


@media (min-width: 768px) and (max-width: 1023px) {
  .services-grid,
  .types-grid,
  .features-grid,
  .gallery-grid,
  .reasons-grid,
  .service-areas-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }


  
  .process-steps {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }


  
  .materials-content {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }


  
  .container {
    padding: 0 2rem !important;
  }


  
  .service-card,
  .type-card,
  .feature-item,
  .reason-item,
  .step,
  .service-area-group,
  .service-box,
  .image-card {
    padding: 2rem !important;
  }


  
  h1 {
    font-size: 2rem !important;
  }


  
  h2 {
    font-size: 1.875rem !important;
  }


  
  h3 {
    font-size: 1.25rem !important;
  }


  
  p {
    font-size: 1rem !important;
  }


  
  .image-card img {
    height: 220px !important;
  }


}


@media (min-width: 1024px) {
  .services-grid,
  .types-grid,
  .features-grid,
  .gallery-grid,
  .reasons-grid,
  .service-areas-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
  }


  
  .process-steps {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
  }


  
  .materials-content {
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
  }


  
  .btn-row {
    flex-direction: row !important;
    justify-content: center !important;
  }


  
  .btn,
  .btn-primary,
  .btn-secondary,
  .primary-button,
  .secondary-button {
    width: auto !important;
    min-width: 120px !important;
    max-width: none !important;
  }


  
  h1 {
    font-size: 2.25rem !important;
  }


  
  h2 {
    font-size: 2rem !important;
  }


  
  h3 {
    font-size: 1.5rem !important;
  }


  
  p {
    font-size: 1.1rem !important;
  }


  
  .image-card img {
    height: 250px !important;
  }


}


@media (min-width: 1200px) {
  .types-grid,
  .features-grid,
  .gallery-grid,
  .reasons-grid,
  .service-areas-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }


  
  .container {
    max-width: 1200px !important;
  }


  
  h1 {
    font-size: 2.5rem !important;
  }


  
  h2 {
    font-size: 2.25rem !important;
  }


  
  h3 {
    font-size: 1.75rem !important;
  }


  
  p {
    font-size: 1.2rem !important;
  }


  
  .image-card img {
    height: 300px !important;
  }


}


@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }


}


@media (prefers-contrast: high) {
  .service-card,
  .type-card,
  .feature-item,
  .reason-item,
  .step,
  .service-area-group,
  .service-box,
  .image-card {
    border: 2px solid #000 !important;
  }


  
  .btn-primary,
  .primary-button {
    background: #000 !important;
    border: 2px solid #000 !important;
  }


  
  .btn-secondary,
  .secondary-button {
    border: 2px solid #000 !important;
    color: #000 !important;
  }


}


@media print {
  .service-card,
  .type-card,
  .feature-item,
  .reason-item,
  .step,
  .service-area-group,
  .service-box,
  .image-card {
    break-inside: avoid;
    box-shadow: none;
    border: 1px solid #000;
  }


  
  .btn,
  .btn-primary,
  .btn-secondary,
  .primary-button,
  .secondary-button {
    display: none;
  }




img {
  max-width: 100%;
  height: auto;
}




.contact-cta,
.cta-section,
.cta {
  background-position: center bottom !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}




@media (prefers-reduced-motion: no-preference) {
  .fade-in {
    animation: fadeIn 0.3s ease-in-out;
  }


}

@media (prefers-reduced-motion: reduce) {
  .fade-in,
  .slide-up {
    animation: none;
  }


}

@keyframes fadeIn {
  from { opacity: 0; }


}

@keyframes slideUp {
  from { 
    opacity: 0;
    transform: translateY(20px);
  }




.interactive-element {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  will-change: transform;
}



.interactive-element:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}




body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}




@container (min-width: 768px) {
  .responsive-grid {
    grid-template-columns: repeat(3, 1fr);
  }


}

@container (min-width: 1024px) {
  .responsive-grid {
    grid-template-columns: repeat(3, 1fr);
  }


}


.focus-visible {
  outline: 2px solid #1e40af;
  outline-offset: 2px;
}




@media print {
  .no-print {
    display: none !important;
  }


  
  body {
    font-size: 12pt;
    line-height: 1.4;
  }


}


@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: #1a1a1a;
    --text-color: #ffffff;
    --accent-color: #3b82f6;
  }


}


@media (prefers-contrast: high) {
  .high-contrast {
    border: 2px solid currentColor;
  }


}


@media (prefers-reduced-data: reduce) {
  .data-heavy {
    display: none;
  }


}


@media (hover: none) and (pointer: coarse) {
  .touch-optimized {
    min-height: 44px;
    min-width: 44px;
  }


}


@media (min-width: 1920px) {
  .container {
    max-width: 1600px;
    margin: 0 auto;
  }


}


@media (max-width: 480px) {
  .mobile-optimized {
    font-size: 14px;
    padding: 0.5rem;
  }



@keyframes loading {
  0% { background-position: 200% 0; }


}


.image-container {
  position: relative;
  overflow: hidden;
  background-color: #f0f0f0;
}



.image-container img {
  transition: opacity 0.3s ease;
}



.image-container.loading img {
  opacity: 0;
}



.image-container.loaded img {
  opacity: 1;
}



.header {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 25%, #1e40af 50%, #1e3a8a 75%, #1e40af 100%) !important; 
  color: white;
  position: fixed;
  top: 0;
  left: 0;
  right: 0; 
  z-index: 10000; 
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important; 
  border-bottom: none !important;
  overflow: visible; 
  
  transform: none;
  -webkit-transform: none;
  will-change: auto;
  
  box-shadow: none;
  
  background-size: 200% 200%;
  animation: gradientShift 8s ease-in-out infinite;
  
  box-sizing: border-box;
}




.header{position:fixed}


.header{overflow:visible}


.header{isolation:isolate}




@keyframes gradientShift {
  0%, 100% {
    background-position: 0% 50%;
  }


}



.header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
              radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.05) 0%, transparent 50%),
              radial-gradient(circle at 40% 80%, rgba(255, 255, 255, 0.08) 0%, transparent 50%);
  pointer-events: none;
  z-index: -1; 
  animation: rippleEffect 12s ease-in-out infinite;
}



@keyframes rippleEffect {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }


}

/* Header wave decorative element */
.header-wave {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 60px;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.header-wave__svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Header surface container */
.header-surface {
  position: relative;
  z-index: 2;
  width: 100%;
}

.header-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem; 
  overflow: visible; 
  width: 100%;
  box-sizing: border-box;
}




.header-top {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 25%, #1e40af 50%, #1e3a8a 75%, #1e40af 100%) !important; 
  padding: 0.25rem 0 0.25rem 0 !important; 
  border-bottom: none !important;
  overflow: visible; 
  width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 10;
  margin: 0 !important; 
  margin-bottom: -1px !important; 
  margin-top: 0 !important; 
  background-size: 200% 200%;
  animation: gradientShift 8s ease-in-out infinite;
}



.header-top .contact-info {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  flex-wrap: nowrap !important;
  font-size: 0.75rem;
  white-space: nowrap;
  flex-direction: row !important;
  line-height: 1 !important; 
  margin: 0 !important;
  padding: 0.3rem 0 !important;
}



.contact-info {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  flex-wrap: nowrap !important;
  font-size: 0.75rem;
  white-space: nowrap;
  flex-direction: row !important;
  line-height: 1 !important; 
  margin: 0 !important;
  padding: 0 !important;
  color: white !important;
}




.contact-info * {
  color: white !important;
}



.contact-separator {
  color: rgba(255, 255, 255, 0.8) !important;
  font-weight: 400;
  font-size: 0.8rem;
  display: inline;
}



.contact-link {
  color: #ffffff !important;
  text-decoration: none;
  transition: transform 0.3s ease, opacity 0.3s ease;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
  flex-shrink: 0;
}



.contact-link:hover {
  color: #00d4ff !important;
}



.contact-text {
  font-weight: 600;
  color: #ffffff !important;
  white-space: nowrap;
  display: inline-block;
  flex-shrink: 0;
}




.header,
.header-top,
.header-main,
.contact-info,
.contact-link,
.contact-text,
.contact-separator,
.header *,
.header-top *,
.header-main *,
.contact-info * {
  color: #ffffff !important;
  --ink: #ffffff !important;
  --text-color: #ffffff !important;
}




.header .contact-link,
.header .contact-text,
.header .contact-separator {
  color: #ffffff !important;
}




.header-main {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 25%, #1e40af 50%, #1e3a8a 75%, #1e40af 100%) !important; 
  padding: 0.25rem 0 1rem 0 !important; 
  overflow: visible; 
  position: relative;
  z-index: 10;
  margin: 0 !important; 
  margin-top: -1px !important; 
  margin-bottom: 0 !important; 
  background-size: 200% 200%;
  animation: gradientShift 8s ease-in-out infinite;
}



.header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem; 
  width: 100%;
  max-width: 100%;
  overflow: visible; 
  position: relative;
  z-index: 10; 
}



.logo-section {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 1rem; 
}



.logo-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: transform 0.3s ease, opacity 0.3s ease;
}



.logo-link:hover {
  transform: translateY(-2px);
}



.logo-image {
  display: flex;
  align-items: center;
  justify-content: center;
}



.logo-image img {
  height: 35px;
  width: auto;
  filter: brightness(1.1) contrast(1.1);
}



.company-info {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  
  min-height: 0; /* Changed from auto for Firefox compatibility */
}





.lotus-logo svg {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}




.nav {
  display: flex !important; 
  align-items: center;
  flex: 1;
  justify-content: center;
  margin: 0 1rem; 
  min-width: 0;
  overflow: visible; 
}



.nav-list {
  display: flex !important; 
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.5rem; 
}



.nav-item {
  position: relative;
  display: inline-block;
  overflow: visible;
  z-index: 9999998; 
}



.nav-link-container {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  position: relative;
  overflow: visible;
}



.dropdown-toggle {
  background: none;
  border: none;
  color: white;
  font-size: 0.6rem;
  cursor: pointer;
  padding: 0.2rem;
  margin-left: 0.2rem;
  border-radius: 3px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  opacity: 0.7;
}



.dropdown-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
  opacity: 1;
  transform: scale(1.1);
}



.dropdown-toggle:focus {
  outline: 2px solid #00d4ff;
  outline-offset: 2px;
}



.nav-link-container::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  width: 0;
  height: 2px;
  background: #00d4ff;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform: translateX(-50%);
}



.nav-link-container:hover::after {
  width: 80%;
}



.nav-link {
  background: none;
  border: none;
  color: white;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.2rem;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}



.nav-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transition: left 0.5s ease;
}



.nav-link:hover::before {
  left: 100%;
}



.nav-link:hover,
.nav-link.active {
  background: transparent !important;
  color: #00d4ff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 212, 255, 0.3);
}



.nav-link-container:hover .nav-link {
  background: transparent !important;
  color: #00d4ff;
}




.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(0, 0, 0, 0.98);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  min-width: 280px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  z-index: 9999999 !important; 
  pointer-events: none;
  display: block !important;
  margin-top: 5px; 
}




.nav-item:hover .dropdown-menu,
.dropdown-menu.dropdown-active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
  display: block !important;
}




.dropdown-menu:hover {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
  display: block !important;
}








@media (min-width: 769px) {
  .header-content {
    gap: 1.5rem; 
  }


  
  .nav {
    display: flex !important; 
    margin: 0 1.5rem; 
  }


  
  .nav-list {
    display: flex !important; 
    gap: 1rem; 
  }


  
  .header-actions {
    gap: 1rem; 
  }


  
  
  
  .logo-section {
    margin-right: 2rem; 
  }


  
  .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    pointer-events: none;
    display: block !important;
    z-index: 9999999 !important; 
  }


  
  .nav-item:hover .dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    display: block !important;
  }


}





.dropdown-content {
  padding: 1rem;
  background: rgba(0, 0, 0, 0.9);
  border-radius: 8px;
}



.dropdown-header h3 {
  margin: 0 0 0.8rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: white;
  text-align: center;
  padding-bottom: 0.5rem;
  border-bottom: none;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}



.dropdown-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.3rem;
}



.dropdown-link {
  display: block;
  padding: 0.7rem 1rem;
  color: rgba(255, 255, 255, 0.95);
  text-decoration: none;
  border-radius: 8px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  font-weight: 500;
  font-size: 0.9rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}



.dropdown-link:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: white;
  transform: translateX(5px);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
}




.header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem; 
  flex-shrink: 0;
  margin-left: auto;
  min-width: 0;
  flex-wrap: nowrap;
}




.header-actions .btn-compact {
  min-width: 60px;
  max-width: 70px;
  text-align: center;
  justify-content: center;
  padding: 0.35rem 0.65rem;
  font-size: 0.65rem;
}




.header-actions .btn-primary {
  flex: 0 0 auto;
}



.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.8rem;
  transition: transform 0.3s ease, opacity 0.3s ease;
  position: relative;
  overflow: hidden;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}



.btn-compact {
  padding: 0.35rem 0.65rem;
  font-size: 0.65rem;
  border-radius: 10px;
  min-width: 60px;
  max-width: 70px;
  justify-content: center;
  gap: 0.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
}




.header-actions .btn-compact[href="/contact"]:not(.desktop-hidden),
.header-actions .btn-compact[to="/contact"]:not(.desktop-hidden) {
  padding: 0.5rem 1rem !important;
  min-width: 75px !important;
  max-width: 90px !important;
}



.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}



.btn:hover::before {
  left: 100%;
}



.header .btn-primary,
.header-actions .btn-primary {
  background: #dc2626 !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3) !important;
}



.header .btn-primary:hover,
.header-actions .btn-primary:hover {
  background: #b91c1c !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(220, 38, 38, 0.4) !important;
}



.btn-secondary {
  background: transparent !important;
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}



.btn-secondary:hover {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
}



.btn-outline {
  background: transparent !important;
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  font-size: 0.85rem;
  padding: 0.5rem 1rem;
}



.btn-outline:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.1);
}



.btn-icon {
  font-size: 1rem;
}




.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
  gap: 4px;
  padding: 0.75rem;
  border-radius: 8px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  position: relative;
  z-index: 10001 !important;
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}



.mobile-menu-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: scale(1.05);
}



.mobile-menu-toggle span {
  width: 28px;
  height: 3px;
  background: white;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 2px;
  transform-origin: center;
}




.mobile-menu-toggle.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}



.mobile-menu-toggle.active span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}



.mobile-menu-toggle.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}




.desktop-hidden {
  display: none !important;
}




@media (max-width: 768px) {
  .desktop-hidden {
    display: block !important;
  }


  
  
  .nav:not(.nav-open) {
    display: none !important;
  }


  
  
  .mobile-menu-toggle {
    display: flex !important;
  }


  
  
  .header-actions {
    display: none !important;
  }


  
  
  .nav-open .header-actions {
    display: flex !important;
  }


}


@media (min-width: 481px) {
  .contact-info {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    display: flex !important;
  }


  
  .contact-separator {
    display: inline !important;
  }


  
  .contact-link,
  .contact-text {
    display: inline-block !important;
    flex-shrink: 0;
  }


}

@media (max-width: 1024px) {
  .nav-list {
    gap: 1.2rem;
  }


  
  .dropdown-menu {
    min-width: 250px;
  }


}

@media (max-width: 768px) {
  .header-container {
    padding: 0 1rem;
  }


  
  
  .header-top {
    display: none !important;
  }


  
  
  .header-main {
    padding: 0.5rem 0 1rem 0 !important; 
  }


  
  
  
  .contact-info {
    gap: 0.4rem;
    font-size: 0.65rem;
    flex-wrap: wrap !important; 
    justify-content: center;
    padding: 0.2rem 0;
    width: 100%;
    max-width: 100%;
    line-height: 1.2;
  }


  
  .contact-link, .contact-text {
    white-space: nowrap;
    flex-shrink: 0; 
    min-width: auto;
    display: inline-block;
  }


  
  .contact-separator {
    font-size: 0.6rem;
    margin: 0 0.2rem;
  }


  
  .header-content {
    flex-wrap: nowrap;
    gap: 0.5rem;
    justify-content: space-between;
    align-items: center;
  }


  
  .logo-section {
    order: 1;
    flex: 1;
    justify-content: flex-start;
    min-width: 0; 
  }


  
  .logo-link {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
    max-width: 100%;
  }


  
  .logo-image {
    max-width: 100%;
    overflow: hidden;
  }


  
  .logo-image img {
    max-width: 100%;
    height: auto;
    min-height: 30px; 
  }



  

  
  .nav:not(.nav-open) {
    order: 3;
    width: 100%;
    display: none !important;
  }



  .nav-open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.98) !important;
    padding: 0;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.8) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    z-index: 10001 !important;
    animation: slideInFromTop 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    width: 100vw;
    height: 100vh;
  }



  .mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem 1.5rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 1rem;
    background: rgba(0, 0, 0, 0.3);
    -webkit-backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }



  .mobile-menu-title {
    color: white;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  }



  .mobile-menu-close {
    background: rgba(220, 38, 38, 0.8);
    border: 2px solid rgba(255, 255, 255, 0.2);
    color: white;
    font-size: 1.5rem;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-weight: bold;
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3);
  }



  .mobile-menu-close:hover {
    background: rgba(220, 38, 38, 0.8);
    border: none;
    transform: scale(1.1);
  }



  @keyframes slideInFromTop {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }


  }

  .nav-open .nav-list {
    flex-direction: column;
    gap: 1rem;
    margin-top: 0;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem 1.5rem 2rem;
    width: 100%;
  }



  .nav-open .nav-item {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  }



  .nav-open .nav-item:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 212, 255, 0.2);
  }



  .nav-open .nav-link-container {
    width: 100%;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-radius: 12px;
    background: transparent;
    position: relative;
  }



  .nav-open .nav-link {
    width: 100%;
    justify-content: space-between;
    padding: 0;
    border-radius: 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    letter-spacing: 0.5px;
  }



  .nav-open .dropdown-toggle {
    padding: 0.75rem;
    min-width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }



  .nav-open .dropdown-toggle:hover {
    background: rgba(0, 212, 255, 0.2);
    transform: scale(1.1);
  }



  .nav-open .dropdown-arrow {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
  }



  .nav-open .dropdown-toggle.active .dropdown-arrow {
    transform: rotate(180deg);
    color: #00d4ff;
  }



  .nav-open .dropdown-menu {
    position: static;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.8);
    background: rgba(0, 0, 0, 0.95) !important;
    margin-top: 0.75rem;
    border-radius: 12px;
    overflow: hidden;
    animation: slideDown 0.3s ease;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    display: block !important;
  }



  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }


  }

  .dropdown-content {
    padding: 1rem;
  }



  .dropdown-list {
    gap: 0.5rem;
  }



  .dropdown-link {
    padding: 1rem 1.25rem;
    font-size: 1rem;
    border-radius: 8px;
    transition: all 0.3s ease;
    display: block;
    background: rgba(255, 255, 255, 0.05);
    margin-bottom: 0.5rem;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  }



  .dropdown-link:hover {
    background: rgba(0, 212, 255, 0.2) !important;
    color: white !important;
    transform: translateX(8px);
    border-color: rgba(0, 212, 255, 0.3);
    box-shadow: 0 4px 15px rgba(0, 212, 255, 0.2);
  }



  .mobile-menu-toggle {
    display: flex !important;
    order: 2;
    margin-left: auto;
  }



  
  .nav-open .header-actions,
  .nav-open .mobile-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: auto;
    background: rgba(0, 0, 0, 0.3);
    -webkit-backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }


  
  .mobile-actions {
    display: none;
  }


  
  .nav-open .mobile-actions {
    display: flex;
  }



  .nav-open .header-actions .btn {
    width: 100%;
    padding: 1.25rem 1.5rem;
    font-size: 1.2rem;
    color: white !important;
    border-radius: 12px;
    text-align: center;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    border: 2px solid transparent;
    transition: all 0.3s ease;
    background: #dc2626 !important; 
  }



  .nav-open .header-actions .btn:hover {
    background: #b91c1c !important; 
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(220, 38, 38, 0.4);
  }



  .nav-open .header-actions .btn-outline {
    background: #dc2626 !important; 
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
  }



  .nav-open .header-actions .btn-outline:hover {
    background: #b91c1c !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
  }


}

@media (max-width: 480px) {
  .header-container {
    padding: 0 0.75rem;
  }


  
  .header-content {
    gap: 0.2rem;
  }


  
  .lotus-logo svg {
    width: 28px;
    height: 28px;
  }


  
  .header-actions {
    gap: 0.15rem;
  }


  
  .btn-compact {
    padding: 0.2rem 0.4rem;
    font-size: 0.6rem;
    min-width: 50px;
    max-width: 60px;
  }


  
  
  .header-actions .btn-compact {
    min-width: 45px;
    max-width: 65px;
  }


}


@media (max-width: 360px) {
  .header-container {
    padding: 0 0.5rem;
  }



  .header-actions {
    gap: 0.1rem;
  }



  .btn-compact {
    padding: 0.15rem 0.3rem;
    font-size: 0.55rem;
    min-width: 45px;
    max-width: 55px;
  }


  
  
  .header-actions .btn-compact {
    min-width: 40px;
    max-width: 50px;
    font-size: 0.5rem;
  }



  
}


@media (max-width: 320px) {
  .header-container {
    padding: 0 0.4rem;
  }


}

.footer {
  background: transparent; 
  color: white;
  padding: 0;
  margin-top: 0;
  position: relative;
  width: 100vw; 
  margin-left: calc(-50vw + 50%); 
}




.footer-wave::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../assets/images/ripple-texture.png') repeat;
  background-size: 300px 300px;
  mix-blend-mode: screen;
  opacity: 0.4;
  animation: rippleFlow 25s linear infinite;
  z-index: 1;
  pointer-events: none;
  mask: url('#waveMask');
  -webkit-mask: url('#waveMask');
  will-change: background-position;
  transform: translateZ(0);
  
}




.footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background: 
    url('../assets/images/ripple-texture.png') repeat,
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 60%, rgba(255,255,255,0.1) 0%, transparent 50%);
  background-size: 300px 300px, 200px 200px, 150px 150px, 180px 180px;
  mix-blend-mode: overlay;
  opacity: 0.3;
  animation: rippleFlow 30s linear infinite reverse;
  z-index: 1;
  pointer-events: none;
  will-change: background-position;
  transform: translateZ(0);
  
}



@keyframes rippleFlow {
  0% { background-position: 0 0; }


}



.footer-wave {
  position: absolute;
  bottom: calc(100% - 20px); 
  left: 50%;
  width: 100vw; 
  margin-left: calc(-50vw); 
  height: 180px; 
  overflow: visible; 
  transform: rotate(180deg);
  z-index: 2;
  pointer-events: none;
}



.footer-wave-svg {
  width: 100%;
  height: 100%;
  animation: waveContainerFloat 10s ease-in-out infinite;
  
  min-width: 100%;
}



@keyframes waveContainerFloat {
  0%, 100% {
    transform: rotate(180deg) translateY(0px);
  }


}


.wave {
  transform-origin: center;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}



.wave-back {
  opacity: 1.0;
  animation: waveMove1 14s linear infinite;
}



.wave-mid {
  opacity: 1.0;
  animation: waveMove2 10s linear infinite;
}



.wave-front {
  opacity: 1.0;
  animation: waveMove3 8s linear infinite;
}




@keyframes waveMove1 {
  0% {
    transform: translateX(0) translateY(2px);
  }


}

@keyframes waveMove2 {
  0% {
    transform: translateX(0) translateY(-1px);
  }


}

@keyframes waveMove3 {
  0% {
    transform: translateX(0);
  }


}


.footer-wave:hover .wave {
  animation-duration: 5s;
}




.wave-reflection {
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 100%;
  height: 40px;
  background: radial-gradient(ellipse at center, rgba(0,231,255,0.25), transparent 70%);
  filter: blur(12px);
  animation: reflectionMove 12s ease-in-out infinite;
}



@keyframes reflectionMove {
  0%, 100% {
    transform: translateX(0);
  }



@keyframes cloudsMove {
  from { 
    transform: translateX(0); 
  }


}


.bubble-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
  overflow: hidden;
}



@keyframes rise {
  0% { 
    transform: translateY(0) scale(1); 
    opacity: 1; 
  }


}


.footer-fish-layer {
  position: absolute;
  bottom: 20%;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 3;
}



.bubble-left:nth-child(2) {
  animation-delay: 1.5s;
}



.bubble-left:nth-child(3) {
  animation-delay: 3s;
}



.bubble-right:nth-child(5) {
  animation-delay: 2.3s;
}



.bubble-right:nth-child(6) {
  animation-delay: 3.8s;
}



.bubble-center:nth-child(8) {
  animation-delay: 3.5s;
}



.bubble-small:nth-child(10) {
  animation-delay: 2.8s;
}



@keyframes bubbleFloat {
  0% {
    transform: translateY(0) scale(0.5);
    opacity: 0.8;
  }




.fish:hover {
  transform: scaleX(-1) translateX(20px) scale(1.1);
  transition: transform 0.4s ease;
  animation-play-state: paused;
  filter: brightness(1.2) contrast(1.1);
}



.fish-left:hover {
  transform: scaleX(-1) translateX(20px) scale(1.1) scaleY(-1);
}



.fish-right:hover {
  transform: scaleX(1) translateX(-20px) scale(1.1) scaleY(-1);
}



.fish-center:hover {
  transform: scaleX(-1) translateX(20px) scale(1.1) scaleY(-1);
}



.fish-small:hover {
  transform: scaleX(1) translateX(-20px) scale(1.1) scaleY(-1);
}




@keyframes hoverLeft {
  0%, 100% {
    transform: translate(0px, 0px) scaleX(1) scaleY(-1) rotate(0deg);
  }


}

@keyframes hoverRight {
  0%, 100% {
    transform: translate(0px, 0px) scaleX(-1) scaleY(-1) rotate(0deg);
  }


}

@keyframes hoverCenter {
  0%, 100% {
    transform: translate(0px, 0px) scaleX(1) scaleY(-1) rotate(0deg);
  }


}

@keyframes hoverSmall {
  0%, 100% {
    transform: translate(0px, 0px) scaleX(-1) scaleY(-1) rotate(0deg);
  }


}


@keyframes finFlutter1 {
  0%, 100% {
    filter: brightness(1) contrast(1) saturate(1);
  }


}

@keyframes finFlutter2 {
  0%, 100% {
    filter: brightness(1) contrast(1) saturate(1);
  }


}

@keyframes finFlutter3 {
  0%, 100% {
    filter: brightness(1) contrast(1) saturate(1);
  }


}

@keyframes finFlutter4 {
  0%, 100% {
    filter: brightness(1) contrast(1) saturate(1);
  }


}









@media (max-width: 768px) {
  .fish {
    width: 45px;
    opacity: 0.7;
  }


}

@media (max-width: 480px) {
  .fish {
    width: 35px;
    opacity: 0.6;
  }


}


.footer-plants {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 12; 
  pointer-events: none;
}



.footer-plants .plant-left {
  position: absolute;
  bottom: 655px;   
  left: 40px;
  width: 120px;   
  opacity: 0.9;
  animation: plantFloatLeft 5s ease-in-out infinite alternate;
}



.footer-plants .plant-right {
  position: absolute;
  bottom: 658px;   
  right: 40px;
  width: 130px;
  opacity: 0.9;
  animation: plantFloatRight 6s ease-in-out infinite alternate;
}




@keyframes plantFloatLeft {
  0% { transform: translateY(0); }


}

@keyframes plantFloatRight {
  0% { transform: translateY(0); }


}


@keyframes plantSway {
  0% { transform: translate(0, 0) rotate(0deg); }


}

.footer-plants .plant-left,
.footer-plants .plant-right {
  animation: plantSway 6s ease-in-out infinite;
}




@media (max-width: 768px) {
  .footer-plants {
    height: 100px;
  }


}

@media (max-width: 480px) {
  .footer-plants {
    height: 80px;
  }


}


.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}




.footer-main {
  display: flex;
  align-items: flex-start;
  padding: 2rem 0 1rem 0;
  gap: 2rem;
  position: relative;
  z-index: 2; 
}



.footer-brand {
  flex: 1;
  min-width: 300px;
}



.brand-text {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}



.brand-line {
  font-size: 3.5rem;
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}



.brand-year {
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 0.9;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  margin-top: 0.5rem;
}



.brand-description {
  margin-top: 1rem;
}



.brand-description p {
  font-size: 0.9rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.9);
  margin: 0.25rem 0;
}



.footer-links {
  display: flex;
  gap: 2rem;
  flex: 2;
}



.footer-column {
  flex: 1;
}



.footer-column h4 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: white;
}



.footer-column h5 {
  font-size: 0.8rem;
  font-weight: 600;
  margin: 0.75rem 0 0.25rem 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.8);
}



.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}



.footer-column li {
  margin-bottom: 0.5rem;
}



.footer-link {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 400;
  transition: all 0.3s ease;
  display: inline-block;
  position: relative;
}



.footer-link:hover {
  color: white;
  transform: translateX(4px);
}



.footer-link::before {
  content: '';
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 2px;
  background: linear-gradient(135deg, #3b82f6, #1e40af);
  transition: width 0.3s ease;
}



.footer-link:hover::before {
  width: 8px;
}




.footer-contact-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  gap: 2rem;
}



.contact-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}



.contact-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  flex-shrink: 0;
  transition: all 0.3s ease;
}



.contact-icon:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}



.contact-icon i {
  font-size: 1.3rem;
  color: white;
}



.contact-text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}



.contact-label {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.8);
}



.contact-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: white;
  text-decoration: none;
  transition: color 0.3s ease;
}



.contact-value:hover {
  color: #3b82f6;
}



.contact-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
}




.footer-logo-flower {
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.7;
  transition: all 0.3s ease;
}



.footer-logo-flower:hover {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
}



.flower-icon {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
  animation: flowerFloat 3s ease-in-out infinite;
}



@keyframes flowerFloat {
  0%, 100% {
    transform: rotate(0deg) scale(1);
  }


}


.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 10px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 2px solid transparent;
  cursor: pointer;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}



.btn-footer {
  padding: 0.75rem 1.25rem;
  font-size: 0.85rem;
}



.btn-primary {
  background: linear-gradient(135deg, #3b82f6, #1e40af);
  color: white;
  border-color: transparent;
}



.btn-primary:hover {
  background: linear-gradient(135deg, #1e40af, #3b82f6);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(30, 64, 175, 0.3);
}



.btn-outline {
  background: transparent;
  color: white;
  border-color: rgba(255, 255, 255, 0.6);
}



.btn-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.8);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.1);
}




.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 0;
}



.footer-bottom-left p {
  margin: 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
}



.footer-bottom-link {
  color: white;
  text-decoration: none;
  transition: color 0.3s ease;
}



.footer-bottom-link:hover {
  color: #3b82f6;
}



.social-links {
  display: flex;
  gap: 1rem;
}



.social-link {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: white;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}



.social-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #3b82f6, #1e40af);
  opacity: 0;
  transition: opacity 0.3s ease;
}



.social-link:hover::before {
  opacity: 1;
}



.social-link:hover {
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 8px 25px rgba(30, 64, 175, 0.3);
}



.social-link i {
  font-size: 1.1rem;
  position: relative;
  z-index: 1;
}





@media (max-width: 900px) {
  .footer-wave {
    bottom: calc(100% - 60px);
    left: -50px; 
    width: calc(100% + 100px);
    height: 160px;
  }


  
  .footer-wave-svg {
    height: 160px;
  }


  
  .footer-main {
    flex-direction: column;
    gap: 2rem;
    padding: 2rem 0 1rem 0;
  }


  
  .footer-brand {
    min-width: auto;
    text-align: center;
  }


  
  .brand-line {
    font-size: 3rem;
  }


  
  .brand-year {
    font-size: 2rem;
  }


  
  .footer-links {
    gap: 2rem;
    flex-wrap: wrap;
  }


  
  .footer-column {
    flex: 1;
    min-width: 200px;
  }


  
  .footer-contact-bar {
    flex-direction: column;
    gap: 2rem;
    text-align: center;
  }


  
  .contact-item {
    justify-content: center;
  }


  
  .contact-actions {
    justify-content: center;
  }


}

@media (max-width: 768px) {
  .footer {
    width: 100%; 
    margin-left: 0; 
    padding-top: 40px; 
  }


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


  
  .footer-fish-layer {
    display: none !important;
  }


  
  .footer-plants {
    display: none !important;
  }


  
  .bubble-container {
    display: none !important;
  }


  
  
  .footer::before {
    display: none !important;
  }


  
  .footer-wave::after {
    display: none !important;
  }


  
  
  .container {
    padding: 0 1rem;
  }


  
  .footer-main {
    padding: 1rem 0;
    gap: 1rem;
  }


  
  
  .footer-brand {
    text-align: center;
    margin-bottom: 1rem;
  }


  
  .brand-text {
    margin-bottom: 0.75rem;
  }


  
  .brand-line {
    font-size: 1.75rem;
    line-height: 1.1;
  }


  
  .brand-year {
    font-size: 1.25rem;
  }


  
  .brand-description {
    font-size: 0.85rem;
  }


  
  .brand-description p {
    margin: 0.25rem 0;
  }


  
  
  .footer-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }


  
  
  .footer-column:nth-child(3),
  .footer-column:nth-child(4),
  .footer-column:nth-child(5) {
    display: none;
  }


  
  .footer-column {
    min-width: auto;
  }


  
  .footer-column h4 {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }


  
  .footer-column ul {
    gap: 0.5rem;
  }


  
  .footer-link {
    font-size: 0.85rem;
    padding: 0.25rem 0;
  }


  
  
  .footer-contact-bar {
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem 0 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }


  
  
  .contact-item {
    display: none;
  }


  
  .contact-actions {
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
  }


  
  .btn-footer {
    width: 100%;
    justify-content: center;
    padding: 0.875rem 1.5rem;
    font-size: 0.95rem;
  }


  
  
  .footer-bottom {
    flex-direction: column;
    gap: 0.75rem;
    text-align: center;
    padding: 1rem 0 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }


  
  .footer-bottom-left p {
    font-size: 0.75rem;
    line-height: 1.4;
  }


  
  .social-links {
    justify-content: center;
    gap: 1rem;
  }


}

@media (max-width: 480px) {
  .footer {
    padding-top: 30px;
  }


  
  .footer-main {
    padding: 0.75rem 0;
    gap: 1rem;
  }


  
  
  .brand-line {
    font-size: 1.5rem;
  }


  
  .brand-year {
    font-size: 1.1rem;
  }


  
  .brand-description {
    font-size: 0.8rem;
  }


  
  
  .footer-links {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }


  
  .footer-column h4 {
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
  }


  
  .footer-link {
    font-size: 0.8rem;
  }


  
  
  .footer-contact-bar {
    padding: 1.25rem 0 0.75rem;
  }


  
  .contact-actions {
    gap: 0.65rem;
  }


  
  .btn-footer {
    padding: 0.75rem 1.25rem;
    font-size: 0.875rem;
  }


  
  
  .footer-bottom {
    padding: 0.875rem 0 1.25rem;
  }


  
  .footer-bottom-left p {
    font-size: 0.7rem;
  }


  
  .social-link {
    width: 35px;
    height: 35px;
  }


  
  .social-link i {
    font-size: 1rem;
  }


}


.uwg-prefooter {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 25%, #1e3a8a 50%, #1e40af 75%, #3b82f6 100%) !important;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.3) 0%, transparent 60%),
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 80%, rgba(37, 99, 235, 0.2) 0%, transparent 60%),
    radial-gradient(circle at 60% 40%, rgba(29, 78, 216, 0.15) 0%, transparent 70%),
    linear-gradient(180deg, transparent 0%, rgba(30, 64, 175, 0.1) 50%, rgba(59, 130, 246, 0.2) 100%) !important;
  padding: 4rem 0 !important;
  color: white !important;
  position: relative !important;
  overflow: hidden !important;
  
  border-bottom: 3px solid transparent !important;
  background-clip: padding-box !important;
  
  box-shadow: 
    inset 0 -10px 20px rgba(29, 78, 216, 0.2),
    inset 0 -20px 40px rgba(59, 130, 246, 0.1) !important;
}



.uwg-prefooter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.08)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.05)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.06)"/><circle cx="10" cy="60" r="0.5" fill="rgba(255,255,255,0.04)"/><circle cx="90" cy="40" r="0.5" fill="rgba(255,255,255,0.05)"/><circle cx="30" cy="80" r="0.3" fill="rgba(255,255,255,0.03)"/><circle cx="70" cy="20" r="0.3" fill="rgba(255,255,255,0.04)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  opacity: 0.8;
  pointer-events: none;
  z-index: 1;
}



.uwg-prefooter::after {
  content: '';
  position: absolute;
  bottom: -58px; 
  left: 0;
  right: 0;
  height: 20px;
  background: linear-gradient(180deg, transparent 0%, rgba(59, 130, 246, 0.3) 50%, rgba(30, 64, 175, 0.6) 100%);
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z" fill="rgba(59,130,246,0.1)"/><path d="M0,0V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-49.24V0Z" fill="rgba(30,64,175,0.2)"/></svg>');
  background-size: cover;
  background-position: center bottom;
  pointer-events: none;
  z-index: 1;
}



.uwg-prefooter__container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 3rem !important;
  position: relative !important;
  z-index: 2 !important;
}



.uwg-prefooter__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.uwg-prefooter__col h3 {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 1.5rem !important;
  color: #000000 !important;
  border-bottom: 2px solid #93c5fd !important;
  padding-bottom: 0.5rem !important;
}



.uwg-prefooter__col p {
  color: #000000 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  margin-bottom: 1.5rem !important;
}




.uwg-prefooter .pre-footer-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}



.uwg-prefooter .pre-footer-form .form-group {
  display: flex !important;
  flex-direction: column !important;
}



.uwg-prefooter .pre-footer-form label {
  color: #000000 !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  margin-bottom: 0.5rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}



.uwg-prefooter .pre-footer-form input,
.uwg-prefooter .pre-footer-form textarea {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid #34495e !important;
  border-radius: 4px !important;
  padding: 0.75rem !important;
  font-size: 0.9rem !important;
  color: #1a1a1a !important;
  transition: all 0.3s ease !important;
}



.uwg-prefooter .pre-footer-form input:focus,
.uwg-prefooter .pre-footer-form textarea:focus {
  outline: none !important;
  border-color: #3498db !important;
  box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2) !important;
  background: white !important;
}



.uwg-prefooter .pre-footer-form textarea {
  resize: vertical !important;
  min-height: 80px !important;
}



.uwg-prefooter .pre-footer-submit-btn {
  background: #3498db !important;
  color: #000000 !important;
  border: none !important;
  padding: 0.875rem 1.5rem !important;
  border-radius: 4px !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  margin-top: 0.5rem !important;
}



.uwg-prefooter .pre-footer-submit-btn:hover:not(:disabled) {
  background: #2980b9 !important;
  transform: translateY(-1px) !important;
}



.uwg-prefooter .pre-footer-submit-btn:disabled {
  background: #7f8c8d !important;
  cursor: not-allowed !important;
  transform: none !important;
}




.uwg-prefooter .contact-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.uwg-prefooter .company-info h4 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #000000 !important;
  margin-bottom: 0.5rem !important;
}



.uwg-prefooter .company-info p {
  color: #000000 !important;
  font-size: 0.95rem !important;
  margin: 0 !important;
}



.uwg-prefooter .contact-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}



.uwg-prefooter .contact-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid #34495e !important;
}



.uwg-prefooter .contact-item:last-child {
  border-bottom: none !important;
}



.uwg-prefooter .contact-item strong {
  color: #000000 !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}



.uwg-prefooter .contact-item a {
  color: #000000 !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  transition: color 0.3s ease !important;
}



.uwg-prefooter .contact-item a:hover {
  color: #1e40af !important;
  text-decoration: underline !important;
}



.uwg-prefooter .contact-item span {
  color: #000000 !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
}



.uwg-prefooter .contact-item small {
  color: #000000 !important;
  font-size: 0.75rem !important;
  font-style: italic !important;
  margin-top: 0.25rem !important;
}



.uwg-prefooter .social-links {
  display: flex !important;
  gap: 1rem !important;
  margin-top: 1rem !important;
}



.uwg-prefooter .social-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 50% !important;
  color: #000000 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}



.uwg-prefooter .social-link:hover {
  background: #ffffff !important;
  border-color: #3498db !important;
  transform: translateY(-2px) !important;
  color: #1e40af !important;
}



.uwg-prefooter .social-icon {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #000000 !important;
}




.uwg-prefooter .blog-posts {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.uwg-prefooter .blog-post {
  display: flex !important;
  gap: 1rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid #34495e !important;
}



.uwg-prefooter .blog-post:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}



.uwg-prefooter .blog-thumbnail {
  flex-shrink: 0 !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}



.uwg-prefooter .blog-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}



.uwg-prefooter .blog-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  flex: 1 !important;
}



.uwg-prefooter .blog-title {
  color: #000000 !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  transition: color 0.3s ease !important;
}



.uwg-prefooter .blog-title:hover {
  color: #1e40af !important;
}



.uwg-prefooter .blog-date {
  color: #000000 !important;
  font-size: 0.8rem !important;
}




.uwg-prefooter .company-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.uwg-prefooter .company-image {
  width: 100% !important;
  height: 200px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}



.uwg-prefooter .company-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}



.uwg-prefooter .company-section .company-info h4 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #000000 !important;
  margin-bottom: 1rem !important;
}



.uwg-prefooter .company-section .company-info p {
  color: #000000 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  margin-bottom: 1rem !important;
}



.uwg-prefooter .learn-more-link {
  color: #000000 !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  transition: color 0.3s ease !important;
  align-self: flex-start !important;
}



.uwg-prefooter .learn-more-link:hover {
  color: #1e40af !important;
  text-decoration: underline !important;
}



.uwg-prefooter .company-features {
  margin: 1rem 0 !important;
}



.uwg-prefooter .company-features p {
  color: #000000 !important;
  font-size: 0.9rem !important;
  margin-bottom: 0.5rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}



.uwg-prefooter .company-features strong {
  color: #86efac !important;
  font-weight: 700 !important;
}




.uwg-prefooter .form-error {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fecaca !important;
  padding: 0.75rem !important;
  border-radius: 4px !important;
  margin-bottom: 1rem !important;
  font-size: 0.9rem !important;
}




.uwg-prefooter .modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.5) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 1000 !important;
}



.uwg-prefooter .modal-content {
  background: white !important;
  padding: 2rem !important;
  border-radius: 12px !important;
  max-width: 500px !important;
  width: 90% !important;
  text-align: center !important;
}



.uwg-prefooter .modal-content h3 {
  color: #000000 !important;
  margin-bottom: 1rem !important;
  font-size: 1.5rem !important;
}



.uwg-prefooter .modal-content p {
  color: #4a5568 !important;
  margin-bottom: 1.5rem !important;
  line-height: 1.6 !important;
}



.uwg-prefooter .close-btn {
  background: #2d7dd2 !important;
  color: #000000 !important;
  border: none !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 6px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
}



.uwg-prefooter .close-btn:hover {
  background: #1a365d !important;
}




@media (max-width: 1200px) {
  .uwg-prefooter__container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2.5rem !important;
  }


}

@media (max-width: 768px) {
  .uwg-prefooter {
    padding: 3rem 0 !important;
  }


  
  .uwg-prefooter__container {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    padding: 0 1rem !important;
  }


  
  .social-links {
    justify-content: center !important;
  }


  
  .blog-post {
    gap: 0.75rem !important;
  }


  
  .blog-thumbnail {
    width: 50px !important;
    height: 50px !important;
  }


  
  .company-image {
    height: 150px !important;
  }


}

@media (max-width: 480px) {
  .uwg-prefooter {
    padding: 2rem 0 !important;
  }


  
  .uwg-prefooter__container {
    gap: 2rem !important;
  }


  
  .uwg-prefooter__col h3 {
    font-size: 1.1rem !important;
  }


}

.footer-ripple-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: auto;
  z-index: 1; 
  opacity: 1.0;
}



.footer-ripple-background canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
}




@media (max-width: 768px) {
  .footer-ripple-background {
    opacity: 0.3;
  }


}

@media (max-width: 480px) {
  .footer-ripple-background {
    opacity: 0.2;
  }




html {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto; 
}



body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}




html, body {
  overflow-x: hidden;
  max-width: 100%;
}



body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  line-height: 1.6;
  color: #333;
  background: transparent;
}



.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}





.container {
  width: 100%;
  max-width: 100%;
  padding: 0 1rem;
  margin: 0 auto;
}




@media (max-width: 767px) {
  .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 1rem !important;
    margin: 0 !important;
  }


  
  
  body, html {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }


  
  
  section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }


  
  
  .pumps-aeration-page,
  .service-area-page,
  .page-hero-wrapper,
  .pond-construction-page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }


}


@media (min-width: 768px) {
  .container {
    max-width: 1200px;
    padding: 0 2rem;
  }


}


main {
  padding-top: var(--header-offset, var(--header-height, 120px)) !important;
  margin-top: 0 !important;
  min-height: 100vh;
  background: transparent !important;
  position: relative;
  z-index: 0; 
  
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: scroll-position;
}




main > *:first-child {
  margin-top: 0 !important;
}





main > .home-hero-compact:first-child,
main > section:first-child.home-hero-compact {
  margin-top: calc(var(--header-offset, var(--header-height, 120px)) * -1) !important;
}




.standardized-hero + main,
.standardized-hero + main .main-content-gradient,
.standardized-hero + main .main-content-gradient > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}




.standardized-hero ~ *,
.standardized-hero ~ * > *:first-child,
.standardized-hero ~ * > *:first-child > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}




.standardized-hero + main {
  margin-top: -1px !important;
}



.standardized-hero + main .main-content-gradient {
  margin-top: -1px !important;
}




.standardized-hero ~ * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}




.standardized-hero ~ main,
.standardized-hero ~ main > *,
.standardized-hero ~ main > * > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}




main,
main > *:first-child,
main > div:first-child,
main > section:first-child,
.page-template,
.page-template > *:first-child,
.page-template > section:first-child,
.page-template > div:first-child,
.main-content-gradient > *:first-child,
.main-content-gradient > section:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}




.first-section-gradient {
  background: linear-gradient(to bottom, #1e40af 0%, #3b82f6 25%, #60a5fa 50%, #93c5fd 75%, #ffffff 100%) !important;
  padding: 0 0 4rem 0 !important; 
  padding-top: 0 !important; 
  margin-top: 0 !important; 
  position: relative;
  overflow: hidden;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  z-index: 1 !important;
}




.first-section-gradient * {
  background: transparent !important;
}




.first-section-gradient {
  color: #1e293b !important; 
}



.first-section-gradient h1,
.first-section-gradient h2,
.first-section-gradient h3,
.first-section-gradient h4,
.first-section-gradient h5,
.first-section-gradient h6 {
  color: #1e293b !important; 
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8) !important; 
}



.first-section-gradient p,
.first-section-gradient span,
.first-section-gradient div {
  color: #334155 !important; 
}




.first-section-gradient .btn-primary {
  background: #dc2626 !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(220, 38, 38, 0.4) !important;
  border: none !important;
}



.first-section-gradient .btn-secondary {
  background: rgba(30, 64, 175, 0.9) !important;
  color: white !important;
  border: 2px solid #1e40af !important;
  box-shadow: 0 4px 15px rgba(30, 64, 175, 0.3) !important;
}




.gradient-wipe-up {
  background: linear-gradient(to top, #1e40af 0%, #3b82f6 25%, #60a5fa 50%, #93c5fd 75%, #ffffff 100%) !important;
  padding: 0 0 4rem 0 !important; 
  padding-top: 0 !important; 
  margin-top: 0 !important; 
  position: relative;
  overflow: hidden;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  z-index: 1 !important;
}




.gradient-wipe-up * {
  background: transparent !important;
}




.gradient-wipe-up {
  color: #1e293b !important; 
}



.gradient-wipe-up h1,
.gradient-wipe-up h2,
.gradient-wipe-up h3,
.gradient-wipe-up h4,
.gradient-wipe-up h5,
.gradient-wipe-up h6 {
  color: #1e293b !important; 
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8) !important; 
}



.gradient-wipe-up p,
.gradient-wipe-up span,
.gradient-wipe-up div {
  color: #334155 !important; 
}




.gradient-wipe-up .btn-primary {
  background: #dc2626 !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(220, 38, 38, 0.4) !important;
  border: none !important;
}



.gradient-wipe-up .btn-secondary {
  background: rgba(30, 64, 175, 0.9) !important;
  color: white !important;
  border: 2px solid #1e40af !important;
  box-shadow: 0 4px 15px rgba(30, 64, 175, 0.3) !important;
}




.gradient-wipe-up a,
.first-section-gradient a {
  color: #1e40af !important; 
  text-decoration: none !important;
}



.gradient-wipe-up a:hover,
.first-section-gradient a:hover {
  color: #1d4ed8 !important; 
  text-decoration: underline !important;
}




.first-section-gradient input,
.first-section-gradient textarea,
.first-section-gradient select,
.gradient-wipe-up input,
.gradient-wipe-up textarea,
.gradient-wipe-up select {
  background: rgba(255, 255, 255, 0.9) !important;
  color: #1e293b !important;
  border: 2px solid rgba(30, 64, 175, 0.3) !important;
  border-radius: 8px !important;
}



.first-section-gradient input:focus,
.first-section-gradient textarea:focus,
.first-section-gradient select:focus,
.gradient-wipe-up input:focus,
.gradient-wipe-up textarea:focus,
.gradient-wipe-up select:focus {
  background: white !important;
  border-color: #1e40af !important;
  box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.1) !important;
  outline: none !important;
}




.first-section-gradient label,
.gradient-wipe-up label {
  color: #1e293b !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}




.first-section-gradient .info-card,
.first-section-gradient .card,
.gradient-wipe-up .info-card,
.gradient-wipe-up .card {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(30, 64, 175, 0.2) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
  border-radius: 12px !important;
}



.first-section-gradient .info-card h3,
.first-section-gradient .card h3,
.gradient-wipe-up .info-card h3,
.gradient-wipe-up .card h3 {
  color: #1e293b !important;
  text-shadow: none !important;
}



.first-section-gradient .info-card p,
.first-section-gradient .card p,
.gradient-wipe-up .info-card p,
.gradient-wipe-up .card p {
  color: #334155 !important;
}




.first-section-gradient ul,
.first-section-gradient ol,
.gradient-wipe-up ul,
.gradient-wipe-up ol {
  color: #334155 !important;
}



.first-section-gradient li,
.gradient-wipe-up li {
  color: #334155 !important;
}




.first-section-gradient .checkmark,
.gradient-wipe-up .checkmark {
  color: #059669 !important; 
  font-weight: bold !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}




.first-section-gradient .step-number,
.gradient-wipe-up .step-number {
  background: #1e40af !important;
  color: white !important;
  border: 2px solid white !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}




.first-section-gradient .contact-info,
.gradient-wipe-up .contact-info {
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(30, 64, 175, 0.2) !important;
  border-radius: 8px !important;
  padding: 1rem !important;
}



.first-section-gradient .contact-info strong,
.gradient-wipe-up .contact-info strong {
  color: #1e293b !important;
}



.first-section-gradient .contact-info a,
.gradient-wipe-up .contact-info a {
  color: #1e40af !important;
}




.btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 500;
  text-align: center;
  transition: transform 0.3s ease, opacity 0.3s ease;
  border: none;
  cursor: pointer;
  font-size: 1rem;
}



.btn-primary {
  background: #dc2626;
  color: white;
}



.btn-primary:hover {
  background: #b91c1c;
  transform: translateY(-2px);
}



.btn-secondary {
  background: transparent;
  color: white;
  border: 2px solid white;
}



.btn-secondary:hover {
  background: white;
  color: #1e40af;
  transform: translateY(-2px);
}



.btn-outline {
  background: transparent;
  color: #1e40af;
  border: 2px solid #1e40af;
}



.btn-outline:hover {
  background: #1e40af;
  color: white;
  transform: translateY(-2px);
}



@keyframes waveAnimation {
  0%, 100% {
    transform: translateY(0px) scaleX(1);
  }


}

@media (max-width: 768px) {

.secondary-button {
  background: rgba(255, 255, 255, 0.2) !important;
  color: white !important;
  border: 2px solid rgba(255, 255, 255, 0.6) !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8) !important;
}



.secondary-button:hover {
  background: rgba(255, 255, 255, 0.3) !important;
  border-color: rgba(255, 255, 255, 0.8) !important;
  color: white !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8) !important;
}




.contact-cta,
.shop-cta,
.shop-cta-section,
.services-cta,
.service-cta,
.about-cta,
.newsletter-signup,
.custom-solution-cta,
.get-started-cta,
.cta-section,
.team-cta {
  width: 100vw !important; 
  margin-left: calc(-50vw + 50%) !important; 
}




@media (max-width: 768px) {
  
.mb-3 { margin-bottom: 1.5rem; }




@media (max-width: 480px) {
  .container {
    padding: 0 0.75rem;
  }


  
  .btn {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    min-height: 44px; 
  }


  
  main {
    padding-top: var(--header-offset, var(--header-height, 100px)) !important;
  }


  
  
  main > .home-hero-compact:first-child,
  main > section:first-child.home-hero-compact {
    margin-top: calc(var(--header-offset, var(--header-height, 100px)) * -1) !important;
  }


  
  
  a, button, input, select, textarea {
    min-height: 44px;
    min-width: 44px;
  }


  
  
  body {
    font-size: 16px; 
    line-height: 1.5;
  }


  
  h1 { font-size: 1.8rem; }


  h2 { font-size: 1.5rem; }


  h3 { font-size: 1.3rem; }


  h4 { font-size: 1.1rem; }


}

@media (max-width: 768px) {
  .container {
    padding: 0 1rem;
  }


  
  .btn {
    padding: 0.6rem 1.2rem;
    font-size: 0.9rem;
    min-height: 44px; 
  }


  
  main {
    padding-top: var(--header-offset, var(--header-height, 100px)) !important;
  }


  
  
  main > .home-hero-compact:first-child,
  main > section:first-child.home-hero-compact {
    margin-top: calc(var(--header-offset, var(--header-height, 100px)) * -1) !important;
  }


  
  
  a, button, input, select, textarea {
    min-height: 44px;
    min-width: 44px;
  }


  
  
  body {
    font-size: 16px; 
    line-height: 1.5;
  }


}

@media (min-width: 769px) {
  
  .container {
    padding: 0 2rem;
  }


  
  .btn {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
  }


}



.service-description-mobile {
  display: none;
}



@media (max-width: 768px) {
  
  .service-content p:not(.service-description-mobile),
  .service-info p:not(.service-description-mobile) {
    display: none !important;
  }


  
  
  .service-description-mobile {
    display: block !important;
    font-size: 0.9rem !important;
    margin-bottom: 1rem !important;
    line-height: 1.4 !important;
    color: #374151 !important;
  }


  
  
  .service-features.desktop-only,
  .service-details.desktop-only {
    display: none !important;
  }


}


@media (max-width: 768px) {

  .home .section-head.row > div {
    width: 100% !important;
  }


  
  .home .section-head.row .btn {
    white-space: nowrap !important;
    font-size: 0.9rem !important;
  }



  .home .section:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  
  .home .section {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }


  
  
  h1, h2, h3, h4, h5, h6, p, span, div, a, li {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }


  
  
  .container {
    max-width: 100% !important;
    overflow-x: hidden !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }


  
  
  .first-section-gradient {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
  }


  
  
  img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }


  
  
  .grid, .services-grid, .plant-grid, .gallery-grid, .specs-grid {
    width: 100% !important;
    overflow-x: hidden !important;
  }


}

@media (max-width: 480px) {
  .container {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }


}



.pre-footer-section {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 25%, #1e3a8a 50%, #1e40af 75%, #3b82f6 100%) !important;
}




body .pre-footer-section,
html body .pre-footer-section,
#root .pre-footer-section,
.App .pre-footer-section,
div.pre-footer-section,
section.pre-footer-section {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 25%, #1e3a8a 50%, #1e40af 75%, #3b82f6 100%) !important;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.3) 0%, transparent 60%),
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 80%, rgba(37, 99, 235, 0.2) 0%, transparent 60%),
    radial-gradient(circle at 60% 40%, rgba(29, 78, 216, 0.15) 0%, transparent 70%),
    linear-gradient(180deg, transparent 0%, rgba(30, 64, 175, 0.1) 50%, rgba(59, 130, 246, 0.2) 100%) !important;
  padding: 4rem 0 !important;
  color: white !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow:
    inset 0 -10px 20px rgba(29, 78, 216, 0.2),
    inset 0 -20px 40px rgba(59, 130, 246, 0.1) !important;
}



.pre-footer-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 3rem !important;
}



.pre-footer-column h3 {
  color: white !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin-bottom: 1.5rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}



.pre-footer-column p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin-bottom: 2rem !important;
}



.pre-footer-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.pre-footer-form .form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}



.pre-footer-form .form-group label {
  color: white !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}



.pre-footer-form .form-group input,
.pre-footer-form .form-group textarea {
  padding: 1rem !important;
  border: 2px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: white !important;
  font-size: 1rem !important;
  transition: all 0.3s ease !important;
}



.pre-footer-form .form-group input::placeholder,
.pre-footer-form .form-group textarea::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}



.pre-footer-form .form-group input:focus,
.pre-footer-form .form-group textarea:focus {
  outline: none !important;
  border-color: #3b82f6 !important;
  background: rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}



.pre-footer-submit-btn {
  background: #3b82f6 !important;
  color: white !important;
  border: none !important;
  padding: 1rem 2rem !important;
  border-radius: 8px !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  align-self: flex-start !important;
}



.pre-footer-submit-btn:hover {
  background: #2563eb !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3) !important;
}



.pre-footer-submit-btn:disabled {
  background: #6b7280 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}



.pre-footer-form .form-error {
  background: rgba(239, 68, 68, 0.1) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-radius: 8px !important;
  padding: 1rem !important;
  margin-bottom: 1rem !important;
}



.pre-footer-form .form-error p {
  color: #fca5a5 !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
}



.pre-footer-column .contact-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.pre-footer-column .company-info h4 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: white !important;
  margin-bottom: 0.5rem !important;
}



.pre-footer-column .company-info p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.9rem !important;
  margin: 0 !important;
}



.pre-footer-column .contact-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}



.pre-footer-column .contact-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}



.pre-footer-column .contact-item:last-child {
  border-bottom: none !important;
}



.pre-footer-column .contact-item strong {
  color: white !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}



.pre-footer-column .contact-item a {
  color: #60a5fa !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  transition: color 0.3s ease !important;
}



.pre-footer-column .contact-item a:hover {
  color: #93c5fd !important;
}



.pre-footer-column .contact-item small {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.75rem !important;
  font-style: italic !important;
  margin-top: 0.25rem !important;
}



.pre-footer-column .social-links {
  display: flex !important;
  gap: 1rem !important;
  margin-top: 1rem !important;
}



.pre-footer-column .social-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 50% !important;
  color: white !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}



.pre-footer-column .social-link:hover {
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
  transform: translateY(-2px) !important;
}



.pre-footer-column .social-icon {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
}



.pre-footer-column .blog-posts {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.pre-footer-column .blog-post {
  display: flex !important;
  gap: 1rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}



.pre-footer-column .blog-post:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}



.pre-footer-column .blog-thumbnail {
  flex-shrink: 0 !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}



.pre-footer-column .blog-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}



.pre-footer-column .blog-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  flex: 1 !important;
}



.pre-footer-column .blog-title {
  color: white !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  transition: color 0.3s ease !important;
}



.pre-footer-column .blog-title:hover {
  color: #60a5fa !important;
}



.pre-footer-column .blog-date {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.8rem !important;
}



.pre-footer-column .company-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.pre-footer-column .company-image {
  width: 100% !important;
  height: 200px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}



.pre-footer-column .company-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}



.pre-footer-column .company-info h4 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: white !important;
  margin-bottom: 1rem !important;
}



.pre-footer-column .company-info p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  margin-bottom: 1rem !important;
}



.pre-footer-column .learn-more-link {
  color: white !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  transition: color 0.3s ease !important;
  align-self: flex-start !important;
}



.pre-footer-column .learn-more-link:hover {
  color: #60a5fa !important;
}



.pre-footer-column .company-features {
  margin: 1rem 0 !important;
}



.pre-footer-column .company-features p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.85rem !important;
  margin-bottom: 0.5rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}



.pre-footer-column .company-features strong {
  color: #10b981 !important;
  font-weight: 700 !important;
}




.pre-footer-section .modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 1000 !important;
}



.pre-footer-section .modal-content {
  background: white !important;
  padding: 2rem !important;
  border-radius: 12px !important;
  max-width: 500px !important;
  width: 90% !important;
  text-align: center !important;
  color: #1f2937 !important;
}



.pre-footer-section .modal-content h3 {
  color: #1f2937 !important;
  margin-bottom: 1rem !important;
  font-size: 1.5rem !important;
}



.pre-footer-section .modal-content p {
  color: #6b7280 !important;
  margin-bottom: 2rem !important;
  line-height: 1.6 !important;
}



.pre-footer-section .close-btn {
  background: #3b82f6 !important;
  color: white !important;
  border: none !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.3s ease !important;
}



.pre-footer-section .close-btn:hover {
  background: #2563eb !important;
}




@media (max-width: 768px) {
  .pre-footer-container {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    padding: 0 1rem !important;
  }


  
  .pre-footer-section {
    padding: 3rem 0 !important;
  }


  
  .pre-footer-column h3 {
    font-size: 1.3rem !important;
  }


  
  .pre-footer-column .blog-post {
    flex-direction: column !important;
    gap: 0.75rem !important;
  }


  
  .pre-footer-column .blog-thumbnail {
    width: 50px !important;
    height: 50px !important;
  }


}

@media (max-width: 480px) {
  .pre-footer-container {
    padding: 0 0.75rem !important;
  }


  
  .pre-footer-section {
    padding: 2rem 0 !important;
  }


  
  .pre-footer-form .form-group input,
  .pre-footer-form .form-group textarea {
    padding: 0.75rem !important;
  }


  
  .pre-footer-submit-btn {
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
  }


}


.pre-footer-section[style*="background"],
.pre-footer-section[style*="background-color"] {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 25%, #1e3a8a 50%, #1e40af 75%, #3b82f6 100%) !important;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.3) 0%, transparent 60%),
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 80%, rgba(37, 99, 235, 0.2) 0%, transparent 60%),
    radial-gradient(circle at 60% 40%, rgba(29, 78, 216, 0.15) 0%, transparent 70%),
    linear-gradient(180deg, transparent 0%, rgba(30, 64, 175, 0.1) 50%, rgba(59, 130, 246, 0.2) 100%) !important;
}




.pre-footer-section {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 25%, #1e3a8a 50%, #1e40af 75%, #3b82f6 100%) !important;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.3) 0%, transparent 60%),
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 80%, rgba(37, 99, 235, 0.2) 0%, transparent 60%),
    radial-gradient(circle at 60% 40%, rgba(29, 78, 216, 0.15) 0%, transparent 70%),
    linear-gradient(180deg, transparent 0%, rgba(30, 64, 175, 0.1) 50%, rgba(59, 130, 246, 0.2) 100%) !important;
  color: white !important;
}




.home-hero-compact {
  position: relative;
  display: block;
  height: 37.5vh;
  min-height: 300px;
  max-height: 450px;
  padding: clamp(1.5rem, 3vw, 2.25rem) 0;
  margin: var(--header-offset) 0 0 0;
  margin-bottom: 0 !important;
  color: #f8fafc;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(135deg, #1f2937 0%, rgba(15,23,42,0.95) 35%, rgba(15,118,110,0.85) 70%, rgba(15,23,42,0.9) 100%);
  box-shadow: inset 0 -12px 28px rgba(15,23,42,0.35), inset 0 12px 24px rgba(15,23,42,0.25);
  --home-hero-image: none;
  line-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}



.home-hero-compact::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--home-hero-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.35;
  z-index: 0;
}



.home-hero-compact__container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 4vw, 2.5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: normal;
}



.home-hero-compact__header {
  max-width: 780px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 0 !important;
}



.home-hero-compact__eyebrow {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  color: #bfdbfe;
  font-weight: 700;
}



.home-hero-compact__title {
  font-size: clamp(2rem, 5vw, 3.25rem);
  line-height: 1.1;
  font-weight: 800;
  color: #ffffff;
  text-shadow: 0 10px 35px rgba(15,23,42,0.45);
  margin: 0;
}



.home-hero-compact__subtitle {
  font-size: clamp(1.05rem, 2.5vw, 1.25rem);
  line-height: 1.7;
  color: #e2e8f0;
  margin: 0;
}




@media (max-width: 768px) {
  .home-hero-compact {
    height: 30vh;
    min-height: 250px;
  }


  
  .home-hero-compact__container {
    padding: 0 1rem;
  }


}

@media (max-width: 480px) {
  .home-hero-compact {
    height: 25vh;
    min-height: 200px;
  }


  
  .home-hero-compact__container {
    padding: 0 0.75rem;
  }


}


.service-hero-split {
  position: relative;
  display: block;
  background: linear-gradient(135deg, #0f4c75 0%, #1b6ca8 50%, #0f4c75 100%);
  color: white;
  overflow: hidden;
  padding: 4rem 0 0 0;
  padding-bottom: 0 !important;
  margin: 0 !important;
  margin-bottom: 0 !important;
}



.service-hero-split::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: var(--service-hero-image);
  background-size: cover;
  background-position: center;
  opacity: 0.1;
  z-index: 0;
}



.service-hero-split__container {
  position: relative;
  z-index: 10;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
  padding-bottom: 0 !important;
}



.service-hero-split__header {
  text-align: center;
  margin-bottom: 3rem;
}



.service-hero-split__eyebrow {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #a8dadc;
  margin-bottom: 1rem;
}



.service-hero-split__header h1 {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1rem;
  color: white;
}



.service-hero-split__header p {
  font-size: 1.125rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  max-width: 800px;
  margin: 0 auto;
}



.service-hero-split__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 100%;
  margin: 0 auto;
  min-height: 400px;
}



@media (min-width: 768px) {
  .service-hero-split__grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }


}

@media (min-width: 1024px) {
  .service-hero-split__grid {
    gap: 2.5rem;
  }


}

.service-hero-split__panel {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  padding: 2rem;
  color: #1e293b;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  min-height: 400px;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 5;
}



.service-hero-split__panel h2 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #0f4c75;
}



.service-hero-split__panel > p {
  font-size: 1rem;
  line-height: 1.6;
  color: #475569;
  margin-bottom: 1.5rem;
}



.service-hero-split__list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}



.service-hero-split__list li {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}



.service-hero-split__list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}



.service-hero-split__list h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #0f4c75;
  margin-bottom: 0.5rem;
}



.service-hero-split__list p {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #64748b;
  margin: 0;
}



.service-hero-split__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}



.service-hero-split__actions--secondary {
  margin-top: 1.5rem;
}




.service-hero-split__panel--retail {
  display: flex;
  flex-direction: column;
}



.service-hero-split__photo {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 1.5rem 0;
  object-fit: cover;
  max-height: 240px;
}



.service-hero-split__location {
  margin-top: auto;
}



.service-hero-split__location-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #0f4c75;
  margin-bottom: 0.75rem;
}



.service-hero-split__address {
  font-style: normal;
  font-size: 1rem;
  line-height: 1.6;
  color: #475569;
  margin-bottom: 1rem;
}



.service-hero-split__details {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 1rem;
  background: #f8fafc;
  border-radius: 6px;
}



.service-hero-split__details dt {
  font-size: 0.875rem;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 0.25rem;
}



.service-hero-split__details dd {
  font-size: 0.9375rem;
  color: #1e293b;
  margin: 0;
}



.service-hero-split__note {
  font-size: 0.875rem;
  color: #64748b;
  font-style: italic;
  margin-bottom: 1rem;
}




@media (max-width: 767px) {
  .service-hero-split {
    padding: 3rem 0 0 0;
    padding-bottom: 0 !important;
  }


  
  .service-hero-split__container {
    padding: 0 1rem;
  }



  .service-hero-split__header h1 {
    font-size: 2rem;
  }



  .service-hero-split__panel {
    padding: 1.5rem;
  }



  .service-hero-split__actions {
    flex-direction: column;
  }



  .service-hero-split__actions .btn {
    width: 100%;
    text-align: center;
  }


}

@media (min-width: 1024px) {
  .service-hero-split__header h1 {
    font-size: 3rem;
  }


}




.page-template {
  background: transparent !important;
  color: var(--ink) !important;
  min-height: 0 !important; /* Changed from auto for Firefox compatibility */ 
  padding: 0 !important;
  padding-top: 0 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  overflow-x: hidden !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
}



.phone-link {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  color: white;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 2px;
  transform: rotate(180deg);
  transition: all 0.3s ease;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}



.phone-link:hover {
  color: #fbbf24;
  transform: rotate(180deg) scale(1.05);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}




.page-hero-content-ultra {
  position: relative;
  z-index: 10;
  max-width: 60%;
  padding-left: 4rem;
  padding-right: 5rem;
  color: white;
}



.page-hero-title-ultra {
  font-size: clamp(3rem, 8vw, 5rem);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 2rem 0;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.8);
  color: white;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}



.hero-cta-ultra {
  margin-top: 2rem;
}



.btn-ultra-primary {
  display: inline-flex;
  align-items: center;
  padding: 1.2rem 2.5rem;
  background: linear-gradient(135deg, #dc2626, #ef4444);
  color: white;
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 8px;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3);
}



.btn-ultra-primary:hover {
  background: linear-gradient(135deg, #b91c1c, #dc2626);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(220, 38, 38, 0.4);
  border-color: rgba(255, 255, 255, 0.2);
}






.main-content-gradient {
  background: linear-gradient(to bottom,
    #87ceeb 0%,     
    #b3e5fc 15%,    
    #d1ecf1 30%,    
    #e8f4f8 50%,    
    #f0f8ff 70%,    
    #f8fafc 85%,    
    #ffffff 100%    
  ) !important;
  min-height: 0 !important; /* Changed from auto for Firefox compatibility */ 
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  margin: 0 !important; 
  margin-top: 0 !important; 
  padding: 0 !important; 
  padding-top: 0 !important; 
  width: 100% !important;
  visibility: visible !important;
  opacity: 1 !important;
}




@media screen and (max-width: 768px) {
  
  .vertical-phone {
    width: 50px;
    height: 70vh;
  }


  
  .phone-link {
    font-size: 0.9rem;
    letter-spacing: 1px;
  }


  
  .page-hero-content-ultra {
    max-width: 80%;
    padding-left: 1rem;
    padding-right: 3rem;
  }


  
  .page-hero-title-ultra {
    font-size: clamp(2rem, 6vw, 3rem);
    margin-bottom: 1.5rem;
  }


  
  .btn-ultra-primary {
    padding: 1rem 2rem;
    font-size: 1rem;
  }


}

@media screen and (max-width: 480px) {
  
  .vertical-phone {
    width: 40px;
    height: 60vh;
  }


  
  .phone-link {
    font-size: 0.8rem;
  }


  
  .page-hero-content-ultra {
    max-width: 85%;
    padding-right: 2.5rem;
  }


  
  .page-hero-title-ultra {
    font-size: clamp(1.5rem, 5vw, 2.5rem);
    margin-bottom: 1rem;
  }


  
  .btn-ultra-primary {
    padding: 0.8rem 1.5rem;
    font-size: 0.9rem;
  }


}


@media screen and (max-width: 768px) {
  .page-hero {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    position: relative !important;
    width: 100vw !important;
    margin-left: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    background: transparent !important;
    z-index: 1 !important;
    overflow: visible !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
  }


  
  .page-hero-media {
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
  }


  
  .page-hero-fallback {
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
  }


  
  .page-hero-inner {
    padding: 0.5rem !important;
    max-width: 100% !important;
  }


  
  .page-hero-title {
    font-size: 1.4rem !important;
    margin-bottom: 0.25rem !important;
    line-height: 1.2 !important;
  }


  
  .page-hero-sub {
    display: none !important;
  }


  
  .page-hero::before {
    display: none !important;
  }


  
  .page-hero::after {
    animation: none !important;
  }


  
  .page-hero-fallback {
    animation: none !important; 
  }


  
  .main-content-gradient {
    min-height: 0 !important; /* Changed from auto for Firefox compatibility */
    background: transparent !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  
  .hero-wave-attached {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }


  
  
  .page-hero-title {
    font-size: clamp(1.8rem, 8vw, 3rem) !important;
    padding: 1.5rem 1rem !important;
    border-width: 4px !important;
    margin-bottom: 1rem !important;
    text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.9) !important;
  }


  
  .page-hero-sub {
    font-size: clamp(1.1rem, 4vw, 1.4rem) !important;
    padding: 1rem 0.75rem !important;
    border-width: 3px !important;
    margin-bottom: 1.5rem !important;
    line-height: 1.5 !important;
  }


  
  .btn {
    font-size: 1.2rem !important;
    padding: 1rem 1.5rem !important;
    min-height: 56px !important;
    border-width: 3px !important;
  }


  
  .btn-row {
    gap: 1rem !important;
    flex-direction: column !important;
    align-items: center !important;
  }


  
  .btn-row .btn {
    width: 100% !important;
    max-width: 280px !important;
  }


}


@media (prefers-reduced-motion: reduce) {
  .page-hero::before {
    animation: none !important;
  }


  .page-hero::after {
    animation: none !important;
  }


  .page-hero-fallback {
    animation: none !important; 
  }


  .hero-wave-attached {
    display: none !important;
  }


}


.vertical-sticky-contact {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 50px;
  height: 300px;
  background: linear-gradient(180deg, #1e40af 0%, #3b82f6 100%);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -4px 0 20px rgba(30, 64, 175, 0.3);
  border-radius: 8px 0 0 8px;
  transition: all 0.3s ease;
}



.vertical-sticky-contact:hover {
  transform: translateY(-50%) translateX(-5px);
  box-shadow: -8px 0 25px rgba(30, 64, 175, 0.4);
  width: 55px;
}



.vertical-sticky-contact-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: white;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 1px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transition: all 0.3s ease;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}



.vertical-sticky-contact-btn:hover {
  color: #fbbf24;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}



.vertical-contact-text {
  white-space: nowrap;
  transform: rotate(180deg);
  transition: all 0.3s ease;
}



.vertical-sticky-contact:hover .vertical-contact-text {
  transform: rotate(180deg) scale(1.05);
}




@media (max-width: 768px) {
  .vertical-sticky-contact {
    width: 45px;
    height: 250px;
    right: -2px; 
  }


  
  .vertical-sticky-contact:hover {
    width: 50px;
    right: -7px;
  }


  
  .vertical-sticky-contact-btn {
    font-size: 0.7rem;
    letter-spacing: 0.5px;
  }


}

@media (max-width: 480px) {
  .vertical-sticky-contact {
    width: 40px;
    height: 200px;
    right: -1px;
  }


  
  .vertical-sticky-contact:hover {
    width: 45px;
    right: -6px;
  }


  
  .vertical-sticky-contact-btn {
    font-size: 0.65rem;
    letter-spacing: 0.3px;
  }


}


@media (min-width: 769px) {
  body {
    padding-right: 0; 
  }


}


@media (max-width: 320px) {
  .vertical-sticky-contact {
    display: none;
  }


}

.pond-services-subnav {
  background: #10233a;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  position: sticky;
  top: var(--header-height, 64px);
  z-index: 50;
  box-shadow: 0 1px 0 rgba(255,255,255,0.06);
}



.pond-services-subnav .subnav-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 16px 14px 16px;
  display: flex;
  gap: 12px;
  overflow-x: auto;
}



.pond-services-subnav a.subnav-link {
  color: #dbe9f7;
  text-decoration: none;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}



.pond-services-subnav a.subnav-link:hover {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  border-color: rgba(255,255,255,0.24);
}



.pond-services-subnav a.subnav-link.active {
  background: #2b7de9;
  color: #ffffff;
  border-color: #2b7de9;
}



.pond-services-subnav .icon { font-size: 14px; }



.plants-fish-subnav {
  background: #0f2a1f;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}



.plants-fish-subnav .subnav-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 16px 14px 16px;
  display: flex;
  gap: 12px;
  overflow-x: auto;
}



.plants-fish-subnav a.subnav-link {
  color: #cfe9de;
  text-decoration: none;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}



.plants-fish-subnav a.subnav-link:hover {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  border-color: rgba(255,255,255,0.24);
}



.plants-fish-subnav a.subnav-link.active {
  background: #23a36e;
  color: #ffffff;
  border-color: #23a36e;
}



.plants-fish-subnav .icon {
  font-size: 14px;
}



.service-process {
  background: #0b1320;
  color: #e9f1ff;
  padding: 32px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}


.service-process .container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }


.service-process h2 { margin: 0 0 16px 0; font-size: 24px; }


.service-process .steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }


@media (max-width: 900px){ .service-process .steps { grid-template-columns: repeat(2,minmax(0,1fr)); }

 }
@media (max-width: 520px){ .service-process .steps { grid-template-columns: 1fr; }

 }
.service-process .step { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 14px; }


.service-process .step .title { display: flex; align-items: center; gap: 8px; font-weight: 600; margin-bottom: 6px; }


.service-process .step .title i { color: #7fb2ff; }


.service-process .step p { margin: 0; color: #cfe0ff; }




.service-checklist { padding: 28px 0; background: #0f2a1f; color: #def6ea; border-top: 1px solid rgba(255,255,255,0.06); }


.service-checklist .container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }


.service-checklist h2 { margin: 0 0 10px; font-size: 22px; }


.service-checklist ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 16px; }


@media (max-width: 640px){ .service-checklist ul { grid-template-columns: 1fr; }

 }
.service-checklist li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); }


.service-checklist li i { color: #79d9af; }




.service-cta {
  background: #0e1726;
  color: #e9f1ff;
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}


.service-cta .container { max-width: 1200px; margin: 0 auto; padding: 12px 16px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }


.service-cta .title { font-weight: 600; margin-right: auto; }


.service-cta a.btn { text-decoration: none; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.18); color: #e9f1ff; }


.service-cta a.btn-primary { background: #2b7de9; border-color: #2b7de9; color: #fff; }


.service-cta a.btn-outline { background: transparent; }


.service-cta .cta-close { margin-left: 8px; background: transparent; color: #cfe0ff; border: 1px solid rgba(255,255,255,0.18); border-radius: 8px; padding: 6px 10px; cursor: pointer; }


.service-cta .cta-close:hover { background: rgba(255,255,255,0.08); color: #fff; }




@media (max-width: 768px) {
  .service-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.25);
    -webkit-backdrop-filter: saturate(120%) blur(4px);
    backdrop-filter: saturate(120%) blur(4px);
  }


  body.has-mobile-cta {
    padding-bottom: var(--mobile-cta-height, 76px);
  }


}

.service-areas-section {
  padding: clamp(3.5rem, 6vw, 5rem) 0;
  background: linear-gradient(180deg, #eef2ff 0%, #f8fafc 55%, #ffffff 100%);
}



.service-areas-container {
  width: min(1200px, 92vw);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 5vw, 3.5rem);
}



.service-areas-header {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: #1f2937;
}



.service-areas-header h2 {
  margin: 0;
  font-size: clamp(2.25rem, 4vw, 2.75rem);
  font-weight: 700;
  color: #0f172a;
}



.service-areas-header p {
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: #475569;
  line-height: 1.7;
  max-width: 760px;
  align-self: center;
}



.service-areas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(1.25rem, 3vw, 1.75rem);
}



.service-area-card {
  background: #ffffff;
  border-radius: 24px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  box-shadow: 0 20px 45px -18px rgba(15, 23, 42, 0.25);
  padding: clamp(1.75rem, 3vw, 2.25rem);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  position: relative;
  overflow: hidden;
}



.service-area-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.08), rgba(14, 165, 233, 0.08));
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}



.service-area-card:hover::before {
  opacity: 1;
}



.service-area-card__header h3 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e3a8a;
}



.service-area-card__header p {
  margin: 0.5rem 0 0;
  color: #475569;
  line-height: 1.6;
  font-size: 0.95rem;
}



.service-area-card__response {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.9rem;
  background: rgba(15, 118, 110, 0.12);
  color: #0f766e;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 0.75rem;
}



.service-area-card__cities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}



.service-area-card__cities a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 0.9rem;
  border-radius: 12px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.2);
  color: #1d4ed8;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.25s ease;
}



.service-area-card__cities a:hover {
  background: rgba(37, 99, 235, 0.15);
  border-color: rgba(37, 99, 235, 0.4);
  color: #1e3a8a;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -10px rgba(37, 99, 235, 0.4);
}



@media (max-width: 900px) {
  .service-area-card__cities {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }


}

@media (max-width: 640px) {
  .service-area-card__cities {
    grid-template-columns: 1fr;
  }


}

@media (prefers-reduced-motion: reduce) {
  .service-area-card,
  .service-area-card::before,
  .service-area-card__cities a {
    transition: none;
  }




.cta::before{
  content:"";
  position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.25) 100%);
  z-index:0;pointer-events:none
}



.blog-hero-compact {
  position: relative;
  display: block;
  height: 30vh;
  min-height: 250px;
  max-height: 350px;
  padding: clamp(1.25rem, 2.5vw, 1.75rem) 0;
  margin: var(--header-offset, 0) 0 0 0;
  margin-bottom: 0 !important;
  color: #f8fafc;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(135deg, #1f2937 0%, rgba(15, 23, 42, 0.95) 35%, rgba(15, 118, 110, 0.85) 70%, rgba(15, 23, 42, 0.9) 100%);
  box-shadow: inset 0 -12px 28px rgba(15, 23, 42, 0.35), inset 0 12px 24px rgba(15, 23, 42, 0.25);
  --blog-hero-image: none;
  line-height: 0;
}



.blog-hero-compact::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--blog-hero-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.35;
  z-index: 0;
}



.blog-hero-compact__container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 3vw, 2rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  line-height: normal;
  height: 100%;
  justify-content: center;
}



.blog-hero-compact__header {
  max-width: 900px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: flex-start;
}



.blog-hero-compact__back-link {
  font-size: 0.85rem;
  color: #bfdbfe;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
  margin-bottom: 0.5rem;
}



.blog-hero-compact__back-link:hover {
  color: #ffffff;
  text-decoration: underline;
}



.blog-hero-compact__category {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #10b981;
  font-weight: 600;
  background: rgba(16, 185, 129, 0.1);
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}



.blog-hero-compact__title {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  line-height: 1.1;
  font-weight: 800;
  color: #ffffff;
  text-shadow: 0 4px 12px rgba(15, 23, 42, 0.45);
  margin: 0;
  max-width: 800px;
}



.blog-hero-compact__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  font-size: 0.9rem;
  color: #e2e8f0;
  margin-top: 0.5rem;
}



.blog-hero-compact__author,
.blog-hero-compact__date,
.blog-hero-compact__read-time {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}



.blog-hero-compact__author::before {
  content: "👤";
  font-size: 0.8rem;
}



.blog-hero-compact__date::before {
  content: "📅";
  font-size: 0.8rem;
}



.blog-hero-compact__read-time::before {
  content: "⏱️";
  font-size: 0.8rem;
}




@media (max-width: 768px) {
  .blog-hero-compact {
    height: 25vh;
    min-height: 200px;
    max-height: 280px;
    padding: clamp(1rem, 2vw, 1.25rem) 0;
  }


  
  .blog-hero-compact__container {
    padding: 0 1rem;
  }


  
  .blog-hero-compact__header {
    text-align: left;
    align-items: flex-start;
  }


  
  .blog-hero-compact__title {
    font-size: clamp(1.25rem, 3.5vw, 2rem);
  }


  
  .blog-hero-compact__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }


}

@media (max-width: 480px) {
  .blog-hero-compact {
    height: 22vh;
    min-height: 180px;
    max-height: 240px;
    padding: 0.75rem 0;
  }


  
  .blog-hero-compact__title {
    font-size: clamp(1.1rem, 3vw, 1.5rem);
  }


  
  .blog-hero-compact__meta {
    font-size: 0.8rem;
  }


}


@media (prefers-contrast: high) {
  .blog-hero-compact::before {
    opacity: 0.1;
  }


  
  .blog-hero-compact {
    background: rgba(0, 0, 0, 0.9);
  }


  
  .blog-hero-compact__title {
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
  }



.city-main-content {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}



.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}



.section-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1e40af;
  text-align: center;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}



.intro-content h2 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 1.5rem;
  text-align: center;
}



.intro-text {
  font-size: 1.125rem;
  line-height: 1.8;
  color: #334155;
  max-width: 900px;
  margin: 0 auto 1.5rem auto;
}



.intro-text a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}



.intro-text a:hover {
  text-decoration: underline;
}



.intro-image {
  max-width: 800px;
  margin: 2rem auto;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}



.services-intro a:hover {
  text-decoration: underline;
}



.service-block:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(30, 64, 175, 0.15);
}



.service-block-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}



.service-icon {
  font-size: 2.5rem;
}



.service-block-header h3 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1e40af;
  margin: 0;
}



.service-block-image {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}



.service-checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}



.service-checklist li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e2e8f0;
  font-size: 1rem;
  color: #334155;
}



.service-checklist li:last-child {
  border-bottom: none;
}



.service-checklist .check {
  color: #10b981;
  font-weight: 700;
  font-size: 1.25rem;
  flex-shrink: 0;
}



.service-highlight a:hover {
  text-decoration: underline;
}



.service-link {
  display: inline-flex;
  align-items: center;
  color: #1e40af;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.3s ease;
  margin-top: 1rem;
}



.service-link:hover {
  color: #3b82f6;
}



.detailed-service-grid {
  display: grid;
  gap: 3rem;
  margin-top: 3rem;
}



.detailed-service-card {
  background: white;
  border-radius: 12px;
  padding: 2.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}



.service-card-header h3 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 1rem;
}



.detailed-service-card p {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #475569;
  margin-bottom: 1.5rem;
}



.detailed-service-card a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}



.detailed-service-card a:hover {
  text-decoration: underline;
}



.service-card-image {
  margin-top: 2rem;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}



.feature-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(30, 64, 175, 0.15);
}



.feature-icon-large {
  font-size: 3rem;
  margin-bottom: 1rem;
}



.feature-box a:hover {
  text-decoration: underline;
}



.why-image-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}



.gallery-item {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}



.gallery-item:hover {
  transform: scale(1.05);
}



.seasonal-intro a:hover {
  text-decoration: underline;
}



.season-block:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}



.season-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}



.season-description a:hover {
  text-decoration: underline;
}



.season-block ul li:last-child {
  border-bottom: none;
}



.season-block ul li a:hover {
  text-decoration: underline;
}



.equipment-intro a:hover {
  text-decoration: underline;
}



.equipment-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}



.equipment-item {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
}



.equipment-item:hover {
  transform: translateY(-5px);
}



.equipment-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}



.equipment-item h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 1rem;
}



.equipment-item p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #64748b;
}



.equipment-item a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}



.equipment-item a:hover {
  text-decoration: underline;
}



.local-card {
  background: white;
  padding: 2.5rem;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}



.local-card h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 1rem;
}



.location-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}



.location-list li {
  padding: 0.75rem 0;
  color: #475569;
  font-size: 1rem;
  border-bottom: 1px solid #e2e8f0;
  padding-left: 1.5rem;
  position: relative;
}



.location-list li:last-child {
  border-bottom: none;
}



.location-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: #1e40af;
  font-weight: 700;
}



.local-note a:hover {
  text-decoration: underline;
}



.local-image-showcase {
  margin-top: 3rem;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}



.styles-intro a:hover {
  text-decoration: underline;
}



.pond-styles-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}



.pond-style-card {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  padding: 2rem;
  border-radius: 12px;
  border-left: 4px solid #1e40af;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}



.pond-style-card h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 1rem;
}



.pond-style-card p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
  margin-bottom: 1rem;
}



.pond-style-card a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}



.pond-style-card a:hover {
  text-decoration: underline;
}



.style-link {
  display: inline-block;
  margin-top: 1rem;
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}



.style-link:hover {
  text-decoration: underline;
}



.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}



.faq-item {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}



.faq-item h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 1rem;
  line-height: 1.4;
}



.faq-item p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}



.faq-item a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}



.faq-item a:hover {
  text-decoration: underline;
}



.process-intro {
  font-size: 1.125rem;
  text-align: center;
  color: #64748b;
  max-width: 800px;
  margin: 0 auto 3rem auto;
}



.process-steps {
  max-width: 900px;
  margin: 3rem auto 0;
}



.process-step {
  display: flex;
  gap: 2rem;
  margin-bottom: 2.5rem;
  align-items: flex-start;
}



.step-number {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  box-shadow: 0 4px 15px rgba(30, 64, 175, 0.3);
}



.step-content h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 0.75rem;
}



.step-content p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}



.step-content a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}



.step-content a:hover {
  text-decoration: underline;
}



.testimonials-intro a:hover {
  text-decoration: underline;
}



.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}



.testimonial-card {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  border-top: 3px solid #fbbf24;
}



.testimonial-stars {
  font-size: 1.25rem;
  margin-bottom: 1rem;
  color: #fbbf24;
}




.city-internal-links {
  padding: 3rem 0;
  background: #f8fafc;
}



.cta-card {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 3rem;
  align-items: center;
  background: white;
  border-radius: 16px;
  padding: 3rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}



.cta-content h2 {
  font-size: 2rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 1rem;
}



.cta-content p {
  font-size: 1.05rem;
  color: #64748b;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}



.cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}



.cta-btn.primary {
  background: #1e40af;
  color: white;
  border: 2px solid #1e40af;
}



.cta-btn.primary:hover {
  background: #1e3a8a;
  border-color: #1e3a8a;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(30, 64, 175, 0.3);
}



.cta-btn.secondary {
  background: white;
  color: #1e40af;
  border: 2px solid #1e40af;
}



.cta-btn.secondary:hover {
  background: #f0f9ff;
  transform: translateY(-2px);
}



.btn-icon {
  font-size: 1.25rem;
}



.cta-image {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}





@media (max-width: 1024px) {
  .services-dual-column {
    grid-template-columns: 1fr;
    gap: 2rem;
  }


  
  .equipment-grid {
    grid-template-columns: repeat(2, 1fr);
  }


  
  .why-image-gallery {
    grid-template-columns: 1fr;
  }


  
  .pond-styles-grid {
    grid-template-columns: 1fr;
  }


  
  .cta-card {
    grid-template-columns: 1fr;
    gap: 2rem;
  }


  
  .testimonials-grid {
    grid-template-columns: 1fr;
  }


}

@media (max-width: 768px) {
  .container {
    padding: 0 1rem;
  }


  
  .section-title {
    font-size: 2rem;
  }


  
  .equipment-grid {
    grid-template-columns: 1fr;
  }


  
  .faq-grid {
    grid-template-columns: 1fr;
  }


  
  .intro-content h2 {
    font-size: 2rem;
  }


  
  .intro-text {
    font-size: 1rem;
  }


  
  .cta-content h2 {
    font-size: 1.75rem;
  }


  
  .cta-content p {
    font-size: 1rem;
  }


  
  .cta-btn {
    width: 100%;
    justify-content: center;
  }


}

@media (max-width: 480px) {
  .city-intro,
  .city-services,
  .city-services-detailed,
  .city-why-choose,
  .city-seasonal,
  .city-equipment,
  .city-local,
  .city-pond-styles,
  .city-faq,
  .city-process,
  .city-testimonials,
  .city-cta {
    padding: 2rem 0;
  }


  
  .section-title {
    font-size: 1.75rem;
  }


  
  .service-block-header {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }


  
  .service-icon {
    font-size: 2rem;
  }


  
  .cta-card {
    padding: 2rem;
  }


  
  .process-step {
    flex-direction: column;
    gap: 1rem;
  }


  
  .step-number {
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }


}

.store-info-panel {
  background: #0f2a1f;
  color: #e8faf1;
  padding: 28px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}



.store-info-panel .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 20px;
}



@media (max-width: 900px) {
  .store-info-panel .container {
    grid-template-columns: 1fr;
  }


}

.store-info-panel h2 {
  margin: 0 0 8px 0;
  font-size: 22px;
}



.store-info-panel .details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin-top: 10px;
}



@media (max-width: 600px) {
  .store-info-panel .details {
    grid-template-columns: 1fr;
  }


}

.store-info-panel .detail {
  display: flex;
  gap: 10px;
  align-items: center;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 10px 12px;
  border-radius: 10px;
}



.store-info-panel .detail i { color: #9be3c1; }



.store-info-panel .actions { display: flex; gap: 10px; margin-top: 14px; }


.store-info-panel .btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 8px;
  text-decoration: none;
  border: 1px solid transparent;
}


.store-info-panel .btn-primary { background:#23a36e; color:#fff; }


.store-info-panel .btn-secondary { background:transparent; color:#e8faf1; border-color: rgba(255,255,255,0.2); }



.store-info-panel .image {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
}



.store-info-panel .image img { width: 100%; height: auto; display: block; }



.store-info-panel .badge {
  position: absolute;
  left: 12px;
  bottom: 12px;
  background: rgba(0,0,0,0.55);
  color: #e8faf1;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  display: inline-flex; align-items:center; gap: 6px;
}




.related-links { padding: 24px 0; background: #0b1320; color: #e9f1ff; border-top: 1px solid rgba(255,255,255,0.06); }


.related-links .container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }


.related-links h2 { margin: 0 0 10px; font-size: 22px; }


.related-links .links { display: flex; gap: 10px; flex-wrap: wrap; }


.related-links a { text-decoration: none; color: #cfe0ff; border: 1px solid rgba(255,255,255,0.12); padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,0.04); }


.related-links a:hover { background: rgba(255,255,255,0.08); color: #fff; }





.visible-internal-links {
  margin: 2rem 0;
  padding: 2rem;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
}



.visible-internal-links h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 1.5rem;
  text-align: center;
  background: linear-gradient(135deg, #1e40af, #1d4ed8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}



.related-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  max-width: 800px;
  margin: 0 auto;
}



.related-link {
  display: block;
  padding: 1rem 1.5rem;
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  text-decoration: none;
  color: #374151;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}



.related-link:hover {
  border-color: #3b82f6;
  color: #1e40af;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
  text-decoration: none;
}



.related-link:focus {
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
}




@media (max-width: 768px) {
  .visible-internal-links {
    margin: 1.5rem 0;
    padding: 1.5rem;
  }


  
  .visible-internal-links h3 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }


  
  .related-links-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }


  
  .related-link {
    padding: 0.875rem 1rem;
    font-size: 0.9rem;
  }


}

@media (max-width: 480px) {
  .visible-internal-links {
    margin: 1rem 0;
    padding: 1rem;
  }


  
  .related-link {
    padding: 0.75rem 0.875rem;
    font-size: 0.85rem;
  }


}

:root{
  --bg: #ffffff;
  --ink: #0f172a; 
  --muted: #64748b; 
  --primary: #1e40af; 
  --accent: #10b981; 
  --cta: #dc2626; 
  --ring: 0 0 0 4px rgba(30,64,175,.2);
}


html,body{height:100%;height:100dvh;overflow-x:hidden;margin:0;padding:0}


body{min-height:100vh;min-height:100dvh}


img, video{max-width:100%;display:block;height:auto}


.home{background:transparent;color:var(--ink);min-height:100vh;padding:0;margin:0;overflow-x:hidden}


.container{max-width:1200px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}


@media (max-width: 768px) {
  .container {
    padding-right: 40px; 
  }


}
@media (max-width: 480px) {
  .container {
    padding-right: 35px; 
  }


}
.row{display:flex;align-items:flex-end;gap:1rem;justify-content:space-between}


.btn-row{display:flex;gap:.75rem;flex-wrap:wrap}


.btn{appearance:none;border:0;border-radius:12px;padding:.8rem 1.1rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;outline-offset:2px;font-size:1.1rem;min-height:48px;transition:all 0.3s ease}


.btn:focus-visible{box-shadow:var(--ring)}


.btn[data-variant="primary"]{background:var(--cta);color:#fff;box-shadow:0 4px 15px rgba(220,38,38,0.4);border:3px solid rgba(255,255,255,0.8);font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,0.5)}


.btn[data-variant="primary"]:hover{background:#b91c1c;transform:translateY(-2px);box-shadow:0 6px 20px rgba(220,38,38,0.5)}


.btn[data-variant="outline"]{background:transparent;border:3px solid rgba(255,255,255,0.9);color:#fff;-webkit-backdrop-filter:blur(10px);
backdrop-filter:blur(10px);font-weight:600;text-shadow:1px 1px 2px rgba(0,0,0,0.7)}


.btn[data-variant="outline"]:hover{background:rgba(255,255,255,0.1);border-color:#fff}


.btn[data-variant="link"]{border-bottom:2px solid var(--primary);color:var(--primary);padding:0 .25rem;border-radius:0}


.btn[data-variant="ghost"]{background:#fff;border:2px solid #e2e8f0;color:#475569;border-radius:999px;width:40px;height:40px}




.home-hero-compact{
  position:relative;
  display:block;
  height:37.5vh;
  min-height:300px;
  max-height:450px;
  padding:clamp(1.5rem,3vw,2.25rem) 0;
  margin:var(--header-offset) 0 0 0;
  margin-bottom:0 !important;
  color:#f8fafc;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(135deg,#1f2937 0%,rgba(15,23,42,0.95) 35%,rgba(15,118,110,0.85) 70%,rgba(15,23,42,0.9) 100%);
  box-shadow:inset 0 -12px 28px rgba(15,23,42,0.35),inset 0 12px 24px rgba(15,23,42,0.25);
  --home-hero-image:none;
  line-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
}




.home-hero-split{
  position:relative;
  display:block;
  padding:clamp(4rem,6vw,6.5rem) 0 0 0;
  padding-bottom:0 !important;
  margin:var(--header-offset) 0 0 0;
  margin-bottom:0 !important;
  color:#f8fafc;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(135deg,#1f2937 0%,rgba(15,23,42,0.95) 35%,rgba(15,118,110,0.85) 70%,rgba(30,64,175,0.9) 100%);
  box-shadow:inset 0 -12px 28px rgba(15,23,42,0.35),inset 0 12px 24px rgba(15,23,42,0.25);
  --home-hero-image:none;
  line-height:0;
}


.home-hero-compact::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--home-hero-image);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.35;
  z-index:0;
}



.home-hero-compact__container{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,2.5rem);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  line-height:normal;
}



.home-hero-compact__header{
  max-width:900px;
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:center;
}



.home-hero-compact__eyebrow{
  font-size:0.85rem;
  text-transform:uppercase;
  letter-spacing:0.28em;
  color:#bfdbfe;
  font-weight:700;
}



.home-hero-compact__header h1{
  font-size:clamp(2rem,5vw,3.25rem);
  line-height:1.1;
  font-weight:800;
  color:#ffffff;
  text-shadow:0 10px 35px rgba(15,23,42,0.45);
  margin:0;
}



.home-hero-compact__header p{
  font-size:clamp(1.05rem,2.5vw,1.25rem);
  line-height:1.7;
  color:#e2e8f0;
  margin:0;
}



.home-hero-split::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--home-hero-image);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.35;
  z-index:0;
}


.home-hero-split__container{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin:0 auto;
  margin-bottom:0 !important;
  padding:0 clamp(1.5rem,4vw,2.5rem);
  padding-bottom:0 !important;
  display:flex;
  flex-direction:column;
  gap:clamp(2.5rem,4vw,3.5rem);
  line-height:normal;
}


.home-hero-split__header{
  max-width:780px;
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin-bottom:0 !important;
}


.home-hero-split__eyebrow{
  font-size:0.85rem;
  text-transform:uppercase;
  letter-spacing:0.28em;
  color:#bfdbfe;
  font-weight:700;
}


.home-hero-split__header h1{
  font-size:clamp(2rem,5vw,3.25rem);
  line-height:1.1;
  font-weight:800;
  color:#ffffff;
  text-shadow:0 10px 35px rgba(15,23,42,0.45);
}


.home-hero-split__header p{
  font-size:clamp(1.05rem,2.5vw,1.25rem);
  line-height:1.7;
  color:#e2e8f0;
}


.home-hero-split__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.75rem,3vw,2.5rem);
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}


.home-hero-split__panel{
  background:rgba(8,28,41,0.65);
  border-radius:24px;
  padding:clamp(1.75rem,3vw,2.5rem);
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  border:1px solid rgba(148,163,184,0.25);
  box-shadow:0 20px 40px rgba(15,23,42,0.35);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  margin-bottom:0 !important;
}


.home-hero-split__panel h2{
  font-size:1.75rem;
  font-weight:700;
  color:#f8fafc;
}


.home-hero-split__panel p{
  font-size:1.05rem;
  line-height:1.7;
  color:#e5e7eb;
}


.home-hero-split__panel--services{
  border-top:4px solid rgba(59,130,246,0.75);
}


.home-hero-split__panel--retail{
  border-top:4px solid rgba(16,185,129,0.75);
}


.home-hero-split__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1rem;
}


.home-hero-split__list li{
  padding:1rem 1.25rem;
  border-radius:18px;
  background:rgba(15,23,42,0.7);
  border:1px solid rgba(59,130,246,0.35);
  box-shadow:0 12px 24px rgba(15,23,42,0.25);
}


.home-hero-split__list h3{
  font-size:1.125rem;
  font-weight:700;
  color:#f8fafc;
  margin-bottom:0.35rem;
}


.home-hero-split__list p{
  margin:0;
  font-size:0.98rem;
  line-height:1.6;
  color:#e2e8f0;
}


.home-hero-split__actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}


.home-hero-split__actions .btn{
  min-width:190px;
}


.home-hero-split__photo{
  width:100%;
  height:auto;
  border-radius:18px;
  border:1px solid rgba(148,163,184,0.3);
  box-shadow:0 18px 32px rgba(15,23,42,0.35);
}


.home-hero-split__location{
  display:flex;
  flex-direction:column;
  gap:1rem;
}


.home-hero-split__location-title{
  font-size:1.25rem;
  font-weight:700;
  color:#f8fafc;
  letter-spacing:0.02em;
}


.home-hero-split__address{
  font-style:normal;
  line-height:1.6;
  color:#cbd5f5;
}


.home-hero-split__details{
  display:grid;
  gap:0.75rem;
}


.home-hero-split__details div{
  display:grid;
  gap:0.25rem;
}


.home-hero-split__details dt{
  font-size:0.9rem;
  text-transform:uppercase;
  letter-spacing:0.15em;
  color:#bfdbfe;
}


.home-hero-split__details dd{
  margin:0;
  font-size:1.05rem;
  color:#f1f5f9;
  font-weight:600;
}


.home-hero-split__note{
  font-size:0.95rem;
  line-height:1.6;
  color:#dbeafe;
}


.home-hero-split__actions--secondary .btn[data-variant="outline"]{
  border-color:rgba(191,219,254,0.85);
  color:#e2e8f0;
  background:rgba(15,23,42,0.35);
}


.home-hero-split__actions--secondary .btn[data-variant="outline"]:hover{
  background:rgba(191,219,254,0.15);
}


.home-hero-split__actions--secondary .btn[data-variant="ghost"]{
  border-radius:12px;
  padding:0.8rem 1.5rem;
  color:#0f172a;
  background:#f8fafc;
  border:2px solid transparent;
  font-weight:600;
}


.home-hero-split__actions--secondary .btn[data-variant="ghost"]:hover{
  background:#e2e8f0;
  color:#0f172a;
}



@media (max-width:1024px){
  .home-hero-split{
    padding:clamp(3.5rem,6vw,5rem) 0 0 0;
    padding-bottom:0 !important;
  }


  .home-hero-split__grid{
    grid-template-columns:1fr;
  }


  .home-hero-split__panel{
    padding:clamp(1.5rem,3vw,2rem);
  }


}
@media (max-width:768px){
  .home-hero-split{
    margin:var(--header-offset) 0 0 0;
    margin-bottom:0 !important;
  }


  .home-hero-split__container{
    padding:0 1.25rem;
  }


  .home-hero-split__header{
    text-align:center;
    align-items:center;
  }


  .home-hero-split__actions{
    justify-content:center;
  }


  .home-hero-split__photo{
    max-width:420px;
    align-self:center;
  }


  .home-hero-split__location{
    text-align:center;
    align-items:center;
  }


  .home-hero-split__details{
    justify-items:center;
  }


}
@media (max-width:540px){
  .home-hero-split{
    padding:3rem 0 0 0;
    padding-bottom:0 !important;
  }


  .home-hero-split__actions .btn{
    width:100%;
  }


  .home-hero-split__list li{
    padding:0.85rem 1rem;
  }


}


.hero-cards-section{
  padding:clamp(3rem,5vw,4rem) 0;
  background: linear-gradient(135deg, 
    #f0fdf4 0%,     
    #f8fafc 25%,    
    #e2e8f0 50%,    
    #f1f5f9 75%,    
    #eff6ff 100%    
  );
  position:relative;
  overflow: hidden;
}



.hero-cards-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 20% 20%, rgba(16, 185, 129, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(59, 130, 246, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 60%, rgba(16, 185, 129, 0.05) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}



.hero-cards-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,2.5rem);
  position: relative;
  z-index: 1;
}



.hero-cards-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(2rem,4vw,3rem);
}



.hero-card{
  background:#ffffff;
  border-radius:24px;
  padding:clamp(2rem,3vw,2.5rem);
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  border:1px solid rgba(148,163,184,0.2);
  box-shadow:0 20px 40px rgba(15,23,42,0.1);
  transition:transform 0.3s ease,box-shadow 0.3s ease;
}



.hero-card:hover{
  transform:translateY(-4px);
  box-shadow:0 25px 50px rgba(15,23,42,0.15);
}



.hero-card h2{
  font-size:1.75rem;
  font-weight:700;
  color:#1e293b;
  margin:0;
}



.hero-card p{
  font-size:1.05rem;
  line-height:1.7;
  color:#475569;
  margin:0;
}



.hero-card--services{
  border-top:4px solid #3b82f6;
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 25%, #bfdbfe 50%, #93c5fd 75%, #60a5fa 100%);
}



.hero-card--retail{
  border-top:4px solid #10b981;
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 25%, #bbf7d0 50%, #86efac 75%, #4ade80 100%);
}



.hero-card__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1rem;
}



.hero-card__list li{
  padding:1rem 1.25rem;
  border-radius:18px;
  background:#f1f5f9;
  border:1px solid rgba(59,130,246,0.2);
  box-shadow:0 4px 12px rgba(15,23,42,0.05);
}



.hero-card__list h3{
  font-size:1.125rem;
  font-weight:700;
  color:#1e293b;
  margin-bottom:0.35rem;
}



.hero-card__list p{
  margin:0;
  font-size:0.98rem;
  line-height:1.6;
  color:#64748b;
}



.hero-service-link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
  border-radius: 12px;
  padding: 0.5rem;
  margin: -0.5rem;
}



.hero-service-link:hover {
  background: rgba(59, 130, 246, 0.05);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
}



.hero-service-link h3 {
  color: #1e40af;
  transition: color 0.3s ease;
}



.hero-service-link:hover h3 {
  color: #3b82f6;
}



.hero-card__actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}



.hero-card__actions .btn{
  min-width:190px;
}



.hero-card__photo{
  width:100%;
  height:auto;
  border-radius:18px;
  border:1px solid rgba(148,163,184,0.2);
  box-shadow:0 8px 24px rgba(15,23,42,0.1);
}



.hero-card__location{
  display:flex;
  flex-direction:column;
  gap:1rem;
}



.hero-card__location-title{
  font-size:1.25rem;
  font-weight:700;
  color:#1e293b;
  letter-spacing:0.02em;
  margin:0;
}



.hero-card__address{
  font-style:normal;
  line-height:1.6;
  color:#64748b;
  margin:0;
}



.hero-card__details{
  display:grid;
  gap:0.75rem;
}



.hero-card__details div{
  display:grid;
  gap:0.25rem;
}



.hero-card__details dt{
  font-size:0.9rem;
  text-transform:uppercase;
  letter-spacing:0.15em;
  color:#64748b;
  font-weight:600;
}



.hero-card__details dd{
  margin:0;
  font-size:1.05rem;
  color:#1e293b;
  font-weight:600;
}



.hero-card__note{
  font-size:0.95rem;
  line-height:1.6;
  color:#64748b;
  margin:0;
}



.hero-card__actions--secondary .btn[data-variant="outline"]{
  border-color:#64748b;
  color:#475569;
  background:transparent;
}



.hero-card__actions--secondary .btn[data-variant="outline"]:hover{
  background:#f1f5f9;
  border-color:#475569;
}



.hero-card__actions--secondary .btn[data-variant="ghost"]{
  border-radius:12px;
  padding:0.8rem 1.5rem;
  color:#ffffff;
  background:#1e293b;
  border:2px solid transparent;
  font-weight:600;
}



.hero-card__actions--secondary .btn[data-variant="ghost"]:hover{
  background:#334155;
  color:#ffffff;
}




@media (max-width:1024px){
  .hero-cards-grid{
    grid-template-columns:1fr;
    gap:clamp(1.5rem,3vw,2rem);
  }


  
  .hero-card{
    padding:clamp(1.5rem,3vw,2rem);
  }


}

@media (max-width:768px){
  .hero-cards-section{
    padding:clamp(2rem,4vw,3rem) 0;
  }


  
  .hero-cards-container{
    padding:0 1.25rem;
  }


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


  
  .hero-card__actions .btn{
    width:100%;
  }


  
  .hero-card__photo{
    max-width:420px;
    align-self:center;
  }


  
  .hero-card__location{
    text-align:center;
    align-items:center;
  }


  
  .hero-card__details{
    justify-items:center;
  }


}

@media (max-width:540px){
  .hero-card__list li{
    padding:0.85rem 1rem;
  }


}


@media (max-width:768px){
  .home-hero-compact{
    height:30vh;
    min-height:225px;
    max-height:300px;
    padding:clamp(1.125rem,2.25vw,1.5rem) 0;
  }


  
  .home-hero-compact__container{
    padding:0 1.25rem;
  }


  
  .home-hero-compact__header{
    text-align:center;
    align-items:center;
  }


}

@media (max-width:540px){
  .home-hero-compact{
    height:26.25vh;
    min-height:187.5px;
    max-height:262.5px;
    padding:0.75rem 0;
  }


  
  .home-hero-compact__header h1{
    font-size:clamp(1.5rem,4vw,2rem);
  }


  
  .home-hero-compact__header p{
    font-size:clamp(0.95rem,2vw,1.1rem);
  }


}


.hero{position:relative;height:100vh;height:100dvh;width:100vw;margin-left:calc(-50vw + 50%);display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;min-height:100vh;min-height:100dvh;background:transparent;margin-top:0;margin-bottom:0;left:0;right:0;padding-top:0;box-sizing:border-box}

 
.hero-media{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-2;overflow:hidden}


.hero-fallback{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;position:absolute;top:0;left:0;min-height:100%;min-width:100%;animation:hero-pond-wave 15s ease-in-out infinite;transform-origin:center center}


.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0,0,0,.2), rgba(0,0,0,.3));z-index:-1}




.hero-inner{padding:clamp(1rem,3vw,2rem);text-align:center;color:#fff;max-width:760px;z-index:10;position:relative}


.hero-title{font-size:clamp(2rem,6vw,4rem);line-height:1.05;font-weight:800;margin:0 0 .75rem}


.hero-title span{color:#bbe3ff}


.hero-sub{font-size:clamp(1rem,2.5vw,1.25rem);opacity:.95;margin:0 0 1rem}



.areas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}



.areas-grid li {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}



.areas-grid li:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}



.areas-grid a {
  color: var(--primary);
  text-decoration: none;
  font-weight: 600;
  font-size: 1.1rem;
  display: block;
}



.areas-grid a:hover {
  color: var(--accent);
}




.crsl:focus {
  outline: 2px solid var(--primary);
  outline-offset: 4px;
}



.dot.is-active {
  background: var(--primary);
  border-color: var(--primary);
  outline: 2px solid var(--primary);
}



.dot:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}




.card.item {
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}



.card.item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}




.hero {
  min-height: clamp(380px, 60vh, 720px);
  aspect-ratio: 16 / 9;
  contain: paint;
}



.faq-list {
  max-width: 800px;
  margin: 0 auto;
}



.faq-list details {
  margin-bottom: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}



.faq-list summary {
  padding: 1.5rem;
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
  position: relative;
}



.faq-list summary::before {
  content: "+";
  position: absolute;
  right: 1.5rem;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--primary);
}



.faq-list details[open] summary::before {
  content: "−";
}



.faq-list p {
  padding: 0 1.5rem 1.5rem;
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}




.skip-link {
  position: absolute;
  left: -9999px;
  background: var(--primary);
  color: white;
  padding: 8px;
  text-decoration: none;
  border-radius: 4px;
  z-index: 1000;
}



.skip-link:focus {
  left: 1rem;
  top: 1rem;
}




:where(a, button, [role="button"]):focus-visible {
  outline: 3px solid #1e40af;
  outline-offset: 2px;
}



.pond-showcase-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}



.pond-showcase-image {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}



.showcase-img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
}



.feature {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}



.feature:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
}



.feature-icon {
  font-size: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #4299e1, #3182ce);
  border-radius: 50%;
  color: white;
}



.feature span:last-child {
  font-weight: 600;
  color: #2d3748;
}




@media (max-width: 768px) {
  .pond-showcase {
    padding: 2rem 0;
    margin: 1rem 0;
  }


  
  .pond-showcase-content {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0 1rem;
  }


  
  .showcase-img {
    height: 300px;
  }


  
  .feature {
    padding: 0.75rem;
  }


}


@media (max-width: 1024px) {
  .about-section,
  .services-background,
  .nap-footer {
    background-attachment: scroll !important;
  }


}

@media (max-width: 480px) {
  .pond-showcase-text h2 {
    font-size: 1.75rem;
  }


  
  .showcase-img {
    height: 250px;
  }


}


.mobile-image-section {
  display: none; 
  margin: 0 !important; 
  padding: 0 !important; 
  line-height: 0; 
  font-size: 0; 
}



.mobile-image-container {
  position: relative;
  width: 100%;
  height: 300px;
  overflow: hidden;
  margin: 0 !important; 
  padding: 0 !important; 
  line-height: 0; 
  font-size: 0; 
}



.mobile-pond-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center; 
  display: block;
  margin: 0 !important; 
  padding: 0 !important; 
}



.mobile-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.3));
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
  padding: 2rem;
}



.mobile-image-overlay h2 {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
  line-height: 1.1;
}



.mobile-image-overlay p {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
  opacity: 0.9;
}




@media (max-width: 768px) {
  .mobile-image-section {
    display: none; 
    margin-top: 0 !important; 
    margin-bottom: 0 !important; 
  }


  
  .mobile-image-container {
    height: 250px;
  }


  
  .mobile-image-overlay h2 {
    font-size: 2rem;
  }


  
  .mobile-image-overlay p {
    font-size: 1.1rem;
  }


  
  
  .nap-footer {
    background-attachment: scroll !important; 
    background-position: center top !important; 
  }


}

@media (max-width: 480px) {
  .mobile-image-container {
    height: 200px;
  }


  
  .mobile-image-overlay h2 {
    font-size: 1.75rem;
  }


  
  .mobile-image-overlay p {
    font-size: 1rem;
  }


}


.nap-footer {
  color: white;
  padding: 2rem 0;
  text-align: center;
  margin-bottom: 0 !important; 
  margin-top: 0 !important; 
  position: relative;
}




body, html {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
}



.nap-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 2; 
}



.nap-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7); 
}



.nap-item strong {
  color: var(--accent);
  font-size: 1.1rem;
}



.nap-item a {
  color: white;
  text-decoration: none;
}



.nap-item a:hover {
  color: var(--accent);
  text-decoration: underline;
}



.nap-item address {
  font-style: normal;
  line-height: 1.4;
}












.hero-intro-section {
  padding: 0 0 0 0; 
  padding-top: 0 !important;
  margin-top: 0 !important;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  position: relative;
  overflow: hidden;
}




.hero-intro-text {
  opacity: 0;
  transform: translateX(-100px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}



.hero-intro-image {
  opacity: 0;
  transform: translateX(100px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}




.animate-slide-in-left .hero-intro-title {
  animation: slideInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s both;
}



.animate-slide-in-left .hero-intro-description {
  animation: slideInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both;
}



.animate-slide-in-left .hero-intro-actions {
  animation: slideInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s both;
}




@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }


}

.hero-intro-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="%23ffffff" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="%23ffffff" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="%23ffffff" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  pointer-events: none;
}



.hero-intro-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 1;
}



.hero-intro-text {
  padding-right: 40px;
  opacity: 0;
  transform: translateX(-100px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}



.hero-intro-title {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.1;
  color: var(--ink);
  margin-bottom: 24px;
  background: linear-gradient(135deg, #1e40af, #3b82f6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}



.hero-intro-description {
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--muted);
  margin-bottom: 40px;
  font-weight: 400;
}



.hero-intro-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}



.hero-intro-actions .btn {
  padding: 16px 32px;
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 12px;
  transition: all 0.3s ease;
}



.hero-intro-actions .btn-primary {
  background: var(--cta);
  color: white;
  border: none;
  box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3);
}



.hero-intro-actions .btn-primary:hover {
  background: #b91c1c;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(220, 38, 38, 0.4);
}



.hero-intro-actions .btn-outline {
  background: transparent;
  border: 2px solid var(--primary);
  color: var(--primary);
}



.hero-intro-actions .btn-outline:hover {
  background: var(--primary);
  color: white;
  transform: translateY(-2px);
}



.hero-intro-image {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
  transform: perspective(1000px) rotateY(-5deg) rotateX(2deg) translateX(100px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 0;
}



.hero-intro-image:hover {
  transform: perspective(1000px) rotateY(-2deg) rotateX(1deg) scale(1.02) translateX(0) !important;
}



.hero-intro-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(30, 64, 175, 0.1), rgba(59, 130, 246, 0.1));
  z-index: 1;
  pointer-events: none;
}



.hero-intro-image img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 0;
}




@media (max-width: 768px) {
  .hero-intro-section {
    padding: 60px 0;
    padding-right: 40px; 
  }


  
  .hero-intro-content {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }


  
  .hero-intro-text {
    padding-right: 0;
    order: 2;
  }


  
  .hero-intro-image {
    order: 1;
    transform: translateX(100px);
    margin: 0 auto;
    max-width: 400px;
  }


  
  .hero-intro-image:hover {
    transform: scale(1.02) translateX(0) !important;
  }


  
  .hero-intro-image img {
    height: 300px;
  }


  
  .hero-intro-actions {
    justify-content: center;
  }


  
  .hero-intro-actions .btn {
    flex: 1;
    min-width: 140px;
  }


}

@media (max-width: 480px) {
  .hero-intro-section {
    padding: 40px 0;
    padding-right: 35px; 
  }


  
  .hero-intro-content {
    gap: 30px;
  }


  
  .hero-intro-actions {
    flex-direction: column;
  }


  
  .hero-intro-actions .btn {
    width: 100%;
  }





.services-three-column .services-header {
  text-align: center;
  margin-bottom: 4rem;
  position: relative;
  z-index: 3;
}



.services-three-column .services-header h2 {
  color: #ffffff !important;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}



.services-three-column .services-header p {
  color: #e2e8f0 !important;
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}




.services-three-column-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 4rem;
  position: relative;
  z-index: 3;
}



.service-column:not(:last-child)::after {
  content: '';
  position: absolute;
  right: -1.5rem;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, 
    rgba(59, 130, 246, 0.3) 0%, 
    rgba(30, 64, 175, 0.5) 50%, 
    rgba(59, 130, 246, 0.3) 100%);
  border-radius: 1px;
  box-shadow: 0 0 8px rgba(59, 130, 246, 0.2);
}



.service-column-icon {
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: center;
}



.icon-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #3b82f6;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}



.service-features li::before {
  content: '✓';
  color: #34d399; 
  position: absolute;
  left: 0;
}




.mobile-contact-form {
  display: none; 
  background: #f8fafc;
  padding: 3rem 0;
  margin: 2rem 0;
}



.mobile-contact-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}



.mobile-contact-card h2 {
  color: #1a365d;
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}



.mobile-contact-card p {
  color: #4a5568;
  font-size: 1rem;
  margin-bottom: 2rem;
}



.mobile-contact-form-element {
  text-align: left;
}



.form-group {
  margin-bottom: 1.5rem;
}



.form-group label {
  display: block;
  color: #1a365d;
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
}



.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 0.875rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  background: #ffffff;
  color: #1a365d;
}



.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}



.form-group input::placeholder,
.form-group textarea::placeholder {
  color: #9ca3af;
}



.form-group textarea {
  resize: vertical;
  min-height: 100px;
}



.form-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}



.form-actions .btn {
  width: 100%;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
  transition: all 0.3s ease;
}



.form-actions .btn-primary {
  background: #3b82f6;
  color: white;
  border: none;
}



.form-actions .btn-primary:hover {
  background: #2563eb;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}



.form-actions .btn-outline {
  background: transparent;
  color: #3b82f6;
  border: 2px solid #3b82f6;
}



.form-actions .btn-outline:hover {
  background: #3b82f6;
  color: white;
  transform: translateY(-1px);
}




@media (max-width: 768px) {
  .mobile-contact-form {
    display: block; 
  }



  .services-three-column-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }



  .service-column:not(:last-child)::after {
    display: none;
  }



  

  .services-three-column .services-header h2 {
    font-size: 2rem;
  }



  .services-three-column .services-header p {
    font-size: 1rem;
  }



  .icon-circle {
    width: 60px;
    height: 60px;
  }



  .service-column-icon svg {
    width: 36px;
    height: 36px;
  }


}

@media (max-width: 480px) {
  .services-three-column {
    padding: 3rem 0;
  }


  
  .services-three-column .services-header {
    margin-bottom: 3rem;
  }


}






.services-grid-section::before{content:"";position:absolute;inset:0 0 auto 0;height:180px;background:linear-gradient(180deg, rgba(30,64,175,0.95) 0%, rgba(30,64,175,0.85) 45%, rgba(30,64,175,0.6) 70%, rgba(30,64,175,0.0) 100%);z-index:1;pointer-events:none}


.services-grid-section{padding-top:2rem}








.cta-section-wrapper {
  position: relative;
  width: 100%;
  background: transparent;
  overflow: hidden;
}



.cta-wave-top {
  position: absolute;
  top: -120px;
  left: 0;
  width: 100%;
  height: 120px;
  z-index: 1;
  animation: wave-float 10s ease-in-out infinite;
}



.cta-wave-top svg {
  width: 100%;
  height: 120px;
  display: block;
}



.cta-wave-bottom {
  position: absolute;
  bottom: -120px;
  left: 0;
  width: 100%;
  height: 120px;
  z-index: 1;
  animation: wave-float 12s ease-in-out infinite reverse;
}



.cta-wave-bottom svg {
  width: 100%;
  height: 120px;
  display: block;
}




.cta-section-wrapper > *:not(.cta-wave-top):not(.cta-wave-bottom) {
  position: relative;
  z-index: 2;
}






.about-wave {
  width: 100%;
  height: 60px;
  background: #60a5fa;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1000;
}




.shop-wave {
  width: 100%;
  height: 60px;
  background: #93c5fd;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1000;
}






@media (max-width: 768px) {
  .home section[aria-labelledby="shop-h"] {
    display: none !important;
  }


  
  .home .service-areas {
    display: none !important;
  }


}




@keyframes hero-pond-wave {
  0%, 100% {
    transform: translateX(0px) translateY(0px) rotate(0deg) scale(1);
  }


}



.main-content-gradient {
  background: linear-gradient(to bottom, 
    #87ceeb 0%,     
    #b3e5fc 15%,    
    #d1ecf1 30%,    
    #e8f4f8 50%,    
    #f0f8ff 70%,    
    #f8fafc 85%,    
    #ffffff 100%    
  );
  min-height: 0; /* Changed from auto for Firefox compatibility */ 
  position: relative;
  z-index: 1;
  margin: 0; 
  padding: 0; 
  padding-top: 0; 
}




.section{padding-block:0 clamp(2.5rem,6vw,4rem);transform:translateZ(0);will-change:scroll-position}


.section.alt{background:transparent}

 
.section:first-of-type{margin-top:0}

 
.section-head h2{font-size:clamp(1.75rem,4.5vw,2.75rem);margin:0 0 .25rem;color:var(--ink)}


.section-head p{margin:0;color:var(--muted)}




.section:has(.crsl){contain:layout style paint}




.about-section {
  padding: 4rem 0;
  min-height: 500px;
  color: white;
}



.about-section .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}



.about-section .row {
  display: flex;
  align-items: center;
  gap: 3rem;
  min-height: 400px;
}



.about-section .col-6 {
  flex: 1;
  padding: 0;
}



.about-section .content p {
  margin: 0 0 1.5rem;
  line-height: 1.6;
  color: white;
  font-size: 1.1rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
}



.about-section .stats {
  display: flex;
  gap: 2rem;
  margin: 2rem 0;
  flex-wrap: wrap;
}



.about-section .stat {
  text-align: center;
  flex: 1;
  min-width: 120px;
}



.about-section .stat-number {
  display: block;
  font-size: 2.5rem;
  font-weight: 800;
  color: #60a5fa;
  line-height: 1;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
}



.about-section .stat-label {
  display: block;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.9);
  margin-top: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
}



.about-section .about-list {
  margin: 1rem 0 0.5rem;
  padding-left: 1.25rem;
  color: #fff;
}



.about-section .about-list li {
  margin: 0.35rem 0;
  line-height: 1.5;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
  list-style: none;
  position: relative;
  padding-left: 1.25rem;
}



.about-section .about-list li::before {
  content: '✓';
  color: #34d399; 
  position: absolute;
  left: 0;
}



.about-section .media {
  width: 100%;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}



.about-section .media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  display: block;
}



.about-section .btn-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 2rem;
}



.about-section .section-head h2 {
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
}



.about-section .section-head p {
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
}




@media (max-width: 768px) {
  .about-section {
    background-attachment: scroll; 
  }


  
  .about-section .row {
    flex-direction: column;
    gap: 2rem;
  }


  
  .about-section .media {
    height: 300px;
  }


}


.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,3vw,2rem)}


.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.06);overflow:hidden;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;text-decoration:none;color:inherit}


.card:where(:hover,:focus-visible){transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.1);border-color:#cbd5e1}


.card.svc{display:grid;grid-template-columns:1fr 1fr;min-height:260px}


.card .media{height:100%;}


.card .media img{width:100%;height:100%;object-fit:cover}


.card .body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}


.card h3{margin:0;font-size:1.15rem}


.chip{display:inline-block;background:#ecfdf5;color:#065f46;border:1px solid #d1fae5;border-radius:999px;padding:.15rem .5rem;font-size:.8rem}


.crsl-item{min-width:0;transform:translateZ(0);contain:layout}


.crsl .item{display:flex;flex-direction:column;transform:translateZ(0);contain:layout}


.crsl .item img{width:100%;height:200px;object-fit:cover;transform:translateZ(0);contain:layout;image-rendering:optimizeSpeed}


.crsl .item .item-body{padding:1rem}


.dot.is-active{background:var(--primary)}




.section .crsl{isolation:isolate}


.section .crsl .item img{backface-visibility:hidden;perspective:1000px}





@media (max-width: 1024px){
  .cards{grid-template-columns:1fr}


  .card.svc{grid-template-columns:1fr}


}
@media (max-width: 768px){
  .crsl-slide{grid-template-columns:repeat(2,1fr)}


  
  
  .hero::before{
    bottom:-30px !important;
    height:60px !important;
  }


  
  .hero::before {
    bottom: 0px;
    height: 40px;
  }


}
@media (max-width: 480px){
  .crsl-slide{grid-template-columns:1fr}


  
  
  .hero {
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: none !important;
    padding-top: 0 !important;
  }


  
  .hero::before {
    bottom: 0px;
    height: 30px;
  }


  
  .hero-title {
    font-size: 1.25rem !important;
  }


  
  .hero-sub {
    font-size: 0.75rem !important;
  }


  
  .btn-row{flex-direction:column;align-items:center;gap:0.5rem}


  .btn{width:100%;max-width:280px;padding:0.6rem 1rem !important;font-size:0.9rem !important}


  
  
  .cards {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
    padding: 0 0.75rem !important;
  }


  
  .card {
    min-height: 200px !important;
    border-radius: 12px !important;
  }


  
  .card .body {
    padding: 1.25rem 1rem !important;
  }


  
  .card h3 {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.5rem !important;
  }


  
  .card .muted {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0.75rem !important;
  }


  
  .card .btn-row {
    gap: 0.5rem !important;
  }


  
  .card .btn-row .btn {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.8rem !important;
    min-height: 40px !important;
  }


}


@supports (height: 100dvh) {
  .hero{height:100dvh;min-height:100dvh}


  html,body{height:100dvh}


  body{min-height:100dvh}


}




@media (max-width: 768px) {
  
  .hero {
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: none !important;
    position: relative !important;
    width: 100vw !important;
    margin-left: 0 !important;
    padding-top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    background: transparent !important;
    z-index: 1 !important;
  }


  
  .hero-media {
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
  }


  
  .hero-fallback {
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
  }


  
  
  .hero-inner {
    padding: 0.5rem !important;
    max-width: 100% !important;
  }


  
  .hero-title {
    font-size: 1.5rem !important;
    margin-bottom: 0.25rem !important;
    line-height: 1.2 !important;
  }


  
  .hero-sub {
    font-size: 0.8rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.3 !important;
  }


  
  .btn-row {
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }


  
  .btn {
    padding: 0.5rem 0.8rem !important;
    font-size: 0.8rem !important;
    min-width: 120px !important;
  }


  
  
  .hero::before {
    display: none !important;
  }


  
  .hero::after {
    animation: none !important;
  }


  
  .hero-fallback {
    animation: none !important; 
  }


  
  
  .section:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  
  .section {
    padding-block: 0 1.5rem !important;
  }


  
  .section.alt {
    background: transparent !important;
  }


  
  
  .main-content-gradient {
    min-height: 0 !important; /* Changed from auto for Firefox compatibility */
    background: linear-gradient(to bottom, 
      #87ceeb 0%,     
      #b3e5fc 15%,    
      #d1ecf1 30%,    
      #e8f4f8 50%,    
      #f0f8ff 70%,    
      #f8fafc 85%,    
      #ffffff 100%    
    ) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  
  
  .row {
    flex-direction: column !important;
    gap: 1rem !important;
  }


  
  
  .cards {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }


  
  
  .section-head.row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }


  
  .section-head.row > div {
    width: 100% !important;
  }


  
  .section-head.row .btn {
    white-space: nowrap !important;
    font-size: 0.9rem !important;
  }


}


@media (prefers-reduced-motion: reduce){
  .crsl-track{transition:none}


  .hero-video{display:none}


  .hero::before{animation:none !important}


  .hero::after{animation:none !important}


  .hero-fallback{animation:none !important}

 
  .hero-wave-attached{display:none !important}


}


@media screen and (max-width: 768px) {
  .home .hero,
  .home .mobile-hero-fix {
    height: 250px !important;
    min-height: 250px !important;
    max-height: 250px !important;
    position: relative !important;
    width: 100vw !important;
    margin-left: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    background: transparent !important;
    z-index: 1 !important;
    overflow: hidden !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
  }


  
  .home .hero-media {
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
  }


  
  .home .hero-fallback {
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
  }


  
  .home .hero-inner {
    padding: 0.5rem !important;
    max-width: 100% !important;
  }


  
  .home .hero-title {
    font-size: 1.4rem !important;
    margin-bottom: 0.25rem !important;
    line-height: 1.2 !important;
  }


  
  
  .home .hero-sub {
    display: none !important;
  }


  
  .home .hero::before {
    display: none !important;
  }


  
  .home .section:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  
  .home .section {
    padding-block: 0 1.5rem !important;
  }


  
  .home .cards {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }


  
  
  
  
  .home .content p {
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
    margin-bottom: 1rem !important;
  }


  
  
  .home .stats {
    gap: 0.75rem !important;
    margin: 1rem 0 !important;
  }


  
  .home .stat {
    min-width: 70px !important;
  }


  
  .home .stat-number {
    font-size: 1.3rem !important;
  }


  
  .home .stat-label {
    font-size: 0.75rem !important;
  }


  
  
  .home .content .btn-row .btn:last-child {
    display: inline-flex !important;
  }


  
  
  .home .content .btn-row .btn {
    padding: 0.5rem 0.8rem !important;
    font-size: 0.8rem !important;
    min-width: 100px !important;
  }


  
  
  .home .hero .btn-row {
    display: flex !important;
    gap: 0.5rem !important;
    justify-content: center !important;
    margin-top: 1rem !important;
  }


  
  .home .hero .btn {
    display: inline-flex !important;
    padding: 0.6rem 1rem !important;
    font-size: 0.85rem !important;
    min-width: 130px !important;
  }


  
  
  .home .card .body {
    padding: 0.75rem !important;
  }


  
  .home .card h3 {
    font-size: 1rem !important;
    margin-bottom: 0.25rem !important;
  }


  
  .home .card .muted {
    font-size: 0.8rem !important;
    line-height: 1.3 !important;
  }


  
  
  .home .card .btn-row {
    display: flex !important;
    gap: 0.5rem !important;
  }


  
  .home .card .btn-row .btn {
    padding: 0.4rem 0.6rem !important;
    font-size: 0.7rem !important;
  }


  
  
  .home .section-head h2 {
    font-size: 1.5rem !important;
    margin-bottom: 0.25rem !important;
  }


  
  .home .section-head p {
    font-size: 0.85rem !important;
    margin-bottom: 0.5rem !important;
  }


  
  
  .home .crsl-indicators {
    display: none !important;
  }


  
  
  .home .crsl .item .item-body {
    padding: 0.75rem !important;
  }


  
  .home .crsl .item h3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.25rem !important;
  }


  
  .home .crsl .item .muted {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
  }


}



.pre-footer-section {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 25%, #1e3a8a 50%, #1e40af 75%, #3b82f6 100%) !important;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.3) 0%, transparent 60%),
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 80%, rgba(37, 99, 235, 0.2) 0%, transparent 60%),
    radial-gradient(circle at 60% 40%, rgba(29, 78, 216, 0.15) 0%, transparent 70%),
    linear-gradient(180deg, transparent 0%, rgba(30, 64, 175, 0.1) 50%, rgba(59, 130, 246, 0.2) 100%) !important;
  padding: 4rem 0 !important;
  color: white !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow:
    inset 0 -10px 20px rgba(29, 78, 216, 0.2),
    inset 0 -20px 40px rgba(59, 130, 246, 0.1) !important;
}



.pre-footer-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 3rem !important;
}



.pre-footer-column h3 {
  color: white !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin-bottom: 1.5rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}



.pre-footer-column p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin-bottom: 2rem !important;
}



.pre-footer-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}



.form-group label {
  color: white !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}



.form-group input,
.form-group textarea {
  padding: 1rem !important;
  border: 2px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: white !important;
  font-size: 1rem !important;
  transition: all 0.3s ease !important;
}



.form-group input::placeholder,
.form-group textarea::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}



.form-group input:focus,
.form-group textarea:focus {
  outline: none !important;
  border-color: #3b82f6 !important;
  background: rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}



.pre-footer-submit-btn {
  background: #3b82f6 !important;
  color: white !important;
  border: none !important;
  padding: 1rem 2rem !important;
  border-radius: 8px !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  align-self: flex-start !important;
}



.pre-footer-submit-btn:hover {
  background: #2563eb !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3) !important;
}



.pre-footer-submit-btn:disabled {
  background: #6b7280 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}



.form-error {
  background: rgba(239, 68, 68, 0.1) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-radius: 8px !important;
  padding: 1rem !important;
  margin-bottom: 1rem !important;
}



.form-error p {
  color: #fca5a5 !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
}



.contact-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.company-info h4 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: white !important;
  margin-bottom: 0.5rem !important;
}



.company-info p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.9rem !important;
  margin: 0 !important;
}



.contact-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}



.contact-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}



.contact-item:last-child {
  border-bottom: none !important;
}



.contact-item strong {
  color: white !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}



.contact-item a {
  color: #60a5fa !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  transition: color 0.3s ease !important;
}



.contact-item a:hover {
  color: #93c5fd !important;
}



.contact-item small {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.75rem !important;
  font-style: italic !important;
  margin-top: 0.25rem !important;
}



.social-links {
  display: flex !important;
  gap: 1rem !important;
  margin-top: 1rem !important;
}



.social-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 50% !important;
  color: white !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}



.social-link:hover {
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
  transform: translateY(-2px) !important;
}



.social-icon {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
}



.blog-posts {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.blog-post {
  display: flex !important;
  gap: 1rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}



.blog-post:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}



.blog-thumbnail {
  flex-shrink: 0 !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}



.blog-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}



.blog-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  flex: 1 !important;
}



.blog-title {
  color: white !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  transition: color 0.3s ease !important;
}



.blog-title:hover {
  color: #60a5fa !important;
}



.blog-date {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.8rem !important;
}



.company-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}



.company-image {
  width: 100% !important;
  height: 200px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}



.company-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}



.company-info h4 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: white !important;
  margin-bottom: 1rem !important;
}



.company-info p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  margin-bottom: 1rem !important;
}



.learn-more-link {
  color: white !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  transition: color 0.3s ease !important;
  align-self: flex-start !important;
}



.learn-more-link:hover {
  color: #60a5fa !important;
}



.company-features {
  margin: 1rem 0 !important;
}



.company-features p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.85rem !important;
  margin-bottom: 0.5rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}



.company-features strong {
  color: #10b981 !important;
  font-weight: 700 !important;
}




.modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 1000 !important;
}



.modal-content {
  background: white !important;
  padding: 2rem !important;
  border-radius: 12px !important;
  max-width: 500px !important;
  width: 90% !important;
  text-align: center !important;
  color: #1f2937 !important;
}



.modal-content h3 {
  color: #1f2937 !important;
  margin-bottom: 1rem !important;
  font-size: 1.5rem !important;
}



.modal-content p {
  color: #6b7280 !important;
  margin-bottom: 2rem !important;
  line-height: 1.6 !important;
}



.close-btn {
  background: #3b82f6 !important;
  color: white !important;
  border: none !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.3s ease !important;
}



.close-btn:hover {
  background: #2563eb !important;
}




@media (max-width: 768px) {
  .pre-footer-container {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    padding: 0 1rem !important;
  }


  
  .pre-footer-section {
    padding: 3rem 0 !important;
  }


  
  .pre-footer-column h3 {
    font-size: 1.3rem !important;
  }


  
  .blog-post {
    flex-direction: column !important;
    gap: 0.75rem !important;
  }


  
  .blog-thumbnail {
    width: 50px !important;
    height: 50px !important;
  }


}

@media (max-width: 480px) {
  .pre-footer-container {
    padding: 0 0.75rem !important;
  }


  
  .pre-footer-section {
    padding: 2rem 0 !important;
  }


  
  .form-group input,
  .form-group textarea {
    padding: 0.75rem !important;
  }


  
  .pre-footer-submit-btn {
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
  }


}



.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}



.form-group label {
  color: #1e40af;
  font-weight: 600;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}



.form-group input,
.form-group textarea {
  padding: 0.875rem 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  font-size: 1rem;
  transition: all 0.3s ease;
  background: white;
  color: #374151;
}



.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}



.form-group input::placeholder,
.form-group textarea::placeholder {
  color: #9ca3af;
}



.form-group textarea {
  resize: vertical;
  min-height: 100px;
}



.pre-footer-submit-btn {
  background: #1e40af;
  color: white;
  border: none;
  padding: 1rem 2rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}



.pre-footer-submit-btn:hover:not(:disabled) {
  background: #1d4ed8;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(30, 64, 175, 0.3);
}



.pre-footer-submit-btn:disabled {
  background: #9ca3af;
  cursor: not-allowed;
  transform: none;
}



.form-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #dc2626;
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
}



.form-error p {
  margin: 0;
  font-weight: 500;
}




.contact-info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}



.company-info h4 {
  color: #1e40af;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
}



.company-info p {
  color: #374151;
  font-size: 0.95rem;
  margin: 0 0 0.5rem 0;
  line-height: 1.5;
}



.contact-details {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}



.contact-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}



.contact-item strong {
  color: #1e40af;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}



.contact-item a {
  color: #3b82f6;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: color 0.3s ease;
}



.contact-item a:hover {
  color: #1d4ed8;
  text-decoration: underline;
}



.contact-item span {
  color: #374151;
  font-weight: 500;
  font-size: 1rem;
}



.contact-item small {
  color: #6b7280;
  font-size: 0.85rem;
  font-style: italic;
}



.social-links {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}



.social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #3b82f6;
  color: white;
  border-radius: 50%;
  text-decoration: none;
  transition: all 0.3s ease;
  font-weight: 600;
  font-size: 0.9rem;
}



.social-link:hover {
  background: #1d4ed8;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}



.social-icon {
  font-size: 0.9rem;
}




.blog-posts {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}



.blog-post {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}



.blog-post:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}



.blog-thumbnail {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}



.blog-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}



.blog-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}



.blog-title {
  color: #1e40af;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  transition: color 0.3s ease;
}



.blog-title:hover {
  color: #1d4ed8;
  text-decoration: underline;
}



.blog-date {
  color: #6b7280;
  font-size: 0.85rem;
  font-weight: 500;
}




.company-section {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}



.company-image {
  width: 100%;
  height: 200px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}



.company-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}



.company-info h4 {
  color: #1e40af;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 1rem 0;
}



.company-info p {
  color: #374151;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 0 1.5rem 0;
}



.company-features {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}



.company-features p {
  color: #374151;
  font-size: 0.95rem;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}



.company-features strong {
  color: #059669;
  font-weight: 600;
}



.learn-more-link {
  color: #3b82f6;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: color 0.3s ease;
  display: inline-block;
}



.learn-more-link:hover {
  color: #1d4ed8;
  text-decoration: underline;
}




.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 2rem;
}



.modal-content {
  background: white;
  border-radius: 12px;
  padding: 2rem;
  max-width: 400px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}



.modal-content h3 {
  color: #059669;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 1rem 0;
}



.modal-content p {
  color: #374151;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 0 2rem 0;
}



.close-btn {
  background: #1e40af;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}



.close-btn:hover {
  background: #1d4ed8;
  transform: translateY(-1px);
}




@media (max-width: 1024px) {
  .pre-footer-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }


}

@media (max-width: 768px) {
  .pre-footer-section {
    padding: 3rem 0;
  }


  
  .pre-footer-container {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 0 1rem;
  }


  
  .pre-footer-column h3 {
    font-size: 1.25rem;
  }


  
  .blog-post {
    padding: 0.75rem;
  }


  
  .blog-thumbnail {
    width: 60px;
    height: 60px;
  }


  
  .blog-title {
    font-size: 0.95rem;
  }


  
  .company-image {
    height: 150px;
  }


  
  .social-links {
    justify-content: center;
  }


}

@media (max-width: 480px) {
  .pre-footer-section {
    padding: 2rem 0;
  }


  
  .pre-footer-container {
    gap: 2rem;
  }


  
  .pre-footer-column h3 {
    font-size: 1.1rem;
  }


  
  .form-group input,
  .form-group textarea {
    padding: 0.75rem;
  }


  
  .pre-footer-submit-btn {
    padding: 0.875rem 1.5rem;
    font-size: 0.95rem;
  }


  
  .blog-post {
    flex-direction: column;
    text-align: center;
  }


  
  .blog-thumbnail {
    width: 100%;
    height: 120px;
  }


  
  .company-image {
    height: 120px;
  }


}


:root {
  --uwg-blue: #1e40af;   
  --uwg-green: #16a34a;  
}




.services-stack {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}




.services-stack > .hero-cards-section,
.services-stack > .core-services {
  position: relative;
  z-index: 3;
}




.services-stack > .hero-cards-section {
  margin-bottom: 0;
}



.services-stack > .core-services {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: clamp(3rem, 5vw, 4rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4rem) !important;
}

.services-stack > .core-services:first-of-type {
  padding-top: clamp(3rem, 5vw, 4rem) !important;
  margin-top: 0 !important;
}

.services-stack > .core-services:last-of-type {
  padding-bottom: clamp(3rem, 5vw, 4rem) !important;
  margin-bottom: 0 !important;
}




.core-services {
  background: transparent !important;
  padding: clamp(3rem, 5vw, 4rem) 0 !important;
  position: relative !important;
  z-index: 10 !important;
  min-height: 300px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}




.core-services--retail {
  background: transparent !important;
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 5vw, 4rem) 0 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}




.core-services--retail::before {
  content: '';
  position: absolute;
  inset: -20% -10% -10% -10%;
  pointer-events: none;
  background:
    radial-gradient(60rem 30rem at 80% -10%, rgba(34,197,94,0.12), transparent 60%),
    radial-gradient(40rem 20rem at 10% 120%, rgba(16,185,129,0.10), transparent 60%);
  z-index: 0;
}




.core-services--retail .container,
.core-services--retail .core-services__grid,
.core-services--retail .core-services__title { position: relative; z-index: 1; }




.core-services--retail .core-services__title {
  color: var(--uwg-green);
}



.core-services--retail .core-services__title::before {
  background: linear-gradient(90deg, transparent, var(--uwg-green), transparent);
}




.core-services--retail .core-service-card {
  background: #ffffff;
  border: 5px solid #10b981;
}



.core-services--retail .core-service-card:hover,
.core-services--retail .core-service-card:focus-visible {
  background: #ffffff;
  border-color: #059669;
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.2);
}



.core-services--retail .core-service-card__header {
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
  border-bottom-color: #10b981;
}



.core-services--retail .core-service-card__title {
  color: #059669;
}



.core-services--retail .core-service-card__image {
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
}



.core-services--retail .core-service-card__cta {
  color: #10b981;
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.2);
}



.core-services--retail .core-service-card:hover .core-service-card__cta {
  background: #10b981;
  color: #ffffff;
}



#core-services::before {
  content: '';
  position: absolute;
  inset: -20% -10% -10% -10%;
  pointer-events: none;
  background:
    radial-gradient(60rem 30rem at 85% -10%, rgba(59, 130, 246, 0.14), transparent 60%),
    radial-gradient(40rem 20rem at 5% 120%, rgba(30, 64, 175, 0.12), transparent 60%);
  z-index: 0;
}



#core-services .container,
#core-services .core-services__grid,
#core-services .core-services__title { position: relative; z-index: 1; }




#core-services .core-service-card {
  border-color: #3b82f6;
}



#core-services .core-service-card:hover,
#core-services .core-service-card:focus-visible {
  border-color: rgba(30, 64, 175, 0.25);
  box-shadow: 0 8px 22px rgba(30, 64, 175, 0.15);
}



#core-services .core-service-card__icon {
  background: rgba(30, 64, 175, 0.10);
  color: var(--uwg-blue);
}





.core-services--retail .btn[data-variant="primary"] {
  background: var(--uwg-green);
  color: #fff;
  border: 3px solid rgba(16,185,129,0.35);
  box-shadow: 0 4px 14px rgba(16,185,129,0.35);
  text-shadow: none;
}


.core-services--retail .btn[data-variant="primary"]:hover {
  background: #15803d; 
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(16,185,129,0.45);
}



.core-services--retail .btn[data-variant="outline"] {
  background: transparent;
  border: 2px solid var(--uwg-green);
  color: var(--uwg-green);
  text-shadow: none;
}


.core-services--retail .btn[data-variant="outline"]:hover {
  background: rgba(16,185,129,0.08);
  border-color: var(--uwg-green);
}



.core-services--retail .btn[data-variant="ghost"] {
  background: #ffffff;
  color: #065f46; 
  border: 2px solid rgba(16,185,129,0.25);
}


.core-services--retail .btn[data-variant="ghost"]:hover {
  background: #f0fdf4; 
  border-color: rgba(16,185,129,0.45);
}




#core-services .btn[data-variant="primary"] {
  background: var(--uwg-blue);
  color: #fff;
  border: 3px solid rgba(30,64,175,0.35);
  box-shadow: 0 4px 14px rgba(30,64,175,0.35);
  text-shadow: none;
}


#core-services .btn[data-variant="primary"]:hover {
  background: #1b3a99;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(30,64,175,0.45);
}



#core-services .btn[data-variant="outline"] {
  background: transparent;
  border: 2px solid var(--uwg-blue);
  color: var(--uwg-blue);
  text-shadow: none;
}


#core-services .btn[data-variant="outline"]:hover {
  background: rgba(30,64,175,0.08);
  border-color: var(--uwg-blue);
}



#core-services .btn[data-variant="ghost"] {
  background: #ffffff;
  color: var(--uwg-blue);
  border: 2px solid rgba(30,64,175,0.25);
}


#core-services .btn[data-variant="ghost"]:hover {
  background: #eff6ff; 
  border-color: rgba(30,64,175,0.45);
}



.core-services__title {
  font-size: clamp(1.5rem, 2vw, 2rem);
  font-weight: 700;
  margin: 0 0 clamp(2rem, 4vw, 3rem);
  text-align: center;
  letter-spacing: 0.2px;
  color: var(--uwg-blue);
  position: relative;
  z-index: 10;
}



.core-services__title::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--uwg-blue), transparent);
  border-radius: 2px;
}



.core-services__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}




.core-services__item { grid-column: span 4; }


@media (max-width: 1024px) {
  .core-services__item { grid-column: span 6; }


}
@media (max-width: 640px) {
  .core-services__item { grid-column: 1 / -1; }


}

.core-service-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  border-radius: 12px;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  border: 5px solid #3b82f6;
  transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;
  overflow: hidden;
}



.core-service-card:hover,
.core-service-card:focus-visible {
  background: #ffffff;
  border-color: #1d4ed8;
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.2);
  transform: translateY(-4px);
  outline: none;
}




.core-service-card__header {
  padding: 20px 16px 16px;
  text-align: center;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border-bottom: 2px solid #3b82f6;
}



.core-service-card__title {
  font-size: 1.1rem;
  line-height: 1.2;
  margin: 0 0 8px;
  font-weight: 700;
  color: #1e40af;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}



.core-service-card__blurb {
  margin: 0;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.4;
}




.core-service-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background: #ffffff;
  position: relative;
}



.core-service-card__image {
  width: 100%;
  height: 200px;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  position: relative;
}



.core-service-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}



.core-service-card:hover .core-service-card__img {
  transform: scale(1.05);
}



.core-service-card__cta {
  font-weight: 600;
  color: #3b82f6;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: auto;
  padding: 8px 16px;
  background: rgba(59, 130, 246, 0.1);
  border-radius: 20px;
  border: 1px solid rgba(59, 130, 246, 0.2);
  transition: all 0.3s ease;
}



.core-service-card:hover .core-service-card__cta {
  background: #3b82f6;
  color: #ffffff;
  transform: translateY(-2px);
}




.unified-gradient-wrapper {
  background: transparent !important;
  position: relative !important;
  overflow: visible !important;
  width: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 0 !important; /* Changed from auto for Firefox compatibility */
}



.unified-gradient-wrapper::before {
  display: none !important;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent !important;
  pointer-events: none;
  z-index: 0;
}



.unified-gradient-wrapper > * {
  position: relative;
  z-index: 1;
}




.unified-gradient-wrapper .hero-cards-section {
  background: transparent !important;
}



.unified-gradient-wrapper .hero-cards-section::before {
  display: none !important;
}




.unified-gradient-wrapper #core-services {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 28%, #bfdbfe 58%, #93c5fd 100%) !important;
  padding: clamp(3rem, 5vw, 4rem) 0 !important;
}



.unified-gradient-wrapper #core-services::before {
  display: block !important;
}



.unified-gradient-wrapper .core-services--retail {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 28%, #bbf7d0 58%, #86efac 100%) !important;
  padding: clamp(3rem, 5vw, 4rem) 0 !important;
}



.unified-gradient-wrapper .core-services--retail::before {
  display: block !important;
}




.core-services-links {
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  padding: 2rem 1rem;
  margin: 2rem 0;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(59, 130, 246, 0.2);
  text-align: center;
}



.core-link {
  display: inline-block;
  padding: 12px 24px;
  margin: 0 8px 8px 8px;
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 25px;
  font-weight: 600;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}



.core-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}



.core-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
  background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
  border-color: rgba(255, 255, 255, 0.3);
}



.core-link:hover::before {
  left: 100%;
}



.core-link:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}




@media (max-width: 768px) {
  .core-services-links {
    padding: 1.5rem 0.75rem;
    margin: 1.5rem 0;
  }


  
  .core-link {
    display: block;
    margin: 0 0 12px 0;
    padding: 14px 20px;
    font-size: 0.9rem;
    text-align: center;
  }


  
  .core-link:last-child {
    margin-bottom: 0;
  }


}

@media (max-width: 480px) {
  .core-services-links {
    padding: 1.25rem 0.5rem;
    margin: 1.25rem 0;
  }


  
  .core-link {
    padding: 12px 16px;
    font-size: 0.85rem;
  }


}


.contact-section {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  padding: 3rem 0;
}



.contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 600px;
  margin: 0 auto;
}



.service-area-card,
.contact-card {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(30, 64, 175, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.service-area-card:hover,
.contact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}



.card-header {
  text-align: center;
  margin-bottom: 1.25rem;
}



.card-header .icon {
  font-size: 2.5rem;
  margin-bottom: 0.75rem;
  display: block;
}



.card-header h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--primary);
  margin: 0 0 0.375rem 0;
  line-height: 1.3;
}



.card-header p {
  color: var(--muted);
  font-size: 0.95rem;
  margin: 0;
  line-height: 1.4;
}



.contact-methods {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin-bottom: 1.25rem;
}



.contact-method {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  background: rgba(30, 64, 175, 0.03);
  border-radius: 10px;
  border: 1px solid rgba(30, 64, 175, 0.08);
  transition: all 0.3s ease;
}



.contact-method:hover {
  background: rgba(30, 64, 175, 0.06);
  border-color: rgba(30, 64, 175, 0.15);
}



.method-icon {
  font-size: 1.25rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}



.method-content {
  flex: 1;
}



.method-content h4 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--primary);
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
}



.contact-link {
  color: #1e293b !important;
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem;
  transition: color 0.3s ease;
  display: block;
  margin-bottom: 0.125rem;
  line-height: 1.3;
}



.contact-link:hover {
  color: #3b82f6 !important;
}



.contact-text {
  color: #0f172a !important;
  font-weight: 700;
  font-size: 1rem;
  display: block;
  margin-bottom: 0.125rem;
  line-height: 1.3;
}




.contact-card .contact-link,
.contact-card .contact-text,
.contact-card .method-note {
  color: #1e293b !important;
}



.contact-card .method-note {
  color: #475569 !important;
}



.contact-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}



.contact-actions .btn {
  min-width: 120px;
  padding: 0.75rem 1.25rem;
  font-weight: 600;
}




.service-area-card .service-area-checker {
  background: transparent;
  border: none;
  padding: 0;
}



.service-area-card .service-area-checker .checker-header {
  display: none; 
}



.service-area-card .service-area-checker .checker-form {
  margin: 0;
}



.service-area-card .service-area-checker .form-group {
  max-width: none;
  width: 100%;
}



.service-area-card .service-area-checker .form-group input {
  width: 100%;
  padding: 1rem;
  font-size: 1.1rem;
  border-radius: 12px;
  border: 2px solid rgba(30, 64, 175, 0.2);
  transition: border-color 0.3s ease;
}



.service-area-card .service-area-checker .form-group input:focus {
  border-color: var(--primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.1);
}



.service-area-card .service-area-checker .btn-primary {
  width: 100%;
  padding: 1rem;
  font-size: 1.1rem;
  border-radius: 12px;
  margin-top: 1rem;
}



@media (max-width: 768px) {
  .contact-section {
    padding: 2rem 0;
  }


  
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }


  
  .service-area-card,
  .contact-card {
    padding: 1.25rem;
  }


  
  .card-header {
    margin-bottom: 1rem;
  }


  
  .card-header .icon {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }


  
  .card-header h3 {
    font-size: 1.375rem;
  }


  
  .card-header p {
    font-size: 0.9rem;
  }


  
  .contact-methods {
    gap: 0.75rem;
    margin-bottom: 1rem;
  }


  
  .contact-method {
    padding: 0.875rem;
    gap: 0.625rem;
  }


  
  .method-icon {
    font-size: 1.125rem;
  }


  
  .method-content h4 {
    font-size: 0.95rem;
  }


  
  .contact-link,
  .contact-text {
    font-size: 0.95rem;
  }


  
  .contact-actions {
    gap: 0.625rem;
    margin-top: 0.375rem;
  }


  
  .contact-actions .btn {
    min-width: 110px;
    padding: 0.625rem 1rem;
    font-size: 0.9rem;
  }


  
  .contact-method {
    padding: 1.25rem;
  }


  
  .contact-actions {
    flex-direction: column;
  }


  
  .contact-actions .btn {
    width: 100%;
  }


  
  
  .hero-title {
    font-size: clamp(1.8rem, 8vw, 3rem) !important;
    padding: 1.5rem 1rem !important;
    border-width: 4px !important;
    margin-bottom: 1rem !important;
  }


  
  .hero-sub {
    font-size: clamp(1.1rem, 4vw, 1.4rem) !important;
    padding: 1rem 0.75rem !important;
    border-width: 3px !important;
    margin-bottom: 1.5rem !important;
  }


  
  .btn {
    font-size: 1.2rem !important;
    padding: 1rem 1.5rem !important;
    min-height: 56px !important;
    border-width: 3px !important;
  }


  
  .btn-row {
    gap: 1rem !important;
    flex-direction: column !important;
    align-items: center !important;
  }


  
  .btn-row .btn {
    width: 100% !important;
    max-width: 280px !important;
  }


}

.services-page {
  padding-top: var(--header-offset, var(--header-height, 120px)) !important;
}




.service-description-mobile {
  display: none;
}



.services-hero {
  background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
  color: white;
  text-align: center;
  padding: 4rem 0;
}



.services-hero h1 {
  font-size: 3rem;
  margin-bottom: 1rem;
}



.services-hero p {
  font-size: 1.2rem;
  opacity: 0.9;
}



.services-section {
  padding: 4rem 0;
}



.services-grid {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}




.service-images-section {
  padding: 0 0 4rem 0; 
  padding-top: 0 !important;
  margin-top: 0 !important;
}



.service-images-section h2 {
  text-align: center;
  margin-bottom: 3rem;
  font-size: 2.5rem;
  color: #333;
}



.service-images-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}



.service-image-card {
  background: white;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  text-align: center;
}



.service-image-card:hover {
  transform: translateY(-5px);
}



.service-image-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.3s ease;
}



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



.service-image-card h3 {
  padding: 1.5rem 1.5rem 0.5rem;
  color: #333;
  font-size: 1.5rem;
}



.service-image-card p {
  padding: 0 1.5rem 1rem;
  color: #666;
  line-height: 1.6;
}



.service-image-card .btn {
  margin: 0 1.5rem 1.5rem;
  width: calc(100% - 3rem);
}



.service-card-large {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  background: white;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}



.service-card-large:hover {
  transform: translateY(-5px);
}



.service-image {
  overflow: hidden;
}



.service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}



.service-card-large:hover .service-image img {
  transform: scale(1.05);
}



.service-content {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}



.service-content h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #333;
}



.service-content p {
  margin-bottom: 1.5rem;
  line-height: 1.6;
  color: #666;
}



.service-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #2a5298;
  font-weight: bold;
}



.equipment-section {
  padding: 4rem 0;
  background: #f8f9fa;
}



.equipment-section h2 {
  text-align: center;
  margin-bottom: 3rem;
  font-size: 2.5rem;
  color: #333;
}



.equipment-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}



.equipment-item {
  background: white;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  text-align: center;
  transition: transform 0.3s ease;
}



.equipment-item:hover {
  transform: translateY(-5px);
}



.equipment-item img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}



.equipment-item h3 {
  padding: 1.5rem 1.5rem 0.5rem;
  color: #333;
}



.equipment-item p {
  padding: 0 1.5rem 1.5rem;
  color: #666;
  line-height: 1.6;
}



.services-cta {
  padding: 4rem 0;
  background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
  color: white;
  text-align: center;
}



.services-cta h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}



.services-cta p {
  font-size: 1.1rem;
  margin-bottom: 2rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}



.cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}



.cta-buttons .btn {
  min-width: 200px;
}



.btn-secondary {
  background: #6c757d;
  color: white;
}



.btn-secondary:hover {
  background: #5a6268;
  transform: translateY(-2px);
}



@media (max-width: 1200px) {
  .services-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }


}


@media (max-width: 480px) {
  .service-content {
    padding: 1rem;
  }


  
  .service-content h3 {
    font-size: 1.3rem;
  }


  
  .service-description-mobile {
    font-size: 0.85rem;
  }


  
  .equipment-item h3 {
    font-size: 1.1rem;
  }


  
  .equipment-item p {
    font-size: 0.85rem;
  }


  
  .service-image-card h3 {
    font-size: 1.1rem;
  }


  
  .service-image-card p {
    font-size: 0.85rem;
  }


  
  .services-cta h2 {
    font-size: 1.8rem;
  }


  
  .services-cta p {
    font-size: 0.9rem;
  }


}

@media (max-width: 768px) {
  .service-card-large {
    grid-template-columns: 1fr;
    gap: 0;
  }


  
  .service-image {
    height: 250px;
  }


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


  
  .service-content {
    padding: 1.5rem;
  }


  
  
  .service-content p:not(.service-description-mobile) {
    display: none; 
  }


  
  .service-description-mobile {
    display: block;
    font-size: 0.9rem;
    margin-bottom: 1rem;
    line-height: 1.4;
    color: #374151;
  }


  
  .services-hero h1 {
    font-size: 2.5rem;
  }


  
  .equipment-grid {
    grid-template-columns: 1fr;
  }


  
  
  .service-images-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }


  
  .service-images-section h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }


  
  .service-image-card h3 {
    font-size: 1.3rem;
    padding: 1rem 1rem 0.5rem;
  }


  
  .service-image-card p {
    font-size: 0.9rem;
    padding: 0 1rem 1rem;
  }


  
  .service-image-card .btn {
    margin: 0 1rem 1rem;
    width: calc(100% - 2rem);
  }


}

.pond-cleaning-page {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  background: #f8fafc;
  padding-bottom: 4rem;
}



.cleaning-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(2rem, 6vw, 4rem);
  
  padding: calc(clamp(3rem, 7vw, 5rem) + 100px) clamp(1.5rem, 5vw, 4rem) clamp(3rem, 7vw, 5rem);
  background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 35%, #0f766e 100%);
  color: #f8fafc;
  position: relative;
  overflow: hidden;
}



.cleaning-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 25%, rgba(59, 130, 246, 0.35) 0%, transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(16, 185, 129, 0.25) 0%, transparent 55%);
  pointer-events: none;
  opacity: 0.9;
}



.cleaning-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}



.cleaning-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(15, 118, 110, 0.25);
  color: #bbf7d0;
  padding: 0.5rem 1.25rem;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.85rem;
}



.cleaning-hero__content h1 {
  margin: 0;
  font-size: clamp(2.5rem, 4vw, 3.75rem);
  font-weight: 800;
  line-height: 1.1;
  color: #f8fafc;
  text-shadow: 0 24px 48px rgba(15, 23, 42, 0.35);
}



.cleaning-hero__content p {
  margin: 0;
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  line-height: 1.7;
  color: #e2e8f0;
  max-width: 640px;
}



.cleaning-hero__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}



.cleaning-hero__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.25rem;
  margin: 0;
  padding: 0;
}



.cleaning-hero__metric {
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 18px;
  padding: 1.25rem;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}



.cleaning-hero__metric dt {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #bfdbfe;
}



.cleaning-hero__metric dd {
  margin: 0.35rem 0 0.5rem;
  font-weight: 700;
  color: #f8fafc;
  font-size: 1.15rem;
}



.cleaning-hero__metric p {
  margin: 0;
  color: #cbd5f5;
  font-size: 0.92rem;
  line-height: 1.6;
}



.cleaning-hero__media {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}



.cleaning-hero__image {
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 32px 60px rgba(15, 23, 42, 0.35);
}



.cleaning-hero__media-note {
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 14px;
  padding: 1rem 1.25rem;
  font-size: 0.95rem;
  color: #e0f2fe;
}



.section-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}



.section-header h2 {
  margin: 0;
  font-size: clamp(2rem, 3vw, 2.6rem);
  color: #0f172a;
}



.section-header p {
  margin: 0;
  color: #475569;
  font-size: 1rem;
}



.cleaning-differentiators .container,
.cleaning-packages .container,
.cleaning-process .container,
.cleaning-proof .container,
.cleaning-guarantee .container {
  width: min(1120px, 92vw);
}



.cleaning-differentiators h2 {
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  margin-bottom: 2rem;
  text-align: center;
  color: #0f172a;
}



.cleaning-differentiators__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}



.cleaning-differentiators__card {
  background: #fff;
  border-radius: 20px;
  padding: 1.75rem;
  border: 1px solid #e2e8f0;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.12);
}



.cleaning-differentiators__card h3 {
  margin: 0 0 0.75rem;
  font-size: 1.3rem;
  color: #0f172a;
}



.cleaning-differentiators__card p {
  margin: 0;
  color: #334155;
  line-height: 1.6;
}



.cleaning-packages__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 320px));
  gap: 1.5rem;
  justify-content: center;
  justify-items: center;
}



.cleaning-package-card {
  position: relative;
  background: #fff;
  border-radius: 24px;
  border: 1px solid #e2e8f0;
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.12);
  width: 100%;
}



.cleaning-package-card__badge {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  background: #dc2626;
  color: #fff;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}



.cleaning-package-card header h3 {
  margin: 0 0 0.4rem;
  font-size: 1.35rem;
  color: #0f172a;
}



.cleaning-package-card__desc {
  margin: 0.35rem 0 0;
  color: #475569;
  line-height: 1.6;
}



.cleaning-package-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
  color: #374151;
}



.cleaning-package-card ul li::before {
  content: "✓";
  color: #0f766e;
  font-weight: 700;
  margin-right: 0.5rem;
}



.cleaning-package-card__actions {
  display: flex;
  justify-content: flex-start;
}



.cleaning-process__content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}



.cleaning-process__content h3 {
  margin: 0;
  font-size: 1.25rem;
  color: #0f172a;
}



.cleaning-process__content p {
  margin: 0;
  color: #475569;
  line-height: 1.6;
}



.cleaning-proof h2 {
  text-align: center;
  color: #0f172a;
  font-size: clamp(2rem, 3vw, 2.5rem);
}



.cleaning-proof__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}



.cleaning-proof__card {
  background: #0f172a;
  color: #f8fafc;
  padding: 1.75rem;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.35);
}



.cleaning-proof__card h3 {
  margin: 0 0 0.75rem;
  font-size: 1.2rem;
  color: #bfdbfe;
}



.cleaning-proof__card p {
  margin: 0;
  line-height: 1.6;
}



.cleaning-guarantee {
  background: #fff;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
  padding: clamp(3rem, 6vw, 4rem) 1.5rem;
}



.cleaning-guarantee__content {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}



.cleaning-guarantee__content h2 {
  margin: 0;
  font-size: clamp(2rem, 3vw, 2.6rem);
  color: #0f172a;
}



.cleaning-guarantee__content p {
  margin: 0;
  color: #475569;
  line-height: 1.6;
}



.cleaning-guarantee__content ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
  color: #334155;
}



.cleaning-guarantee__content ul li::before {
  content: "•";
  color: #0f766e;
  font-weight: 700;
  margin-right: 0.5rem;
}



.cleaning-guarantee__actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}



.related-services-section .container {
  width: min(1120px, 92vw);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}



.related-services-section h2 {
  margin: 0;
  text-align: center;
  font-size: clamp(2rem, 3vw, 2.5rem);
  color: #0f172a;
}



.related-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}



.related-service-card {
  background: #fff;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  padding: 1.5rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 20px 40px -16px rgba(15, 23, 42, 0.2);
}



.related-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 50px -12px rgba(15, 23, 42, 0.25);
}



.related-service-card h3 {
  margin: 0 0 0.5rem;
  font-size: 1.2rem;
  color: #0f172a;
}



.related-service-card p {
  margin: 0;
  color: #475569;
  line-height: 1.6;
}



@media (max-width: 1024px) {
  .cleaning-hero {
    grid-template-columns: 1fr;
  }



  .cleaning-hero__media {
    order: -1;
  }


}

@media (max-width: 768px) {
  .cleaning-hero__actions {
    flex-direction: column;
  }



  .cleaning-package-card {
    padding: 1.5rem;
  }


}

@media (max-width: 640px) {
  .cleaning-hero__metrics,
  .cleaning-proof__grid,
  .cleaning-differentiators__grid {
    grid-template-columns: 1fr;
  }


}

.pond-cleaning-city-page {
  padding-top: 0;
}



.service-overview {
  padding: 4rem 0;
  background: #f8fafc;
}



.service-overview h2 {
  text-align: center;
  margin-bottom: 3rem;
  color: #1a202c;
  font-size: 2.5rem;
}



.benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}



.benefit-card {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}



.benefit-card:hover {
  transform: translateY(-5px);
}



.benefit-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}



.benefit-card h3 {
  color: #2c5530;
  margin-bottom: 1rem;
  font-size: 1.25rem;
}



.areas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  max-width: 800px;
  margin: 0 auto;
}



.area-card {
  background: #f8fafc;
  padding: 2rem;
  border-radius: 12px;
  text-align: center;
  border: 2px solid #e2e8f0;
}



.area-card h4 {
  color: #2c5530;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}



.process-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}



.step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}



.step-number {
  background: #2c5530;
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  flex-shrink: 0;
}



.step-content h3 {
  color: #2c5530;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
}



.step-content p {
  color: #64748b;
  margin: 0;
}



.cta-section {
  padding: 4rem 0;
  background: linear-gradient(135deg, #2c5530, #38a169);
  color: white;
}



.cta-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}



.cta-content h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}



.cta-content p {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  opacity: 0.9;
}



.cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}



.btn {
  padding: 1rem 2rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  display: inline-block;
}



.btn-primary {
  background: #dc2626;
  color: white;
  border: 2px solid #dc2626;
}



.btn-primary:hover {
  background: #b91c1c;
  transform: translateY(-2px);
}



.btn-secondary {
  background: transparent;
  color: white;
  border: 2px solid white;
}



.btn-secondary:hover {
  background: white;
  color: #2c5530;
}



@media (max-width: 768px) {
  .benefits-grid {
    grid-template-columns: 1fr;
  }


  
  .process-steps {
    grid-template-columns: 1fr;
  }


  
  .cta-buttons {
    flex-direction: column;
    align-items: center;
  }


  
  .btn {
    width: 100%;
    max-width: 300px;
  }


}




.hero-stats-section {
  padding: 2rem 0;
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  color: white;
}



.hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}



.stat-item {
  text-align: center;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  -webkit-backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}



.stat-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}



@media (max-width: 768px) {
  .guide-cta-banner {
    padding: 2rem 1.5rem;
    margin-top: 2rem;
  }


  
  .guide-banner-content {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 1.5rem;
  }


  
  .guide-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto;
  }


  
  .guide-text-content h3 {
    font-size: 1.35rem;
  }


  
  .guide-text-content p {
    font-size: 0.95rem;
  }


  
  .guide-cta-btn {
    width: 100%;
    justify-content: center;
  }


  
  .hero-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }


  
  .stat-item {
    padding: 1rem;
  }


  
  .stat-icon {
    font-size: 2rem;
  }


}

@media (max-width: 480px) {
  .hero-stats {
    grid-template-columns: 1fr;
  }


}
.pond-construction-page {
  padding-top: 0;
  margin-top: 0;
}




.pond-construction-main-content {
  padding: 5rem 0;
  background: white;
}



.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}




.construction-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  
  padding-top: 100px;
}



.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}



.hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}



.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(30, 64, 175, 0.8) 0%, rgba(29, 78, 216, 0.6) 100%);
  z-index: 2;
}



.hero-content {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 0 2rem;
}



.hero-text-content {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  color: white;
}



.hero-title {
  font-size: 3.5rem;
  font-weight: 900;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}



.hero-title-highlight {
  color: #fbbf24;
}



.hero-subtitle {
  font-size: 1.25rem;
  margin-bottom: 3rem;
  opacity: 0.95;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}




.hero-badge {
  margin-bottom: 1rem;
}




.hero-cta-buttons {
  display: flex;
  gap: 1rem;
  margin: 2rem 0;
  flex-wrap: wrap;
  justify-content: center;
}



.btn-large {
  padding: 1rem 2rem;
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}



.btn-primary {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: white;
  border: none;
}



.btn-primary:hover {
  background: linear-gradient(135deg, #b91c1c, #991b1b);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(220, 38, 38, 0.4);
}



.btn-secondary {
  background: transparent;
  color: white;
  border: 2px solid white;
}



.btn-secondary:hover {
  background: white;
  color: #1e40af;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.3);
}



.hero-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}



.stat-item {
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 15px;
  padding: 1.5rem;
  text-align: center;
  transition: transform 0.3s ease, background 0.3s ease;
}



.stat-item:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.15);
}



.stat-icon {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  opacity: 0.8;
}




@media (max-width: 768px) {
  .hero-title {
    font-size: 2.5rem;
  }


  
  .hero-subtitle {
    font-size: 1.1rem;
  }


  
  .hero-cta-buttons {
    flex-direction: column;
    align-items: center;
  }


  
  .btn-large {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }


  
  .hero-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }


  
  .stat-item {
    padding: 1rem;
  }


  
  .trust-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }


  
  .trust-item {
    padding: 1.5rem;
  }


  
  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }


  
  .testimonial-card {
    padding: 1.5rem;
  }


  
  .portfolio-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }


  
  .cta-buttons {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
  }


}

@media (max-width: 480px) {
  .hero-stats {
    grid-template-columns: 1fr;
  }



.trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}



.trust-item {
  text-align: center;
  padding: 2rem;
  background: white;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.trust-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}



.trust-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}



.trust-item h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 0.5rem;
}



.trust-item p {
  color: #64748b;
  font-size: 0.95rem;
  line-height: 1.5;
}




.first-section-gradient {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  padding: 0 0 5rem 0; 
  padding-top: 0 !important;
  margin-top: 0 !important;
}



.process-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}



.step {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  border: 2px solid transparent;
  transition: all 0.3s ease;
  text-align: center;
  position: relative;
}



.step:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
  border-color: #1e40af;
}



.step-number {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #1e40af, #1d4ed8);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 auto 1.5rem;
}



.step h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 1rem;
}



.step p {
  color: #64748b;
  line-height: 1.6;
  font-size: 1rem;
}




.pond-types {
  padding: 5rem 0;
  background: white;
}



.pond-types h2 {
  font-size: 2.5rem;
  font-weight: 800;
  color: #1e293b;
  margin-bottom: 3rem;
  text-align: center;
  background: linear-gradient(135deg, #1e40af, #1d4ed8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}



.types-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 3rem;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}



.type-card {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  border: 2px solid transparent;
  transition: all 0.3s ease;
}



.type-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
  border-color: #1e40af;
}



.type-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.3s ease;
}



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



.type-card h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b;
  margin: 1.5rem 0 1rem;
  padding: 0 1.5rem;
}



.type-card p {
  color: #64748b;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  padding: 0 1.5rem;
}



.type-card ul {
  list-style: none;
  padding: 0 1.5rem 1.5rem;
  margin: 0;
}



.type-card li {
  padding: 0.5rem 0;
  color: #64748b;
  font-size: 0.9rem;
  position: relative;
  padding-left: 1.5rem;
}



.type-card li::before {
  content: '✓';
  color: #1e40af;
  font-weight: bold;
  position: absolute;
  left: 0;
}



.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}



.feature-item {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  border: 2px solid transparent;
  transition: all 0.3s ease;
  text-align: center;
}



.feature-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
  border-color: #1e40af;
}



.feature-icon {
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: center;
}



.feature-item h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 1rem;
}



.feature-item p {
  color: #64748b;
  line-height: 1.6;
  font-size: 0.95rem;
}



.materials-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  margin-top: 3rem;
}



.materials-text h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 1rem;
  margin-top: 2rem;
}



.materials-text h3:first-child {
  margin-top: 0;
}



.materials-text ul {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
}



.materials-text li {
  padding: 0.5rem 0;
  color: #64748b;
  font-size: 0.95rem;
  position: relative;
  padding-left: 1.5rem;
}



.materials-text li::before {
  content: '✓';
  color: #1e40af;
  font-weight: bold;
  position: absolute;
  left: 0;
}



.materials-image img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}



.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}



.gallery-item {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}



.gallery-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}



.gallery-item img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.3s ease;
}



.gallery-item:hover img {
  transform: scale(1.05);
}



.gallery-item:hover .gallery-overlay {
  transform: translateY(0);
}



.gradient-wipe-up {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
}



.reasons-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}



.reason-item {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  border: 2px solid transparent;
  transition: all 0.3s ease;
  text-align: center;
}



.reason-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
  border-color: #1e40af;
}



.reason-icon {
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: center;
}



.reason-item h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 1rem;
}



.reason-item p {
  color: #64748b;
  line-height: 1.6;
  font-size: 0.95rem;
}




.service-areas-section {
  padding: 5rem 0;
  background: white;
}



.service-areas-section h2 {
  font-size: 2.5rem;
  font-weight: 800;
  color: #1e293b;
  margin-bottom: 1rem;
  text-align: center;
  background: linear-gradient(135deg, #1e40af, #1d4ed8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}



.service-areas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}



.service-area-group:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
  border-color: #1e40af;
}



.cities-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}



.city-link {
  color: #1e40af;
  text-decoration: none;
  font-size: 0.95rem;
  padding: 0.5rem 0;
  transition: color 0.3s ease;
  border-bottom: 1px solid transparent;
}



.city-link:hover {
  color: #1d4ed8;
  border-bottom-color: #1d4ed8;
}




.testimonials-section {
  background: #f8fafc;
  padding: 5rem 0;
}



.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}



.testimonial-card {
  background: white;
  padding: 2rem;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.testimonial-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}



.star {
  font-size: 1.2rem;
  margin-right: 0.25rem;
}



.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}



.portfolio-item {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.portfolio-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}



.portfolio-item img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.3s ease;
}



.portfolio-item:hover img {
  transform: scale(1.05);
}



.portfolio-item:hover .portfolio-overlay {
  transform: translateY(0);
}




.cta-section {
  padding: 5rem 0;
  text-align: center;
  color: white;
  position: relative;
}



.cta-content {
  max-width: 800px;
  margin: 0 auto;
}



.benefit-icon {
  font-size: 1.2rem;
}



.cta-section h2 {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 1rem;
  color: white;
}



.cta-section p {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  opacity: 0.9;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}



.cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}



.primary-button, .secondary-button {
  display: inline-block;
  padding: 1rem 2rem;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}



.primary-button {
  background: linear-gradient(135deg, #1e40af, #1d4ed8);
  color: white;
  border-color: #1e40af;
}



.primary-button:hover {
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(30, 64, 175, 0.3);
}



.secondary-button {
  background: transparent;
  color: white;
  border-color: white;
}



.secondary-button:hover {
  background: white;
  color: #1e40af;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 255, 255, 0.3);
}





.container {
  padding: 0 1rem;
}



.construction-process h2,
.pond-types h2,
.construction-features h2,
.materials-construction h2,
.project-gallery h2,
.why-choose-us h2,
.service-areas-section h2 {
  font-size: 1.5rem;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
}



.process-steps {
  grid-template-columns: 1fr;
  gap: 1rem;
}



.types-grid {
  grid-template-columns: 1fr;
  gap: 1rem;
}



.features-grid {
  grid-template-columns: 1fr;
  gap: 1rem;
}



.materials-content {
  grid-template-columns: 1fr;
  gap: 1.5rem;
}



.gallery-grid {
  grid-template-columns: 1fr;
  gap: 1rem;
}



.reasons-grid {
  grid-template-columns: 1fr;
  gap: 1rem;
}



.service-areas-grid {
  grid-template-columns: 1fr;
  gap: 1rem;
}



.cta-section h2 {
  font-size: 1.5rem;
  line-height: 1.3;
}



.cta-buttons {
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}



.primary-button, .secondary-button {
  width: 100%;
  max-width: 280px;
  padding: 0.875rem 1.5rem;
  font-size: 0.95rem;
}




.step h3,
.type-card h3,
.feature-item h3,
.reason-item h3 {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  line-height: 1.3 !important;
}




.step,
.type-card,
.feature-item,
.reason-item,
.service-area-group {
  padding: 1.5rem;
  margin-bottom: 1rem;
}




.step h3 {
  font-size: 1.125rem;
}



.type-card h3 {
  font-size: 1.125rem;
}



.feature-item h3 {
  font-size: 1.125rem;
}



.reason-item h3 {
  font-size: 1.125rem;
}




@media (min-width: 768px) {
  .container {
    padding: 0 2rem;
  }


  
  .construction-process h2,
  .pond-types h2,
  .construction-features h2,
  .materials-construction h2,
  .project-gallery h2,
  .why-choose-us h2,
  .service-areas-section h2 {
    font-size: 2rem;
  }


  
  .process-steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }


  
  .types-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }


  
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }


  
  .materials-content {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }


  
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }


  
  .reasons-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }


  
  .service-areas-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }


  
  .cta-section h2 {
    font-size: 2rem;
  }


  
  .cta-buttons {
    flex-direction: row;
    justify-content: center;
  }


  
  .primary-button, .secondary-button {
    width: auto;
    min-width: 150px;
  }


  
  .step,
  .type-card,
  .feature-item,
  .reason-item,
  .service-area-group {
    padding: 2rem;
  }


  
  .step h3,
  .type-card h3,
  .feature-item h3,
  .reason-item h3 {
    font-size: 1.25rem;
  }


}


@media (min-width: 1024px) {
  .process-steps {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }


  
  .types-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }


  
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }


  
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }


  
  .reasons-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }


  
  .service-areas-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }


  
  .step,
  .type-card,
  .feature-item,
  .reason-item,
  .service-area-group {
    padding: 2.5rem;
  }


}


@media (min-width: 768px) {
  .types-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }


}


@media (min-width: 1200px) {
  .types-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 1200px;
  }


  
  .features-grid {
    grid-template-columns: repeat(4, 1fr);
  }


  
  .gallery-grid {
    grid-template-columns: repeat(4, 1fr);
  }


  
  .reasons-grid {
    grid-template-columns: repeat(4, 1fr);
  }


  
  .service-areas-grid {
    grid-template-columns: repeat(4, 1fr);
  }


}

@media (max-width: 480px) {
  .guide-cta-banner {
    padding: 1.5rem 1rem;
  }


  
  .guide-icon {
    width: 48px;
    height: 48px;
  }


  
  .guide-text-content h3 {
    font-size: 1.15rem;
  }


  
  .guide-text-content p {
    font-size: 0.9rem;
  }


  
  .step {
    padding: 1.5rem;
  }


  
  .type-card {
    margin: 0 0.5rem;
  }


  
  .feature-item, .reason-item {
    padding: 1.5rem;
  }


}




.construction-stats-section {
  background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 50%, #3b82f6 100%);
  padding: 4rem 0;
  position: relative;
  overflow: hidden;
}



.construction-stats-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.3) 0%, transparent 60%),
              radial-gradient(circle at 80% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
  pointer-events: none;
}



.stats-grid-modern {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  max-width: 900px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}



.stat-card-modern {
  background: rgba(255, 255, 255, 0.98);
  border-radius: 20px;
  padding: 3rem 2rem;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2), 0 20px 60px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  border: 3px solid rgba(255, 255, 255, 0.5);
  position: relative;
  overflow: hidden;
}



.stat-card-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--stat-color), transparent);
}



.stat-card-modern:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25), 0 30px 80px rgba(0, 0, 0, 0.15);
  background: rgba(255, 255, 255, 1);
}



.stat-icon-modern {
  font-size: 4rem;
  margin-bottom: 1.5rem;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.15));
}




.guide-cta-banner {
  margin-top: 3rem;
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  border-radius: 16px;
  padding: 3rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  border: 2px solid #93c5fd;
}



.guide-banner-content {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 2rem;
  text-align: left;
}



.guide-icon-wrapper {
  flex-shrink: 0;
}



.guide-icon {
  width: 64px;
  height: 64px;
  filter: drop-shadow(0 4px 10px rgba(59, 130, 246, 0.2));
}



.guide-text-content {
  flex: 1;
}



.guide-text-content h3 {
  color: #1e40af;
  font-size: 1.5rem;
  margin: 0 0 0.5rem 0;
  font-weight: 700;
}



.guide-text-content p {
  color: #1e3a8a;
  font-size: 1rem;
  margin: 0;
  line-height: 1.6;
}



.guide-cta-btn {
  flex-shrink: 0;
  white-space: nowrap;
}




.trust-signals-compact {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  padding: 2rem 0;
}



.trust-badges {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}



.trust-badge {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 1.25rem;
  transition: all 0.3s ease;
}



.trust-badge:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}



.trust-badge-icon {
  font-size: 2rem;
  flex-shrink: 0;
}



.trust-badge-content {
  flex: 1;
}



.trust-badge-content h4 {
  color: white;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
  line-height: 1.2;
}



.trust-badge-content p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.875rem;
  line-height: 1.4;
  margin: 0;
}




.pond-types-interactive {
  background: #f8fafc;
  padding: 4rem 0;
}



.pond-types-interactive h2 {
  text-align: center;
  font-size: 2.5rem;
  color: #1e40af;
  margin-bottom: 1rem;
}



.pond-types-intro {
  text-align: center;
  font-size: 1.25rem;
  color: #4b5563;
  max-width: 800px;
  margin: 0 auto 3rem;
}



.pond-type-tabs {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}



.pond-type-tab {
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  padding: 1rem 2rem;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1rem;
}



.pond-type-tab:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}



.pond-type-tab.active {
  background: #1e40af;
  color: white;
  border-color: #1e40af;
}



.pond-type-showcase {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  background: white;
  border-radius: 16px;
  padding: 3rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}



.pond-showcase-image {
  border-radius: 12px;
  overflow: hidden;
}



.showcase-img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}



.pond-showcase-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}



.pond-tagline {
  color: #3b82f6;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}



.pond-showcase-content h3 {
  font-size: 2rem;
  color: #1e40af;
  margin-bottom: 1rem;
  font-weight: 700;
}



.pond-description {
  font-size: 1.125rem;
  color: #4b5563;
  line-height: 1.7;
  margin-bottom: 2rem;
}



.pond-meta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: #f8fafc;
  border-radius: 8px;
  border-left: 4px solid #3b82f6;
}



.pond-meta-item {
  font-size: 1rem;
  color: #374151;
}



.pond-meta-item strong {
  color: #1e40af;
  margin-right: 0.5rem;
}



.pond-features-list {
  margin-bottom: 2rem;
}



.pond-features-list h4 {
  font-size: 1.25rem;
  color: #1e40af;
  margin-bottom: 1rem;
  font-weight: 600;
}



.pond-features-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}



.pond-features-list li {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5e7eb;
}



.pond-features-list li:last-child {
  border-bottom: none;
}



.feature-icon {
  font-size: 1.5rem;
}



.feature-text {
  color: #374151;
  font-size: 1rem;
  line-height: 1.6;
}



.pond-cta-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}




.construction-process-modern {
  background: white;
  padding: 4rem 0;
}



.construction-process-modern h2 {
  text-align: center;
  font-size: 2.5rem;
  color: #1e40af;
  margin-bottom: 1rem;
}



.process-intro-modern {
  text-align: center;
  font-size: 1.25rem;
  color: #4b5563;
  max-width: 800px;
  margin: 0 auto 3rem;
}



.process-infographic {
  max-width: 1000px;
  margin: 0 auto 4rem;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.process-infographic:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}



.process-infographic-img {
  width: 100%;
  height: auto;
  display: block;
}



.process-timeline {
  max-width: 900px;
  margin: 0 auto;
}



.timeline-step {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 2rem;
  margin-bottom: 2rem;
}



.timeline-step:last-child {
  margin-bottom: 0;
}



.timeline-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
}



.step-number-circle {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #1e40af, #3b82f6);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(30, 64, 175, 0.3);
}



.timeline-line {
  width: 3px;
  flex: 1;
  background: linear-gradient(180deg, #3b82f6, #cbd5e1);
  margin-top: 1rem;
}



.timeline-content {
  background: white;
  border-radius: 12px;
  padding: 2rem;
  border: 2px solid #e2e8f0;
  transition: all 0.3s ease;
}



.timeline-content:hover {
  border-color: #3b82f6;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}



.timeline-content h3 {
  font-size: 1.5rem;
  color: #1e40af;
  margin-bottom: 1rem;
  font-weight: 700;
}



.timeline-content p {
  color: #4b5563;
  line-height: 1.7;
}




.materials-modern {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 25%, #cbd5e1 50%, #94a3b8 75%, #64748b 100%);
  padding: 4rem 0;
}



.materials-modern h2 {
  text-align: center;
  font-size: 2.5rem;
  color: #1e40af;
  margin-bottom: 1rem;
}



.materials-intro-modern {
  text-align: center;
  font-size: 1.25rem;
  color: #4b5563;
  max-width: 800px;
  margin: 0 auto 3rem;
}



.materials-grid-modern {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-bottom: 3rem;
}



.material-card {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.material-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}



.material-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}



.material-card h3 {
  font-size: 1.5rem;
  color: #1e40af;
  margin-bottom: 1rem;
  font-weight: 700;
}



.material-card p {
  color: #4b5563;
  line-height: 1.6;
}



.materials-showcase {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}



.materials-showcase-img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}




.testimonials-modern {
  background: white;
  padding: 4rem 0;
}



.testimonials-modern h2 {
  text-align: center;
  font-size: 2.5rem;
  color: #1e40af;
  margin-bottom: 1rem;
}



.testimonials-intro-modern {
  text-align: center;
  font-size: 1.25rem;
  color: #4b5563;
  margin-bottom: 3rem;
}



.testimonials-grid-modern {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}



.testimonial-card-modern {
  background: #f8fafc;
  border-radius: 16px;
  padding: 2rem;
  border: 2px solid #e2e8f0;
  transition: all 0.3s ease;
}



.testimonial-card-modern:hover {
  background: white;
  border-color: #3b82f6;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}



.testimonial-stars {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}



.testimonial-quote {
  color: #374151;
  font-style: italic;
  line-height: 1.7;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}



.testimonial-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
}



.testimonial-author-info h4 {
  color: #1e40af;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}



.testimonial-author-info .location {
  color: #6b7280;
  font-size: 0.875rem;
}



.testimonial-project-tag {
  background: #dbeafe;
  color: #1e40af;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
}




.faq-modern {
  background: #f8fafc;
  padding: 4rem 0;
}



.faq-modern h2 {
  text-align: center;
  font-size: 2.5rem;
  color: #1e40af;
  margin-bottom: 1rem;
}



.faq-grid-modern {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}



.faq-card {
  background: white;
  border-radius: 12px;
  padding: 2rem;
  border: 2px solid #e2e8f0;
  transition: all 0.3s ease;
}



.faq-card:hover {
  border-color: #3b82f6;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}



.faq-card h3 {
  font-size: 1.25rem;
  color: #1e40af;
  margin-bottom: 1rem;
  font-weight: 700;
}



.faq-card p {
  color: #4b5563;
  line-height: 1.7;
}



.portfolio-grid-modern {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}



.portfolio-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.portfolio-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}



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




@media (max-width: 1024px) {
  .stats-grid-modern {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 700px;
  }


  
  .trust-badges {
    grid-template-columns: repeat(2, 1fr);
  }


  
  .pond-type-showcase {
    grid-template-columns: 1fr;
  }


  
  .materials-grid-modern {
    grid-template-columns: 1fr;
  }


  
  .testimonials-grid-modern {
    grid-template-columns: repeat(2, 1fr);
  }


  
  .portfolio-grid-modern {
    grid-template-columns: repeat(2, 1fr);
  }


}

@media (max-width: 768px) {
  .construction-stats-section {
    padding: 3rem 0;
  }


  
  .stats-grid-modern {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 400px;
  }


  
  .stat-card-modern {
    padding: 2.5rem 2rem;
  }


  
  .stat-icon-modern {
    font-size: 3.5rem;
  }


  
  .trust-badges,
  .faq-grid-modern,
  .testimonials-grid-modern,
  .portfolio-grid-modern {
    grid-template-columns: 1fr;
  }




.faq-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}



.faq-icon-wrapper {
  width: 48px;
  height: 48px;
  min-width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  border-radius: 12px;
  transition: all 0.3s ease;
}



.faq-card:hover .faq-icon-wrapper {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  transform: scale(1.1) rotate(5deg);
}



.faq-icon-svg {
  width: 26px;
  height: 26px;
  transition: all 0.3s ease;
}



.faq-card:hover .faq-icon-svg {
  transform: scale(1.05);
}



.faq-header h3 {
  margin: 0;
  flex: 1;
}



  
  .trust-badge {
    flex-direction: column;
    text-align: center;
    padding: 1.5rem;
  }


  
  .trust-badge-icon {
    font-size: 2.5rem;
  }


  
  .pond-type-tabs {
    flex-direction: column;
    align-items: stretch;
  }


  
  .pond-type-tab {
    width: 100%;
  }


  
  .showcase-img {
    height: 300px;
  }


  
  .timeline-step {
    grid-template-columns: 60px 1fr;
    gap: 1rem;
  }


  
  .step-number-circle {
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }


}

.pond-maintenance-page {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.6;
  color: #333;
  padding-top: 0 !important;
}




.main-content-section {
  padding: 4rem 0;
  background: #fff;
}



.main-content-section h2 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 1.5rem;
  text-align: center;
}



.main-content-section p {
  font-size: 1.1rem;
  color: #4a5568;
  margin-bottom: 3rem;
  text-align: center;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}




.maintenance-services {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 3rem;
}



.maintenance-service {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  padding: 2rem 0;
}



.maintenance-service.highlighted {
  background: #1a365d;
  color: white;
  padding: 3rem;
  border-radius: 12px;
  margin: 2rem 0;
}



.maintenance-service.highlighted h3 {
  color: white;
}



.maintenance-service.highlighted p {
  color: #e2e8f0;
  text-align: left;
}



.maintenance-service.highlighted ul {
  color: #e2e8f0;
}



.service-content h3 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 1rem;
}



.service-content p {
  font-size: 1rem;
  color: #4a5568;
  margin-bottom: 1.5rem;
  text-align: left;
}



.service-content ul {
  list-style: none;
  padding: 0;
}



.service-content li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
  color: #4a5568;
}



.service-content li::before {
  content: '•';
  color: #3b82f6;
  font-weight: bold;
  position: absolute;
  left: 0;
}



.service-image img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: top center;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}




.seasonal-services-section {
  padding: 4rem 0;
  background: #f7fafc;
}



.seasonal-services-section h2 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 1.5rem;
  text-align: center;
}



.seasonal-services-section p {
  font-size: 1.1rem;
  color: #4a5568;
  margin-bottom: 3rem;
  text-align: center;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}



.seasonal-content h3 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 1rem;
}



.seasonal-content ul {
  list-style: none;
  padding: 0;
}



.seasonal-content li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
  color: #4a5568;
}



.seasonal-content li::before {
  content: '•';
  color: #3b82f6;
  font-weight: bold;
  position: absolute;
  left: 0;
}



.seasonal-image img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: top center;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}




.contact-form-section {
  padding: 0;
  background: #1a365d;
  color: white;
  position: relative;
  min-height: 600px;
}



.contact-form-section .container {
  padding: 0;
  max-width: 100%;
}



.contact-form-wrapper {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 0;
  align-items: stretch;
  position: relative;
  min-height: 600px;
}



.contact-info {
  background: linear-gradient(135deg, #1a365d 0%, #2d4a6b 100%);
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4rem;
  text-align: left;
}



.contact-info::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}



.contact-info > * {
  position: relative;
  z-index: 2;
}



.contact-info h2 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #60a5fa;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}



.contact-info h3 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: white;
  line-height: 1.2;
}



.contact-info .phone-number {
  font-size: 1.5rem;
  font-weight: 600;
  color: #60a5fa;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}



.contact-info .phone-number::before {
  content: '📞';
  font-size: 1.5rem;
}



.contact-form {
  background: white;
  padding: 3rem;
  border-radius: 0;
  box-shadow: none;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}



.form-header {
  margin-bottom: 1.5rem;
}



.form-header small {
  color: #6b7280;
  font-size: 0.8rem;
}



.form-group {
  margin-bottom: 1.5rem;
}



.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}



.form-group label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #1a365d;
  font-size: 0.9rem;
}



.form-group input,
.form-group textarea {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
  box-sizing: border-box;
}



.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}



.file-upload-container {
  position: relative;
}



.file-upload-container input[type="file"] {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}



.file-upload-container:hover .file-upload-text {
  border-color: #3b82f6;
  background: #eff6ff;
}



.file-select-btn {
  background: #f3f4f6;
  border: 1px solid #d1d5db;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  cursor: pointer;
  margin-left: 0.5rem;
  transition: all 0.3s ease;
}



.file-select-btn:hover {
  background: #e5e7eb;
  border-color: #9ca3af;
}




.captcha-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}



.captcha-container input[type="checkbox"] {
  width: auto;
  margin: 0;
}



.captcha-container label {
  margin: 0;
  font-size: 0.9rem;
  color: #374151;
}



.captcha-links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: auto;
}



.captcha-link {
  color: #3b82f6;
  text-decoration: none;
  font-size: 0.8rem;
}



.captcha-link:hover {
  text-decoration: underline;
}




.btn {
  display: block;
  width: 100%;
  padding: 1rem 2rem;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
}



.btn-primary {
  background: #14b8a6;
  color: white;
  border: none;
  font-weight: 600;
}



.btn-primary:hover {
  background: #0d9488;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(20, 184, 166, 0.3);
}




.service-areas-section {
  padding: 4rem 0;
  background: #f7fafc;
}



.service-areas-section h2 {
  font-size: 2rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 1rem;
  text-align: center;
}



.service-areas-section p {
  font-size: 1rem;
  color: #4a5568;
  margin-bottom: 3rem;
  text-align: center;
}



.services-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  max-width: 800px;
  margin: 0 auto;
}



.service-category a:hover {
  color: #1d4ed8;
  text-decoration: underline;
}




@media (max-width: 768px) {
  .pond-maintenance-page {
    padding-top: var(--header-offset, var(--header-height, 100px)) !important;
  }



  .main-content-section h2,
  .seasonal-services-section h2 {
    font-size: 2rem;
    padding: 0 1rem;
  }


  
  .main-content-section p,
  .seasonal-services-section p {
    font-size: 1rem;
    padding: 0 1rem;
  }


  
  .maintenance-service,
  .seasonal-service {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1rem;
  }


  
  .service-content h3 {
    font-size: 1.5rem;
    text-align: center;
  }


  
  .service-content p {
    text-align: center;
    font-size: 0.95rem;
  }


  
  .service-image img,
  .seasonal-image img {
    height: 250px;
    margin: 0 auto;
    display: block;
  }


  
  .contact-form-wrapper {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0; /* Changed from auto for Firefox compatibility */
  }


  
  .contact-info {
    min-height: 300px;
    padding: 2rem 1rem;
    text-align: center;
  }


  
  .contact-info h2 {
    font-size: 1rem;
  }


  
  .contact-info h3 {
    font-size: 1.75rem;
    line-height: 1.3;
  }


  
  .contact-info .phone-number {
    font-size: 1.25rem;
    justify-content: center;
  }


  
  .contact-form {
    padding: 2rem 1rem;
  }


  
  .form-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }


  
  .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0 1rem;
  }


  
  .maintenance-service.highlighted {
    padding: 1.5rem;
    margin: 1rem;
  }


  
  .maintenance-service.highlighted h3 {
    text-align: center;
  }


  
  .maintenance-service.highlighted p {
    text-align: center;
  }


  
  .captcha-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }


  
  .captcha-links {
    margin-left: 0;
  }



  
  .facebook-embed-section {
    padding: 0 1rem;
  }


  
  .facebook-embed-section h3 {
    font-size: 1.25rem;
  }


  
  .facebook-embed-section iframe {
    width: 100% !important;
    max-width: 100%;
    height: auto;
    min-height: 400px;
  }


}

@media (max-width: 480px) {
  .pond-maintenance-page {
    padding-top: var(--header-offset, var(--header-height, 100px)) !important;
  }



  .main-content-section,
  .seasonal-services-section,
  .contact-form-section,
  .service-areas-section {
    padding: 1.5rem 0;
  }


  
  .main-content-section h2,
  .seasonal-services-section h2 {
    font-size: 1.75rem;
    padding: 0 0.5rem;
  }


  
  .main-content-section p,
  .seasonal-services-section p {
    font-size: 0.9rem;
    padding: 0 0.5rem;
  }


  
  .maintenance-service,
  .seasonal-service {
    padding: 0.5rem;
  }


  
  .service-content h3 {
    font-size: 1.25rem;
  }


  
  .service-content p {
    font-size: 0.85rem;
  }


  
  .service-image img,
  .seasonal-image img {
    height: 200px;
  }


  
  .contact-info {
    padding: 1.5rem 0.5rem;
    min-height: 250px;
  }


  
  .contact-info h2 {
    font-size: 0.9rem;
  }


  
  .contact-info h3 {
    font-size: 1.5rem;
  }


  
  .contact-info .phone-number {
    font-size: 1.1rem;
  }


  
  .contact-form {
    padding: 1.5rem 0.5rem;
  }


  
  .services-grid {
    padding: 0 0.5rem;
    gap: 1.5rem;
  }


  
  .maintenance-service.highlighted {
    padding: 1rem;
    margin: 0.5rem;
  }


  
  .facebook-embed-section {
    padding: 0 0.5rem;
  }


  
  .facebook-embed-section h3 {
    font-size: 1.1rem;
  }


  
  .facebook-embed-section iframe {
    min-height: 350px;
  }