/* Scoped to the 2026 campaign; the regular home remains the no-JS fallback. */
[data-campaign-active][hidden], [data-campaign-default][hidden] { display: none !important; }
.ed-home[data-campaign-phase] .ed-hero { background: #f0f5f4; }
.ed-home[data-campaign-phase] .ed-hero h1 { font-size: clamp(40px, 4.6vw, 64px); line-height: 1.08; }
.ed-home[data-campaign-phase] .ed-hero h1 span { display: block; color: #c34f2f; }
.ed-home[data-campaign-phase] .ed-hero-grid { align-items: center; }
.ed-campaign-card { box-sizing: border-box; background: #123f42; color: #f3f7f4; border-radius: 20px; padding: clamp(24px, 3vw, 40px); box-shadow: 0 18px 40px #123f4215; }
.ed-campaign-card p { margin: 0 0 18px; font-size: 15px; line-height: 1.65; }
.ed-campaign-card .ed-campaign-card-label { font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #b8d3ca; }
.ed-campaign-card .ed-campaign-card-number { font-size: clamp(52px, 5vw, 76px); line-height: 1.05; font-weight: 750; letter-spacing: -.06em; color: #e5b27e; margin-bottom: 20px; }
.ed-home .ed-campaign-card h2, .bf-page .ed-campaign-card h2 { color: #fff; font-size: clamp(25px, 2.5vw, 33px); line-height: 1.2; letter-spacing: -.035em; margin: 0 0 14px; }
.ed-campaign-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; border-top: 1px solid #5b7b75; padding-top: 20px; margin: 24px 0 18px; }
.ed-campaign-timeline span { font-size: 11px; line-height: 1.5; }
.ed-campaign-timeline strong { display: block; font-size: 13px; margin-bottom: 5px; color: #fff; }
.ed-campaign-card .ed-campaign-card-fine { font-size: 11px; line-height: 1.65; color: #c2d5ce; margin: 0; }
.ed-campaign-recharge { margin-top: 35px; padding: 28px; border: 1px solid #b7cdc5; border-radius: 14px; background: #fff; }
.ed-campaign-recharge p { max-width: 720px; }
.ed-campaign-recharge h3 { margin-top: 0; }
.bf-campaign-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.bf-campaign-signup { color: #123f42; font-size: 14px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; padding: 12px 0; }
.bf-vip-access { background: #f0f5f4; }
.bf-access-copy { max-width: 720px; }
.bf-access-copy p { line-height: 1.75; }
.bf-access-copy ol { padding-left: 22px; line-height: 1.9; }
.bf-passport-help { margin-top: 24px; padding-top: 22px; border-top: 1px solid currentColor; scroll-margin-top: 100px; }
.bf-passport-help h3 { font-size: 21px; margin: 0 0 12px; }
.bf-passport-help a { color: inherit; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width:760px) {
  .ed-campaign-card { padding: 24px; }
  .ed-home[data-campaign-phase] .ed-hero { padding-top: 36px; }
  .ed-home[data-campaign-phase] .ed-actions { gap: 12px; }
  .ed-home[data-campaign-phase] .ed-actions .ed-btn { width: 100%; }
  .bf-hero-grid > .ed-campaign-card { order: 4; }
  .bf-hero-copy > .bf-campaign-actions { order: 5; }
  .bf-campaign-actions { gap: 10px; }
  .bf-campaign-actions .bf-button { flex: 1; }
  .bf-campaign-signup { width: 100%; text-align: center; }
}
