.gp-offer { margin-block-start: 100px; background: var(--lv12-brand-soft); border-bottom: 1px solid var(--lv12-line); color: var(--lv12-ink); font-size: 14px; }
.gp-offer ~ * .lv12-hero { padding-block-start: 48px; }
.gp-offer > div { display: flex; justify-content: center; align-items: center; gap: 8px 24px; flex-wrap: wrap; padding-block: 10px; }
.gp-offer-link { color: var(--lv12-brand); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; min-block-size: 24px; }
.gp-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 24px; }
.gp-header .lv12-textlink { text-align: end; }
.gp-main { max-inline-size: 1040px; padding-block: 30px 64px; }
.gp-intro { max-inline-size: 740px; margin-inline: auto; text-align: center; }
.gp-eyebrow { display: inline-block; padding: 7px 12px; background: var(--lv12-brand-soft); color: var(--lv12-brand); font-size: 13px; border-radius: 99px; }
.gp-intro h1 { font: 800 clamp(30px, 5vw, 52px)/1.1 'Bricolage', sans-serif; letter-spacing: -.035em; margin-block: 20px; text-wrap: balance; }
.gp-lead { color: var(--lv12-muted); font-size: clamp(17px, 2vw, 20px); line-height: 1.5; margin-block: 14px !important; text-wrap: pretty; }
.gp-note { color: var(--lv12-muted); font-size: 14px; line-height: 1.5; margin-block: 16px !important; }
.gp-intro .button_to { margin-block-start: 24px; }
.gp-intro .lv12-button { white-space: normal; min-block-size: 48px; max-inline-size: 100%; text-align: center; }
.gp-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-block: 40px; }
.gp-benefits section { min-inline-size: 0; padding-block-start: 20px; border-top: 1px solid var(--lv12-line); }
.gp-number { color: var(--lv12-brand); font-size: 13px; }
.gp-benefits h2 { font-size: 18px; line-height: 1.3; margin-block: 10px; }
.gp-benefits p, .gp-terms p { color: var(--lv12-muted); line-height: 1.55; font-size: 15px; margin-block: 8px; }
.gp-terms { background: var(--lv12-soft); border: 1px solid var(--lv12-line); border-radius: 18px; padding: 22px 26px; }
.gp-terms strong { font-size: 15px; }
.gp-notice { border: 1px solid var(--lv12-line); background: var(--lv12-soft); padding: 16px; border-radius: 12px; margin-block-end: 18px !important; }
@media (max-width: 600px) {
  .gp-offer { margin-block-start: 124px; }
  .gp-offer--campaign { margin-block-start: 84px; }
  .gp-offer > div { gap: 2px; flex-direction: column; text-align: center; padding-block: 7px; }
  .gp-offer-link { display: inline-flex; align-items: center; min-block-size: 44px; }
  .gp-header { padding-block: 18px; }
  .gp-main { padding-block-start: 18px; }
  .gp-benefits { grid-template-columns: 1fr; gap: 18px; margin-block: 28px; }
  .gp-benefits section { display: grid; grid-template-columns: 25px minmax(0, 1fr); column-gap: 10px; }
  .gp-benefits h2 { margin-block: 0 7px; }
  .gp-number { padding-block-start: 2px; }
  .gp-benefits p { grid-column: 2; margin: 0; }
  .gp-terms { padding: 18px; }
}
