/* Launch Hub clarity and energy refresh */
.hero {
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: clamp(38px, 5vw, 70px);
  min-height: 610px;
  padding-top: 66px;
  padding-bottom: 66px;
}

.welcome-card {
  transform: none;
  min-height: 440px;
  padding: clamp(42px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 18px 18px 0 rgba(168, 207, 69, .54), var(--shadow);
  border: 1px solid rgba(255, 255, 255, .1);
  overflow: hidden;
}

.welcome-card::before {
  content: "";
  position: absolute;
  width: 290px;
  height: 290px;
  border: 1px solid rgba(168, 207, 69, .25);
  border-radius: 50%;
  right: -155px;
  top: -145px;
  box-shadow: 0 0 0 32px rgba(168, 207, 69, .07), 0 0 0 64px rgba(168, 207, 69, .04);
}

.welcome-card > * { position: relative; z-index: 1; }
.welcome-card > p:not(.small-label) { color: #cfdae0; font-size: 1.02rem; max-width: 540px; }
.welcome-wins span { min-height: 76px; justify-content: center; }

.launch-wave {
  height: 48px;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
}

.launch-wave i {
  display: block;
  width: 4px;
  height: 12px;
  border-radius: 5px;
  background: var(--green2);
  animation: hubPulse 1.8s ease-in-out infinite;
}

.launch-wave i:nth-child(2), .launch-wave i:nth-child(8) { height: 22px; animation-delay: .1s; }
.launch-wave i:nth-child(3), .launch-wave i:nth-child(7) { height: 36px; animation-delay: .2s; }
.launch-wave i:nth-child(4), .launch-wave i:nth-child(6) { height: 18px; animation-delay: .3s; }
.launch-wave i:nth-child(5) { height: 44px; animation-delay: .4s; background: var(--navy); }

@keyframes hubPulse {
  0%, 100% { transform: scaleY(.72); opacity: .65; }
  50% { transform: scaleY(1.08); opacity: 1; }
}

.steps-section {
  position: relative;
  overflow: hidden;
  background: white;
}

.steps-section::before {
  content: "LET'S GO";
  position: absolute;
  right: -30px;
  top: 20px;
  font-size: clamp(5rem, 13vw, 12rem);
  line-height: 1;
  font-weight: 950;
  color: rgba(6, 28, 50, .035);
  letter-spacing: -.08em;
  pointer-events: none;
}

.steps-section > * { position: relative; z-index: 1; }

.five-step-ribbon {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  background: var(--navy);
  color: white;
  margin-bottom: 24px;
  box-shadow: var(--shadow);
}

.five-step-ribbon span {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-right: 1px solid rgba(255, 255, 255, .12);
}

.five-step-ribbon b { color: var(--green); font-size: .7rem; }
.five-step-ribbon span:last-child { background: var(--green); color: var(--navy); }
.five-step-ribbon span:last-child b { color: var(--navy); }

.step-trigger { grid-template-columns: 86px 1fr auto; padding: 28px 30px; }
.step-trigger .number { font-size: 2.25rem; font-weight: 700; }
.step-title small { display: block; color: var(--green2); font-size: .64rem; font-weight: 950; letter-spacing: .2em; margin-bottom: 4px; }
.step-trigger h3 { font-size: 1.8rem; font-weight: 700; }
.step-card.open .number { color: var(--navy); }

.first-list {
  display: grid;
  grid-template-columns: 160px repeat(5, 1fr);
  gap: 12px;
  align-items: center;
  padding: 20px;
  margin: 10px 0 18px;
  background: var(--navy);
  color: white;
}

.first-list strong { color: var(--green); letter-spacing: .12em; font-size: .75rem; }
.first-list label { display: flex; align-items: center; gap: 7px; }
.first-list label span { color: var(--green); font-size: .68rem; font-weight: 950; }
.first-list input { width: 100%; min-width: 0; padding: 10px 9px; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .08); color: white; outline: none; }
.first-list input::placeholder { color: #9fb0ba; }
.first-list input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(168, 207, 69, .15); }

.invitation-preview {
  margin-top: 20px;
  padding: 25px 28px;
  color: white;
  background: linear-gradient(135deg, var(--navy), var(--navy2));
  border-left: 8px solid var(--green);
}

.invitation-preview span { color: var(--green); font-size: .68rem; font-weight: 950; letter-spacing: .18em; }
.invitation-preview p { margin: 12px 0 0; font: 400 1.17rem/1.5 Georgia, serif; }

.quick-destinations {
  padding: 86px clamp(22px, 7vw, 110px);
  background: var(--navy);
  color: white;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: clamp(40px, 7vw, 100px);
  align-items: end;
  position: relative;
  overflow: hidden;
}

.quick-destinations::before {
  content: "";
  position: absolute;
  width: 460px;
  height: 460px;
  border: 1px solid rgba(168, 207, 69, .22);
  border-radius: 50%;
  left: -300px;
  bottom: -310px;
  box-shadow: 0 0 0 48px rgba(168, 207, 69, .055), 0 0 0 96px rgba(168, 207, 69, .03);
}

.quick-destinations > * { position: relative; z-index: 1; }
.destination-heading h2 { margin: 0 0 20px; color: white; font: 500 clamp(3rem, 5.5vw, 5.4rem)/.91 Georgia, serif; letter-spacing: -.04em; }
.destination-heading > p:last-child { color: #b8c9d3; max-width: 410px; }
.destination-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }

.destination-grid a {
  min-height: 310px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: white;
  color: var(--navy);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.destination-grid a:nth-child(2) { background: var(--green); }
.destination-grid a:hover { transform: translateY(-8px); box-shadow: 0 22px 50px rgba(0, 0, 0, .28); }
.destination-icon { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; margin: 0 0 auto; background: var(--navy); color: var(--green); font-size: .7rem; font-weight: 950; letter-spacing: .06em; }
.destination-icon.play, .destination-icon.heart { font-size: 1.35rem; }
.destination-grid small { color: var(--green2); font-weight: 950; letter-spacing: .16em; font-size: .62rem; }
.destination-grid a:nth-child(2) small { color: var(--navy); }
.destination-grid strong { font: 700 2rem/1 Georgia, serif; margin: 10px 0 14px; }
.destination-grid em { color: var(--muted); font-style: normal; font-size: .82rem; font-weight: 700; }
.destination-grid a:nth-child(2) em { color: #334522; }

.conversation-roadmap {
  max-width: 1020px;
  margin: 42px auto 0;
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  box-shadow: var(--shadow);
}

.conversation-roadmap a {
  display: grid;
  grid-template-columns: 46px 1fr;
  align-items: center;
  gap: 12px;
  min-height: 120px;
  padding: 22px;
  color: white;
  background: var(--navy);
  text-align: left;
  text-decoration: none;
  border-right: 1px solid rgba(255, 255, 255, .12);
}

.conversation-roadmap a:nth-child(2) { background: var(--green); color: var(--navy); }
.conversation-roadmap b { color: var(--green); font: 700 1.45rem Georgia, serif; }
.conversation-roadmap a:nth-child(2) b { color: var(--navy); }
.conversation-roadmap span { font-weight: 900; }
.conversation-roadmap small { display: block; opacity: .72; font-size: .58rem; letter-spacing: .14em; margin-bottom: 5px; }

.conversation-stage {
  padding: 110px clamp(22px, 7vw, 110px) 82px;
  position: relative;
  overflow: hidden;
}

.stage-first { padding-top: 90px; background: white; }
.stage-response { background: var(--navy); color: white; }
.stage-followup { background: linear-gradient(135deg, #f1f6f7, #eff8e8); }
.stage-number { position: absolute; right: 4vw; top: 24px; color: rgba(168, 207, 69, .2); font-size: clamp(7rem, 16vw, 14rem); font-weight: 950; line-height: 1; letter-spacing: -.08em; }
.stage-copy { max-width: 760px; position: relative; }
.stage-copy h2 { margin: 0 0 16px; color: var(--navy); font: 500 clamp(2.8rem, 5vw, 4.7rem)/.96 Georgia, serif; }
.stage-copy > p:last-child { color: var(--muted); font-size: 1.04rem; }
.stage-response .stage-copy h2 { color: white; }
.stage-response .stage-copy > p:last-child { color: #c2d0d8; }

.simplified-openers { margin-top: 42px; grid-template-columns: 1.2fr .8fr .8fr; }
.simplified-openers .featured-opener { grid-column: auto; }
.response-paths, .followup-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 42px; position: relative; }
.response-paths article { min-height: 285px; display: flex; flex-direction: column; padding: 30px; background: #0d3457; border-top: 5px solid var(--green); }
.response-paths article:nth-child(2) { background: var(--green); color: var(--navy); }
.response-paths b { color: var(--green); font-size: .66rem; letter-spacing: .16em; }
.response-paths article:nth-child(2) b { color: var(--navy); }
.response-paths h3 { margin: 35px 0 10px; font: 500 1.65rem/1.12 Georgia, serif; }
.response-paths p { color: #c1d0d8; }
.response-paths article:nth-child(2) p { color: #304322; }
.response-paths a { color: white; font-weight: 900; margin-top: auto; }
.response-paths article:nth-child(2) a { color: var(--navy); }

.followup-three article { padding: 30px; min-height: 220px; background: white; border: 1px solid var(--line); box-shadow: 0 12px 35px rgba(4, 29, 51, .07); }
.followup-three b { color: var(--green2); font-size: .7rem; letter-spacing: .14em; }
.followup-three h3 { margin: 34px 0 10px; color: var(--navy); font: 700 1.65rem Georgia, serif; }
.followup-three p { color: var(--muted); font-family: Georgia, serif; font-size: 1.08rem; }
.compact-scripts { padding-top: 76px; }

.conversation-reminder {
  padding: 28px clamp(22px, 7vw, 110px);
  background: var(--green);
  color: var(--navy);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 1.05rem;
}

.conversation-reminder strong { font-size: .72rem; letter-spacing: .18em; }
.conversation-reminder i { width: 7px; height: 7px; border-radius: 50%; background: var(--navy); }

#boards, #calls, #videos, #first, #responded, #followup { scroll-margin-top: 90px; }

@media (max-width: 1050px) {
  .hero { grid-template-columns: 1fr; }
  .welcome-card { min-height: 0; }
  .quick-destinations { grid-template-columns: 1fr; }
  .first-list { grid-template-columns: 130px repeat(2, 1fr); }
  .first-list span:nth-child(n+4) { grid-column: span 1; }
  .simplified-openers { grid-template-columns: 1fr 1fr; }
  .simplified-openers .featured-opener { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .welcome-card { padding: 34px 28px; box-shadow: 10px 11px 0 rgba(168, 207, 69, .5), var(--shadow); }
  .five-step-ribbon { grid-template-columns: 1fr; }
  .five-step-ribbon span { min-height: 48px; justify-content: flex-start; padding: 10px 18px; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .step-trigger { grid-template-columns: 45px 1fr; padding: 22px 18px; }
  .step-trigger .number { font-size: 1.45rem; }
  .step-trigger h3 { font-size: 1.4rem; }
  .first-list { grid-template-columns: 1fr; }
  .first-list strong { margin-bottom: 5px; }
  .quick-destinations { padding-top: 66px; padding-bottom: 66px; }
  .destination-grid { grid-template-columns: 1fr; }
  .destination-grid a { min-height: 245px; }
  .conversation-roadmap { grid-template-columns: 1fr; margin-bottom: 0; }
  .conversation-roadmap a { min-height: 82px; }
  .stage-first { padding-top: 70px; }
  .conversation-stage { padding-left: 22px; padding-right: 22px; }
  .simplified-openers, .response-paths, .followup-three { grid-template-columns: 1fr; }
  .simplified-openers .featured-opener { grid-column: auto; }
  .conversation-reminder { align-items: flex-start; flex-direction: column; }
  .conversation-reminder i { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .launch-wave i { animation: none; }
}
