/* =========================================================================
   Postmark Travel — About Us page typography & spacing standardization
   
   Applies to: about.html (elementor-82)
   
   Goal: align heading sizes, body sizes, and section rhythm with the
   product-page / home-page / country-page scale.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. Hero title — 36px / 200 / Cormorant Garamond
   ------------------------------------------------------------------------- */
.elementor-82 .elementor-element-28fc891.elementor-widget-heading .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 36px !important;
  font-weight: 200 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.8px !important;
}

/* -------------------------------------------------------------------------
   2. Hero subtext — 24px / 200 / Cormorant Garamond
   ------------------------------------------------------------------------- */
.elementor-82 .elementor-element-d1038db.elementor-widget-heading .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 24px !important;
  font-weight: 200 !important;
  line-height: 36px !important;
}

/* -------------------------------------------------------------------------
   3. Section headings — 36px / 700 / Cormorant Garamond
   ------------------------------------------------------------------------- */
.elementor-82 .elementor-element-17193bb.elementor-widget-heading .elementor-heading-title,
.elementor-82 .elementor-element-5141565.elementor-widget-heading .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* -------------------------------------------------------------------------
   4. Founder names — 32px / 700 / Cormorant Garamond
   ------------------------------------------------------------------------- */
.elementor-82 .elementor-element-c20558b.elementor-widget-heading .elementor-heading-title,
.elementor-82 .elementor-element-57cb428.elementor-widget-heading .elementor-heading-title,
.elementor-82 .elementor-element-5c1109a.elementor-widget-heading .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* -------------------------------------------------------------------------
   5. Founder roles — 20px / 400 / Cormorant Garamond
   ------------------------------------------------------------------------- */
.elementor-82 .elementor-element-6966cb9.elementor-widget-heading .elementor-heading-title,
.elementor-82 .elementor-element-20a732d.elementor-widget-heading .elementor-heading-title,
.elementor-82 .elementor-element-ffea4f2.elementor-widget-heading .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* -------------------------------------------------------------------------
   6. Founder bios — 20px / 300 / 28px / Outfit
   ------------------------------------------------------------------------- */
.elementor-82 .elementor-element-2e92cee.elementor-widget-heading .elementor-heading-title,
.elementor-82 .elementor-element-5ce4265.elementor-widget-heading .elementor-heading-title,
.elementor-82 .elementor-element-a8f0861.elementor-widget-heading .elementor-heading-title {
  font-family: "Outfit", sans-serif !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 28px !important;
}

/* -------------------------------------------------------------------------
   7. Buttons / CTAs — 14px / 600 / Outfit
   ------------------------------------------------------------------------- */
.elementor-82 .elementor-button-link .elementor-button-text,
.elementor-82 .elementor-button {
  font-family: "Outfit", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
}

/* -------------------------------------------------------------------------
   8. Section rhythm — match product-page max-width and vertical padding
   ------------------------------------------------------------------------- */
.elementor-82 > .e-con {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.elementor-82 > .e-con:not(:first-child) {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

/* -------------------------------------------------------------------------
   9. Equalize founder text-card padding
   ------------------------------------------------------------------------- */
.elementor-82 .elementor-element-69df9b4,
.elementor-82 .elementor-element-18af0d2,
.elementor-82 .elementor-element-329320b {
  --padding-top: 32px !important;
  --padding-bottom: 32px !important;
  --padding-left: 32px !important;
  --padding-right: 32px !important;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

/* -------------------------------------------------------------------------
   10. Equal-size founder cards (image + text blocks)
   ------------------------------------------------------------------------- */

/* Parent row: force CSS Grid so all three columns stretch to the same height.
   We override Elementor's flex custom-property approach which was using
   --align-items: flex-start and preventing equal heights. */
.elementor-82 .elementor-element.elementor-element-6751887 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  align-items: stretch !important;
}

/* Each founder card: fill the grid cell and stack image + text vertically */
.elementor-82 .elementor-element-6751887 > .e-con.e-child {
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Founder image widget: fixed 4:5 aspect ratio so all images are identical */
.elementor-82 .elementor-element-6751887 > .e-con.e-child > .elementor-widget-image {
  flex: 0 0 auto !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
}

.elementor-82 .elementor-element-6751887 > .e-con.e-child > .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

/* Founder text block: grow to fill remaining vertical space */
.elementor-82 .elementor-element-69df9b4,
.elementor-82 .elementor-element-18af0d2,
.elementor-82 .elementor-element-329320b {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

/* Tablet: keep 3 columns on iPad, but on phones switch to 1 column */
@media (max-width: 1024px) {
  .elementor-82 .elementor-element.elementor-element-6751887 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .elementor-82 .elementor-element.elementor-element-6751887 {
    grid-template-columns: 1fr !important;
  }
}

/* -------------------------------------------------------------------------
   11. Mobile adjustments
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .elementor-82 .elementor-element-28fc891.elementor-widget-heading .elementor-heading-title {
    font-size: 32px !important;
  }

  .elementor-82 .elementor-element-d1038db.elementor-widget-heading .elementor-heading-title {
    font-size: 22px !important;
    line-height: 32px !important;
  }

  .elementor-82 .elementor-element-17193bb.elementor-widget-heading .elementor-heading-title,
  .elementor-82 .elementor-element-5141565.elementor-widget-heading .elementor-heading-title {
    font-size: 32px !important;
  }

  .elementor-82 .elementor-element-c20558b.elementor-widget-heading .elementor-heading-title,
  .elementor-82 .elementor-element-57cb428.elementor-widget-heading .elementor-heading-title,
  .elementor-82 .elementor-element-5c1109a.elementor-widget-heading .elementor-heading-title {
    font-size: 28px !important;
  }

  .elementor-82 .elementor-element-2e92cee.elementor-widget-heading .elementor-heading-title,
  .elementor-82 .elementor-element-5ce4265.elementor-widget-heading .elementor-heading-title,
  .elementor-82 .elementor-element-a8f0861.elementor-widget-heading .elementor-heading-title {
    font-size: 18px !important;
    line-height: 26px !important;
  }

  .elementor-82 > .e-con:not(:first-child) {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* -------------------------------------------------------------------------
   World-map carousel overflow (desktop)
   -------------------------------------------------------------------------
   The "where we've journeyed" world map is an image-carousel (22b0a5a,
   hidden on mobile) sitting inside a container (84e4f35) that was authored
   at a FIXED width of ~1749px. That broke out of its 1260px parent frame
   and bled ~118px past both page edges (horizontal scroll). Constrain the
   container and the carousel to their frame so the map stays inside it. */
.elementor-82 .elementor-element-84e4f35 {
  width: 100% !important;
  max-width: 100% !important;
}
.elementor-82 .elementor-element-22b0a5a {
  width: 100% !important;
  max-width: 100% !important;
}
