: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);
  }
}

html {
  /* Force scrollbar to always show and prevent layout shift */
  overflow-y: scroll;
  scrollbar-gutter: stable;
  /* Ensure smooth scroll behavior */
  scroll-behavior: auto; /* Use auto for instant scroll on navigation */
}

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: white;
  /* Ensure body doesn't overlap scrollbar */
  overflow-x: hidden;
  padding-top: 0;
}

/* Disable scroll restoration for better control */
#root {
  scroll-behavior: auto;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}



/* MOBILE-FIRST OPTIMIZED CSS - Comprehensive Mobile Responsiveness */

/* ===== MOBILE-FIRST BASE STYLES ===== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  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;
}

/* ===== MOBILE-FIRST CONTAINER SYSTEM ===== */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* ===== MOBILE-FIRST GRID SYSTEM ===== */
/* Base: Single column for mobile */
.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;
}

/* ===== MOBILE-FIRST CARD SYSTEM ===== */
.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;
}

/* ===== MOBILE-FIRST SERVICE CARDS ===== */
.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;
}

/* ===== MOBILE-FIRST TYPOGRAPHY ===== */
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;
}

/* ===== MOBILE-FIRST BUTTONS ===== */
.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; /* Touch-friendly minimum */
  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;
}

/* ===== MOBILE-FIRST IMAGES ===== */
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;
}

/* ===== MOBILE-FIRST SPACING ===== */
.section {
  padding: 2rem 0;
}

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

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

/* ===== MOBILE-FIRST UTILITIES ===== */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }

.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }

.p-1 { padding: 0.5rem; }
.p-2 { padding: 1rem; }
.p-3 { padding: 1.5rem; }
.p-4 { padding: 2rem; }

/* ===== TABLET BREAKPOINT (768px+) ===== */
@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;
  }
}

/* ===== DESKTOP BREAKPOINT (1024px+) ===== */
@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;
  }
}

/* ===== LARGE DESKTOP BREAKPOINT (1200px+) ===== */
@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
    padding: 0 2rem;
  }
  
  .service-card {
    padding: 3rem;
  }
  
  .section {
    padding: 5rem 0;
  }
  
  .section-lg {
    padding: 6rem 0;
  }
}

/* ===== MOBILE-SPECIFIC FIXES ===== */
@media (max-width: 767px) {
  /* Prevent horizontal overflow */
  * {
    max-width: 100%;
  }
  
  /* Ensure all containers are full-width on mobile */
  .container,
  .container-fluid {
    width: 100%;
    max-width: 100%;
    padding: 0 1rem;
    margin: 0;
  }
  
  /* Force single column layouts */
  .services-grid,
  .types-grid,
  .features-grid,
  .gallery-grid,
  .reasons-grid,
  .service-areas-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  
  /* Fix text truncation issues */
  .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;
  }
  
  /* Ensure proper spacing on mobile */
  .service-card,
  .card,
  .image-card {
    margin-bottom: 1rem;
    width: 100%;
    max-width: 100%;
  }
  
  /* Mobile-optimized button layout */
  .btn-row {
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
  }
  
  .btn-row .btn {
    width: 100%;
    max-width: 280px;
  }
  
  /* Mobile-optimized image cards */
  .image-card img {
    height: 180px;
  }
  
  /* Reduce padding on mobile */
  .service-card,
  .card-body {
    padding: 1rem;
  }
  
  /* Mobile-optimized typography */
  h1 {
    font-size: 1.5rem;
  }
  
  h2 {
    font-size: 1.375rem;
  }
  
  h3 {
    font-size: 1.125rem;
  }
  
  p {
    font-size: 0.9rem;
  }
}

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

/* ===== HIGH CONTRAST MODE SUPPORT ===== */
@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;
  }
}

/* ===== PRINT STYLES ===== */
@media print {
  .card,
  .service-card {
    break-inside: avoid;
    box-shadow: none;
    border: 1px solid #000;
  }
  
  .btn {
    display: none;
  }
}

/* SERVICES PAGE MOBILE-FIRST FIXES */
/* Specifically addresses the issues shown in the mobile screenshot */

/* ===== MOBILE-FIRST SERVICE CARDS LAYOUT ===== */
/* Base mobile styles - single column */
.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;
}

/* Fix text truncation issues */
.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 styling */
.service-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
  width: 100%;
  height: 100%;
}

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

/* ===== MOBILE-FIRST IMAGE CARDS ===== */
.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%;
}

/* ===== MOBILE-FIRST CONTAINER FIXES ===== */
.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;
}

/* ===== MOBILE-FIRST TYPOGRAPHY ===== */
.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;
}

/* ===== TABLET BREAKPOINT (768px+) ===== */
@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;
  }
}

/* ===== DESKTOP BREAKPOINT (1024px+) ===== */
@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;
  }
}

/* ===== LARGE DESKTOP BREAKPOINT (1200px+) ===== */
@media (min-width: 1200px) {
  .services-grid {
    max-width: 1200px;
  }
  
  .image-cards-grid {
    max-width: 1200px;
  }
  
  .services-container {
    max-width: 1200px;
  }
}

/* ===== MOBILE-SPECIFIC OVERRIDES ===== */
@media (max-width: 767px) {
  /* Force single column on mobile */
  .services-grid,
  .image-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  
  /* Ensure no horizontal overflow */
  .service-card,
  .image-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Fix any potential text overflow */
  .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;
  }
  
  /* Ensure proper spacing */
  .service-card,
  .image-card {
    margin-bottom: 1rem;
  }
  
  /* Mobile-optimized padding */
  .service-card {
    padding: 1.25rem;
  }
  
  .image-card-caption {
    padding: 0.875rem;
  }
}

/* ===== ACCESSIBILITY IMPROVEMENTS ===== */
@media (prefers-reduced-motion: reduce) {
  .service-card,
  .image-card {
    transition: none;
  }
  
  .service-card:hover,
  .image-card:hover {
    transform: none;
  }
}

/* ===== HIGH CONTRAST MODE SUPPORT ===== */
@media (prefers-contrast: high) {
  .service-card,
  .image-card {
    border: 2px solid #000;
  }
  
  .service-card h3,
  .image-card-caption h3 {
    color: #000;
  }
}

/* MOBILE OVERRIDES - Critical fixes for mobile responsiveness */
/* This file contains important overrides to fix mobile issues */

/* ===== CRITICAL MOBILE FIXES ===== */
@media (max-width: 767px) {
  /* Prevent horizontal overflow */
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Force single column layouts */
  .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;
  }
  
  /* Fix text truncation issues */
  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;
  }
  
  /* Fix paragraph text */
  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;
  }
  
  /* Fix list items */
  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 fixes */
  .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 1rem !important;
    margin: 0 !important;
  }
  
  /* Card and service box fixes */
  .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;
  }
  
  /* Button fixes */
  .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;
  }
  
  /* Typography fixes */
  h1 {
    font-size: 1.5rem !important;
  }
  
  h2 {
    font-size: 1.375rem !important;
  }
  
  h3 {
    font-size: 1.125rem !important;
  }
  
  p {
    font-size: 0.9rem !important;
  }
  
  /* Image fixes */
  img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  .image-card img {
    height: 180px !important;
  }
  
  /* Section padding fixes */
  section {
    padding: 2rem 0 !important;
  }
  
  /* Prevent any horizontal scroll */
  body, html, .App {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ===== TABLET FIXES (768px - 1023px) ===== */
@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;
  }
}

/* ===== DESKTOP FIXES (1024px+) ===== */
@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;
  }
}

/* ===== LARGE DESKTOP FIXES (1200px+) ===== */
@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;
  }
}

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

/* ===== HIGH CONTRAST MODE SUPPORT ===== */
@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;
  }
}

/* ===== PRINT STYLES ===== */
@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;
  }
}

/* Performance Optimizations for Hundreds of Pages */

/* Critical CSS for above-the-fold content */
.critical-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50vh;
  font-size: 1.2rem;
  color: #1e40af;
}

/* Optimize font loading */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
}

/* Reduce layout shifts */
img {
  max-width: 100%;
  height: auto;
}

/* Ensure CTA backgrounds anchor to the bottom across all pages */
.contact-cta,
.cta-section,
.cta {
  background-position: center bottom !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* Optimize animations for performance */
@media (prefers-reduced-motion: no-preference) {
  .fade-in {
    animation: fadeIn 0.3s ease-in-out;
  }
  
  .slide-up {
    animation: slideUp 0.4s ease-out;
  }
}

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

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

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

/* Optimize scroll performance */
.smooth-scroll {
  scroll-behavior: smooth;
}

/* Optimize hover states */
.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);
}

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

/* Optimize container queries for responsive design */
@container (min-width: 768px) {
  .responsive-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

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

/* Optimize focus states for accessibility */
.focus-visible {
  outline: 2px solid #1e40af;
  outline-offset: 2px;
}

/* Optimize print styles */
@media print {
  .no-print {
    display: none !important;
  }
  
  body {
    font-size: 12pt;
    line-height: 1.4;
  }
  
  .page-break {
    page-break-before: always;
  }
}

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

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

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

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

/* Optimize for large screens */
@media (min-width: 1920px) {
  .container {
    max-width: 1600px;
    margin: 0 auto;
  }
}

/* Optimize for small screens */
@media (max-width: 480px) {
  .mobile-optimized {
    font-size: 14px;
    padding: 0.5rem;
  }
}

/* Optimize loading states */
.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

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

/* Optimize image containers */
.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;
}

/* Optimize lazy loading */
.lazy-load {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lazy-load.loaded {
  opacity: 1;
}

/* Optimize performance for large lists */
.virtual-scroll {
  contain: layout style paint;
}

/* Optimize CSS containment */
.contained {
  contain: layout style paint;
}

/* Optimize will-change for animations */
.animate-transform {
  will-change: transform;
}

.animate-opacity {
  will-change: opacity;
}

/* Reset will-change after animation */
.animation-complete {
  will-change: auto;
}

.header {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 25%, #1e40af 50%, #1e3a8a 75%, #1e40af 100%) !important; /* Beautiful blue gradient */
  color: white;
  position: fixed;
  top: 0;
  left: 0;
  right: 0; /* Use right: 0 instead of width: 100vw to respect scrollbar */
  z-index: 10000; /* Much higher than hero sections to appear on top */
  backdrop-filter: blur(10px) !important; /* More blur for better readability */
  border-bottom: none !important;
  overflow: visible; /* Allow dropdowns to show */
  /* Enable hardware acceleration for better performance */
  transform: none;
  -webkit-transform: none;
  will-change: auto;
  /* Remove shadow to eliminate any line */
  box-shadow: none;
  /* Add subtle animation to gradient */
  background-size: 200% 200%;
  animation: gradientShift 8s ease-in-out infinite;
  /* Ensure header doesn't overlap scrollbar */
  box-sizing: border-box;
}

/* Header positioning and overflow */
.header{position:fixed}
.header{overflow:visible}
.header{isolation:isolate}

/* Gradient animation keyframes */
@keyframes gradientShift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}


/* Subtle ripple effect overlay */
.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; /* Negative z-index to stay below content */
  animation: rippleEffect 12s ease-in-out infinite;
}

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

.header-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem; /* Add proper padding for CTA buttons */
  overflow: visible; /* Allow dropdowns to show */
  width: 100%;
  box-sizing: border-box;
}

/* Top Section - Contact Info */
.header-top {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 25%, #1e40af 50%, #1e3a8a 75%, #1e40af 100%) !important; /* Match header gradient */
  padding: 0.25rem 0 0.25rem 0 !important; /* Add bottom padding to connect with header-main */
  border-bottom: none !important;
  overflow: visible; /* Allow dropdowns to show */
  width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 10;
  margin: 0 !important; /* Remove any margins */
  margin-bottom: -1px !important; /* Pull sections together */
  margin-top: 0 !important; /* Explicitly remove top margin */
  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; /* Prevent line-height gaps */
  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; /* Prevent line-height gaps */
  margin: 0 !important;
  padding: 0 !important;
  color: white !important;
}

/* Ensure all contact info elements are white */
.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;
}

/* Force all header text to be white - Override CSS variables */
.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;
}

/* Specific overrides for any inherited styles */
.header .contact-link,
.header .contact-text,
.header .contact-separator {
  color: #ffffff !important;
}

/* Main Header Section */
.header-main {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 25%, #1e40af 50%, #1e3a8a 75%, #1e40af 100%) !important; /* Match header gradient */
  padding: 0.25rem 0 1rem 0 !important; /* Add top padding to connect with header-top */
  overflow: visible; /* Allow dropdowns to show */
  position: relative;
  z-index: 10;
  margin: 0 !important; /* Remove any margins */
  margin-top: -1px !important; /* Pull sections together */
  margin-bottom: 0 !important; /* Explicitly remove bottom margin */
  background-size: 200% 200%;
  animation: gradientShift 8s ease-in-out infinite;
}

.header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem; /* Increased gap for better spacing */
  width: 100%;
  max-width: 100%;
  overflow: visible; /* Allow dropdowns to show */
  position: relative;
  z-index: 10; /* Ensure content appears above wave effects */
}

.logo-section {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 1rem; /* Add right margin to separate from navigation */
}

.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;
  /* Reduced height since tagline is removed */
  min-height: auto;
}

.company-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: white;
  margin: 0;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
  line-height: 1.2;
}

/* Company tagline removed - no longer needed */

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

/* Navigation */
.nav {
  display: flex !important; /* Force display on all screen sizes initially */
  align-items: center;
  flex: 1;
  justify-content: center;
  margin: 0 1rem; /* Increased margin for better spacing */
  min-width: 0;
  overflow: visible; /* Allow dropdowns to show */
}

.nav-list {
  display: flex !important; /* Force display of nav list */
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.5rem; /* Increased gap between navigation items */
}

.nav-item {
  position: relative;
  display: inline-block;
  overflow: visible;
  z-index: 9999998; /* High z-index to support dropdown positioning */
}

.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 */
.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);
  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; /* Even higher z-index to ensure dropdowns are always on top */
  pointer-events: none;
  display: block !important;
  margin-top: 5px; /* Add small gap from nav item */
}

/* Hover-based and click-based dropdowns - this is the main rule */
.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;
}

/* Ensure dropdown stays open when clicking on it */
.dropdown-menu:hover {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
  display: block !important;
}

/* Debug: Make dropdowns always visible temporarily to test */
/* Uncomment the rule below to debug dropdown visibility */
/*
.nav-item .dropdown-menu {
  opacity: 0.5 !important; 
  visibility: visible !important; 
  transform: translateY(0) !important; 
  pointer-events: auto !important; 
  display: block !important;
}
*/

/* Desktop-specific spacing fixes */
@media (min-width: 769px) {
  .header-content {
    gap: 1.5rem; /* Extra spacing for desktop */
  }
  
  .nav {
    display: flex !important; /* Ensure nav is visible on desktop */
    margin: 0 1.5rem; /* Extra margin for desktop */
  }
  
  .nav-list {
    display: flex !important; /* Ensure nav list is visible on desktop */
    gap: 1rem; /* Extra gap between nav items on desktop */
  }
  
  .header-actions {
    gap: 1rem; /* Extra gap between action buttons on desktop */
  }
  
  /* Company tagline removed - no longer needed */
  
  .logo-section {
    margin-right: 2rem; /* Extra right margin on desktop */
  }
  
  .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; /* Ensure maximum z-index on desktop */
  }
  
  .nav-item:hover .dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    display: block !important;
  }
}

/* Remove debug styles - dropdowns are working */

/* Dropdowns are now hover-based */

.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 */
.header-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem; /* Increased gap between action buttons */
  flex-shrink: 0;
  margin-left: auto;
  min-width: 0;
  flex-wrap: nowrap;
}

/* Ensure buttons fit well together */
.header-actions .btn-compact {
  min-width: 70px;
  text-align: center;
  justify-content: center;
}

/* Primary buttons should have consistent sizing */
.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.4rem 0.8rem;
  font-size: 0.7rem;
  border-radius: 12px;
  min-width: 65px;
  max-width: 80px;
  justify-content: center;
  gap: 0.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
}

/* Extra padding for Get Quote button */
.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);
  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);
  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 */
.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);
  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;
}

/* Hamburger Animation - Transform to X */
.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);
}

/* Hide elements on desktop */
.desktop-hidden {
  display: none !important;
}

/* Mobile responsive rules */
@media (max-width: 768px) {
  .desktop-hidden {
    display: block !important;
  }
  
  /* Hide desktop navigation on mobile */
  .nav:not(.nav-open) {
    display: none !important;
  }
  
  /* Show mobile menu toggle */
  .mobile-menu-toggle {
    display: flex !important;
  }
  
  /* Hide desktop action buttons on mobile */
  .header-actions {
    display: none !important;
  }
  
  /* Show mobile action buttons when menu is open */
  .nav-open .header-actions {
    display: flex !important;
  }
}

/* Responsive Design */
@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;
  }
  
  .company-name {
    font-size: 1.6rem;
  }
  
  .dropdown-menu {
    min-width: 250px;
  }
}

@media (max-width: 768px) {
  .header-container {
    padding: 0 1rem;
  }
  
  /* Hide the top contact section on mobile */
  .header-top {
    display: none !important;
  }
  
  /* Ensure header-main fills the gap on mobile */
  .header-main {
    padding: 0.5rem 0 1rem 0 !important; /* Add top padding to fill gap */
  }
  
  /* Wave effect removed for mobile */
  
  .contact-info {
    gap: 0.4rem;
    font-size: 0.65rem;
    flex-wrap: wrap !important; /* Allow wrapping on mobile */
    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; /* Prevent shrinking to avoid overlap */
    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; /* Allow shrinking */
  }
  
  .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; /* Ensure minimum height for readability */
  }

  .company-name {
    font-size: 1.5rem;
  }

  /* Company tagline removed - no longer needed */

  /* Desktop navigation and buttons are already hidden by earlier rules */
  .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;
    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);
    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;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  .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);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .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;
  }

  /* Mobile menu action buttons */
  .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);
    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; /* Force red background for all mobile buttons */
  }

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

  .nav-open .header-actions .btn-outline {
    background: #dc2626 !important; /* Make outline buttons red too */
    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;
  }
  
  .company-name {
    font-size: 1.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;
  }
  
  /* Ensure buttons fit on small screens */
  .header-actions .btn-compact {
    min-width: 45px;
    max-width: 65px;
  }
}

/* Extra small mobile screens */
@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;
  }
  
  /* Ultra small screens - make buttons even more compact */
  .header-actions .btn-compact {
    min-width: 40px;
    max-width: 50px;
    font-size: 0.5rem;
  }

  /* Company tagline removed - no longer needed */
}

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

.footer {
  background: transparent; /* Let FooterRippleBackground handle all coloring */
  color: white;
  padding: 0;
  margin-top: 0;
  position: relative;
  width: 100vw; /* Full viewport width */
  margin-left: calc(-50vw + 50%); /* Center the full-width element */
}

/* Preload and cache SVG assets for zero-load flicker */
.fish,
.plant {
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
  /* Force hardware acceleration for smooth animations */
}

/* Subtle Water Light Ripple Effect - Applied to Wave Section */
.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);
  /* Hardware acceleration for smooth animation */
}

/* Subtle Water Light Ripple Effect - Applied to Footer Background */
.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);
  /* Hardware acceleration for smooth animation */
}

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


/* Wavy Divider - Enhanced with Smooth Curves and Gradient Fill */
.footer-wave {
  position: absolute;
  bottom: calc(100% - 20px); /* Moved wave higher to avoid text overlap */
  left: 50%;
  width: 100vw; /* true full-bleed */
  margin-left: calc(-50vw); /* center 100vw relative to footer */
  height: 180px; /* Slightly taller wave area */
  overflow: visible; /* Allow wave movement without clipping */
  transform: rotate(180deg);
  z-index: 2;
  pointer-events: none;
}

.footer-wave-svg {
  width: 100%;
  height: 100%;
  animation: waveContainerFloat 10s ease-in-out infinite;
  /* Ensure SVG covers the extended area */
  min-width: 100%;
}

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

/* Individual wave motion */
.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;
}

/* Gentle horizontal "flow" for natural water movement */
@keyframes waveMove1 {
  0% {
    transform: translateX(0) translateY(2px);
  }
  50% {
    transform: translateX(-30px) translateY(-2px);
  }
  100% {
    transform: translateX(0) translateY(2px);
  }
}

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

@keyframes waveMove3 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-60px);
  }
  100% {
    transform: translateX(0);
  }
}

/* Optional: on hover, make it more dynamic */
.footer-wave:hover .wave {
  animation-duration: 5s;
}

/* Wave reflection effect */
.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);
  }
  50% {
    transform: translateX(40px);
  }
}

/* Cloud Reflection Layer */
.cloud-reflection {
  position: absolute;
  top: 10px;
  left: 0;
  width: 200%;
  height: 100px;
  background: 
    radial-gradient(ellipse at 20% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
    radial-gradient(ellipse at 60% 30%, rgba(255, 255, 255, 0.08) 0%, transparent 40%),
    radial-gradient(ellipse at 80% 70%, rgba(255, 255, 255, 0.06) 0%, transparent 35%),
    radial-gradient(ellipse at 40% 80%, rgba(255, 255, 255, 0.05) 0%, transparent 30%),
    radial-gradient(ellipse at 90% 20%, rgba(255, 255, 255, 0.07) 0%, transparent 45%);
  animation: cloudsMove 120s linear infinite;
  opacity: 0.15;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: screen;
}

@keyframes cloudsMove {
  from { 
    transform: translateX(0); 
  }
  to { 
    transform: translateX(-50%); 
  }
}

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

.bubble {
  position: absolute;
  bottom: 0;
  width: 6px;
  height: 6px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  animation: rise 6s linear infinite;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.3);
}

@keyframes rise {
  0% { 
    transform: translateY(0) scale(1); 
    opacity: 1; 
  }
  100% { 
    transform: translateY(-300px) scale(1.5); 
    opacity: 0; 
  }
}

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

/* Fish Bubble Animations */
.fish-bubbles {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 4;
}

.bubble {
  position: absolute;
  width: 8px;
  height: 8px;
  background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.3) 70%, transparent 100%);
  border-radius: 50%;
  animation: bubbleFloat 3s ease-out infinite;
}

.bubble-left {
  left: 15%;
  bottom: 88px;
  animation-delay: 0s;
}

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

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

.bubble-right {
  right: 15%;
  bottom: 80px;
  animation-delay: 0.8s;
}

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

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

.bubble-center {
  left: 50%;
  bottom: 75px;
  animation-delay: 2s;
}

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

.bubble-small {
  left: 30%;
  bottom: 95px;
  width: 6px;
  height: 6px;
  animation-delay: 1.2s;
}

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

@keyframes bubbleFloat {
  0% {
    transform: translateY(0) scale(0.5);
    opacity: 0.8;
  }
  50% {
    transform: translateY(-30px) scale(1);
    opacity: 1;
  }
  100% {
    transform: translateY(-60px) scale(1.2);
    opacity: 0;
  }
}

.fish {
  position: absolute;
  width: 60px;
  opacity: 1.0;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  filter: brightness(1);
  will-change: transform, filter;
}

.fish-left {
  bottom: 100px;
  left: 5%;
  width: 40px;
  animation: hoverLeft 3.2s ease-in-out infinite, finFlutter1 0.8s ease-in-out infinite;
}

.fish-right {
  bottom: 110px;
  right: 6%;
  width: 45px;
  animation: hoverRight 4s ease-in-out infinite, finFlutter2 0.9s ease-in-out infinite;
}

.fish-center {
  bottom: 105px;
  left: 10%;
  width: 35px;
  animation: hoverCenter 4.8s ease-in-out infinite, finFlutter3 0.7s ease-in-out infinite;
}

.fish-small {
  bottom: 115px;
  right: 10%;
  width: 38px;
  animation: hoverSmall 4.5s ease-in-out infinite, finFlutter4 1s ease-in-out infinite;
}

/* Enhanced Fish Interaction - Change Direction on Hover */
.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);
}

/* Gentle hovering animations - fish hanging around plants */
@keyframes hoverLeft {
  0%, 100% {
    transform: translate(0px, 0px) scaleX(1) scaleY(-1) rotate(0deg);
  }
  25% {
    transform: translate(8px, -5px) scaleX(1.02) scaleY(-0.98) rotate(3deg);
  }
  50% {
    transform: translate(5px, 8px) scaleX(0.98) scaleY(-1.02) rotate(-2deg);
  }
  75% {
    transform: translate(-5px, -3px) scaleX(1.01) scaleY(-0.99) rotate(2deg);
  }
}

@keyframes hoverRight {
  0%, 100% {
    transform: translate(0px, 0px) scaleX(-1) scaleY(-1) rotate(0deg);
  }
  30% {
    transform: translate(-10px, 6px) scaleX(-1.03) scaleY(-0.97) rotate(-4deg);
  }
  60% {
    transform: translate(6px, -8px) scaleX(-0.97) scaleY(-1.03) rotate(3deg);
  }
  85% {
    transform: translate(-4px, 4px) scaleX(-1.02) scaleY(-0.98) rotate(-2deg);
  }
}

@keyframes hoverCenter {
  0%, 100% {
    transform: translate(0px, 0px) scaleX(1) scaleY(-1) rotate(0deg);
  }
  20% {
    transform: translate(-6px, -8px) scaleX(1.01) scaleY(-0.99) rotate(5deg);
  }
  50% {
    transform: translate(10px, 5px) scaleX(0.99) scaleY(-1.01) rotate(-4deg);
  }
  80% {
    transform: translate(-7px, 6px) scaleX(1.02) scaleY(-0.98) rotate(3deg);
  }
}

@keyframes hoverSmall {
  0%, 100% {
    transform: translate(0px, 0px) scaleX(-1) scaleY(-1) rotate(0deg);
  }
  35% {
    transform: translate(7px, -6px) scaleX(-1.03) scaleY(-0.97) rotate(-5deg);
  }
  65% {
    transform: translate(-8px, 7px) scaleX(-0.98) scaleY(-1.02) rotate(4deg);
  }
  90% {
    transform: translate(5px, -4px) scaleX(-1.01) scaleY(-0.99) rotate(-3deg);
  }
}

/* Fin flutter animations - using filter for subtle fin movement effect */
@keyframes finFlutter1 {
  0%, 100% {
    filter: brightness(1) contrast(1) saturate(1);
  }
  25% {
    filter: brightness(1.08) contrast(1.02) saturate(1.1);
  }
  50% {
    filter: brightness(0.98) contrast(1.01) saturate(1.05);
  }
  75% {
    filter: brightness(1.05) contrast(1.03) saturate(1.08);
  }
}

@keyframes finFlutter2 {
  0%, 100% {
    filter: brightness(1) contrast(1) saturate(1);
  }
  20% {
    filter: brightness(1.06) contrast(1.03) saturate(1.08);
  }
  60% {
    filter: brightness(0.97) contrast(1.02) saturate(1.06);
  }
  80% {
    filter: brightness(1.07) contrast(1.01) saturate(1.09);
  }
}

@keyframes finFlutter3 {
  0%, 100% {
    filter: brightness(1) contrast(1) saturate(1);
  }
  30% {
    filter: brightness(1.09) contrast(1.02) saturate(1.12);
  }
  70% {
    filter: brightness(0.96) contrast(1.03) saturate(1.04);
  }
}

@keyframes finFlutter4 {
  0%, 100% {
    filter: brightness(1) contrast(1) saturate(1);
  }
  15% {
    filter: brightness(0.98) contrast(1.01) saturate(1.05);
  }
  45% {
    filter: brightness(1.1) contrast(1.03) saturate(1.1);
  }
  85% {
    filter: brightness(1.04) contrast(1.02) saturate(1.07);
  }
}








/* Responsive adjustments for fish */
@media (max-width: 768px) {
  .fish {
    width: 45px;
    opacity: 0.7;
  }
  
  .fish-left {
    bottom: 78px;
  }
  
  .fish-right {
    bottom: 60px;
  }
}

@media (max-width: 480px) {
  .fish {
    width: 35px;
    opacity: 0.6;
  }
  
  .fish-left {
    bottom: 73px;
  }
  
  .fish-right {
    bottom: 45px;
  }
}

/* Floating Plants Layer */
.footer-plants {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 12; /* stay above background but below wave reflections */
  pointer-events: none;
}

.footer-plants .plant-left {
  position: absolute;
  bottom: 655px;   /* move up to footer-wave zone */
  left: 40px;
  width: 120px;   /* scale as needed */
  opacity: 0.9;
  animation: plantFloatLeft 5s ease-in-out infinite alternate;
}

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

/* Gentle floating animation to match waves */
@keyframes plantFloatLeft {
  0% { transform: translateY(0); }
  100% { transform: translateY(-10px); }
}

@keyframes plantFloatRight {
  0% { transform: translateY(0); }
  100% { transform: translateY(-8px); }
}

/* Optional: Match the wave's motion with horizontal sway */
@keyframes plantSway {
  0% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(3px, -8px) rotate(1deg); }
  100% { transform: translate(-3px, 0px) rotate(-1deg); }
}

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

/* Responsive adjustments for plants */
@media (max-width: 768px) {
  .footer-plants {
    height: 100px;
  }
  
  .plant {
    width: 90px;
    opacity: 0.6;
  }
}

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


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

/* Main Footer Content */
.footer-main {
  display: flex;
  align-items: flex-start;
  padding: 2rem 0 1rem 0;
  gap: 2rem;
  position: relative;
  z-index: 2; /* Ensure content appears above the wave but below sticky elements */
}

.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;
}

/* Contact Action Bar */
.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 */
.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);
  }
  50% {
    transform: rotate(5deg) scale(1.05);
  }
}

/* Modern Button Styles */
.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 */
.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;
}


/* Responsive Design */
@media (max-width: 900px) {
  .footer-wave {
    bottom: calc(100% - 60px);
    left: -50px; /* Reduced extension for tablet */
    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%; /* Reset to container width on mobile */
    margin-left: 0; /* Reset margin on mobile */
    padding-top: 40px; /* Reduce top padding */
  }
  
  /* Mobile Performance Optimization - Hide complex animations */
  .footer-wave {
    display: none !important;
  }
  
  .footer-fish-layer {
    display: none !important;
  }
  
  .fish-bubbles {
    display: none !important;
  }
  
  .footer-plants {
    display: none !important;
  }
  
  .cloud-reflection {
    display: none !important;
  }
  
  .bubble-container {
    display: none !important;
  }
  
  /* Hide ripple effects on mobile for better performance */
  .footer::before {
    display: none !important;
  }
  
  .footer-wave::after {
    display: none !important;
  }
  
  
  .container {
    padding: 0 1rem;
  }
  
  .footer-main {
    padding: 1rem 0;
    gap: 1rem;
  }
  
  /* Minimize brand section */
  .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;
  }
  
  /* Hide most footer columns, keep only essential ones */
  .footer-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
  
  /* Hide last 3 columns on mobile */
  .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;
  }
  
  /* Simplify contact bar */
  .footer-contact-bar {
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem 0 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  
  /* Hide individual contact items, keep only buttons */
  .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;
  }
  
  /* Minimal footer bottom */
  .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;
  }
  
  /* Even smaller brand on tiny screens */
  .brand-line {
    font-size: 1.5rem;
  }
  
  .brand-year {
    font-size: 1.1rem;
  }
  
  .brand-description {
    font-size: 0.8rem;
  }
  
  /* Stack footer columns */
  .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;
  }
  
  /* Compact contact bar */
  .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;
  }
  
  /* Minimal footer bottom */
  .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;
  }
}
/* Pre-Footer Section Styles (scoped) */
/* ⚠️ DO NOT MODIFY WITHOUT EXPLICIT PERMISSION - ALL TEXT COLORS ARE INTENTIONALLY BLACK FOR VISIBILITY */
.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;
  /* Enhanced gradient transition to footer */
  border-bottom: 3px solid transparent !important;
  background-clip: padding-box !important;
  /* Smooth transition to footer with wave effect */
  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; /* Lowered to connect with wave effect */
  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;
}

/* Pre-Footer Form */
.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;
}

/* Contact Info */
.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;
}

/* Blog Posts */
.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;
}

/* Company Section */
.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;
}

/* Form Error */
.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;
}

/* Success Modal */
.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;
}

/* Responsive Design for Pre-Footer */
@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; /* Above background, below content */
  opacity: 1.0;
}

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

/* Mobile optimization - reduce intensity on smaller screens */
@media (max-width: 768px) {
  .footer-ripple-background {
    opacity: 0.3;
  }
}

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

/* App.css - Hero styles removed, now using StandardizedHero component */

/* Global Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Enable hardware acceleration for better scroll performance */
html {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto; /* Disable smooth scrolling for better performance */
}

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

/* Prevent horizontal overflow on all pages */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

.App {
  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;
}

/* MOBILE-FIRST Container System */
/* Base mobile styles */
.container {
  width: 100%;
  max-width: 100%;
  padding: 0 1rem;
  margin: 0 auto;
}

/* Prevent horizontal overflow on mobile */
* {
  max-width: 100%;
  box-sizing: border-box;
}

/* Mobile-specific fixes */
@media (max-width: 767px) {
  .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 1rem !important;
    margin: 0 !important;
  }
  
  /* Ensure all content fits within viewport */
  body, html {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* Fix any potential horizontal scroll issues */
  .App {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  
  /* Make sections full-width but contained */
  section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Ensure page wrappers are contained */
  .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;
  }
}

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

/* Main Content - Add header offset to prevent content from going under fixed header */
main {
  padding-top: var(--header-offset, var(--header-height, 120px)) !important;
  margin-top: 0 !important;
  min-height: 100vh;
  background: white;
  position: relative;
  z-index: 0; /* Ensure main content is below header but above footer */
  /* Enable hardware acceleration for better scroll performance */
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: scroll-position;
}

/* Ensure first child elements also respect header spacing */
main > *:first-child {
  margin-top: 0 !important;
}

/* Hero sections that are first child compensate for main's padding-top */
/* Since hero already has margin-top with header-offset, subtract main's padding */
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;
}

/* Force zero gaps between hero and main content */
.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;
}

/* Force zero gaps for all sections after hero */
.standardized-hero ~ *,
.standardized-hero ~ * > *:first-child,
.standardized-hero ~ * > *:first-child > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Nuclear option - force negative margins to eliminate any gaps */
.standardized-hero + main {
  margin-top: -1px !important;
}

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

/* Force all elements after hero to have zero spacing */
.standardized-hero ~ * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Target specific elements that might be creating gaps */
.standardized-hero ~ main,
.standardized-hero ~ main > *,
.standardized-hero ~ main > * > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* App container for ripple effect */
.App {
  min-height: 100vh;
  position: relative;
  overflow-x: hidden; /* Prevent horizontal scroll from ripple effects */
  /* Enable hardware acceleration for better scroll performance */
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: scroll-position;
}

/* Universal rule: All sections after hero must have no top spacing */
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;
}

/* Universal Blue Gradient for First Section After Hero */
.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; /* Remove top padding to eliminate gap after hero */
  padding-top: 0 !important; /* Force zero top padding */
  margin-top: 0 !important; /* Force zero top margin */
  position: relative;
  overflow: hidden;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  z-index: 1 !important;
}

/* Override any existing background colors */
.first-section-gradient * {
  background: transparent !important;
}

/* Ensure text is readable on gradient backgrounds */
.first-section-gradient {
  color: #1e293b !important; /* Dark blue-gray for good contrast */
}

.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; /* Dark blue-gray for headings */
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8) !important; /* White shadow for better contrast */
}

.first-section-gradient p,
.first-section-gradient span,
.first-section-gradient div {
  color: #334155 !important; /* Slightly lighter but still dark for body text */
}

/* Ensure buttons are visible on gradient */
.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;
}

/* Universal Blue Gradient Wipe Up - for sections above CTA */
.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; /* Remove top padding to eliminate gap after hero */
  padding-top: 0 !important; /* Force zero top padding */
  margin-top: 0 !important; /* Force zero top margin */
  position: relative;
  overflow: hidden;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  z-index: 1 !important;
}

/* Override any existing background colors for wipe up */
.gradient-wipe-up * {
  background: transparent !important;
}

/* Ensure text is readable on gradient wipe up backgrounds */
.gradient-wipe-up {
  color: #1e293b !important; /* Dark blue-gray for good contrast */
}

.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; /* Dark blue-gray for headings */
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8) !important; /* White shadow for better contrast */
}

.gradient-wipe-up p,
.gradient-wipe-up span,
.gradient-wipe-up div {
  color: #334155 !important; /* Slightly lighter but still dark for body text */
}

/* Ensure buttons are visible on gradient wipe up */
.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;
}

/* Ensure links are visible on gradient backgrounds */
.gradient-wipe-up a,
.first-section-gradient a {
  color: #1e40af !important; /* Blue for links */
  text-decoration: none !important;
}

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

/* Ensure form elements are visible on gradient backgrounds */
.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;
}

/* Ensure labels are visible */
.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;
}

/* Ensure cards and info sections are visible */
.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;
}

/* Ensure lists are visible on gradient backgrounds */
.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;
}

/* Ensure checkmarks and special elements are visible */
.first-section-gradient .checkmark,
.gradient-wipe-up .checkmark {
  color: #059669 !important; /* Green for checkmarks */
  font-weight: bold !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

/* Ensure step numbers and process elements are visible */
.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;
}

/* Ensure contact info is visible */
.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;
}

/* Button Styles */
.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);
  }
  50% {
    transform: translateY(-10px) scaleX(1.03);
  }
}

@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;
}

/* Global CTA Full-Width Rule */
.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; /* Full viewport width */
  margin-left: calc(-50vw + 50%) !important; /* Center the full-width element */
}

/* Reset full-width on mobile for CTA sections */
@media (max-width: 768px) {
  
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }

.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }

/* Mobile-First Responsive Design */
@media (max-width: 480px) {
  .container {
    padding: 0 0.75rem;
  }
  
  .btn {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    min-height: 44px; /* Touch-friendly minimum size */
  }
  
  main {
    padding-top: var(--header-offset, var(--header-height, 100px)) !important;
  }
  
  /* Hero sections adjust for mobile header height */
  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;
  }
  
  /* Improve touch targets */
  a, button, input, select, textarea {
    min-height: 44px;
    min-width: 44px;
  }
  
  /* Optimize text for mobile reading */
  body {
    font-size: 16px; /* Prevent zoom on iOS */
    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; /* Touch-friendly minimum size */
  }
  
  main {
    padding-top: var(--header-offset, var(--header-height, 100px)) !important;
  }
  
  /* Hero sections adjust for mobile header height */
  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;
  }
  
  /* Improve touch targets */
  a, button, input, select, textarea {
    min-height: 44px;
    min-width: 44px;
  }
  
  /* Optimize text for mobile reading */
  body {
    font-size: 16px; /* Prevent zoom on iOS */
    line-height: 1.5;
  }
}

@media (min-width: 769px) {
  /* Desktop optimizations */
  .container {
    padding: 0 2rem;
  }
  
  .btn {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
  }
}

/* Global Mobile Service Minimization Rules */
/* Hide mobile service descriptions on desktop */
.service-description-mobile {
  display: none;
}

@media (max-width: 768px) {
  /* Hide desktop service descriptions on mobile */
  .service-content p:not(.service-description-mobile),
  .service-info p:not(.service-description-mobile) {
    display: none !important;
  }
  
  /* Show mobile service descriptions */
  .service-description-mobile {
    display: block !important;
    font-size: 0.9rem !important;
    margin-bottom: 1rem !important;
    line-height: 1.4 !important;
    color: #374151 !important;
  }
  
  /* Hide desktop-only service features */
  .service-features.desktop-only,
  .service-details.desktop-only {
    display: none !important;
  }
}

/* Global Mobile Overflow Prevention for All Pages */
@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;
  }
  
  /* Prevent horizontal overflow on all pages */
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Fix text overflow on all pages */
  h1, h2, h3, h4, h5, h6, p, span, div, a, li {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  
  /* Fix container overflow */
  .container {
    max-width: 100% !important;
    overflow-x: hidden !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  /* Fix first-section-gradient overflow */
  .first-section-gradient {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
  }
  
  /* Fix image overflow */
  img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }
  
  /* Fix grid layouts */
  .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 STYLES ========== */
/* Ensuring these styles are always included in the build */
.pre-footer-section {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 25%, #1e3a8a 50%, #1e40af 75%, #3b82f6 100%) !important;
}

/* Force dark background with maximum specificity */
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;
}

/* Modal Styles */
.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;
}

/* Responsive Design for Pre-Footer */
@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;
  }
}

/* Override any conflicting background styles */
.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;
}

/* Force override any inline styles or conflicting CSS */
.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;
}

/* STANDARDIZED HERO SECTION - Now uses HomePage hero compact structure */
.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;
}

/* Responsive Design for Compact Hero */
@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;
  }
}
/* ServiceSplitHero - Dual-column hero matching HomePage design */

.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;
}

/* Retail Panel Specific Styles */
.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;
}

/* Responsive adjustments */
@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 STYLES - Centralized hero and layout styles */

/* Base page template */
.page-template {
  background: var(--bg);
  color: var(--ink);
  min-height: auto; /* Changed from 100vh to auto to prevent extra white space */
  padding: 0 !important;
  padding-top: 0 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  overflow-x: hidden;
  display: block;
}

/* Ultra-pools-style removed - now using StandardizedHero */

/* Vertical Phone Number - Right Side */
.vertical-phone {
  position: absolute;
  right: 0;
  top: 0;
  height: 100vh;
  width: 60px;
  background: linear-gradient(135deg, #1e40af, #1d4ed8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20;
  box-shadow: -5px 0 15px rgba(0, 0, 0, 0.2);
}

.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);
}

/* Hero Content - Left Aligned */
.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);
}

/* PageTemplate now uses StandardizedHero component */

/* MAIN CONTENT GRADIENT WRAPPER */
.main-content-gradient {
  background: linear-gradient(to bottom,
    #87ceeb 0%,     /* Baby blue at top - connected to wave */
    #b3e5fc 15%,    /* Light baby blue */
    #d1ecf1 30%,    /* Very light blue */
    #e8f4f8 50%,    /* Pale blue */
    #f0f8ff 70%,    /* Very pale blue */
    #f8fafc 85%,    /* Almost white */
    #ffffff 100%    /* Pure white at bottom */
  );
  min-height: auto; /* Changed from 100vh to auto to prevent extra white space */
  position: relative;
  z-index: 1;
  display: block;
  margin: 0 !important; /* Remove all margins with !important */
  margin-top: 0 !important; /* Force zero top margin - no negative */
  padding: 0 !important; /* Remove all padding with !important */
  padding-top: 0 !important; /* Force zero top padding */
}

/* Mobile styles removed - now using StandardizedHero */
@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;
  }
}

/* MOBILE RESPONSIVE STYLES */
@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; /* Disable wave animation on mobile for performance */
  }
  
  .main-content-gradient {
    min-height: auto !important;
    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;
  }
  
  /* Enhanced mobile accessibility for hero section */
  .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;
  }
}

/* Reduced motion - DISABLE ALL WAVE ANIMATIONS */
@media (prefers-reduced-motion: reduce) {
  .page-hero::before {
    animation: none !important;
  }
  .page-hero::after {
    animation: none !important;
  }
  .page-hero-fallback {
    animation: none !important; /* Disable pond wave animation for reduced motion */
  }
  .hero-wave-attached {
    display: none !important;
  }
}

/* VERTICAL STICKY CONTACT NUMBER - Global Component */
.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);
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .vertical-sticky-contact {
    width: 45px;
    height: 250px;
    right: -2px; /* Slight adjustment for mobile */
  }
  
  .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;
  }
}

/* Ensure sidebar doesn't interfere with page content */
@media (min-width: 769px) {
  body {
    padding-right: 0; /* No padding needed on desktop since sidebar is small */
  }
}

/* Hide on very small screens if needed */
@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; }

/* Mobile sticky bar for higher conversion */
@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);
    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-eyebrow {
  display: inline-flex;
  align-self: center;
  align-items: center;
  gap: 0.4rem;
  background: rgba(59, 130, 246, 0.12);
  color: #1d4ed8;
  border-radius: 999px;
  padding: 0.5rem 1.2rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.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 Section Styles */
.cta {
  width: 100vw !important; /* Ensures the section spans the full viewport width */
  margin-left: calc(-50vw + 50%) !important; /* Centers the section and offsets any parent container's centering */
  margin-right: calc(-50vw + 50%) !important; /* Ensures right side also breaks out */
  background-color: transparent;
  color: #fff;
  padding-block: clamp(2.5rem, 6vw, 4rem);
  position: relative;
  left: 0;
  right: 0;
  max-width: none !important; /* Override any max-width constraints */
  box-sizing: border-box;
}

/* Image background layer */
.cta-bg{position:absolute;inset:0;z-index:1;overflow:hidden}
.cta-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}

/* Readability overlay */
.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
}

.cta > *{position:relative;z-index:2}

.cta h2 {
  font-size: clamp(1.75rem, 4.5vw, 2.5rem);
  margin: 0.25rem 0;
}

.cta p {
  opacity: 0.95;
}
/* Blog Hero Compact - Matching Homepage Style */
.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;
}

/* Mobile adjustments for compact hero */
@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;
  }
}

/* High contrast mode support */
@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 PAGE TEMPLATE - SEO-OPTIMIZED MODERN DESIGN */

.city-page-modern {
  background: #ffffff;
  min-height: 100vh;
}

.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 SECTION ========== */
.city-intro {
  padding: 4rem 0;
  background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%);
}

.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);
}

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

/* ========== SERVICES SECTION ========== */
.city-services {
  padding: 4rem 0;
  background: #ffffff;
}

.services-intro {
  font-size: 1.125rem;
  line-height: 1.8;
  color: #64748b;
  text-align: center;
  max-width: 900px;
  margin: 0 auto 3rem auto;
}

.services-intro a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}

.services-intro a:hover {
  text-decoration: underline;
}

.services-dual-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-top: 3rem;
}

.service-block {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border-radius: 16px;
  padding: 2.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.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);
}

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

.service-description {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
  margin-bottom: 1.5rem;
}

.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 {
  background: #fef3c7;
  border-left: 4px solid #f59e0b;
  padding: 1rem;
  margin: 1.5rem 0;
  font-size: 0.95rem;
  border-radius: 4px;
}

.service-highlight a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}

.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 SERVICES ========== */
.city-services-detailed {
  padding: 4rem 0;
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
}

.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);
}

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

/* ========== WHY CHOOSE US ========== */
.city-why-choose {
  padding: 4rem 0;
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
}

.why-lead {
  font-size: 1.125rem;
  line-height: 1.8;
  color: #334155;
  max-width: 900px;
  margin: 0 auto 3rem auto;
}

.features-showcase {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}

.feature-box {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.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 h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 0.5rem;
}

.feature-box p {
  font-size: 0.95rem;
  color: #64748b;
  line-height: 1.6;
}

.feature-box a {
  color: #1e40af;
  text-decoration: none;
}

.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);
}

.gallery-img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}

.gallery-caption {
  padding: 1rem;
  background: white;
  font-size: 0.9rem;
  color: #64748b;
  text-align: center;
  margin: 0;
}

/* ========== SEASONAL CARE ========== */
.city-seasonal {
  padding: 4rem 0;
  background: #ffffff;
}

.seasonal-intro {
  font-size: 1.125rem;
  text-align: center;
  color: #64748b;
  line-height: 1.8;
  max-width: 900px;
  margin: 0 auto 3rem auto;
}

.seasonal-intro a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}

.seasonal-intro a:hover {
  text-decoration: underline;
}

.seasons-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}

.season-block {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border-radius: 12px;
  padding: 2rem;
  text-align: center;
  border-top: 4px solid #cbd5e1;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.season-block.spring {
  border-top-color: #10b981;
}

.season-block.summer {
  border-top-color: #f59e0b;
}

.season-block.fall {
  border-top-color: #ef4444;
}

.season-block.winter {
  border-top-color: #3b82f6;
}

.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-block h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e40af;
  margin-bottom: 0.5rem;
}

.season-subtitle {
  font-size: 0.95rem;
  color: #64748b;
  margin-bottom: 1rem;
  font-style: italic;
}

.season-description {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #475569;
  margin-bottom: 1.5rem;
  text-align: left;
}

.season-description a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}

.season-description a:hover {
  text-decoration: underline;
}

.season-block ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0 0;
  text-align: left;
}

.season-block ul li {
  padding: 0.5rem 0;
  color: #475569;
  font-size: 0.95rem;
  border-bottom: 1px solid #e2e8f0;
}

.season-block ul li:last-child {
  border-bottom: none;
}

.season-block ul li a {
  color: #1e40af;
  text-decoration: none;
}

.season-block ul li a:hover {
  text-decoration: underline;
}

/* ========== EQUIPMENT SECTION ========== */
.city-equipment {
  padding: 4rem 0;
  background: linear-gradient(135deg, #fef9e8 0%, #ffffff 100%);
}

.equipment-intro {
  font-size: 1.125rem;
  line-height: 1.8;
  color: #475569;
  max-width: 900px;
  margin: 0 auto 3rem auto;
  text-align: center;
}

.equipment-intro a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}

.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 KNOWLEDGE ========== */
.city-local {
  padding: 4rem 0;
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
}

.local-lead {
  font-size: 1.125rem;
  line-height: 1.8;
  color: #334155;
  max-width: 900px;
  margin: 0 auto 3rem auto;
}

.local-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-top: 3rem;
}

.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;
}

.local-subtext {
  color: #64748b;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  line-height: 1.6;
}

.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 {
  font-size: 0.95rem;
  color: #64748b;
  font-style: italic;
  margin-top: 1rem;
}

.local-note a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}

.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);
}

.local-showcase-img {
  width: 100%;
  height: auto;
  display: block;
}

/* ========== POND STYLES ========== */
.city-pond-styles {
  padding: 4rem 0;
  background: #ffffff;
}

.styles-intro {
  font-size: 1.125rem;
  line-height: 1.8;
  color: #64748b;
  text-align: center;
  max-width: 900px;
  margin: 0 auto 3rem auto;
}

.styles-intro a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}

.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 SECTION ========== */
.city-faq {
  padding: 4rem 0;
  background: linear-gradient(135deg, #fef3c7 0%, #fef9e8 100%);
}

.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 SECTION ========== */
.city-process {
  padding: 4rem 0;
  background: linear-gradient(135deg, #e0f2fe 0%, #ffffff 100%);
}

.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 ========== */
.city-testimonials {
  padding: 4rem 0;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
}

.testimonials-intro {
  font-size: 1.125rem;
  text-align: center;
  color: #64748b;
  max-width: 900px;
  margin: 0 auto 3rem auto;
  line-height: 1.8;
}

.testimonials-intro a {
  color: #1e40af;
  font-weight: 600;
  text-decoration: none;
}

.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;
}

.testimonial-text {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
  font-style: italic;
  margin-bottom: 1rem;
}

.testimonial-author {
  font-size: 0.9rem;
  color: #1e40af;
  font-weight: 600;
}

/* ========== INTERNAL LINKS ========== */
.city-internal-links {
  padding: 3rem 0;
  background: #f8fafc;
}

/* ========== CTA SECTION ========== */
.city-cta {
  padding: 4rem 0;
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
}

.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-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.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);
}

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

/* ========== RESPONSIVE DESIGN ========== */

@media (max-width: 1024px) {
  .services-dual-column {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  
  .features-showcase {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .seasons-timeline {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .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;
  }
  
  .features-showcase {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  
  .seasons-timeline {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  
  .equipment-grid {
    grid-template-columns: 1fr;
  }
  
  .local-dual {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  
  .faq-grid {
    grid-template-columns: 1fr;
  }
  
  .intro-content h2 {
    font-size: 2rem;
  }
  
  .intro-text {
    font-size: 1rem;
  }
  
  .service-block {
    padding: 1.5rem;
  }
  
  .cta-content h2 {
    font-size: 1.75rem;
  }
  
  .cta-content p {
    font-size: 1rem;
  }
  
  .cta-actions {
    flex-direction: column;
  }
  
  .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;
  }
  
  .block-img {
    height: 200px;
  }
  
  .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 Styles */
.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;
}

/* Responsive Design */
@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; /* slate-900 */
  --muted: #64748b; /* slate-500 */
  --primary: #1e40af; /* indigo-800 */
  --accent: #10b981; /* emerald-500 */
  --cta: #dc2626; /* red-600 */
  --ring: 0 0 0 4px rgba(30,64,175,.2);
}
*{box-sizing:border-box;margin:0;padding:0}
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; /* Extra padding on right to prevent sticky button overlap */
  }
}
@media (max-width: 480px) {
  .container {
    padding-right: 35px; /* Extra padding on right to prevent sticky button overlap */
  }
}
.row{display:flex;align-items:flex-end;gap:1rem;justify-content:space-between}
.center{text-align:center}
.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;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 - Reduced height version */
.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 - Legacy styles kept for reference */
.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);
  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 - Standalone section below hero */
.hero-cards-section{
  padding:clamp(3rem,5vw,4rem) 0;
  background: linear-gradient(135deg, 
    #f0fdf4 0%,     /* Light green at top */
    #f8fafc 25%,    /* Light gray-green */
    #e2e8f0 50%,    /* Light gray */
    #f1f5f9 75%,    /* Light blue-gray */
    #eff6ff 100%    /* Light blue at bottom */
  );
  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;
}

/* Responsive design for hero cards */
@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;
  }
}

/* Mobile adjustments for compact hero */
@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 */
.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} /* Remove padding-top to eliminate white gap */
.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}

/* Wave effect removed to eliminate dead space under hero */
.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}

/* Enhanced wave effect removed to eliminate dead space */

/* Service Areas Section */
.service-areas {
  background: #f8fafc;
  padding: 4rem 0;
}

.service-areas h2 {
  text-align: center;
  margin-bottom: 1rem;
  color: var(--ink);
  font-size: 2.5rem;
  font-weight: 700;
}

.service-areas-intro {
  text-align: center;
  margin-bottom: 2rem;
  color: var(--muted);
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.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);
}

/* Carousel Accessibility Improvements */
.crsl:focus {
  outline: 2px solid var(--primary);
  outline-offset: 4px;
}

.dot {
  width: 12px;
  height: 12px;
  border-radius: 9999px;
  border: 2px solid #e2e8f0;
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}

.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;
}

/* Image stability improvements */
.card.item {
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.card.item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Hero background height reservation */
.hero {
  min-height: clamp(380px, 60vh, 720px);
  aspect-ratio: 16 / 9;
  contain: paint;
}

/* Services background styles removed - replaced with clean three-column layout */

/* FAQ Section */
.faq {
  background: #f8fafc;
  padding: 4rem 0;
}

.faq h2 {
  text-align: center;
  margin-bottom: 2rem;
  color: var(--ink);
  font-size: 2.5rem;
  font-weight: 700;
}

.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 for accessibility */
.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;
}

/* Focus styles for all interactive elements */
:where(a, button, [role="button"]):focus-visible {
  outline: 3px solid #1e40af;
  outline-offset: 2px;
}

/* Screen reader only class */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Pond Showcase Section */
.pond-showcase {
  background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
  padding: 3rem 0;
  margin: 2rem 0;
}

.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;
}

.pond-showcase-text h2 {
  color: #1a365d;
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 1.5rem;
  line-height: 1.2;
}

.pond-showcase-text p {
  color: #4a5568;
  font-size: 1.1rem;
  line-height: 1.6;
  margin: 0 0 2rem;
}

.showcase-features {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.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;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .pond-showcase {
    padding: 2rem 0;
    margin: 1rem 0;
  }
  
  .pond-showcase-content {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0 1rem;
  }
  
  .pond-showcase-text h2 {
    font-size: 2rem;
    text-align: center;
  }
  
  .pond-showcase-text p {
    text-align: center;
  }
  
  .showcase-img {
    height: 300px;
  }
  
  .showcase-features {
    gap: 0.75rem;
  }
  
  .feature {
    padding: 0.75rem;
  }
}

/* Performance: Remove background-attachment: fixed on mobile */
@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-Only Image Section Above Footer */
.mobile-image-section {
  display: none; /* Hidden by default */
  margin: 0 !important; /* Remove all margins */
  padding: 0 !important; /* Remove all padding */
  line-height: 0; /* Remove any line height spacing */
  font-size: 0; /* Remove any font size spacing */
}

.mobile-image-container {
  position: relative;
  width: 100%;
  height: 300px;
  overflow: hidden;
  margin: 0 !important; /* Remove all margins */
  padding: 0 !important; /* Remove all padding */
  line-height: 0; /* Remove any line height spacing */
  font-size: 0; /* Remove any font size spacing */
}

.mobile-pond-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center; /* Show bottom of image (pond with lilies) */
  display: block;
  margin: 0 !important; /* Remove all margins */
  padding: 0 !important; /* Remove all padding */
}

.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;
}

/* Show only on mobile devices */
@media (max-width: 768px) {
  .mobile-image-section {
    display: none; /* Hidden on mobile as requested */
    margin-top: 0 !important; /* Ensure flush with NAP footer */
    margin-bottom: 0 !important; /* Ensure flush with bottom */
  }
  
  .mobile-image-container {
    height: 250px;
  }
  
  .mobile-image-overlay h2 {
    font-size: 2rem;
  }
  
  .mobile-image-overlay p {
    font-size: 1.1rem;
  }
  
  /* Mobile contact section background */
  .nap-footer {
    background-attachment: scroll !important; /* Better performance on mobile */
    background-position: center top !important; /* Show top of pond image on mobile */
  }
}

@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 for Local SEO */
.nap-footer {
  color: white;
  padding: 2rem 0;
  text-align: center;
  margin-bottom: 0 !important; /* Remove any bottom margin */
  margin-top: 0 !important; /* Remove any top margin */
  position: relative;
}

/* Ensure no white space at bottom of page */
body, html {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
}

#root {
  margin: 0 !important;
  padding: 0 !important;
}

.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; /* Ensure content is above background */
}

.nap-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7); /* Add text shadow for readability */
}

.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;
}

/* Shop CTA */
.shop-cta {
  text-align: center;
  margin-top: 2rem;
}

/* Sticky phone contact accessibility - Moved to global StickySidebar.css component */

/* Hero wave animation removed */

/* Wave effect element removed to eliminate dead space */

/* Wave animations removed to eliminate dead space */

/* HERO INTRO SECTION */
.hero-intro-section {
  padding: 0 0 0 0; /* Remove top padding to eliminate gap after hero */
  padding-top: 0 !important;
  margin-top: 0 !important;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  position: relative;
  overflow: hidden;
}

/* Scroll Animation Classes */
.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 {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.animate-slide-in-right {
  opacity: 1 !important;
  transform: perspective(1000px) rotateY(-5deg) rotateX(2deg) translateX(0) !important;
}

/* Staggered animation for text elements */
.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;
}

/* Keyframe animations */
@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.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;
  /* Prevent awkward hyphenation; wrap only at spaces */
  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;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .hero-intro-section {
    padding: 60px 0;
    padding-right: 40px; /* Add padding to prevent overlap with sticky button */
  }
  
  .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;
  }
  
  .animate-slide-in-right {
    transform: 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; /* Add padding to prevent overlap with sticky button */
  }
  
  .hero-intro-content {
    gap: 30px;
  }
  
  .hero-intro-actions {
    flex-direction: column;
  }
  
  .hero-intro-actions .btn {
    width: 100%;
  }
}

/* VERTICAL STICKY CONTACT NUMBER - Moved to global StickySidebar.css component */

/* SERVICES THREE COLUMN SECTION */
.services-three-column {
  padding: 4rem 0;
  position: relative;
  overflow: hidden;
}

/* Background image overlay removed - using direct background image */

.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);
}

/* Three Column Grid */
.services-three-column-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 4rem;
  position: relative;
  z-index: 3;
}

.service-column {
  text-align: center;
  padding: 2rem 1rem;
  position: relative;
}

.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-column-title {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}

.service-column-description {
  color: #e2e8f0;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}

/* New: service feature bullets and actions */
.service-features {
  margin: 1rem auto 0.5rem;
  padding-left: 1.25rem;
  max-width: 36ch;
  color: #f8fafc;
  text-align: left;
}

.service-features li {
  list-style: none;
  position: relative;
  padding-left: 1.25rem;
  margin: 0.35rem 0;
  text-shadow: 0 1px 3px rgba(0,0,0,.6);
}

.service-features li::before {
  content: '✓';
  color: #34d399; /* emerald */
  position: absolute;
  left: 0;
}

.service-actions {
  display: flex;
  gap: .75rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.services-cta-row {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 2.5rem 0 0;
}


/* Additional Information */
.additional-info {
  margin-top: 3rem;
  text-align: center;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 3;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(5px);
  border-radius: 12px;
  padding: 2rem;
  border: 1px solid rgba(59, 130, 246, 0.2);
}

.additional-info p {
  color: #e2e8f0;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}

.company-credentials {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.company-credentials p {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}

/* Mobile-Only Contact Form */
.mobile-contact-form {
  display: none; /* Hidden by default */
  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);
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .mobile-contact-form {
    display: block; /* Show on mobile */
  }

  .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;
  }

  .service-column-title {
    font-size: 1.25rem;
  }

  .service-column-description {
    font-size: 0.95rem;
  }

  .service-features {
    max-width: 100%;
  }

  .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;
  }
  
  
  
  .additional-info {
    margin-top: 2rem;
  }
}

/* Legacy services grid styles removed - replaced with three-column layout */

/* UNIVERSAL SVG WAVE DIVIDER - REMOVED */

/* Smooth blend from hero to services background */
.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}

/* Wave blend styles removed */

/* Wave float animation removed */

/* CTA SECTION WITH ENHANCED WAVES */
.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;
}

/* Ensure CTA content appears above waves */
.cta-section-wrapper > *:not(.cta-wave-top):not(.cta-wave-bottom) {
  position: relative;
  z-index: 2;
}

/* Remove old bar waves usage on mobile queries below also references svg */

/* ABOUT WAVE TRANSITION */
.about-wave {
  width: 100%;
  height: 60px;
  background: #60a5fa;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1000;
}

/* SHOP WAVE TRANSITION */
.shop-wave {
  width: 100%;
  height: 60px;
  background: #93c5fd;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1000;
}

/* Wave responsive styles removed */

/* Hide Shop section on mobile */
@media (max-width: 768px) {
  .home section[aria-labelledby="shop-h"] {
    display: none !important;
  }
  
  .home .service-areas {
    display: none !important;
  }
}

/* Mobile responsive for vertical sticky contact - Moved to global StickySidebar.css component */

/* Hero pond image wave animation - SUBTLE movement */
@keyframes hero-pond-wave {
  0%, 100% {
    transform: translateX(0px) translateY(0px) rotate(0deg) scale(1);
  }
  12.5% {
    transform: translateX(0.5px) translateY(-0.3px) rotate(0.05deg) scale(1.0002);
  }
  25% {
    transform: translateX(0px) translateY(-0.6px) rotate(0deg) scale(1.0004);
  }
  37.5% {
    transform: translateX(-0.5px) translateY(-0.3px) rotate(-0.05deg) scale(1.0002);
  }
  50% {
    transform: translateX(0px) translateY(0px) rotate(0deg) scale(1);
  }
  62.5% {
    transform: translateX(0.3px) translateY(0.3px) rotate(0.03deg) scale(0.9998);
  }
  75% {
    transform: translateX(0px) translateY(0.6px) rotate(0deg) scale(0.9996);
  }
  87.5% {
    transform: translateX(-0.3px) translateY(0.3px) rotate(-0.03deg) scale(0.9998);
  }
}


/* MAIN CONTENT GRADIENT WRAPPER */
.main-content-gradient {
  background: linear-gradient(to bottom, 
    #87ceeb 0%,     /* Baby blue at top - connected to wave */
    #b3e5fc 15%,    /* Light baby blue */
    #d1ecf1 30%,    /* Very light blue */
    #e8f4f8 50%,    /* Pale blue */
    #f0f8ff 70%,    /* Very pale blue */
    #f8fafc 85%,    /* Almost white */
    #ffffff 100%    /* Pure white at bottom */
  );
  min-height: auto; /* Changed from 100vh to auto to prevent extra white space */
  position: relative;
  z-index: 1;
  margin: 0; /* Remove all margins */
  padding: 0; /* Remove all padding */
  padding-top: 0; /* Remove any top padding */
}

/* SECTIONS */
.section{padding-block:0 clamp(2.5rem,6vw,4rem);transform:translateZ(0);will-change:scroll-position}
.section.alt{background:transparent} /* Remove alt background since we have gradient wrapper */
.section:first-of-type{margin-top:0} /* Remove top margin to connect to wave */
.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)}

/* Optimize sections with carousels */
.section:has(.crsl){contain:layout style paint}

/* ABOUT SECTION */
.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; /* emerald-400 */
  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);
}

/* Mobile responsive */
@media (max-width: 768px) {
  .about-section {
    background-attachment: scroll; /* Better performance on mobile */
  }
  
  .about-section .row {
    flex-direction: column;
    gap: 2rem;
  }
  
  .about-section .media {
    height: 300px;
  }
}

/* CARDS */
.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}
.muted{color:var(--muted)}
.chip{display:inline-block;background:#ecfdf5;color:#065f46;border:1px solid #d1fae5;border-radius:999px;padding:.15rem .5rem;font-size:.8rem}
.meta{display:flex;justify-content:space-between;gap:.75rem;align-items:center}
.avail{color:#059669;font-weight:600;font-size:.9rem}
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* CAROUSEL - Optimized for scroll performance */
.crsl{--dur:.5s;transform:translateZ(0);will-change:transform;contain:layout style paint}
.crsl-head{display:flex;justify-content:flex-end;margin:0 0 .5rem}
.crsl-viewport{overflow:hidden;transform:translateZ(0);contain:layout}
.crsl-track{display:flex;transition:transform var(--dur) ease;will-change:transform;transform:translateZ(0);contain:layout}
.crsl-slide{min-width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,3vw,2rem);padding:0;margin:0;list-style:none;transform:translateZ(0);contain:layout}
.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}
.crsl-indicators{display:flex;gap:.4rem;justify-content:center;margin-top:1rem}
.dot{width:10px;height:10px;border-radius:999px;background:#e2e8f0;border:0}
.dot.is-active{background:var(--primary)}

/* Additional optimizations for carousel sections */
.section .crsl{isolation:isolate}
.section .crsl .item img{backface-visibility:hidden;perspective:1000px}


/* RESPONSIVE */
@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)}
  
  /* Adjust hero wave effect for mobile */
  .hero::before{
    bottom:-30px !important;
    height:60px !important;
  }
  
  .hero::before {
    bottom: 0px;
    height: 40px;
  }
}
@media (max-width: 480px){
  .crsl-slide{grid-template-columns:1fr}
  
  /* Even more compact for small screens */
  .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}
  
  /* Enhanced mobile card styles */
  .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;
  }
}

/* Mobile viewport fixes */
@supports (height: 100dvh) {
  .hero{height:100dvh;min-height:100dvh}
  html,body{height:100dvh}
  body{min-height:100dvh}
}

/* Debug styles removed */

/* MOBILE STYLES - AGGRESSIVE OVERRIDE */
@media (max-width: 768px) {
  /* Force hero to be compact */
  .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;
  }
  
  /* Make hero content very compact */
  .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;
  }
  
  /* Remove or minimize wave element */
  .hero::before {
    display: none !important;
  }
  
  .hero::after {
    animation: none !important;
  }
  
  .hero-fallback {
    animation: none !important; /* Disable wave animation on mobile for performance */
  }
  
  /* Ensure sections are immediately visible */
  .section:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  
  .section {
    padding-block: 0 1.5rem !important;
  }
  
  .section.alt {
    background: transparent !important;
  }
  
  /* Ensure gradient wrapper works on mobile */
  .main-content-gradient {
    min-height: auto !important;
    background: linear-gradient(to bottom, 
      #87ceeb 0%,     /* Baby blue at top - connected to wave */
      #b3e5fc 15%,    /* Light baby blue */
      #d1ecf1 30%,    /* Very light blue */
      #e8f4f8 50%,    /* Pale blue */
      #f0f8ff 70%,    /* Very pale blue */
      #f8fafc 85%,    /* Almost white */
      #ffffff 100%    /* Pure white at bottom */
    ) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  
  /* About section mobile styles */
  .row {
    flex-direction: column !important;
    gap: 1rem !important;
  }
  
  .col-6 {
    flex: none !important;
    width: 100% !important;
    padding: 0 !important;
  }
  
  .stats {
    justify-content: center !important;
    gap: 1rem !important;
    margin: 1rem 0 !important;
  }
  
  .stat {
    min-width: 80px !important;
  }
  
  .stat-number {
    font-size: 1.5rem !important;
  }
  
  /* Make sure cards are properly sized on mobile */
  .cards {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  
  /* Resources section header */
  .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;
  }
}

/* Reduced motion - DISABLE ALL ANIMATIONS */
@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} /* Disable pond wave animation for reduced motion */
  .hero-wave-attached{display:none !important}
}

/* FINAL MOBILE OVERRIDE - MAXIMUM PRIORITY */
@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;
  }
  
  /* Hide hero subtitle on mobile to save space */
  .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;
  }
  
  /* MOBILE OPTIMIZATIONS - Hide/Minimize Elements */
  
  /* Minimize About section description */
  .home .content p {
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
    margin-bottom: 1rem !important;
  }
  
  /* Make stats more compact */
  .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;
  }
  
  /* Keep both About section buttons but make them smaller */
  .home .content .btn-row .btn:last-child {
    display: inline-flex !important;
  }
  
  /* Make About section buttons smaller */
  .home .content .btn-row .btn {
    padding: 0.5rem 0.8rem !important;
    font-size: 0.8rem !important;
    min-width: 100px !important;
  }
  
  /* Ensure hero buttons are visible and clickable */
  .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;
  }
  
  /* Minimize service card content */
  .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;
  }
  
  /* Keep service card buttons but make them smaller */
  .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;
  }
  
  /* Minimize section headers */
  .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;
  }
  
  /* Hide carousel indicators to save space */
  .home .crsl-indicators {
    display: none !important;
  }
  
  /* Minimize carousel item content */
  .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 ---------- */
/* Pre-footer styles - ensuring they're included in build */
.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 Styles */
.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;
}

/* Responsive Design */
@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 Styles */
.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 Styles */
.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 Styles */
.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;
}

/* Success Modal */
.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);
}

/* Mobile Responsive */
@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;
  }
}

/* --- Services Stack Layout --- */
:root {
  --uwg-blue: #1e40af;   /* Service web (cool blue) */
  --uwg-green: #16a34a;  /* Retail web (fresh green) */
}

/* Positioning wrapper for both sections */
.services-stack {
  position: relative;
  z-index: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ensure hero content always sits above */
.services-stack > .hero-cards-section,
.services-stack > .core-services {
  position: relative;
  z-index: 3;
}

/* Add spacing between sections */
.services-stack > .hero-cards-section {
  margin-bottom: 0;
}

.services-stack > .core-services {
  margin-top: 0;
  margin-bottom: 0;
}

/* --- Core Services Grid --- */
.core-services {
  background: #fff;
  padding: clamp(3rem, 5vw, 4rem) 0;
  position: relative;
  z-index: 1;
  min-height: 300px;
}

/* Retail & Supplies variant with cool green gradient */
.core-services--retail {
  /* Soft emerald gradient with subtle depth */
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 28%, #bbf7d0 58%, #86efac 100%) !important;
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 5vw, 4rem) 0 !important;
}

/* Optional soft radial highlight for extra polish */
.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;
}

/* Elevate content above decorative ::before */
.core-services--retail .container,
.core-services--retail .core-services__grid,
.core-services--retail .core-services__title { position: relative; z-index: 1; }

/* Retail title accent color to match green theme */
.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);
}

/* Retail cards: borders, icons, CTA tuned to green */
.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 (above) blue gradient treatment */
#core-services {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 28%, #bfdbfe 58%, #93c5fd 100%) !important;
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 5vw, 4rem) 0 !important;
}

#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; }

/* Blue-tuned card accents inside Core Services */
#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);
}

/* --- Section-scoped button variants --- */
/* Retail (green) */
.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; /* emerald-700 */
  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; /* emerald-800 */
  border: 2px solid rgba(16,185,129,0.25);
}
.core-services--retail .btn[data-variant="ghost"]:hover {
  background: #f0fdf4; /* emerald-50 */
  border-color: rgba(16,185,129,0.45);
}

/* Core Services (blue) */
#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; /* blue-50 */
  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;
}

/* 3-up desktop, 2-up tablet, 1-up mobile */
.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;
}

/* Card Header Section (Top) */
.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;
}

/* Card Content Section (Bottom) */
.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 ---------- */
.unified-gradient-wrapper {
  background: linear-gradient(180deg, 
    #f0fdf4 0%,     /* Light green at top */
    #f8fafc 15%,    /* Light gray-green */
    #e2e8f0 30%,    /* Light gray */
    #f1f5f9 45%,    /* Light blue-gray */
    #eff6ff 60%,    /* Light blue */
    #dbeafe 75%,    /* Medium blue */
    #bfdbfe 90%,    /* Darker blue */
    #93c5fd 100%    /* Deep blue at bottom */
  );
  position: relative;
  overflow: hidden;
}

.unified-gradient-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(ellipse at 20% 10%, rgba(16, 185, 129, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 30%, rgba(59, 130, 246, 0.06) 0%, transparent 50%),
    radial-gradient(ellipse at 40% 70%, rgba(16, 185, 129, 0.04) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 90%, rgba(59, 130, 246, 0.05) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

.unified-gradient-wrapper > * {
  position: relative;
  z-index: 1;
}

/* Unified gradient wrapper - allow individual section backgrounds to show through */
.unified-gradient-wrapper .hero-cards-section {
  background: transparent !important;
}

.unified-gradient-wrapper .hero-cards-section::before {
  display: none !important;
}

/* Ensure section backgrounds are visible and override unified gradient */
.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 QUICK LINKS ---------- */
.core-services-links {
  background: rgba(255, 255, 255, 0.7);
  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);
}

/* Responsive design for core links */
@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 ---------- */
.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;
}

.method-note {
  color: #475569 !important;
  font-size: 0.875rem;
  font-weight: 500;
  font-style: italic;
  line-height: 1.3;
}

/* Force dark colors for all contact section text */
.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 Checker Styling */
.service-area-card .service-area-checker {
  background: transparent;
  border: none;
  padding: 0;
}

.service-area-card .service-area-checker .checker-header {
  display: none; /* Hide duplicate header since we have our own */
}

.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;
  }
  
  .method-note {
    font-size: 0.8rem;
  }
  
  .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%;
  }
  
  /* Enhanced mobile accessibility for hero section */
  .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;
}

/* Hide mobile service descriptions on desktop */
.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 */
.service-images-section {
  padding: 0 0 4rem 0; /* Remove top padding to eliminate gap after hero */
  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 {
  list-style: none;
  padding: 0;
  margin-bottom: 2rem;
}

.service-features li {
  padding: 0.5rem 0;
  color: #555;
  position: relative;
  padding-left: 1.5rem;
}

.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;
  }
}

/* Additional mobile fixes for very small screens */
@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 section mobile optimizations */
  .service-content p:not(.service-description-mobile) {
    display: none; /* Hide long desktop descriptions */
  }
  
  .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 section mobile */
  .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);
  /* IMPORTANT: Top padding accounts for fixed header (DO NOT REMOVE) */
  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;
  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__timeline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 320px));
  gap: 1.8rem;
  justify-content: center;
  justify-items: center;
}

.cleaning-process__step {
  background: #fff;
  border-radius: 24px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 30px 60px -20px rgba(15, 23, 42, 0.2);
  width: 100%;
}

.cleaning-process__step-number {
  background: #0f766e;
  color: #ecfdf5;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
  margin: 1.25rem 0 0 1.25rem;
}

.cleaning-process__media img {
  width: 100%;
  height: auto;
  display: block;
}

.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;
  }

  .cleaning-process__timeline {
    grid-template-columns: 1fr;
  }
}

@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;
}

.service-areas {
  padding: 4rem 0;
  background: white;
}

.service-areas h2 {
  text-align: center;
  margin-bottom: 1rem;
  color: #1a202c;
  font-size: 2.5rem;
}

.service-areas p {
  text-align: center;
  margin-bottom: 3rem;
  color: #64748b;
  font-size: 1.1rem;
}

.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;
}

.cleaning-process {
  padding: 4rem 0;
  background: #f8fafc;
}

.cleaning-process h2 {
  text-align: center;
  margin-bottom: 3rem;
  color: #1a202c;
  font-size: 2.5rem;
}

.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;
  }
}

/* Pond Construction Page Styles */

/* Stats Section */
.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;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.stat-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.stat-number {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: #fbbf24;
}

.stat-label {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.stat-description {
  font-size: 0.8rem;
  opacity: 0.8;
}

@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;
  }
  
  .stat-number {
    font-size: 1.5rem;
  }
}

@media (max-width: 480px) {
  .hero-stats {
    grid-template-columns: 1fr;
  }
}
.pond-construction-page {
  padding-top: 0;
  margin-top: 0;
}

/* Main Content */
.pond-construction-main-content {
  padding: 5rem 0;
  background: white;
}

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

/* Hero Section */
.construction-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  /* IMPORTANT: Top padding accounts for fixed header (DO NOT REMOVE) */
  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 */
.hero-badge {
  margin-bottom: 1rem;
}

.badge-text {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #1e293b;
  padding: 0.5rem 1rem;
  border-radius: 50px;
  font-weight: 700;
  font-size: 0.9rem;
  display: inline-block;
  box-shadow: 0 4px 15px rgba(251, 191, 36, 0.3);
}

/* Hero CTA Buttons */
.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);
  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;
}

.stat-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: #fbbf24;
  margin-bottom: 0.5rem;
}

.stat-label {
  font-size: 1rem;
  font-weight: 600;
  opacity: 0.9;
}

.stat-description {
  font-size: 0.8rem;
  opacity: 0.8;
  margin-top: 0.25rem;
}

/* Mobile Responsive */
@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;
  }
  
  .stat-number {
    font-size: 2rem;
  }
  
  .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-benefits {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  
  .cta-buttons {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
  }
}

@media (max-width: 480px) {
  .hero-stats {
    grid-template-columns: 1fr;
  }
}

/* Trust Signals Section */
.trust-signals {
  background: #f8fafc;
  padding: 4rem 0;
  border-bottom: 1px solid #e2e8f0;
}

.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 */
.first-section-gradient {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  padding: 0 0 5rem 0; /* Remove top padding to eliminate gap after hero */
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Construction Process */
.construction-process 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;
}

.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 */
.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;
}

/* Construction Features */
.construction-features {
  padding: 5rem 0;
  background: #f8fafc;
}

.construction-features 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;
}

.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 & Construction */
.materials-construction {
  padding: 5rem 0;
  background: white;
}

.materials-construction 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;
}

.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);
}

/* Project Gallery */
.project-gallery {
  padding: 5rem 0;
  background: #f8fafc;
}

.project-gallery 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;
}

.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-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: white;
  padding: 2rem 1.5rem 1.5rem;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.gallery-item:hover .gallery-overlay {
  transform: translateY(0);
}

.gallery-overlay h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.gallery-overlay p {
  font-size: 0.9rem;
  opacity: 0.9;
  line-height: 1.4;
}

/* Why Choose Us */
.why-choose-us {
  padding: 5rem 0;
  background: white;
}

.gradient-wipe-up {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
}

.why-choose-us 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;
}

.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 */
.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-intro {
  font-size: 1.1rem;
  color: #64748b;
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto 3rem;
  text-align: center;
}

.service-areas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}

.service-area-group {
  background: #f8fafc;
  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;
}

.service-area-group:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
  border-color: #1e40af;
}

.service-area-group h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 1.5rem;
  text-align: center;
}

.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 */
.testimonials-section {
  background: #f8fafc;
  padding: 5rem 0;
}

.testimonials-intro {
  text-align: center;
  font-size: 1.1rem;
  color: #64748b;
  margin-bottom: 3rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.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);
}

.testimonial-rating {
  margin-bottom: 1rem;
}

.star {
  font-size: 1.2rem;
  margin-right: 0.25rem;
}

.testimonial-text {
  font-size: 1rem;
  line-height: 1.6;
  color: #374151;
  margin-bottom: 1.5rem;
  font-style: italic;
}

.testimonial-author h4 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 0.25rem;
}

.testimonial-location {
  color: #64748b;
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}

.testimonial-project {
  color: #1e40af;
  font-size: 0.9rem;
  font-weight: 600;
}

/* Portfolio Gallery */
.portfolio-gallery {
  padding: 5rem 0;
  background: white;
}

.portfolio-intro {
  text-align: center;
  font-size: 1.1rem;
  color: #64748b;
  margin-bottom: 3rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.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-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: white;
  padding: 2rem 1.5rem 1.5rem;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.portfolio-item:hover .portfolio-overlay {
  transform: translateY(0);
}

.portfolio-overlay h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.portfolio-overlay p {
  font-size: 0.9rem;
  opacity: 0.9;
}

.portfolio-cta {
  text-align: center;
  margin-top: 3rem;
}

/* CTA Section */
.cta-section {
  padding: 5rem 0;
  text-align: center;
  color: white;
  position: relative;
}

.enhanced-cta {
  padding: 6rem 0;
}

.cta-content {
  max-width: 800px;
  margin: 0 auto;
}

.cta-subtitle {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  opacity: 0.9;
  line-height: 1.6;
}

.cta-benefits {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.cta-benefit {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  opacity: 0.9;
}

.benefit-icon {
  font-size: 1.2rem;
}

.cta-note {
  margin-top: 2rem;
  font-size: 0.9rem;
  opacity: 0.8;
  background: rgba(255, 255, 255, 0.1);
  padding: 1rem;
  border-radius: 10px;
  backdrop-filter: blur(10px);
}

.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);
}

/* MOBILE-FIRST RESPONSIVE DESIGN */
/* Base mobile styles (default) */
.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;
}

/* Fix text truncation issues */
.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;
}

/* Mobile-optimized card padding */
.step,
.type-card,
.feature-item,
.reason-item,
.service-area-group {
  padding: 1.5rem;
  margin-bottom: 1rem;
}

/* Mobile-optimized typography */
.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;
}

/* Tablet breakpoint */
@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;
  }
}

/* Desktop breakpoint */
@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;
  }
}

/* Desktop breakpoint - ensure 2x2 layout */
@media (min-width: 768px) {
  .types-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Large desktop breakpoint */
@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;
  }
  
  .service-area-group {
    padding: 1.5rem;
  }
}

/* ========== MODERN REVAMP STYLES ========== */

/* Modern Stats Section */
.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));
}

.stat-number-modern {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--stat-color);
  margin-bottom: 0.5rem;
}

.stat-label-modern {
  font-size: 1.1rem;
  color: #374151;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.stat-description-modern {
  font-size: 0.875rem;
  color: #6b7280;
}

/* Guide CTA Banner */
.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;
}

/* Compact Trust Signals */
.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);
  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;
}

/* Interactive Pond Types */
.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;
}

/* Timeline Process */
.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 */
.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 */
.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 */
.faq-modern {
  background: #f8fafc;
  padding: 4rem 0;
}

.faq-modern h2 {
  text-align: center;
  font-size: 2.5rem;
  color: #1e40af;
  margin-bottom: 1rem;
}

.faq-intro-modern {
  text-align: center;
  font-size: 1.25rem;
  color: #4b5563;
  margin-bottom: 3rem;
}

.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 Modern */
.portfolio-modern {
  background: white;
  padding: 4rem 0;
}

.portfolio-modern h2 {
  text-align: center;
  font-size: 2.5rem;
  color: #1e40af;
  margin-bottom: 1rem;
}

.portfolio-intro-modern {
  text-align: center;
  font-size: 1.25rem;
  color: #4b5563;
  margin-bottom: 3rem;
}

.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-img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.portfolio-card:hover .portfolio-img {
  transform: scale(1.05);
}

.portfolio-info {
  padding: 1.5rem;
  text-align: center;
}

.portfolio-info h3 {
  font-size: 1.25rem;
  color: #1e40af;
  margin-bottom: 0.5rem;
  font-weight: 700;
}

.portfolio-info p {
  color: #6b7280;
  font-size: 0.875rem;
}

.portfolio-cta-modern {
  text-align: center;
}

/* Mobile Responsive for Modern Styles */
@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;
  }
  
  .stat-number-modern {
    font-size: 3.5rem;
  }
  
  .stat-label-modern {
    font-size: 1.15rem;
  }
  
  .stat-description-modern {
    font-size: 0.9rem;
  }
  
  .trust-badges,
  .faq-grid-modern,
  .testimonials-grid-modern,
  .portfolio-grid-modern {
    grid-template-columns: 1fr;
  }

/* FAQ Icon Enhancements */
.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 Styles - Living Artscapes Style */
.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 */
.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 */
.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 */
.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-services {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 3rem;
}

.seasonal-service {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  padding: 2rem 0;
}

.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 */
.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 Styling */
.file-upload-group {
  margin-bottom: 2rem;
}

.file-upload-group label {
  font-size: 0.8rem;
  color: #6b7280;
  margin-bottom: 1rem;
}

.file-upload-container {
  position: relative;
}

.file-upload-container input[type="file"] {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.file-upload-text {
  border: 2px dashed #d1d5db;
  border-radius: 8px;
  padding: 2rem;
  text-align: center;
  background: #f9fafb;
  transition: all 0.3s ease;
}

.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;
}

.file-upload-info {
  margin-top: 0.5rem;
  text-align: center;
}

.file-upload-info small {
  color: #6b7280;
  font-size: 0.75rem;
}

/* Captcha Styling */
.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;
}

.captcha-separator {
  color: #6b7280;
  font-size: 0.8rem;
}

/* Button Styling */
.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 */
.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 h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 1rem;
  text-align: center;
}

.service-category ul {
  list-style: none;
  padding: 0;
}

.service-category li {
  margin-bottom: 0.5rem;
  text-align: center;
}

.service-category a {
  color: #3b82f6;
  text-decoration: none;
  font-weight: 500;
}

.service-category a:hover {
  color: #1d4ed8;
  text-decoration: underline;
}

/* Responsive Design */
@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: auto;
  }
  
  .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;
  }
  
  .service-category h3 {
    font-size: 1.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 Mobile */
  .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;
  }
  
  .service-category h3 {
    font-size: 1rem;
  }
  
  .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;
  }
}
