/* Centred price and application sections, with DE Infra's own colour tokens. */
.ending-pricing {padding-top:clamp(100px,12vw,170px);padding-bottom:0}
.ending-pricing .ending-heading {max-width:1040px;margin:0 auto clamp(40px,5vw,66px);text-align:center}
.ending-heading h2 {font-size:clamp(40px,6vw,84px);font-weight:600;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.ending-price-card.enroll-panel {
  display:block;max-width:760px;margin:0 auto;padding:clamp(38px,6vw,72px) clamp(26px,5.6vw,72px);
  border:1px solid var(--border);border-radius:28px;background:var(--card);text-align:center;
}
.ending-price-card .ending-price-eyebrow {margin:0 0 32px;font-size:10px;letter-spacing:.18em;color:var(--muted)}
.ending-price-value {font-size:clamp(58px,10vw,116px);font-weight:650;line-height:1;letter-spacing:-.055em;color:var(--text);white-space:nowrap}
.ending-price-caption {margin-top:18px;font-size:17px;line-height:1.6;color:var(--muted)}
.ending-price-divider {height:1px;margin:clamp(32px,4vw,48px) 0;background:var(--border)}
.ending-payroll {margin:0;font-size:clamp(25px,3vw,40px);font-weight:500;line-height:1.25;letter-spacing:-.035em;text-wrap:balance;color:var(--text)}
.ending-payroll em {white-space:nowrap}
.ending-payroll-period {margin-top:14px;font-size:16px;line-height:1.6;color:var(--soft)}
.ending-payment-note {margin:16px auto 0;max-width:540px;font-size:14px;line-height:1.8;color:var(--muted)}
.ending-price-action {margin-top:clamp(32px,4vw,48px)}
.ending-price-card .ending-price-button {min-height:58px;padding:16px 30px;gap:14px;font-size:15px;border-radius:999px}
.ending-price-button>span,.ending-apply-button>span {display:inline-block;transition:translate .25s cubic-bezier(.22,.61,.21,1)}
.ending-price-button:hover>span,.ending-apply-button:hover>span {translate:4px 0}
.final-cta.ending-apply {
  position:relative;isolation:isolate;overflow:hidden;text-align:center;
  padding:clamp(95px,12vw,150px) 24px clamp(105px,13vw,170px);scroll-margin-top:100px;
}
.ending-apply>.eyebrow {position:relative;z-index:1;margin-bottom:18px;color:var(--muted);font-size:10px}
.final-cta.ending-apply h2 {
  position:relative;z-index:1;max-width:1040px;margin:0 auto;
  font-size:clamp(40px,6.4vw,96px);font-weight:600;line-height:1.08;letter-spacing:-.05em;text-wrap:balance;
}
.ending-apply .ending-apply-text {position:relative;z-index:1;max-width:580px;margin:24px auto 0;font-size:clamp(15px,1.6vw,19px);line-height:1.7;color:var(--muted)}
.ending-down-arrow {
  position:relative;z-index:1;display:block;width:clamp(74px,9vw,110px);height:auto;
  margin:22px auto 6px;color:var(--accent);animation:ending-arrow-nudge 2.2s ease-in-out infinite;
}
.button.ending-apply-button {
  min-height:68px;padding:19px 40px;border-radius:999px;
  font-size:clamp(15px,1.8vw,20px);font-weight:600;gap:15px;
  box-shadow:0 12px 48px color-mix(in srgb,var(--accent) 22%,transparent);
}
.ending-apply .ending-apply-button {position:relative;z-index:1;margin-top:0}
.ending-apply .ending-apply-note {position:relative;z-index:1;max-width:520px;margin:20px auto 0;font-size:12px;line-height:1.75;color:var(--muted)}
.ending-apply-glow {
  position:absolute;z-index:0;width:min(1100px,140vw);height:600px;left:50%;bottom:-340px;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%);
  animation:ending-glow 9s ease-in-out infinite;
}
@keyframes ending-arrow-nudge {0%,100%{translate:0 0}50%{translate:0 8px}}
@keyframes ending-glow {0%,100%{opacity:.55}50%{opacity:1}}
@media(max-width:520px) {
  .ending-pricing {padding-top:85px}
  .ending-pricing .ending-heading {margin-bottom:34px}
  .ending-heading h2 {font-size:clamp(38px,10vw,50px);line-height:1.12}
  .ending-price-card.enroll-panel {padding:38px 24px;border-radius:25px}
  .ending-price-card .ending-price-eyebrow {margin-bottom:28px;font-size:9px}
  .ending-price-value {font-size:clamp(51px,14vw,72px)}
  .ending-price-caption {font-size:13px;margin-top:14px}
  .ending-price-divider {margin:30px 0}
  .ending-payroll {font-size:26px;line-height:1.3}
  .ending-payroll-period {font-size:13px;margin-top:12px}
  .ending-payment-note {font-size:12px;margin-top:15px}
  .ending-payment-note br {display:none}
  .ending-price-card .ending-price-button {min-height:54px;font-size:13px;padding:15px 24px}
  .final-cta.ending-apply {padding:95px 8px 105px;scroll-margin-top:88px}
  .final-cta.ending-apply h2 {font-size:clamp(38px,10vw,52px);line-height:1.12}
  .ending-apply .ending-apply-text {font-size:14px;margin-top:22px;max-width:330px}
  .ending-down-arrow {margin-top:20px;width:84px}
  .button.ending-apply-button {min-height:62px;padding:18px 26px;font-size:15px;gap:12px}
  .ending-apply .ending-apply-note {font-size:10px;margin-top:20px;max-width:320px}
}
@media(prefers-reduced-motion:reduce) {
  .ending-down-arrow,.ending-apply-glow {animation:none}
  .ending-price-button>span,.ending-apply-button>span {transition:none;translate:none!important}
}
