/* Hero spacing fixes for static export (Elementor + Ohio) */

/* Headline: fixed 84px line-height breaks when font-size is 4.9vw on wide screens */
.elementor-21404 .elementor-element-5122e65 .title,
.elementor-21404 .elementor-element-5122e65 h1,
.elementor-21404 .elementor-element-5122e65 h2,
.elementor-21404 .elementor-element-5122e65 h3,
.elementor-21404 .elementor-element-5122e65 h4,
.elementor-21404 .elementor-element-5122e65 h5,
.elementor-21404 .elementor-element-5122e65 h6 {
  line-height: 1.08 !important;
}

/* Desktop: restore breathing room under sticky header + between text and cards */
@media (min-width: 768px) {
  .elementor-21404 .elementor-element-4b0a012 {
    margin-top: -80px !important;
  }

  .elementor-21404 .elementor-element-a5eb0dd {
    --spacer-size: 14vh !important;
  }

  .elementor-21404 .elementor-element-eb6c9eb {
    --spacer-size: 3vh !important;
  }

  .elementor-21404 .elementor-element-5122e65 > .elementor-widget-container {
    margin: 48px 0 32px 0 !important;
  }

  .elementor-21404 .elementor-element-f025887 .elementor-heading-title {
    margin: 0 0 1.5rem 0 !important;
    line-height: 1.35 !important;
  }

  /* Small gap under Showcase CTA without dropping the card row much */
  .elementor-21404 .elementor-element-45026a4 {
    margin-bottom: 0.85rem !important;
  }

  /* Soften -30% card overlap so subtitle is not crushed */
  .elementor-21404 .elementor-element-7cf4474 {
    margin-top: -7% !important;
  }

  .elementor-21404 .elementor-element-f844495 {
    --spacer-size: 24vh !important;
  }
}

/* Feature card internal padding */
.elementor-21404 .ohio-banner-sc.banner .overlay-details {
  padding: clamp(1.25rem, 2.5vh, 2.5rem) clamp(1.25rem, 2vw, 2rem) !important;
}

.elementor-21404 .ohio-banner-sc .subtitle {
  margin-bottom: 0.85rem !important;
}

.elementor-21404 .ohio-banner-sc .title {
  margin: 0 0 0.85rem 0 !important;
  line-height: 1.25 !important;
}

.elementor-21404 .ohio-banner-sc .overlay-details p {
  margin-top: 0.35rem !important;
  line-height: 1.45 !important;
}

/* Full-height hero: keep min-height so content is not cramped on short viewports */
.elementor-21404 .elementor-element-73f1caaf.elementor-section-height-full {
  min-height: 100vh;
}

/* Same spacing rhythm on the rest of the homepage sections */

.elementor-21404 .ohio-widget.heading .subtitle,
.elementor-21404 .elementor-widget-heading .elementor-heading-title {
  line-height: 1.35 !important;
}

.elementor-21404 .ohio-widget.heading .subtitle {
  margin-bottom: 0.85rem !important;
}

.elementor-21404 .ohio-widget.heading .title,
.elementor-21404 .ohio-widget.heading .subtitle + .title,
.elementor-21404 .ohio-widget.heading h1,
.elementor-21404 .ohio-widget.heading h2,
.elementor-21404 .ohio-widget.heading h3 {
  line-height: 1.15 !important;
  margin-top: 0.85rem !important;
  margin-bottom: 0.5rem !important;
}

/* Do not add a second gap on the hero headline (it already has its own margin) */
.elementor-21404 .elementor-element-5122e65 .title,
.elementor-21404 .elementor-element-5122e65 h1,
.elementor-21404 .elementor-element-5122e65 h2 {
  margin-top: 0 !important;
}

@media (min-width: 768px) {
  /* We are / What makes us / Showcase / Awards / Testimonials / Collaboration */
  .elementor-21404 .elementor-element-e9956ef > .elementor-widget-container,
  .elementor-21404 .elementor-element-3dc754f5 > .elementor-widget-container,
  .elementor-21404 .elementor-element-8a10c1c > .elementor-widget-container,
  .elementor-21404 .elementor-element-7ca47390 > .elementor-widget-container,
  .elementor-21404 .elementor-element-25345fa > .elementor-widget-container,
  .elementor-21404 .elementor-element-7cef9cf3 > .elementor-widget-container {
    margin: 24px 0 20px 0 !important;
  }

  .elementor-21404 .elementor-top-section.elementor-element-562639e8,
  .elementor-21404 .elementor-top-section.elementor-element-23c263b,
  .elementor-21404 .elementor-top-section.elementor-element-0e9536b,
  .elementor-21404 .elementor-top-section.elementor-element-6343d111,
  .elementor-21404 .elementor-top-section.elementor-element-447c529c,
  .elementor-21404 .elementor-top-section.elementor-element-27e7f04,
  .elementor-21404 .elementor-top-section.elementor-element-77d7a769,
  .elementor-21404 .elementor-top-section.elementor-element-153820d7,
  .elementor-21404 .elementor-top-section.elementor-element-17ea880c,
  .elementor-21404 .elementor-top-section.elementor-element-74d94ea5,
  .elementor-21404 .elementor-top-section.elementor-element-233f101b {
    padding-top: 4vh;
    padding-bottom: 4vh;
  }
}

/* Body copy and card text in later sections */
.elementor-21404 .elementor-widget-text-editor,
.elementor-21404 .elementor-widget-text-editor p,
.elementor-21404 .portfolio-item .overlay-details,
.elementor-21404 .testimonial,
.elementor-21404 .testimonial p {
  line-height: 1.45;
}

.elementor-21404 .portfolio-item .overlay-details,
.elementor-21404 .card .overlay-details {
  padding: clamp(1.25rem, 2.5vh, 2.5rem) clamp(1.25rem, 2vw, 2rem);
}
