/* =========================================================
   Gospel Reclaimed Homepage
   File: gr-homepage.css

   Used for:
   - Homepage draft
   - Future live homepage

   Elementor classes expected:
   .gr-home-hero
   .gr-home-hero-text
   .gr-home-hero-title
   .gr-home-hero-tagline
   .gr-home-hero-copy
   .gr-home-hero-buttons
   .gr-button-primary
   .gr-button-secondary
   .gr-home-hero-image

   .gr-home-manifesto
   .gr-home-manifesto-inner
   .gr-home-manifesto-eyebrow
   .gr-home-manifesto-title
   .gr-home-manifesto-copy
   .gr-home-manifesto-punchline

   .gr-home-reclaiming
   .gr-home-reclaiming-inner
   .gr-home-reclaiming-eyebrow
   .gr-home-reclaiming-title
   .gr-home-reclaiming-intro
   .gr-home-reclaiming-grid
   .gr-home-reclaiming-card
   .gr-home-reclaiming-card-title
   .gr-home-reclaiming-card-copy

   .gr-home-latest
   .gr-home-latest-inner
   .gr-home-latest-eyebrow
   .gr-home-latest-title
   .gr-home-latest-intro
   .gr-home-latest-posts
   .gr-home-latest-button

   .gr-home-meet
   .gr-home-meet-inner
   .gr-home-meet-visual
   .gr-home-meet-image
   .gr-home-meet-content
   .gr-home-meet-eyebrow
   .gr-home-meet-title
   .gr-home-meet-copy
   .gr-home-meet-button
   ========================================================= */

:root {
  --gr-home-navy: #16222d;
  --gr-home-navy-soft: #1d2b38;
  --gr-home-gold: #c09a00;
  --gr-home-gold-bright: #e8b400;
  --gr-home-white: #ffffff;
  --gr-home-cream: #fffdf8;
  --gr-home-cream-2: #f7f3ea;
  --gr-home-muted: rgba(255, 255, 255, 0.86);
  --gr-home-ink-muted: rgba(22, 34, 45, 0.78);
  --gr-home-border: rgba(22, 34, 45, 0.12);
}

/* =========================================================
   Hero section
   ========================================================= */

.gr-home-hero {
  width: 100% !important;
  max-width: none !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 72px !important;

  background: var(--gr-home-navy) !important;
  color: var(--gr-home-white) !important;

  padding: 82px 40px 84px !important;
  margin: 0 !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}

.gr-home-hero * {
  box-sizing: border-box !important;
}

.gr-home-hero-text {
  flex: 0 1 560px !important;
  max-width: 560px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  margin: 0 !important;
  padding: 0 !important;
}

.gr-home-hero-image {
  flex: 0 1 470px !important;
  max-width: 470px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;
}

.gr-home-hero-image img {
  width: 100% !important;
  max-width: 470px !important;
  height: auto !important;

  border: 4px solid rgba(192, 154, 0, 0.72) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18) !important;
}

/* =========================================================
   Hero text
   ========================================================= */

.gr-home-hero-title,
.gr-home-hero-title .elementor-widget-container,
.gr-home-hero-title .elementor-heading-title {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--gr-home-gold) !important;
  text-align: left !important;
}

.gr-home-hero-title .elementor-heading-title {
  font-family: "Cinzel", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: 78px !important;
  line-height: 0.94 !important;
  font-weight: 500 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;

  color: var(--gr-home-gold) !important;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.22) !important;
}

.gr-home-hero-title::after {
  content: "" !important;
  display: block !important;
  width: 88px !important;
  height: 3px !important;
  margin: 22px 0 0 !important;
  background: var(--gr-home-gold-bright) !important;
  opacity: 0.85 !important;
}

.gr-home-hero-tagline,
.gr-home-hero-tagline .elementor-widget-container,
.gr-home-hero-tagline p,
.gr-home-hero-tagline .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--gr-home-white) !important;
  text-align: left !important;
}

.gr-home-hero-tagline {
  margin-top: 30px !important;
  margin-bottom: 28px !important;
}

.gr-home-hero-tagline p,
.gr-home-hero-tagline .elementor-heading-title {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 30px !important;
  line-height: 1.16 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
}

.gr-home-hero-copy,
.gr-home-hero-copy .elementor-widget-container,
.gr-home-hero-copy p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--gr-home-muted) !important;
  text-align: left !important;
}

.gr-home-hero-copy {
  max-width: 560px !important;
  margin-bottom: 32px !important;
}

.gr-home-hero-copy p {
  font-size: 19px !important;
  line-height: 30px !important;
  font-weight: 400 !important;
}

/* =========================================================
   Hero buttons
   ========================================================= */

.gr-home-hero-buttons {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  flex-wrap: wrap !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gr-home-hero-buttons .elementor-widget-button {
  margin: 0 !important;
  padding: 0 !important;
}

.gr-home-hero-buttons .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 48px !important;
  padding: 14px 24px !important;

  border-radius: 8px !important;

  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-decoration: none !important;

  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease !important;
}

.gr-button-primary .elementor-button {
  background: var(--gr-home-gold-bright) !important;
  color: var(--gr-home-navy) !important;
  border: 1px solid var(--gr-home-gold-bright) !important;
}

.gr-button-primary .elementor-button:hover {
  background: #f3c832 !important;
  color: var(--gr-home-navy) !important;
  transform: translateY(-1px) !important;
}

.gr-button-secondary .elementor-button {
  background: transparent !important;
  color: var(--gr-home-white) !important;
  border: 1px solid var(--gr-home-gold-bright) !important;
}

.gr-button-secondary .elementor-button:hover {
  background: rgba(232, 180, 0, 0.12) !important;
  color: var(--gr-home-white) !important;
  transform: translateY(-1px) !important;
}

/* =========================================================
   Hero tablet
   ========================================================= */

@media (max-width: 1024px) {
  .gr-home-hero {
    flex-direction: column !important;
    gap: 42px !important;
    padding: 72px 32px 76px !important;
  }

  .gr-home-hero-text {
    max-width: 700px !important;
    width: 100% !important;
    align-items: center !important;
    text-align: center !important;
  }

  .gr-home-hero-title,
  .gr-home-hero-title .elementor-heading-title,
  .gr-home-hero-tagline,
  .gr-home-hero-tagline p,
  .gr-home-hero-tagline .elementor-heading-title,
  .gr-home-hero-copy,
  .gr-home-hero-copy p {
    text-align: center !important;
  }

  .gr-home-hero-title .elementor-heading-title {
    font-size: 62px !important;
    line-height: 0.98 !important;
    letter-spacing: 0.04em !important;
  }

  .gr-home-hero-title::after {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .gr-home-hero-tagline {
    margin-top: 30px !important;
    margin-bottom: 28px !important;
  }

  .gr-home-hero-tagline p,
  .gr-home-hero-tagline .elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.18 !important;
  }

  .gr-home-hero-copy {
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .gr-home-hero-copy p {
    font-size: 20px !important;
    line-height: 31px !important;
  }

  .gr-home-hero-buttons {
    justify-content: center !important;
  }

  .gr-home-hero-image {
    width: 100% !important;
    max-width: 520px !important;
  }

  .gr-home-hero-image img {
    max-width: 520px !important;
  }
}

/* =========================================================
   Hero mobile
   ========================================================= */

@media (max-width: 767px) {
  .gr-home-hero {
    padding: 58px 22px 64px !important;
    gap: 34px !important;
  }

  .gr-home-hero-text {
    max-width: 100% !important;
    width: 100% !important;
  }

  .gr-home-hero-title .elementor-heading-title {
    font-size: 42px !important;
    line-height: 1.04 !important;
    letter-spacing: 0.035em !important;
  }

  .gr-home-hero-title::after {
    width: 72px !important;
    height: 3px !important;
    margin: 18px auto 0 !important;
  }

  .gr-home-hero-tagline {
    margin-top: 26px !important;
    margin-bottom: 26px !important;
  }

  .gr-home-hero-tagline p,
  .gr-home-hero-tagline .elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.24 !important;
    letter-spacing: -0.01em !important;
  }

  .gr-home-hero-copy {
    max-width: 100% !important;
    margin-bottom: 30px !important;
  }

  .gr-home-hero-copy p {
    font-size: 18px !important;
    line-height: 29px !important;
  }

  .gr-home-hero-buttons {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    margin-bottom: 24px !important;
  }

  .gr-home-hero-buttons .elementor-widget-button {
    width: 100% !important;
    max-width: 280px !important;
  }

  .gr-home-hero-buttons .elementor-button {
    width: 100% !important;
    min-height: 50px !important;
  }

  .gr-home-hero-image {
    width: 100% !important;
    max-width: 440px !important;
    margin-top: 6px !important;
  }

  .gr-home-hero-image img {
    width: 100% !important;
    max-width: 440px !important;
  }
}

/* =========================================================
   Manifesto section
   ========================================================= */

.gr-home-manifesto {
  width: 100% !important;
  max-width: none !important;

  background: var(--gr-home-navy-soft) !important;
  color: var(--gr-home-white) !important;

  padding: 82px 32px 88px !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-top: 1px solid rgba(232, 180, 0, 0.18) !important;
  border-bottom: 1px solid rgba(232, 180, 0, 0.18) !important;

  box-sizing: border-box !important;
}

.gr-home-manifesto * {
  box-sizing: border-box !important;
}

.gr-home-manifesto-inner {
  width: 100% !important;
  max-width: 860px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;

  margin: 0 auto !important;
  padding: 0 !important;

  text-align: center !important;
}

.gr-home-manifesto-eyebrow,
.gr-home-manifesto-eyebrow .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--gr-home-gold-bright) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.gr-home-manifesto-title,
.gr-home-manifesto-title .elementor-heading-title {
  margin: 20px 0 0 !important;
  padding: 0 !important;

  color: var(--gr-home-white) !important;
  font-size: clamp(38px, 4.2vw, 58px) !important;
  line-height: 1.06 !important;
  font-weight: 850 !important;
  letter-spacing: -0.035em !important;
  text-align: center !important;
}

.gr-home-manifesto-title::after {
  content: "" !important;
  display: block !important;

  width: 88px !important;
  height: 3px !important;

  margin: 26px auto 0 !important;

  background: var(--gr-home-gold-bright) !important;
  opacity: 0.85 !important;
}

.gr-home-manifesto-copy {
  width: 100% !important;
  max-width: 760px !important;

  margin: 34px auto 0 !important;
  padding: 0 !important;

  color: var(--gr-home-muted) !important;
  text-align: center !important;
}

.gr-home-manifesto-copy p {
  margin: 0 0 20px !important;
  padding: 0 !important;

  color: var(--gr-home-muted) !important;
  font-size: 22px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

.gr-home-manifesto-copy p:last-child {
  margin-bottom: 0 !important;
}

.gr-home-manifesto-punchline,
.gr-home-manifesto-punchline .elementor-heading-title {
  margin: 42px 0 0 !important;
  padding: 0 !important;

  color: var(--gr-home-gold-bright) !important;
  font-size: 28px !important;
  line-height: 1.18 !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
}

@media (max-width: 1024px) {
  .gr-home-manifesto {
    padding: 72px 28px 78px !important;
  }

  .gr-home-manifesto-copy p {
    font-size: 21px !important;
    line-height: 1.58 !important;
  }
}

@media (max-width: 767px) {
  .gr-home-manifesto {
    padding: 50px 22px 56px !important;
  }

  .gr-home-manifesto-eyebrow,
  .gr-home-manifesto-eyebrow .elementor-heading-title {
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
  }

  .gr-home-manifesto-title,
  .gr-home-manifesto-title .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  .gr-home-manifesto-title::after {
    width: 72px !important;
    margin-top: 22px !important;
  }

  .gr-home-manifesto-copy {
    margin-top: 26px !important;
  }

  .gr-home-manifesto-copy p {
    font-size: 18px !important;
    line-height: 1.58 !important;
  }

  .gr-home-manifesto-punchline,
  .gr-home-manifesto-punchline .elementor-heading-title {
    margin-top: 34px !important;
    font-size: 24px !important;
    line-height: 1.18 !important;
  }
}

/* =========================================================
   Reclaiming section
   ========================================================= */

.gr-home-reclaiming {
  width: 100% !important;
  max-width: none !important;

  background: var(--gr-home-cream) !important;
  color: var(--gr-home-navy) !important;

  padding: 86px 32px 96px !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;
}

.gr-home-reclaiming * {
  box-sizing: border-box !important;
}

.gr-home-reclaiming-inner {
  width: 100% !important;
  max-width: 1120px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;

  margin: 0 auto !important;
  padding: 0 !important;

  text-align: center !important;
}

.gr-home-reclaiming-eyebrow,
.gr-home-reclaiming-eyebrow .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--gr-home-gold) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.gr-home-reclaiming-title,
.gr-home-reclaiming-title .elementor-heading-title {
  max-width: 860px !important;

  margin: 18px auto 0 !important;
  padding: 0 !important;

  color: var(--gr-home-navy) !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: 1.07 !important;
  font-weight: 850 !important;
  letter-spacing: -0.04em !important;
  text-align: center !important;
}

.gr-home-reclaiming-title::after {
  content: "" !important;
  display: block !important;

  width: 88px !important;
  height: 3px !important;

  margin: 26px auto 0 !important;

  background: var(--gr-home-gold-bright) !important;
  opacity: 0.95 !important;
}

.gr-home-reclaiming-intro {
  width: 100% !important;
  max-width: 760px !important;

  margin: 32px auto 0 !important;
  padding: 0 !important;

  color: rgba(22, 34, 45, 0.82) !important;
  text-align: center !important;
}

.gr-home-reclaiming-intro p {
  margin: 0 !important;
  padding: 0 !important;

  color: rgba(22, 34, 45, 0.82) !important;
  font-size: 20px !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

.gr-home-reclaiming-grid {
  width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;

  margin: 48px 0 0 !important;
  padding: 0 !important;
}

.gr-home-reclaiming-card {
  min-height: 100% !important;

  background: #ffffff !important;
  border: 1px solid rgba(22, 34, 45, 0.12) !important;
  border-top: 5px solid var(--gr-home-gold-bright) !important;
  border-radius: 18px !important;

  padding: 34px 30px 36px !important;

  box-shadow: 0 16px 38px rgba(22, 34, 45, 0.07) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  text-align: left !important;
}

.gr-home-reclaiming-card-title,
.gr-home-reclaiming-card-title .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--gr-home-navy) !important;
  font-size: 24px !important;
  line-height: 1.18 !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
  text-align: left !important;
}

.gr-home-reclaiming-card-copy {
  margin: 18px 0 0 !important;
  padding: 0 !important;

  color: rgba(22, 34, 45, 0.78) !important;
  text-align: left !important;
}

.gr-home-reclaiming-card-copy p {
  margin: 0 !important;
  padding: 0 !important;

  color: rgba(22, 34, 45, 0.78) !important;
  font-size: 16.5px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

@media (max-width: 1024px) {
  .gr-home-reclaiming {
    padding: 76px 28px 84px !important;
  }

  .gr-home-reclaiming-grid {
    grid-template-columns: 1fr !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .gr-home-reclaiming-card {
    align-items: center !important;
    text-align: center !important;
  }

  .gr-home-reclaiming-card-title,
  .gr-home-reclaiming-card-title .elementor-heading-title,
  .gr-home-reclaiming-card-copy,
  .gr-home-reclaiming-card-copy p {
    text-align: center !important;
  }
}

@media (max-width: 767px) {
  .gr-home-reclaiming {
    padding: 58px 22px 66px !important;
  }

  .gr-home-reclaiming-eyebrow,
  .gr-home-reclaiming-eyebrow .elementor-heading-title {
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
  }

  .gr-home-reclaiming-title,
  .gr-home-reclaiming-title .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  .gr-home-reclaiming-title::after {
    width: 72px !important;
    margin-top: 22px !important;
  }

  .gr-home-reclaiming-intro {
    margin-top: 30px !important;
  }

  .gr-home-reclaiming-intro p {
    font-size: 18px !important;
    line-height: 1.58 !important;
  }

  .gr-home-reclaiming-grid {
    margin-top: 38px !important;
    gap: 20px !important;
  }

  .gr-home-reclaiming-card {
    padding: 30px 24px 32px !important;
    border-radius: 16px !important;
  }

  .gr-home-reclaiming-card-title,
  .gr-home-reclaiming-card-title .elementor-heading-title {
    font-size: 23px !important;
    line-height: 1.18 !important;
  }

  .gr-home-reclaiming-card-copy p {
    font-size: 16.5px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================================
   Latest articles section
   ========================================================= */

.gr-home-latest {
  width: 100% !important;
  max-width: none !important;

  background: var(--gr-home-cream-2) !important;
  color: var(--gr-home-navy) !important;

  padding: 86px 32px 96px !important;
  margin: 0 !important;

  box-sizing: border-box !important;
}

.gr-home-latest * {
  box-sizing: border-box !important;
}

.gr-home-latest-inner {
  width: 100% !important;
  max-width: 1120px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  text-align: center !important;
}

.gr-home-latest-eyebrow,
.gr-home-latest-eyebrow .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--gr-home-gold) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.gr-home-latest-title,
.gr-home-latest-title .elementor-heading-title {
  max-width: 860px !important;

  margin: 18px auto 0 !important;
  padding: 0 !important;

  color: var(--gr-home-navy) !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: 1.07 !important;
  font-weight: 850 !important;
  letter-spacing: -0.04em !important;
  text-align: center !important;
}

.gr-home-latest-title::after {
  content: "" !important;
  display: block !important;

  width: 88px !important;
  height: 3px !important;

  margin: 26px auto 0 !important;

  background: var(--gr-home-gold-bright) !important;
  opacity: 0.95 !important;
}

.gr-home-latest-intro {
  width: 100% !important;
  max-width: 760px !important;

  margin: 32px auto 0 !important;
  padding: 0 !important;

  color: rgba(22, 34, 45, 0.82) !important;
  text-align: center !important;
}

.gr-home-latest-intro p {
  margin: 0 !important;
  padding: 0 !important;

  color: rgba(22, 34, 45, 0.82) !important;
  font-size: 20px !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

.gr-home-latest-posts {
  width: 100% !important;

  margin: 48px 0 0 !important;
  padding: 0 !important;
}

.gr-home-latest-posts,
.gr-home-latest-posts .elementor-widget-container {
  background: transparent !important;
}

.gr-home-latest-posts .elementor-posts-container,
.gr-home-latest-posts .elementor-posts,
.gr-home-latest-posts .elementor-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;

  width: 100% !important;
  margin: 0 !important;
}

.gr-home-latest-posts .elementor-post {
  background: #ffffff !important;

  border: 1px solid var(--gr-home-border) !important;
  border-radius: 18px !important;

  overflow: hidden !important;

  box-shadow: 0 16px 38px rgba(22, 34, 45, 0.07) !important;

  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;

  text-align: left !important;

  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

.gr-home-latest-posts .elementor-post:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(232, 180, 0, 0.72) !important;
  box-shadow: 0 20px 44px rgba(22, 34, 45, 0.11) !important;
}

/* Latest images */
.gr-home-latest-posts .elementor-post__thumbnail__link {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1.62 / 1 !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  background: #eee7d7 !important;

  opacity: 1 !important;
  visibility: visible !important;
}

.gr-home-latest-posts .elementor-post__thumbnail {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  opacity: 1 !important;
  visibility: visible !important;
}

.gr-home-latest-posts .elementor-post__thumbnail img {
  position: static !important;

  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  transition: transform 0.25s ease !important;
}

.gr-home-latest-posts .elementor-post:hover .elementor-post__thumbnail img {
  transform: scale(1.025) !important;
}

/* Latest card text */
.gr-home-latest-posts .elementor-post__text {
  padding: 24px 24px 26px !important;

  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;

  background: #ffffff !important;

  text-align: left !important;
}

.gr-home-latest-posts .elementor-post__title {
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.gr-home-latest-posts .elementor-post__title,
.gr-home-latest-posts .elementor-post__title a {
  color: var(--gr-home-navy) !important;
  font-size: 21px !important;
  line-height: 1.24 !important;
  font-weight: 850 !important;
  letter-spacing: -0.03em !important;
  text-align: left !important;
  text-decoration: none !important;
}

.gr-home-latest-posts .elementor-post__title a:hover {
  color: var(--gr-home-gold) !important;
}

.gr-home-latest-posts .elementor-post__meta-data {
  color: rgba(22, 34, 45, 0.52) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;

  margin: 0 0 12px !important;
  padding: 0 !important;

  text-align: left !important;
}

.gr-home-latest-posts .elementor-post__excerpt {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

.gr-home-latest-posts .elementor-post__excerpt,
.gr-home-latest-posts .elementor-post__excerpt p {
  color: var(--gr-home-ink-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.gr-home-latest-posts .elementor-post__excerpt p {
  margin: 0 !important;
  padding: 0 !important;
}

.gr-home-latest-posts .elementor-post__read-more {
  margin-top: auto !important;

  color: var(--gr-home-gold) !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
  text-align: left !important;
  text-decoration: none !important;
}

.gr-home-latest-posts .elementor-post__read-more:hover {
  color: var(--gr-home-navy) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

.gr-home-latest-button {
  margin: 44px 0 0 !important;
  padding: 0 !important;
}

.gr-home-latest-button .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 50px !important;
  padding: 15px 28px !important;

  background: var(--gr-home-navy) !important;
  color: #ffffff !important;

  border: 1px solid var(--gr-home-navy) !important;
  border-radius: 8px !important;

  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  text-decoration: none !important;

  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
}

.gr-home-latest-button .elementor-button:hover {
  background: var(--gr-home-gold-bright) !important;
  color: var(--gr-home-navy) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 1024px) {
  .gr-home-latest {
    padding: 76px 28px 84px !important;
  }

  .gr-home-latest-posts .elementor-posts-container,
  .gr-home-latest-posts .elementor-posts,
  .gr-home-latest-posts .elementor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

@media (max-width: 767px) {
  .gr-home-latest {
    padding: 58px 22px 66px !important;
  }

  .gr-home-latest-eyebrow,
  .gr-home-latest-eyebrow .elementor-heading-title {
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
  }

  .gr-home-latest-title,
  .gr-home-latest-title .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  .gr-home-latest-title::after {
    width: 72px !important;
    margin-top: 22px !important;
  }

  .gr-home-latest-intro {
    margin-top: 30px !important;
  }

  .gr-home-latest-intro p {
    font-size: 18px !important;
    line-height: 1.58 !important;
  }

  .gr-home-latest-posts {
    margin-top: 38px !important;
  }

  .gr-home-latest-posts .elementor-posts-container,
  .gr-home-latest-posts .elementor-posts,
  .gr-home-latest-posts .elementor-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .gr-home-latest-posts .elementor-post {
    border-radius: 16px !important;
  }

  .gr-home-latest-posts .elementor-post__text {
    padding: 22px 22px 24px !important;
  }

  .gr-home-latest-posts .elementor-post__title,
  .gr-home-latest-posts .elementor-post__title a {
    font-size: 22px !important;
    line-height: 1.22 !important;
    text-align: left !important;
  }

  .gr-home-latest-posts .elementor-post__meta-data,
  .gr-home-latest-posts .elementor-post__excerpt,
  .gr-home-latest-posts .elementor-post__excerpt p,
  .gr-home-latest-posts .elementor-post__read-more {
    text-align: left !important;
  }

  .gr-home-latest-button {
    width: 100% !important;
    max-width: 300px !important;
    margin: 36px auto 0 !important;
  }

  .gr-home-latest-button .elementor-button {
    width: 100% !important;
  }
}

/* =========================================================
   Meet the Rebel section
   ========================================================= */

.gr-home-meet {
  width: 100% !important;
  max-width: none !important;

  background: var(--gr-home-navy) !important;
  color: var(--gr-home-white) !important;

  padding: 86px 32px 96px !important;
  margin: 0 !important;

  box-sizing: border-box !important;
}

.gr-home-meet * {
  box-sizing: border-box !important;
}

.gr-home-meet-inner {
  width: 100% !important;
  max-width: 1120px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 58px !important;
}

.gr-home-meet-visual {
  flex: 0 1 390px !important;
  max-width: 390px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;
}

.gr-home-meet-image,
.gr-home-meet-image .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gr-home-meet-image img {
  display: block !important;

  width: 100% !important;
  max-width: 360px !important;
  height: auto !important;

  margin: 0 auto !important;

  border-radius: 24px !important;
  border: 1px solid rgba(232, 180, 0, 0.28) !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.22) !important;
}

.gr-home-meet-content {
  flex: 0 1 560px !important;
  max-width: 560px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  margin: 0 !important;
  padding: 0 !important;

  text-align: left !important;
}

.gr-home-meet-eyebrow,
.gr-home-meet-eyebrow .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--gr-home-gold-bright) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

.gr-home-meet-title,
.gr-home-meet-title .elementor-heading-title {
  margin: 18px 0 0 !important;
  padding: 0 !important;

  color: var(--gr-home-white) !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: 1.07 !important;
  font-weight: 850 !important;
  letter-spacing: -0.04em !important;
  text-align: left !important;
}

.gr-home-meet-title::after {
  content: "" !important;
  display: block !important;

  width: 88px !important;
  height: 3px !important;

  margin: 26px 0 0 !important;

  background: var(--gr-home-gold-bright) !important;
  opacity: 0.95 !important;
}

.gr-home-meet-copy {
  width: 100% !important;

  margin: 32px 0 0 !important;
  padding: 0 !important;

  color: var(--gr-home-muted) !important;
  text-align: left !important;
}

.gr-home-meet-copy p {
  margin: 0 0 20px !important;
  padding: 0 !important;

  color: var(--gr-home-muted) !important;
  font-size: 20px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.gr-home-meet-copy p:last-child {
  margin-bottom: 0 !important;
}

.gr-home-meet-button {
  margin: 34px 0 0 !important;
  padding: 0 !important;
}

.gr-home-meet-button .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 50px !important;
  padding: 15px 28px !important;

  background: var(--gr-home-gold-bright) !important;
  color: var(--gr-home-navy) !important;

  border: 1px solid var(--gr-home-gold-bright) !important;
  border-radius: 8px !important;

  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  text-decoration: none !important;

  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
}

.gr-home-meet-button .elementor-button:hover {
  background: #f3c832 !important;
  color: var(--gr-home-navy) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 1024px) {
  .gr-home-meet {
    padding: 76px 28px 84px !important;
  }

  .gr-home-meet-inner {
    flex-direction: column !important;
    gap: 42px !important;
  }

  .gr-home-meet-content {
    align-items: center !important;
    text-align: center !important;
  }

  .gr-home-meet-eyebrow,
  .gr-home-meet-eyebrow .elementor-heading-title,
  .gr-home-meet-title,
  .gr-home-meet-title .elementor-heading-title,
  .gr-home-meet-copy,
  .gr-home-meet-copy p {
    text-align: center !important;
  }

  .gr-home-meet-title::after {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 767px) {
  .gr-home-meet {
    padding: 58px 22px 66px !important;
  }

  .gr-home-meet-inner {
    gap: 34px !important;
  }

  .gr-home-meet-visual {
    max-width: 300px !important;
  }

  .gr-home-meet-image img {
    max-width: 300px !important;
    border-radius: 20px !important;
  }

  .gr-home-meet-eyebrow,
  .gr-home-meet-eyebrow .elementor-heading-title {
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
  }

  .gr-home-meet-title,
  .gr-home-meet-title .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  .gr-home-meet-title::after {
    width: 72px !important;
    margin-top: 22px !important;
  }

  .gr-home-meet-copy {
    margin-top: 30px !important;
  }

  .gr-home-meet-copy p {
    font-size: 18px !important;
    line-height: 1.58 !important;
  }

  .gr-home-meet-button {
    width: 100% !important;
    max-width: 300px !important;
    margin: 32px auto 0 !important;
  }

  .gr-home-meet-button .elementor-button {
    width: 100% !important;
  }
}

/* =========================================================
   Extra-small phones
   ========================================================= */

@media (max-width: 420px) {
  .gr-home-hero-title .elementor-heading-title {
    font-size: 38px !important;
  }

  .gr-home-hero-tagline p,
  .gr-home-hero-tagline .elementor-heading-title {
    font-size: 20px !important;
  }
}