.ez-custom-rewards {
  --orange:var(--ez-orange);
  --orange-deep:var(--ez-red);
  --orange-soft:var(--ez-orange-soft);
  --navy:var(--ez-text);
  --slate:var(--ez-gray);
  --green:var(--ez-green);
  --cream:var(--ez-orange-soft);
  --surface:var(--ez-white);
  --line:var(--ez-border);
  --shadow:var(--ez-shadow-md);
  --radius:var(--ez-r-xl);
  --section-space:100px;
  --card-padding:28px;
}
.ez-custom-rewards, .ez-custom-rewards * { box-sizing:border-box; }
.ez-custom-rewards {
  font-family:inherit;
  color:var(--navy);
  background:transparent;
  line-height:1.6;
}
.ez-custom-rewards a { text-decoration:none; }
.ez-cr-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.ez-cr-pill {
  display:inline-flex; align-items:center; gap:8px; padding:5px 10px;
  border:1px solid #ffedd5; border-radius:var(--ez-r-full); background:var(--orange-soft);
  font-weight:700; font-size:12px; letter-spacing:1px; color:var(--orange);
  line-height:1.5; text-transform:uppercase;
}
.ez-cr-pill::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--orange); flex:0 0 8px; }

.ez-cr-hero {
  min-height:720px; overflow:hidden; position:relative;
  background:
    radial-gradient(circle at 12% 20%, rgba(244,112,58,.13), transparent 35%),
    radial-gradient(circle at 90% 16%, rgba(117,177,255,.12), transparent 32%),
    linear-gradient(120deg,#fffaf8 0%,#f9fbff 62%,var(--ez-white) 100%);
  padding:160px 0 80px;
}
.ez-cr-hero-grid { display:grid; grid-template-columns:1.02fr .98fr; gap:54px; align-items:center; }
.ez-cr-hero h1 {
  margin:24px 0; font-size:56px; letter-spacing:-1px;
  line-height:1.1; font-weight:900;
}
.ez-cr-hero h1 span { color:var(--orange); }
.ez-cr-hero p {
  max-width:610px; font-size:1.15rem; line-height:1.7; color:var(--slate); margin-bottom:36px;
}
.ez-cr-hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:38px; }
.ez-cr-hero-points { display:flex; flex-wrap:wrap; gap:22px; font-size:15px; font-weight:650; color:#657590; }
.ez-cr-hero-point { display:flex; gap:9px; align-items:center; }
.ez-cr-check { color:var(--green); font-weight:900; }

.ez-cr-hero-visual { position:relative; min-height:558px; display:flex; align-items:center; justify-content:center; }
.ez-cr-portal {
  background:var(--ez-white); border:1px solid var(--line); border-radius:var(--ez-r-xl); padding:24px;
  width:min(492px,100%); box-shadow:var(--ez-shadow-lg);
  position:relative;
}
.ez-cr-portal-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.ez-cr-portal-label { font-size:12px; color:var(--slate); font-weight:700; text-transform:uppercase; letter-spacing:1.1px; }
.ez-cr-status { background:#e8faef; color:#14934c; font-weight:700; font-size:12px; border-radius:99px; padding:7px 12px; }
.ez-cr-reward-card {
  border-radius:21px; padding:26px; color:var(--ez-white); min-height:260px;
  max-width:400px; width:100%;
  background:linear-gradient(129deg,#f26b2e,#eb4430);
  position:relative; overflow:hidden; margin:0 auto 18px;
}
.ez-cr-reward-card:after {
  content:""; position:absolute; width:210px; height:210px; right:-80px; top:-92px;
  border-radius:50%; border:28px solid rgba(255,255,255,.13);
}
.ez-cr-reward-card .ez-cr-mini { font-size:12px; font-weight:700; letter-spacing:1.2px; opacity:.92; }
body.ez-design-system-v2 main.ez-global-wrapper .ez-custom-rewards .ez-cr-reward-card h2 { font-size:34px; line-height:1.12; max-width:290px; margin:42px 0 13px; color:inherit; }
.ez-cr-reward-card p { font-size:14px; color:rgba(255,255,255,.9); margin:0; min-height:18px; }
.ez-cr-recipient {
  display:flex; justify-content:space-between; align-items:center; gap:15px;
  background:#f7f9fc; padding:16px; border-radius:var(--ez-r-lg);
}
.ez-cr-recipient strong { display:block; font-size:14px; }
.ez-cr-recipient small { color:var(--slate); }
.ez-cr-badge {
  position:absolute; z-index:2; pointer-events:none; white-space:nowrap;
  background:var(--ez-white); border:1px solid var(--line); box-shadow:var(--shadow); border-radius:var(--ez-r-lg);
  padding:12px 16px; display:flex; gap:12px; align-items:center;
  font-weight:700; color:var(--navy);
}
.ez-cr-badge-left { left:-18px; bottom:-61px; }
.ez-cr-badge-right { right:-18px; top:-24px; }
.ez-cr-badge-icon {
  min-width:38px; min-height:38px; padding:8px; display:grid; place-items:center;
  background:var(--orange-soft); color:var(--orange); border-radius:var(--ez-r-md);
}
.ez-cr-section { padding:var(--section-space) 0; }
.ez-cr-section-header { text-align:center; max-width:800px; margin:0 auto 50px; }
.ez-cr-section-header h2 {
  margin:16px 0; font-size:3rem; line-height:1.2; letter-spacing:-.02em; font-weight:900;
}
.ez-cr-section-header h2 span { color:var(--orange); }
.ez-cr-section-header p { color:var(--slate); font-size:1.15rem; line-height:1.7; }

.ez-cr-value { background:var(--ez-white); }
.ez-cr-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ez-cr-info-card {
  background:var(--ez-white); border:1px solid var(--line); border-radius:var(--radius); padding:var(--card-padding);
  min-height:255px; box-shadow:var(--ez-shadow-sm); transition:var(--ez-t-spring);
}
.ez-cr-info-card:hover { box-shadow:var(--ez-shadow-lg); transform:translateY(-6px); border-color:var(--orange); }
.ez-cr-icon {
  width:60px; height:60px; border-radius:var(--ez-r-lg); display:flex; align-items:center; justify-content:center;
  background:var(--orange-soft); color:var(--orange); font-size:27px; margin-bottom:25px;
}
.ez-cr-info-card .ez-cr-overline { text-transform:uppercase; color:var(--orange); letter-spacing:1.2px; font-size:12px; font-weight:750; margin-bottom:9px; }
.ez-cr-info-card h3 { font-size:23px; line-height:1.25; margin-bottom:12px; }
.ez-cr-info-card p { color:var(--slate); font-size:16px; }

.ez-cr-how {
  background:var(--ez-bg);
}
.ez-cr-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ez-cr-step {
  background:var(--ez-white); border-radius:var(--radius); padding:var(--card-padding); position:relative;
  border:1px solid var(--line); box-shadow:var(--ez-shadow-sm); transition:var(--ez-t-spring);
}
.ez-cr-step:hover { border-color:var(--orange); box-shadow:var(--ez-shadow-md); transform:translateY(-4px); }
.ez-cr-step-no {
  height:42px; width:42px; border-radius:50%; background:var(--orange); color:var(--ez-white);
  display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:20px;
}
.ez-cr-step h3 { font-size:20px; margin-bottom:10px; }
.ez-cr-step p { font-size:15px; color:var(--slate); }

.ez-cr-choice-layout { display:grid; grid-template-columns:.87fr 1.13fr; gap:55px; align-items:center; }
.ez-cr-choice-copy h2 { font-size:3rem; line-height:1.2; letter-spacing:-.02em; font-weight:900; margin:16px 0; }
.ez-cr-choice-copy p { font-size:18px; color:var(--slate); margin-bottom:28px; }
.ez-cr-choice-points { display:grid; gap:15px; }
.ez-cr-choice-point { display:flex; gap:12px; font-weight:600; color:var(--navy); align-items:flex-start; }
.ez-cr-choice-panel {
  background:var(--ez-white); border:1px solid var(--line); border-radius:var(--radius); padding:var(--card-padding); box-shadow:var(--ez-shadow-sm);
}
.ez-cr-brand-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-bottom:22px; }
.ez-cr-brand {
  min-height:78px; border-radius:var(--ez-r-lg); background:var(--ez-white); border:1px solid var(--line);
  display:flex; justify-content:center; align-items:center; text-align:center; font-size:15px; font-weight:750;
  color:#34455f; gap:6px;
}
.ez-cr-note { color:var(--slate); font-size:13px; text-align:center; }

.ez-cr-delivery { background:var(--ez-bg); }
.ez-cr-delivery-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:38px; align-items:center; }
.ez-cr-delivery h2 { font-size:3rem; line-height:1.2; letter-spacing:-.02em; font-weight:900; margin:16px 0; }
.ez-cr-delivery-copy p { color:var(--slate); font-size:18px; }
.ez-cr-methods { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ez-cr-method {
  background:var(--ez-white); border:1px solid var(--line); border-radius:var(--radius); padding:var(--card-padding) 20px; text-align:center;
  box-shadow:var(--ez-shadow-sm); transition:var(--ez-t-spring);
}
.ez-cr-method:hover { border-color:var(--orange); box-shadow:var(--ez-shadow-md); transform:translateY(-4px); }
.ez-cr-method .ez-cr-icon { margin:0 auto 17px; }
.ez-cr-method h3 { margin-bottom:8px; font-size:19px; }
.ez-cr-method p { color:var(--slate); font-size:14px; }

.ez-cr-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ez-cr-feature {
  background:var(--ez-white); border:1px solid var(--line); border-radius:var(--ez-r-lg); padding:24px; display:flex; gap:14px; align-items:flex-start;
  box-shadow:var(--ez-shadow-sm); transition:var(--ez-t-spring);
}
.ez-cr-feature:hover { border-color:var(--orange); box-shadow:var(--ez-shadow-md); transform:translateY(-4px); }
.ez-cr-feature-mark {
  color:var(--green); width:26px; height:26px; border-radius:50%; background:#eafaf1; flex:0 0 26px;
  text-align:center; font-weight:800;
}
.ez-cr-feature h3 { font-size:17px; margin-bottom:5px; }
.ez-cr-feature p { font-size:14px; color:var(--slate); }

.ez-cr-cta {
  background:linear-gradient(135deg,rgba(255,247,237,.8) 0%,rgba(240,249,255,.9) 50%,var(--ez-white) 100%); padding:var(--section-space) 0; text-align:center;
}
.ez-cr-cta-inner { max-width:900px; margin:auto; }
.ez-cr-cta h2 { font-size:3rem; line-height:1.2; margin:16px 0; letter-spacing:-.02em; font-weight:900; }
.ez-cr-cta p { color:var(--slate); font-size:19px; max-width:730px; margin:0 auto 34px; }
.ez-cr-cta-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:15px; }

@media(max-width:1040px) {
.ez-cr-hero-grid,.ez-cr-choice-layout,.ez-cr-delivery-grid { grid-template-columns:1fr; }
  .ez-cr-hero-visual { margin-top:26px; min-height:548px; }
  .ez-cr-steps { grid-template-columns:repeat(2,1fr); }
  .ez-cr-hero h1 { font-size:40px; }
}
@media(max-width:760px) {
  .ez-custom-rewards { --section-space:60px; --card-padding:24px; }
  .ez-cr-container { padding:0 20px; }
  .ez-cr-hero { padding:130px 0 60px; min-height:auto; }
  .ez-cr-hero h1 { font-size:32px; letter-spacing:-.02em; }
  .ez-cr-section-header h2,.ez-cr-choice-copy h2,.ez-cr-delivery h2,.ez-cr-cta h2 { font-size:2.2rem; letter-spacing:-.02em; }
  .ez-cr-card-grid,.ez-cr-feature-grid,.ez-cr-methods { grid-template-columns:1fr; }
  .ez-cr-steps { grid-template-columns:1fr; }
  .ez-cr-badge { display:none; }
}

/* Page isolation and narrow-screen stability. */
.ez-custom-rewards { width:100%; overflow:clip; caret-color:transparent; }
.ez-custom-rewards .ez-cr-hero-grid > *,
.ez-custom-rewards .ez-cr-choice-layout > *,
.ez-custom-rewards .ez-cr-delivery-grid > * { min-width:0; }
.ez-custom-rewards .ez-cr-pill { max-width:100%; white-space:normal; text-align:center; justify-content:center; }
.ez-custom-rewards :where(a, button):focus-visible { outline:3px solid rgba(242,103,42,.35); outline-offset:3px; }

@supports (content-visibility:auto) {
  .ez-custom-rewards > section:not(:first-child) {
    content-visibility:auto;
    contain-intrinsic-size:auto 900px;
  }
}

@media(max-width:360px) {
  .ez-custom-rewards .ez-cr-container { padding-left:16px; padding-right:16px; }
  .ez-custom-rewards .ez-cr-hero h1 { font-size:38px; letter-spacing:-1.5px; overflow-wrap:anywhere; }
  .ez-custom-rewards .ez-cr-pill { font-size:11px; letter-spacing:1px; padding:8px 12px; }
  .ez-custom-rewards .ez-cr-portal { padding:16px; }
  .ez-custom-rewards .ez-cr-portal-top { gap:8px; }
  .ez-custom-rewards .ez-cr-status { padding:6px 9px; }
}

@media(prefers-reduced-motion:reduce) {
  .ez-custom-rewards *, .ez-custom-rewards *::before, .ez-custom-rewards *::after {
    scroll-behavior:auto; transition:none; animation:none;
  }
}
