.page-has-hero[data-join-type] { overflow-x: hidden; }

.join-hero {
  position: relative;
  width: 100%;
  max-width: 100vw;
  height: 420px;
  min-height: 420px !important;
  overflow: hidden;
  color: #fff;
}

.join-hero [data-cms-carousel-root],
.join-hero .cms-carousel-track,
.join-hero .cms-inner-slide { width: 100% !important; max-width: 100vw !important; height: 420px !important; min-height: 420px !important; }
.join-hero .cms-inner-slide { align-items: flex-start !important; padding: 108px max(36px, calc((100vw - 1360px) / 2 + 36px)) 58px !important; text-align: left !important; }
.join-hero .cms-banner-title { width: 100% !important; max-width: min(1500px, calc(100vw - 72px)) !important; margin: 0 0 4px !important; font-size: 44px !important; text-align: left !important; }
.join-hero .cms-banner-sub { width: 100% !important; max-width: min(1500px, calc(100vw - 72px)) !important; margin: 0 !important; font-size: 40px !important; line-height: 1.25 !important; text-align: left !important; }

.join-section__inner,
.join-cta__inner {
  position: relative;
  width: min(1320px, calc(100% - 48px));
  margin: 0 auto;
}

.join-section { padding: 72px 0; background: #fff; }
.join-section--muted { background: #f2f4f7; }
.join-video-section { padding-top: 54px; padding-bottom: 60px; }
.join-section__heading { max-width: 760px; margin-bottom: 30px; }
.join-section__kicker { display: block; margin-bottom: 8px; color: var(--brand); font-size: 14px; font-weight: 700; }
.join-section h2 { margin: 0; font-size: 30px; line-height: 1.35; color: var(--text); }
.join-prose { max-width: 1050px; }
.join-prose p { margin: 0 0 18px; font-size: 16px; line-height: 2; color: var(--text-secondary); text-align: justify; }
.join-prose p:last-child { margin-bottom: 0; }
.join-prose--steps { max-width: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; counter-reset: join-step; }
.join-prose--steps p { position: relative; min-height: 142px; margin: 0; padding: 28px 28px 26px 76px; border: 1px solid var(--border); border-top: 3px solid var(--brand); border-radius: 6px; background: #fff; box-shadow: 0 10px 26px rgba(17, 36, 64, 0.06); text-align: left; }
.join-prose--steps p:last-child:nth-child(odd) { grid-column: 1 / -1; }
.join-prose__number { position: absolute; top: 27px; left: 26px; color: var(--brand); font-size: 18px; font-weight: 700; line-height: 1; }
.join-prose__number::after { content: ''; position: absolute; top: 28px; left: 0; width: 22px; height: 2px; background: var(--brand); }
.join-prose--callouts { max-width: none; display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 18px; }
.join-prose--callouts p { margin: 0; padding: 30px; border-radius: 6px; background: #fff; border: 1px solid var(--border); text-align: left; }
.join-prose--callouts p:first-child { display: flex; align-items: center; color: #fff; border-color: var(--brand); background: var(--brand); font-size: 19px; font-weight: 600; }
.join-prose--callouts p:first-child span { color: inherit; }
.join-prose--facts { max-width: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.join-prose--facts p { min-height: 168px; margin: 0; padding: 28px; border: 1px solid var(--border); border-radius: 6px; background: #fff; text-align: left; box-shadow: 0 10px 24px rgba(17, 36, 64, 0.05); }
.join-prose--facts strong { display: block; margin-bottom: 14px; color: var(--brand); font-size: 18px; }
.join-prose--facts span { display: block; color: var(--text-secondary); font-size: 15px; line-height: 1.9; }

.join-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.join-benefit { min-height: 148px; padding: 24px 26px; background: #fff; border: 1px solid var(--border); border-radius: 6px; box-shadow: 0 8px 22px rgba(17, 36, 64, 0.05); }
.join-benefit__number { display: block; margin-bottom: 12px; color: var(--brand); font-size: 13px; font-weight: 700; }
.join-benefit h3 { margin: 0 0 8px; font-size: 18px; color: var(--text); }
.join-benefit p { margin: 0; font-size: 15px; line-height: 1.9; color: var(--text-secondary); }

.join-detail-list { display: grid; gap: 1px; background: var(--border); border: 1px solid var(--border); }
.join-detail { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 28px; padding: 26px 28px; background: #fff; }
.join-detail h3 { margin: 0; color: var(--text); font-size: 17px; }
.join-detail p { margin: 0; color: var(--text-secondary); font-size: 15px; line-height: 1.85; white-space: pre-line; }

.join-video { position: relative; overflow: hidden; aspect-ratio: 16 / 7; min-height: 320px; display: flex; align-items: center; justify-content: center; background-position: center; background-size: cover; }
.join-video::before { content: ''; position: absolute; inset: 0; background: rgba(6, 19, 30, 0.62); }
.join-video--ready::before { display: none; }
.join-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #050505; }
.join-video__placeholder { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 14px; color: #fff; text-align: center; }
.join-video__play { width: 72px; height: 72px; display: grid; place-items: center; padding-left: 5px; border: 1px solid rgba(255, 255, 255, 0.72); border-radius: 50%; background: rgba(255, 255, 255, 0.12); font-size: 30px; }
.join-video__placeholder strong { font-size: 20px; }
.join-video__placeholder span { color: rgba(255, 255, 255, 0.72); font-size: 14px; }

.join-cta { padding: 58px 0; background: #132231; color: #fff; }
.join-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.join-cta h2 { margin: 0 0 8px; font-size: 28px; }
.join-cta p { margin: 0; color: rgba(255, 255, 255, 0.7); font-size: 15px; }
.join-cta .btn { min-width: 170px; min-height: 46px; justify-content: center; flex-shrink: 0; }

@media (max-width: 768px) {
  .join-hero { height: 300px; min-height: 300px !important; }
  .join-hero [data-cms-carousel-root], .join-hero .cms-carousel-track, .join-hero .cms-inner-slide { height: 300px !important; min-height: 300px !important; }
  .join-hero .cms-inner-slide { align-items: flex-start !important; padding: 84px 18px 30px !important; text-align: left !important; }
  .join-hero .cms-banner-title { max-width: calc(100vw - 36px) !important; font-size: 24px !important; text-align: left !important; white-space: normal !important; }
  .join-hero .cms-banner-sub { max-width: calc(100vw - 36px) !important; font-size: 16px !important; line-height: 1.45 !important; text-align: left !important; white-space: pre-wrap !important; }
  .join-section__inner, .join-cta__inner { width: min(100% - 36px, 1320px); }
  .join-section { padding: 48px 0; }
  .join-section h2 { font-size: 24px; }
  .join-prose p { font-size: 15px; line-height: 1.85; text-align: left; }
  .join-prose--steps, .join-prose--callouts, .join-prose--facts { grid-template-columns: 1fr; }
  .join-prose--steps p:last-child:nth-child(odd) { grid-column: auto; }
  .join-prose--steps p { min-height: 0; padding: 24px 20px 22px 64px; }
  .join-prose__number { top: 24px; left: 20px; }
  .join-prose--callouts p, .join-prose--facts p { min-height: 0; padding: 24px 20px; }
  .join-benefits { grid-template-columns: 1fr; }
  .join-detail { grid-template-columns: 1fr; gap: 8px; padding: 22px 20px; }
  .join-video { min-height: 240px; aspect-ratio: 4 / 3; }
  .join-cta__inner { align-items: flex-start; flex-direction: column; }
  .join-cta .btn { width: 100%; }
}
