/* Homepage form - dark labels on white background */
.wp-block-jetpack-contact-form label {
	  color: #0D2844 !important;
	  font-weight: 600 !important;
}
.wp-block-jetpack-contact-form input[type="text"],
.wp-block-jetpack-contact-form input[type="email"],
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-contact-form select {
	  border: 1px solid #CBD5E1 !important;
	  border-radius: 4px !important;
	  padding: 10px !important;
}

/* Contact page form - light labels on dark background */
.page-id-32 .wp-block-jetpack-contact-form label {
	  color: #ffffff !important;
	  font-weight: 600 !important;
}
.page-id-32 .wp-block-jetpack-contact-form input[type="text"],
.page-id-32 .wp-block-jetpack-contact-form input[type="email"],
.page-id-32 .wp-block-jetpack-contact-form textarea,
.page-id-32 .wp-block-jetpack-contact-form select {
	  border: 1px solid rgba(255,255,255,0.4) !important;
	  border-radius: 4px !important;
	  padding: 10px !important;
	  background: rgba(255,255,255,0.1) !important;
	  color: #ffffff !important;
}
}
}
}
}


}

/* Fix Emma's photo - position face within circular crop */
.wp-block-image img[alt="Emma James"] {
    object-fit: cover !important;
    object-position: center 25% !important;
}

/* ===== TASK 6: Typography & Visual Hierarchy ===== */

/* Section headlines (h2) */
.entry-content h2,
.wp-block-group h2 {
  font-size: clamp(32px, 4vw, 40px) !important;
  font-weight: 700 !important;
  margin-top: 48px !important;
  margin-bottom: 32px !important;
  line-height: 1.2 !important;
}

/* Sub-section headlines (h3) */
.entry-content h3,
.wp-block-group h3 {
  font-size: clamp(22px, 3vw, 28px) !important;
  font-weight: 600 !important;
  margin-top: 32px !important;
  margin-bottom: 20px !important;
  line-height: 1.3 !important;
}

/* Body text */
.entry-content > .wp-block-group:not(.wp-block-cover) p {
  font-size: 17px;
  line-height: 1.7;
}

/* CTA buttons */
.wp-block-button .wp-block-button__link {
  font-size: 17px !important;
  font-weight: 600 !important;
  padding: 14px 32px !important;
  border-radius: 6px !important;
  letter-spacing: 0.01em !important;
  transition: all 0.2s ease !important;
}

.wp-block-button .wp-block-button__link:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(22, 58, 95, 0.25) !important;
}

/* Section spacing */
.entry-content > .wp-block-group,
.entry-content > .alignfull {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* First section after hero needs no extra top padding */
.wp-block-cover + .wp-block-group {
  margin-top: 0 !important;
}

/* ===== MOBILE RESPONSIVE STYLES ===== */

/* --- Tablet breakpoint (768px and below) --- */
@media (max-width: 768px) {
  /* Scale down large headings */
  h1 { font-size: 32px !important; }
  h2 { font-size: 28px !important; }
  h3 { font-size: 22px !important; }

  /* Reduce section padding */
  .wp-block-group.alignfull > div {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Stack columns vertically */
  .wp-block-columns {
    flex-direction: column !important;
  }
  .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  /* Comparison table: horizontal scroll */
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 14px;
  }
  table th, table td {
    min-width: 120px;
    padding: 12px 14px !important;
  }

  /* CSS Grid layouts: single column on mobile */
  div[style*="grid-template-columns: repeat(3"] {
    grid-template-columns: 1fr !important;
  }
  div[style*="grid-template-columns: repeat(2"] {
    grid-template-columns: 1fr !important;
  }
  div[style*="grid-template-columns:repeat(3"] {
    grid-template-columns: 1fr !important;
  }
  div[style*="grid-template-columns:repeat(2"] {
    grid-template-columns: 1fr !important;
  }

  /* Team photos: ensure they don't overflow */
  img[style*="border-radius:50%"],
  img[style*="border-radius: 50%"] {
    width: 150px !important;
    height: 150px !important;
  }

  /* Stats section: stack side by side results/market */
  .wp-block-columns .wp-block-column {
    margin-bottom: 30px;
  }

  /* CTA buttons: full width */
  .wp-block-button {
    width: 100%;
  }
  .wp-block-button .wp-block-button__link {
    width: 100%;
    text-align: center;
  }

  /* Footer columns: stack */
  footer .wp-block-columns {
    gap: 20px !important;
  }
}

/* --- Mobile breakpoint (480px and below) --- */
@media (max-width: 480px) {
  h1 { font-size: 26px !important; }
  h2 { font-size: 24px !important; }
  h3 { font-size: 20px !important; }

  /* Even tighter padding */
  .wp-block-group.alignfull > div {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* Hero sections: reduce top padding */
  .wp-block-group.alignfull > div[style*="padding-top:100px"] {
    padding-top: 60px !important;
    padding-bottom: 50px !important;
  }

  /* Subtitle text: scale down */
  p[style*="font-size:20px"],
  p[style*="font-size: 20px"] {
    font-size: 16px !important;
  }
  p[style*="font-size:18px"],
  p[style*="font-size: 18px"] {
    font-size: 15px !important;
  }

  /* Team photos: smaller on phones */
  img[style*="border-radius:50%"],
  img[style*="border-radius: 50%"] {
    width: 120px !important;
    height: 120px !important;
  }

  /* Card grid gaps */
  div[style*="display:grid"],
  div[style*="display: grid"] {
    gap: 16px !important;
  }

  /* Table: tighter cells */
  table th, table td {
    min-width: 100px;
    padding: 10px 10px !important;
    font-size: 13px;
  }
}