
.step-content h3 {
  color: var(--color-primary);
  margin-bottom: var(--space-2);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
}

.step-content p {
  color: var(--color-gray-700);
  line-height: 1.6;
  margin-bottom: var(--space-3);
}

.step-duration {
  display: inline-block;
  background: var(--color-gray-100);
  color: var(--color-gray-700);
  padding: var(--space-1) var(--space-2);
  border-radius: var(--border-radius-sm);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
}

/* Benefit Items */
.benefit-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-4);
  background: var(--color-white);
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-gray-200);
  transition: all var(--transition-fast);
}

.benefit-item:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
  border-color: var(--color-primary);
}

.benefit-icon {
  width: 48px;
  height: 48px;
  background: var(--color-green);
  color: var(--color-white);
  border-radius: var(--border-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-lg);
  flex-shrink: 0;
}

.benefit-content h3 {
  margin: 0 0 var(--space-2) 0;
  color: var(--color-primary);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
}

.benefit-content p {
  margin: 0;
  color: var(--color-gray-700);
  line-height: 1.5;
}

/* Responsive Audit Styles */
@media (max-width: 767px) {
  .audit-areas-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
  
  .audit-area {
    padding: var(--space-4);
  }
  
  .audit-area__header {
    flex-direction: column;
    text-align: center;
    gap: var(--space-2);
  }
  
  .audit-area__icon {
    width: 40px;
    height: 40px;
    font-size: var(--font-size-md);
  }
  
  .process-steps {
    grid-template-columns: 1fr;
  }
  
  .benefit-item {
    flex-direction: column;
    text-align: center;
    gap: var(--space-3);
  }
}

/* Table Styles */
.comparison-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 calc(-1 * var(--space-3));
  padding: 0 var(--space-3);
}

.table {
  width: 100%;
  border-collapse: collapse;
  background: var(--color-white);
  box-shadow: var(--shadow-sm);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
}

.table th,
.table td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid var(--color-gray-200);
}

.table th {
  background: var(--color-gray-50);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
}

.table tbody tr:last-child td {
  border-bottom: none;
}

.table tbody tr:hover {
  background: var(--color-gray-50);
}

.golang-highlight {
  color: var(--color-golang);
  font-weight: var(--font-weight-semibold);
}

.text-green {
  color: var(--color-green);
  font-weight: var(--font-weight-bold);
}

/* EMERGENCY FIX: Kill ALL scroll contexts on mobile hero */
@media (max-width: 767px) {
  /* Method 1: Remove height constraints so content fits naturally */
  .section--hero {
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
  }
  
  /* Method 2: If something still has a scrollbar, hide it */
  #hero,
  #hero.section,
  #hero.section--hero,
  #hero.hero,
  .hero,
  .section--hero,
  .hero .container,
  .hero__content,
  #hero .container,
  #hero .hero__content {
    /* Hide any overflow - this prevents scrollbars */
    overflow: hidden !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    /* But ensure height adapts to content */
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    /* Keep positioning simple */
    position: relative !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
  
  /* Ensure body and html allow normal scrolling */
  html, body {
    overflow: visible !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    height: auto !important;
    position: relative !important;
  }
  
  /* Ensure main wrapper doesn't create scroll */
  main,
  #main {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    position: relative !important;
  }
  
  /* DEBUG: Add red border to any element with scroll */
  * {
    -webkit-overflow-scrolling: auto !important;
  }
  
  /* Absolute last resort - disable ALL overflow on hero path */
  body > main > section#hero,
  body > main > section#hero > *,
  body > main > section#hero > * > * {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
  }
}

/* Responsive Tables */
@media (max-width: 767px) {
  /* CRITICAL: Prevent ALL containers from creating scroll traps */
  .container {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    position: relative !important;
    width: 100%;
    max-width: 100%;
    /* Removed padding - this was causing scroll on container */
    padding-left: 0;
    padding-right: 0;
  }
  
  /* Fix iOS Safari scrolling issues */
  body {
    -webkit-overflow-scrolling: touch;
  }
  
  /* Ensure ALL sections are scroll-safe */
  section,
  .section,
  .section--hero {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    position: relative !important;
  }
  
  /* Complete hero scroll trap prevention */
  .hero {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    position: relative !important;
  }
  
  /* CRITICAL FIX: Remove ALL viewport-based heights and flex display */
  #hero.section--hero,
  .section--hero,
  section.hero.section--hero {
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
    align-items: stretch !important;
    overflow: visible !important;
    position: relative !important;
  }
  
  /* Hero container specific fixes */
  .hero .container,
  .section--hero .container,
  #hero .container {
    display: block !important;
    overflow: visible !important;
    height: auto !important;
    max-width: 100%;
    min-height: 0 !important;
  }
  
  /* Hero content must not create scroll */
  .hero__content {
    overflow: hidden !important;
    transform: none !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100%;
    display: block !important;
  }
  
  /* Remove ANY transform or positioning that could create stacking contexts */
  .hero,
  .hero__content,
  .section--hero,
  #hero,
  .container {
    -webkit-transform: none !important;
    transform: none !important;
    will-change: auto !important;
  }
  
  .comparison-table {
    margin-left: calc(-1 * var(--space-4));
    margin-right: calc(-1 * var(--space-4));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .table {
    font-size: var(--font-size-xs);
    min-width: 450px; /* Reduced to better fit content */
    table-layout: auto;
  }
  
  .table th,
  .table td {
    padding: var(--space-2) var(--space-3);
    white-space: normal; /* Allow wrapping */
    min-width: 80px;
  }
  
  .table th:first-child,
  .table td:first-child {
    position: sticky;
    left: 0;
    background: var(--color-white);
    z-index: 1;
    box-shadow: 2px 0 4px rgba(0,0,0,0.1);
  }
  
  /* Add horizontal scroll indicator */
  .comparison-table::after {
    content: '→ Scroll for more';
    display: block;
    text-align: center;
    padding: var(--space-2);
    color: var(--color-gray-600);
    font-size: var(--font-size-xs);
    font-style: italic;
  }
}

/* =============================================================================
   13. MOBILE NAV BRAND ALIGNMENT FIX
   ============================================================================= */
@media (max-width: 767px) {
  .nav__brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 56px;
    padding: 0;
    font-size: 18px;
  }
  
  .nav__brand picture {
    display: inline-flex;
    align-items: center;
    height: 32px;
    flex-shrink: 0;
  }
  
  .nav__brand img {
    display: block;
    height: 32px;
    width: auto;
    max-width: none;
  }
  
  .nav__brand span {
    display: inline-flex;
    align-items: center;
    height: 32px;
    line-height: 1;
    font-size: 18px;
  }
  
  /* Ensure nav container height matches on mobile */
  .nav {
    height: 56px;
  }
  
  .nav__container {
    height: 56px;
  }
}

/* =============================================================================
   14. MOBILE NAVIGATION BACKGROUND FIX
   ============================================================================= */
@media (max-width: 767px) {
  /* Ensure nav has higher z-index than hero content */
  .nav {
    z-index: 1100 !important;
    background: rgba(255, 255, 255, 0.98) !important;
  }
  
  /* Mobile menu overlay with solid background */
  .nav__links {
    position: fixed !important;
    top: 56px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: calc(100vh - 56px) !important;
    background: var(--color-white) !important;
    background-color: #ffffff !important;
    overflow-y: auto !important;
    z-index: 1099 !important;
    padding: var(--space-4) !important;
    box-shadow: none !important;
    border-top: 1px solid var(--color-gray-200) !important;
  }
  
  /* Add backdrop overlay when menu is open */
  .nav__links--open::before {
    content: '';
    position: fixed;
    top: 56px;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.95);
    z-index: -1;
  }
  
  /* Ensure all menu items have proper background */
  .nav__links--open .nav__item,
  .nav__links--open .nav__link,
  .nav__links--open .nav__dropdown-link {
    background: transparent !important;
    color: var(--color-gray-700) !important;
  }
  
  /* Fix dropdown display */
  .nav__links--open .nav__item--open .nav__dropdown {
    display: block !important;
    background: transparent !important;
  }
  
  /* Ensure hamburger toggle stays above */
  .nav__toggle {
    z-index: 1101 !important;
  }
  
  /* Prevent body scroll when menu is open */
  body:has(.nav__links--open) {
    overflow: hidden;
  }
}
