.journey-main,
.journey-copy,
.journey-panel { min-width: 0; }

html, body { overflow-x: hidden; }

.journey-main { grid-template-columns: minmax(360px, 42%) minmax(0, 1fr); }
.calendar-shell { width: 100%; min-width: 0; overflow: hidden; }
.calendar-shell iframe { display: block; width: 100%; max-width: 100%; }

@media (min-width: 821px) {
  .journey-copy { padding: clamp(64px, 6vw, 88px) clamp(44px, 4.4vw, 64px); }
  .journey-copy h1 {
    max-width: 100%;
    font-size: 40px;
    line-height: .88;
    letter-spacing: -0.055em;
  }
  .journey-panel { padding: clamp(42px, 4.4vw, 64px); }
  .journey-card {
    max-width: 760px;
    padding: clamp(48px, 5vw, 72px);
    box-shadow: 10px 10px 0 var(--blue);
  }
  .journey-card h1 {
    max-width: 100%;
    font-size: 48px;
    line-height: .88;
    letter-spacing: -0.055em;
  }
}

@media (max-width: 820px) {
  .journey-main { grid-template-columns: minmax(0, 1fr); }
  .journey-panel { padding-right: 28px; padding-left: 28px; }
  .journey-copy h1 { font-size: 38px; overflow-wrap: normal; }
  .journey-card h1 { font-size: 34px; letter-spacing: -0.055em; }
  .journey-action { width: 100%; justify-content: space-between; }
  .journey-proof { grid-template-columns: 1fr; gap: 18px; }
  .journey-proof span { min-width: 0; }
}
