/* Homepage Styles - Jencap
   Page-specific layout and overrides for the homepage template.
   Matches WordPress/Divi pixel-perfect layout.
*/



/* ===== HERO SECTION ===== */

.body-container--home .hero {
  align-items: flex-start !important;
  position: relative;
}

/* Let module's inline style (0.6) take effect — WP uses a pre-recolored
   video with baked-in teal gradient; HS overlay at 0.6 approximates that. */

.body-container--home .hero .hero__content {
  padding: 109px 150px 50px !important;
}

.body-container--home .hero .hero__content-inner {
  max-width: 780px !important;
}

.body-container--home .hero .hero__headline {
  max-width: none !important;
  margin: 0 auto 10px !important;
  text-wrap-style: balance !important;
}

.body-container--home .hero .hero__subheadline {
  font-family: var(--font-heading) !important;
  font-size: 20px !important;
  line-height: 24px !important;
  opacity: 1;
  max-width: none !important;
  margin: 0 !important;
}

.body-container--home .hero .hero__button,
.body-container--home .hero a.hero__button {
  background-color: #ffffff !important;
  color: var(--jencap-primary) !important;
  border: none !important;
  border-radius: 50px !important;
  font-size: var(--font-size-broker-body) !important;
  padding: 5.55px 18.5px !important;
  min-width: 314px !important;
  line-height: 31.45px !important;
  font-weight var(--font-weight-semibold !important);
}

.body-container--home .hero .hero__button:hover,
.body-container--home .hero a.hero__button:hover {
  background-color: var(--jencap-text) !important;
  color: var(--jencap-white) !important;
  font-family: var(--font-heading) !important;
  text-decoration: none !important;
}

.body-container--home .hero .hero__buttons {
  gap: 20px !important;
  margin-top: var(--spacing-xl);
}

/* Hero bottom divider - WP Divi double-layer V-shape */
.body-container--home .hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 150px !important;
  background: url("data:image/svg+xml,%3Csvg width='100%25' height='100px' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23efefee'%3E%3Cpath d='M640 139L0 0v140h1280V0L640 139z' fill-opacity='.5'/%3E%3Cpath d='M640 139L0 42v98h1280V42l-640 97z'/%3E%3C/g%3E%3C/svg%3E") no-repeat bottom center / 100% 100% !important;
  clip-path: none;
  z-index: 3;
}

/* ===== SPECIALIZATIONS SECTION ===== */

.home-specializations {
  padding: 40px 0 54px;
  background: var(--jencap-background);
}

  .home-specializations__inner {
    width: 80% !important;
    margin: 0 auto;
    max-width: 100% !important;
  }

/* Stats Row: WP has ~40px top / 54px bottom, theme default is 80px.
   background-color fallback matches WP (visual bg is gradient via background-image). */
.stats-row {
  padding: 40px var(--content-padding) 54px !important;
  background-color: #efefee !important;
}

/* WP heading row: 27px top + heading + 27px bottom = 113px */
.home-specializations .section-header {
  max-width: none !important;
  padding: var(--wp-row-padding) 0 !important;
}

/* WP heading: 40px/600 white, left-aligned on gray bg. */
.home-specializations .section-header__heading {
  margin-bottom: 0 !important;
  min-height: 58px !important;
  text-align: center !important;
}

.home-specializations .icon-card-grid {
  padding: 0 !important;
  background-color: transparent !important;
}

/* WP card row: 27px top + cards + 27px bottom = 554px */
.home-specializations .icon-card-grid__container {
  max-width: none !important;
  padding: var(--wp-row-padding) 0 !important;
}

.home-specializations .icon-card-grid__grid {
  gap: 30.72px !important;
}

.home-specializations .icon-card--overlay {
  border-radius: 6px !important;
  padding: 0 !important;
  min-height: 500px !important;
}

/* WP Divi card inner padding: top pad pushes icon down ~45px from card edge.
   The module default is var(--spacing-lg) = 32px on all sides. */
.home-specializations .icon-card__content {
  padding: 55px 0 0 !important;
}

/* Horizontal padding on card body matches WP's ~20px side gutter inside cards. */
.home-specializations .icon-card__body {
  padding: 0 20px 20px !important;
}

.home-specializations .icon-card__icon img {
  height: 49px !important;
  max-width: 36px !important;
}

.home-specializations .icon-card--overlay .icon-card__title {
  font-family: var(--font-heading) !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  line-height: 30px !important;
  letter-spacing: normal !important;
  margin-bottom: 10px !important;
  text-transform: uppercase !important;
}

.home-specializations .icon-card--overlay .icon-card__description {
  font-family: var(--font-heading) !important;
  font-size: var(--font-size-broker-body) !important;
  font-weight: 300 !important;
  line-height: 22.2px !important;
  color: #ffffff !important;
  margin-bottom: 0 !important;
}

.home-specializations .icon-card--overlay .icon-card__link {
  background-color: #ffffff !important;
  color: var(--jencap-primary) !important;
  border: none !important;
  padding: 5.55px 18.5px !important;
  font-family: var(--font-heading) !important;
  font-size: var(--font-size-broker-body) !important;
  font-weight: 700 !important;
  line-height: 31.45px !important;
  letter-spacing: 1px !important;
  border-radius: 100px !important;
  width: fit-content !important;
  align-self: center !important;
  margin-top: auto !important;
  transform: translateY(-35px) !important;
  margin-bottom: 11px !important;
}

.home-specializations .icon-card--overlay .icon-card__link:hover {
  background-color: #393f3e !important;
  color: #ffffff !important;
}

/* Per-card gradient overlays */
.home-specializations .icon-card--overlay:nth-child(1) .icon-card__overlay {
  background: linear-gradient(rgba(0,152,162,0.9) 30%, rgba(0,152,162,0.5) 100%) !important;
}

.home-specializations .icon-card--overlay:nth-child(2) .icon-card__overlay {
  background: linear-gradient(rgba(0,118,79,0.9) 30%, rgba(0,118,79,0.5) 100%) !important;
}

.home-specializations .icon-card--overlay:nth-child(3) .icon-card__overlay {
  background: linear-gradient(rgba(0,171,98,0.9) 30%, rgba(0,171,98,0.5) 100%) !important;
}

/* ===== SECTION DIVIDERS ===== */

/* Diagonal divider: Specializations -> Industries */
/* Client punchlist: hidden per client request */
.home-divider--diagonal {
  display: none;
  height: 80px;
  margin-top: -80px;
  background: linear-gradient(rgba(0,118,79,0.45), rgba(0,118,79,0.45)),
              url('https://50259120.fs1.hubspotusercontent-na1.net/hubfs/50259120/jencap/specializations/property-A.jpg') center/cover no-repeat;
  position: relative;
  overflow: hidden;
  z-index: 5;
}

.home-divider--diagonal svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Industries bottom divider - green triangle */
.home-industries {
  position: relative;
  z-index: 1;
}

/* .home-industries::after {
  content: '';
  position: absolute;
  bottom: -60px;
  left: 0;
  right: 0;
  height: 60px;
  background: var(--jencap-primary);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 2;
} */

/* ===== INDUSTRIES SECTION ===== */

.home-industries {
  padding: var(--wp-section-padding) 0;
  background: var(--jencap-primary);
}

.home-industries__inner {
  max-width: 1080px;
  width: 80%;
  margin: 0 auto;
}

.home-industries li {
  padding: 0 !important;
  margin: 0 !important;
  line-height: 26px !important;
}

.home-industries ul {
  padding-left: 18.5px !important;
  margin-bottom: 29.7px !important;
  column-gap: normal !important;
}

.home-industries p {
  line-height: 22.2px !important;
  font-weight: 300 !important;
  color: #ffffff !important;
}

.home-industries h2 {
  font-style: normal !important;
  line-height: 48px !important;
  margin-bottom: 0 !important;
}

/* Industries rich text content */
.home-industries__content {
  color: #ffffff;
  text-align: left;
  padding: var(--wp-row-padding) 0;
  font-family: var(--font-subheading) !important;
}

.home-industries__content h2 {
  color: #ffffff;
  font-family: agenda, Montserrat, sans-serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 48px;
  margin-bottom: 0;
  padding-bottom: 10px;
}

.home-industries__content p {
  color: #ffffff;
  font-size: var(--font-size-broker-body);
  font-family: var(--font-subheading) !important;
  font-weight: 300;
  line-height: 22.2px;
  margin: 0;
}

.home-industries__intro {
  padding-bottom: 18.5px;
  max-width: 972px;
}

.home-industries__list-intro {
  margin-bottom: 15px !important;
}

.home-industries__content ul {
  list-style: disc;
  color: #ffffff;
  font-size: var(--font-size-broker-body);
  font-weight: 300;
  columns: 3;
  column-gap: normal;
  margin: 0 0 29.7px;
  padding-left: 18.5px;
}

.home-industries__cta {
  margin-top: -5px;
}

.home-industries__cta-link {
  display: inline-block;
  background: #ffffff;
  color: var(--jencap-primary);
  padding: 5.55px 18.5px;
  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  font-size: var(--font-size-broker-body);
  line-height: 31.45px;
  border: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-family: var(--font-heading);
}

.home-industries__cta-link:hover {
  font-weight: 600;
  background: var(--jencap-text);
  color: var(--jencap-white);
  font-family: var(--font-heading);
  text-decoration: none;
}

/* ===== EXPECTATIONS SECTION ===== */


.home-expectations {
  padding: var(--wp-section-padding) 0;
  background: linear-gradient(180deg, rgba(0,118,79,0.5) 0%, rgba(0,118,79,0.5) 100%),
              url('https://50259120.fs1.hubspotusercontent-na1.net/hubfs/50259120/jencap/specializations/property-A.jpg') center/cover fixed;
}

.home-expectations__header {
  max-width: 1080px;
  width: 80%;
  margin: 0 auto;
  padding: var(--wp-row-padding) 0;
}

.home-expectations__flipboxes {
  margin: 0 36px;
  padding: var(--wp-row-padding) 0;
}

.home-expectations .section-header--light .section-header__heading {
  font-style: normal !important;
}

.home-expectations .section-header {
  padding: 0 !important;
  max-width: none !important;
}

.home-expectations .section-header__heading {
  padding-bottom: 10px !important;
  margin-bottom: 0 !important;
}

.home-expectations .flipbox-grid {
  padding: 0 !important;
}

.home-expectations .flipbox-grid__container {
  max-width: none !important;
}

.home-expectations .flipbox-grid__grid {
  gap: 41px !important;
}

.home-expectations .flipbox-card__front,
.home-expectations .flipbox-card__back {
  border-radius: 5px !important;
}

.home-expectations .flipbox-card__front {
  box-shadow: none !important;
}

.home-expectations .flipbox-card__back .flipbox-card__description {
  font-family: var(--font-heading);
  font-size: 18.5px;
}

/* ===== INSIGHTS SECTION ===== */

/* WP: dsm_blog_carousel (Swiper.js) - 4 slides per view at 1920px,
   each 254px wide x 283px tall, 22px gap. 1080px container, padding 54px 0.
   Image: 254x151px. Title wrapper: 70px (padding 20px 0). Title: teal var(--jencap-accent).
   HS renders a card-grid module with 4 cards - display all 4 in grid. */

.home-insights {
  padding: var(--wp-section-padding) 0;
  background: #ffffff;
/*   min-height: 536px; */
  padding-bottom: 0;
}

.home-insights__inner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

/* WP heading row: 27px top/bottom padding. */
.home-insights .section-header {
  padding: var(--wp-row-padding) 0 !important;
  max-width: none !important;
}

.home-insights .section-header__heading {
  padding-bottom: 10px !important;
  margin-bottom: 0 !important;
}

/* Carousel wrapper: position context for arrows. WP gap heading-to-carousel: 40px. */
.home-insights__carousel {
  position: relative;
  margin-top: 13px;
  overflow: visible;
}

/* Strip card-grid module wrapper padding. */
.home-insights .card-grid {
  padding: 0 !important;
}

.home-insights .card-grid__container {
  max-width: none !important;
  padding: 0 !important;
}

/* Carousel track: flex row, show 1 card at a time (matches WP single-image Swiper). */
.home-insights .card-grid__grid,
.home-insights__grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 0 !important;
  transition: transform 0.4s ease;
}

.home-insights .card-grid__card {
  flex: 0 0 100%;
  min-width: 100%;
}

/* Additional card resets (visual). Flex sizing is set above. */
.home-insights .card-grid__card {
  box-shadow: none !important;
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* WP slide image: single full-width card, proportional height via aspect ratio. */
.home-insights .card-grid__image {
    aspect-ratio: 1.62 / 1 !important;
    object-fit: cover !important;
    border-radius: 5px;
    height: auto !important;
    width: 100%;
}

.home-insights .card-grid__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* WP slide body: dsm-entry-wrapper 70px, padding 20px 0. */
.home-insights .card-grid__content {
  padding: 20px 0 !important;
}

/* WP title: h2.dsm-entry-title, 18.5px semibold teal var(--jencap-accent). */
.home-insights .card-grid__title {
  font-family: var(--font-heading) !important;
  font-size: var(--font-size-broker-body) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: var(--jencap-text) !important;
}

/* Hide card description/button - WP carousel only shows image + title */
.home-insights .card-grid__description,
.home-insights .card-grid__button {
  display: none !important;
}

/* Carousel arrows: WP Swiper style, gray chevrons outside the card area. */
.home-insights__arrow {
  position: absolute;
  top: 30%;
  transform: translateY(-50%);
  z-index: 10;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  opacity: 0.6;
  transition: opacity 0.2s;
}



.home-insights__arrow:hover, .home-insights__arrow:focus {
    opacity: 1;
    background-color: transparent;
    border: none;
}

.home-insights__arrow--prev {
  left: -50px;
}

.home-insights__arrow--next {
    right: -30px;
}

/* Hardcoded insight-card elements - carousel items before JS replaces them */
.insight-card {
  flex: 0 0 100%;
  min-width: 100%;
  display: block;
  text-decoration: none;
  color: inherit;
}

.home-insights__card-image {
  width: 100%;
  aspect-ratio: 1.62 / 1;
  object-fit: cover;
  display: block;
}

.home-insights__card-body {
  padding: 20px 0 0;
}

.home-insights__card-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-broker-body);
  font-weight: 600;
  line-height: 1.25;
  color: var(--jencap-text);
  margin: 0;
}

/* ===== STAY INFORMED SECTION ===== */

/* WP Divi section: padding 0. Internal row has its own padding. */
.home-stay-informed {
  padding: 0;
  background: var(--jencap-divider);
}

/* WP inner row: 1296px max, 90% width, padding 27px 0 11px.
   Column split: 36.7% text left, rest form right (Divi 2-col flex, 71px gap). */
.home-stay-informed__inner {
  max-width: 1296px;
  width: 90%;
  margin: 0 auto;
  padding: 27px 0 11px;
  display: flex;
  gap: 71px;
  align-items: flex-start;
}

.home-stay-informed__inner > div:first-child {
  flex: 0 0 36.7%;
  max-width: 36.7%;
}

.home-stay-informed__inner > div:last-child {
  flex: 1;
  min-width: 0;
}

.home-stay-informed p {
  margin-bottom: 0 !important;
}

.home-stay-informed h2 {
  margin-top: 0 !important;
  font-style: normal !important;
}

/* WP heading: agenda semibold 25px, green var(--jencap-primary). */
.home-stay-informed__heading {
  color: var(--jencap-primary);
  font-size: 25px;
  font-weight: 600;
  font-family: var(--font-heading);
  margin: 0 0 10px;
  line-height: 1.2;
}

/* Form: 2-col grid with standard gap. */
.home-stay-informed__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 2%;
  row-gap: 16px;
}

.home-stay-informed__submit-row {
  grid-column: 1 / -1;
  margin-top: 6px;
  margin-bottom: 0;
}

/* WP submit button: green pill, agenda semibold, no text-transform, 1px letter-spacing.
   Padding matches the other CTA buttons across the page (5.55px / 18.5px). */
.home-stay-informed__submit {
  background: var(--jencap-primary);
  color: #ffffff;
  border: none;
  min-height: 37px;
  width: 130px;
  padding: 0px 18.5px;
  border-radius: 150px;
  font-family: var(--font-body);
  font-size: 18.5px;
  font-weight: 600;
  line-height: 31.45px;
  text-transform: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.home-stay-informed__submit:hover {
  background: var(--jencap-text);
  border: none;
  border-radius: 150px;
  font-family: var(--font-heading);
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   Desktop-first (max-width) to match WP/Divi's approach.
   Primary breakpoint: 960px (Jencap's mobile toggle, matches _header.css).
   ========================================================================== */
@media (max-width: 1300px) {
  .home-specializations .icon-card--overlay .icon-card__link { transform: initial !important;}
  .home-specializations .icon-card--overlay .icon-card__description {margin-bottom: 30px !important;}
}
/* ===== 960px - JENCAP MOBILE BREAKPOINT ===== */

@media (max-width: 960px) {

  /* --- Hero --- */
  .body-container--home .hero .hero__content {
    padding: 90px 40px 50px !important;
  }

  .body-container--home .hero .hero__headline {
    font-size: 30px !important;
  }

  .body-container--home .hero .hero__subheadline {
    font-size: 18px !important;
  }

  .body-container--home .hero .hero__buttons {
    flex-direction: row !important;
  }

  .body-container--home .hero .hero__button,
  .body-container--home .hero a.hero__button {
    min-width: 260px !important;
    font-size: 16px !important;
    font-weight: var(--font-weight-semibold) !important;
  }

  /* --- Specializations: 3-col -> 1-col (WP stacks at 980px) --- */
  .home-specializations {
    padding: 40px 0 0;
  }

  .home-specializations__inner {
    width: 80% !important;
    margin: 0 auto;
    max-width: 100% !important;
  }
  .home-specializations .icon-card-grid__grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .home-specializations .icon-card--overlay {
    min-height: 480px !important;
    border-radius: 6px !important;
  }

  .home-specializations .section-header {
    padding: 0 !important;
  }

  .home-specializations .icon-card-grid__container {
    padding-top: 0 !important;
  }
  
  .home-specializations .icon-card__icon img {;
    max-width: 100px !important;
    width: 70px !important;
    margin-bottom: 40px;
}

  /* --- Divider --- */
  .home-divider--diagonal {
    height: 50px;
    margin-top: -50px;
  }

  .home-industries__inner {
    width: 80%;
    margin: 0 auto;
  }

  .home-industries__content {
    padding: 0;
  }

  .home-industries__content ul {
    columns: 1;
  }

  .home-industries__content h2 {
    font-size: 40px;
    line-height: 48px;
  }

  /* --- Expectations: WP hides flipbox row at <=960px in visual compare,
         section collapses to heading-only. WP keeps 40px heading and 80%
         row width at all mobile sizes. Override module's 768px font reduction. --- */

  .home-expectations__header {
    width: 80%;
    padding: 0;
  }

  .home-expectations .section-header__heading {
    font-size: 40px !important;
  }

  .home-expectations__flipboxes {
    margin: 0 auto;
    width: 80%;
  }

  /* --- Insights: hide arrows at 960px, carousel still works --- */
  .home-insights {
    padding: 32px 0;
  }

  .home-insights__inner {
    width: 90%;
  }

  .home-insights__arrow {
    display: none;
  }

  .home-insights__carousel {
    padding-bottom: 0;
  }

  /* --- Stay Informed: single-column (WP stacks at 980px) --- */
  .home-stay-informed__inner {
    flex-direction: column;
    width: 90%;
    gap: 24px;
    padding: 24px 0 16px;
  }

  .home-stay-informed__inner > div:first-child {
    flex: none;
    max-width: 100%;
  }

  .home-stay-informed__form {
    max-width: 378px;
  }

  .home-stay-informed__submit {
    min-height: 37px;
    min-width: 130px;
    letter-spacing: normal;
    line-height: normal;
  }
}

/* ===== 768px - TABLET BREAKPOINT ===== */

@media (max-width: 768px) {

  /* --- Hero: reduce wave divider to match WP's tablet wave size.
     Desktop wave is 150px; WP renders ~100px at 768px.
     Slight bottom padding reduction pulls specialization section up. --- */
  .body-container--home .hero .hero__content {
    padding: 50px 24px 15px !important;
  }

  .body-container--home .hero::after {
    height: 70px !important;
  }

  /* --- Hero subheadline: WP renders smaller at tablet --- */
  .body-container--home .hero .hero__subheadline {
    font-size: 16px !important;
    line-height: 20px !important;
  }

  /* --- Hero buttons: WP shows side-by-side at 768px, override 960px column stack --- */
  .body-container--home .hero .hero__buttons {
    flex-direction: row !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }

  .body-container--home .hero .hero__button,
  .body-container--home .hero a.hero__button {
    min-width: 45% !important;
    font-size: 18px !important;
    padding: 8px 16px !important;
    letter-spacing: 0.5px !important;
    font-weight: var(--font-weight-semibold) !important;
  }

  /* --- Specializations: pull section up to match WP tablet --- */
  .home-specializations {
    padding: 20px 0 0 !important;
  }

  .home-specializations .section-header {
    padding: 10px 0 !important;
  }
 .home-specializations .icon-card__icon img {;
    width: 50px !important;
    margin-bottom: 20px;
}
  /* --- Expectations: tighten at narrower viewport --- */
  .home-expectations {
    padding: 30px 0;
  }

  /* --- Insights: aspect ratio handles sizing at all widths --- */
  .home-insights__card-image {
    aspect-ratio: 1080 / 675;
  }

}

/* ===== 480px - PHONE BREAKPOINT ===== */

@media (max-width: 480px) {

  /* --- Hero: vertical space to match WP mobile layout --- */
  .body-container--home .hero .hero__content {
    padding: 120px 16px 80px !important;
  }

  /* Right-align to match WP mobile - use content-inner to avoid minifier merge */
  .body-container--home .hero .hero__content-inner {
    text-align: center !important;
  }

  .body-container--home .hero .hero__subheadline {
    font-size: 16px !important;
    line-height: 20px !important;
    text-align: center !important;
  }

  .body-container--home .hero .hero__button,
  .body-container--home .hero a.hero__button {
    min-width: 0 !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 15px !important;
    padding: 12px 16px !important;
    font-weight: var(--font-weight-semibold) !important;
  }

  .body-container--home .hero .hero__buttons {
    width: 100% !important;
  }

  .body-container--home .hero::after {
    height: 80px !important;
  }

  /* --- Specializations: WP keeps 40px heading + ~510px cards at 375px --- */
  .home-specializations {
    padding: 40px 0 0;
  }

  .home-specializations__inner {
    width: 80%;
  }

  .home-specializations .section-header__heading {
    font-size: 40px !important;
    line-height: 48px !important;
    min-height: auto !important;
  }

  .home-specializations .icon-card--overlay {
    min-height: 510px !important;
  }

  .home-specializations .icon-card-grid__container {
    padding-bottom: 0 !important;
  }

  /* --- Industries: WP text module is 270px wide at 375px (narrower than row).
         Match text wrapping by constraining heading+intro width. --- */
  .home-industries {
    padding: 0;
  }

  .home-industries__inner {
    width: 80%;
  }

  .home-industries__intro,
  .home-industries__list-intro {
    max-width: 270px;
  }

  /* Expectations: 960px rules cascade down. No additional overrides needed. */

  /* --- Insights: tighten spacing --- */
  .home-insights {
    padding: 16px 0 0;
  }

  .home-insights__inner {
    width: 90%;
  }

  .home-insights__carousel {
    margin-top: 16px;
    padding-bottom: 16px;
  }

  /* Aspect ratio handles sizing at all widths. */
  .home-insights__card-image {
    aspect-ratio: 1080 / 675;
  }

  /* --- Stay Informed: WP uses 90% width + 2-col form at 375px --- */
  .home-stay-informed__inner {
    width: 90%;
    padding: 0 0 11px;
  }

  .home-stay-informed__form {
    max-width: none;
  }

  .home-stay-informed__submit {
    min-height: auto;
    min-width: auto;
    letter-spacing: normal;
    line-height: normal;
  }
}

/* ============================================================
   768px TABLET FIXES (absorbed from tablet-fixes.css)
   ============================================================ */

@media (max-width: 768px) {
  .home-specializations .icon-card--overlay {
    min-height: 420px !important;
  }

  .home-specializations__inner {
    width: 90% !important;
  }

  .home-industries {
    padding: 24px 0 !important;
  }

  .home-industries__inner {
    width: 90% !important;
  }

  .home-industries__content ul {
    columns: 1;
  }

  .home-industries__content h2 {
    font-size: 32px !important;
    line-height: 1.3 !important;
  }

  .home-expectations {
    padding: 24px 0 !important;
  }

  .home-expectations__header {
    width: 90% !important;
    padding: 16px 0 0 !important;
  }

  .home-insights {
    padding: 24px 0 !important;
  }

  .home-insights__inner {
    width: 90% !important;
  }

  .home-stay-informed__inner {
    gap: 16px !important;
    padding: 20px 0 12px !important;
  }
}
/* cache bust 1774879200 */