.jumbo-cta {
  min-height: 64px;
  padding: 0 28px;
  font-size: 15px;
  font-weight: 750;
}

.aspiration {
  background: var(--forest-deep);
  color: #fff;
  padding: 108px max(28px, calc((100vw - var(--max)) / 2));
}

.aspiration-head {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: end;
  gap: 56px;
  margin-bottom: 44px;
}

.aspiration h2 {
  font-size: clamp(52px, 6.6vw, 92px);
  line-height: .92;
  letter-spacing: -.07em;
  margin: 18px 0 0;
}

.aspiration h2 em {
  font-family: 'Libre Caslon Display', serif;
  font-weight: 400;
}

.aspiration-head > p {
  max-width: 450px;
  color: #c8dbd1;
  font-size: 18px;
}

.lifestyle-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

.lifestyle-grid figure {
  margin: 0;
  min-width: 0;
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 24px;
  overflow: hidden;
  background: #163e31;
}

.lifestyle-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}

.lifestyle-grid figure:hover img { transform: scale(1.025); }

.lifestyle-grid figure::after {
  content: '';
  position: absolute;
  inset: 38% 0 0;
  background: linear-gradient(transparent, rgba(4, 28, 21, .9));
}

.lifestyle-grid figcaption {
  position: absolute;
  z-index: 1;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.lifestyle-grid figcaption b { font-size: 18px; line-height: 1.1; }
.lifestyle-grid figcaption span { font-size: 11px; color: #d6e5de; }
.outcome-note { font-size: 11px; color: #adc5b9; margin: 16px 0 28px; }

.lifestyle-cta {
  max-width: 780px;
  margin: 0 auto;
  min-height: 76px;
  padding: 0 26px;
  display: grid;
  grid-template-columns: 1fr auto 42px;
  gap: 22px;
  background: var(--lime);
  color: var(--forest-deep);
}

.lifestyle-cta b { font-size: 14px; }
.lifestyle-cta i { font-style: normal; font-size: 24px; }
.decision-copy { font-size: 14px; color: #466156; margin: -10px 0 22px; }
.mobile-buy span { display: flex; flex-direction: column; line-height: 1.1; }
.mobile-buy small { font-size: 10px; font-weight: 600; margin-top: 3px; }
.mobile-buy i { font-style: normal; font-size: 22px; }
.checkout-button { font-size: 16px; }
.checkout aside .checkout-button { min-height: 68px; padding-inline: 26px; }

@media (max-width: 980px) {
  .aspiration { padding: 88px 28px; }
  .aspiration-head { grid-template-columns: 1fr; gap: 8px; }
  .lifestyle-grid { grid-template-columns: repeat(3, 1fr); }
  .lifestyle-grid figure:nth-child(4),
  .lifestyle-grid figure:nth-child(5) { aspect-ratio: 16 / 12; }
  .lifestyle-grid figure:nth-child(4) { grid-column: 1 / 2; }
  .lifestyle-grid figure:nth-child(5) { grid-column: 2 / 4; }
}

@media (max-width: 620px) {
  body { padding-bottom: 88px; }
  .masthead { gap: 10px; }
  .aspiration { padding: 72px 16px; }
  .aspiration-head { margin-bottom: 28px; }
  .aspiration h2 { font-size: 46px; }
  .aspiration-head > p { font-size: 16px; }
  .lifestyle-grid { grid-template-columns: 1fr; gap: 12px; }
  .lifestyle-grid figure,
  .lifestyle-grid figure:nth-child(4),
  .lifestyle-grid figure:nth-child(5) {
    grid-column: auto;
    aspect-ratio: 4 / 5;
    border-radius: 26px;
  }
  .lifestyle-grid figcaption { left: 22px; bottom: 22px; }
  .lifestyle-grid figcaption b { font-size: 24px; }
  .lifestyle-grid figcaption span { font-size: 13px; }
  .lifestyle-cta {
    min-height: 92px;
    grid-template-columns: 1fr 30px;
    gap: 8px;
    padding: 16px 20px;
    border-radius: 28px;
  }
  .lifestyle-cta b { grid-row: 2; font-size: 12px; }
  .lifestyle-cta i { grid-column: 2; grid-row: 1 / 3; }
  .jumbo-cta {
    width: 100%;
    justify-content: space-between;
    text-align: left;
    padding: 12px 20px;
    min-height: 72px;
  }
  .checkout aside .checkout-button { min-height: 72px; }
  .mobile-buy {
    min-height: 66px;
    bottom: max(8px, env(safe-area-inset-bottom));
    padding: 0 22px;
  }
  .hero-panel .round-cta { width: 100%; justify-content: space-between; }
  .portal-cta { padding: 14px 18px; }
  .price { font-variant-numeric: tabular-nums; }
}

@media (prefers-reduced-motion: reduce) {
  .lifestyle-grid img { transition: none; }
}

/* High-visibility purchase actions */
.mini-cta.checkout-link {
  min-height: 54px;
  padding: 0 24px;
  font-size: 14px;
  font-weight: 850;
  background: var(--lime);
  color: var(--forest-deep);
  box-shadow: 0 8px 24px rgba(5, 43, 32, .2);
}

.hero-panel .round-cta.checkout-link,
.bento-action .round-cta.checkout-link {
  min-height: 62px;
  padding: 0 22px 0 26px;
  background: var(--lime);
  color: var(--forest-deep);
  border: 2px solid #fff;
  font-size: 15px;
  font-weight: 850;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
}

.hero-panel .round-cta span,
.bento-action .round-cta span {
  background: var(--forest-deep);
  color: #fff;
}

.jumbo-cta {
  min-height: 82px;
  padding: 0 34px;
  border: 3px solid var(--forest);
  background: var(--lime);
  color: var(--forest-deep);
  font-size: 18px;
  font-weight: 850;
  box-shadow: 0 16px 40px rgba(5, 43, 32, .24);
}

.portal-cta.checkout-link {
  min-height: 112px;
  padding: 0 34px;
  border: 3px solid var(--cyan);
  box-shadow: 0 18px 42px rgba(7, 23, 37, .26);
}

.portal-cta.checkout-link > span { font-size: 18px; font-weight: 800; }
.portal-cta.checkout-link > b { color: var(--lime); font-size: 22px; }

.lifestyle-cta.checkout-link {
  min-height: 88px;
  max-width: 900px;
  border: 3px solid #fff;
  font-size: 18px;
  font-weight: 850;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
}

.checkout aside .checkout-button.checkout-link {
  min-height: 84px;
  padding: 0 30px;
  border: 3px solid var(--forest-deep);
  font-size: 19px;
  font-weight: 900;
  box-shadow: 0 16px 38px rgba(5, 43, 32, .22);
}

.jumbo-cta,
.lifestyle-cta.checkout-link,
.portal-cta.checkout-link,
.checkout aside .checkout-button.checkout-link,
.mobile-buy.checkout-link {
  animation: cta-attention 1.1s ease-in-out 3;
}

.checkout-link:hover,
.checkout-link:focus-visible {
  filter: brightness(1.06);
  outline: 4px solid var(--cyan);
  outline-offset: 4px;
}

.checkout-link:active { filter: brightness(.96); }

@keyframes cta-attention {
  0%, 100% { box-shadow: 0 12px 30px rgba(5, 43, 32, .2); }
  50% { box-shadow: 0 16px 46px rgba(171, 214, 109, .62), 0 0 0 7px rgba(171, 214, 109, .18); }
}

@media (max-width: 620px) {
  .jumbo-cta {
    min-height: 82px;
    font-size: 17px;
    line-height: 1.2;
  }
  .portal-cta.checkout-link {
    min-height: 124px;
    padding: 18px 20px;
  }
  .portal-cta.checkout-link > span { font-size: 17px; }
  .portal-cta.checkout-link > b { font-size: 18px; }
  .lifestyle-cta.checkout-link { min-height: 102px; font-size: 17px; }
  .checkout aside .checkout-button.checkout-link { min-height: 86px; font-size: 18px; }
  .mobile-buy.checkout-link {
    left: 8px;
    right: 8px;
    min-height: 78px;
    padding: 0 24px;
    border: 3px solid #fff;
    font-size: 18px;
    box-shadow: 0 18px 46px rgba(5, 43, 32, .42);
  }
  .mobile-buy.checkout-link small { font-size: 12px; margin-top: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .jumbo-cta,
  .lifestyle-cta.checkout-link,
  .portal-cta.checkout-link,
  .checkout aside .checkout-button.checkout-link,
  .mobile-buy.checkout-link { animation: none; }
}
