.rewards-hero {
    position: relative;
    min-height: 720px;
    padding: 11rem 0 7rem;
    overflow: hidden;
    background: radial-gradient(circle at 82% 25%, rgba(59, 205, 225, .28), transparent 28%), linear-gradient(135deg, #edfaff 0%, #e4f6ff 58%, #f8fdff 100%);
}

.rewards-hero::before {
    position: absolute;
    width: 34rem;
    height: 34rem;
    right: -8rem;
    bottom: -17rem;
    border: 5rem solid rgba(8, 120, 232, .06);
    border-radius: 50%;
    content: "";
}

.rewards-hero .container { position: relative; z-index: 1; }
.rewards-hero-content { position: relative; z-index: 2; max-width: 920px; }

.rewards-eyebrow {
    display: inline-block;
    margin-bottom: 1rem;
    color: #0878e8;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.rewards-eyebrow-light { color: #73dcff; }

.rewards-hero h1 {
    margin-bottom: 1.6rem;
    color: #062d55;
    font-family: Manrope, sans-serif;
    font-size: clamp(3.3rem, 6.6vw, 6.8rem);
    font-weight: 800;
    letter-spacing: -.065em;
    line-height: .98;
}

.rewards-hero h1 span { color: #0878e8; }
.rewards-hero-content > p { max-width: 780px; color: #506e87; font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.75; }
.rewards-hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.rewards-hero-actions .btn { min-width: 185px; padding: .95rem 1.5rem; }

.rewards-hero-visual { position: absolute; width: 360px; height: 360px; right: 1rem; top: 7rem; opacity: .75; }
.hero-medal { position: absolute; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; box-shadow: 0 25px 60px rgba(6,45,85,.13); backdrop-filter: blur(10px); }
.hero-medal-one { width: 120px; height: 120px; left: 10px; top: 100px; background: rgba(255,255,255,.72); color: #bd7a3b; font-size: 2.8rem; }
.hero-medal-two { width: 160px; height: 160px; right: 0; top: 0; background: rgba(255,248,214,.8); color: #e0a319; font-size: 4rem; }
.hero-medal-three { width: 100px; height: 100px; right: 50px; bottom: 10px; background: rgba(225,240,255,.86); color: #0878e8; font-size: 2.5rem; }

.rewards-section { padding: 6.5rem 0; }
.rewards-section-intro { max-width: 760px; margin: 0 auto 3rem; }
.rewards-section h2,
.qualification-notice h2,
.rewards-final-cta h2 {
    margin-bottom: .85rem;
    color: #062d55;
    font-family: Manrope, sans-serif;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    font-weight: 800;
    letter-spacing: -.05em;
}
.rewards-section-intro p { color: #6a8195; font-size: 1.05rem; line-height: 1.7; }

.travel-reward-card {
    position: relative;
    display: flex;
    min-height: 440px;
    height: 100%;
    padding: 2rem;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid #dce9f2;
    border-radius: 1.75rem;
    background: #fff;
    box-shadow: 0 16px 45px rgba(17,65,108,.07);
    transition: transform .25s ease, box-shadow .25s ease;
}
.travel-reward-card::after { position: absolute; width: 12rem; height: 12rem; right: -6rem; top: -6rem; border-radius: 50%; background: currentColor; content: ""; opacity: .045; }
.travel-reward-card:hover { transform: translateY(-7px); box-shadow: 0 28px 60px rgba(17,65,108,.14); }
.reward-weekend { color: #e79a24; }
.reward-domestic { color: #078ac5; }
.reward-international { color: #7156d9; }
.reward-card-icon { display: grid; width: 68px; height: 68px; margin-bottom: 3rem; place-items: center; border-radius: 20px; background: color-mix(in srgb, currentColor 12%, white); font-size: 1.8rem; }
.reward-card-level { color: currentColor; font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.travel-reward-card h3 { margin: .6rem 0; color: #062d55; font-family: Manrope, sans-serif; font-size: 1.8rem; font-weight: 800; }
.travel-reward-card h4 { color: #385b77; font-size: 1rem; font-weight: 700; }
.travel-reward-card p { color: #6b8194; line-height: 1.7; }
.reward-card-footer { display: flex; margin-top: auto; padding-top: 1.3rem; align-items: center; justify-content: space-between; border-top: 1px solid #e3edf4; color: #476881; font-size: .8rem; font-weight: 800; text-transform: uppercase; }

.reward-journey-section { background: #f3f9fd; }
.reward-journey { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.journey-step { position: relative; display: flex; min-height: 190px; padding: 1.5rem; flex-direction: column; justify-content: space-between; border: 1px solid #dbe8f2; border-radius: 1.4rem; background: #fff; }
.journey-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 16px; font-size: 1.45rem; }
.journey-bronze .journey-icon { background: #f7e8dc; color: #ae682f; }
.journey-silver .journey-icon { background: #edf2f6; color: #71869a; }
.journey-gold .journey-icon { background: #fff4ce; color: #c88a00; }
.journey-crown .journey-icon { background: #ede8ff; color: #7055ca; }
.journey-level { color: #7890a5; font-size: .7rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.journey-step h3 { margin: .35rem 0 0; color: #0b355d; font-size: 1.15rem; font-weight: 800; }
.journey-arrow { position: absolute; z-index: 2; display: grid; width: 34px; height: 34px; right: -26px; top: calc(50% - 17px); place-items: center; border: 1px solid #d9e7f1; border-radius: 50%; background: #fff; color: #0878e8; }

.recognition-section { background: linear-gradient(135deg, #062d55, #07588c); color: #fff; }
.recognition-section h2 { color: #fff; }
.recognition-section .col-lg-5 > p { color: #bed9ea; font-size: 1.05rem; line-height: 1.75; }
.recognition-highlight { display: flex; gap: 1rem; margin-top: 2rem; padding: 1.25rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: rgba(255,255,255,.07); }
.recognition-highlight > i { color: #ffd768; font-size: 1.75rem; }
.recognition-highlight div { display: flex; flex-direction: column; }
.recognition-highlight span { margin-top: .3rem; color: #aecde0; font-size: .85rem; }
.recognition-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.recognition-grid article { display: flex; min-height: 115px; padding: 1.3rem; align-items: center; gap: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1.2rem; background: rgba(255,255,255,.08); }
.recognition-grid i { display: grid; width: 46px; height: 46px; flex: 0 0 auto; place-items: center; border-radius: 14px; background: rgba(255,255,255,.12); color: #6fddff; font-size: 1.25rem; }
.recognition-grid span { font-weight: 800; }

.purpose-visual { position: relative; min-height: 420px; }
.purpose-ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; transform: translate(-50%,-50%); }
.purpose-ring-large { width: 390px; height: 390px; border: 1px dashed #98c9e7; }
.purpose-ring-small { width: 280px; height: 280px; border: 45px solid #e9f7ff; }
.purpose-center { position: absolute; display: flex; width: 190px; height: 190px; left: 50%; top: 50%; align-items: center; justify-content: center; flex-direction: column; border-radius: 50%; background: linear-gradient(145deg, #0878e8, #16add3); box-shadow: 0 28px 60px rgba(8,120,232,.25); color: #fff; text-align: center; transform: translate(-50%,-50%); }
.purpose-center i { margin-bottom: .7rem; color: #ffe890; font-size: 2.2rem; }
.purpose-center strong { font: 800 1.15rem/1.25 Manrope, sans-serif; }
.purpose-list { display: grid; gap: .8rem; margin-top: 2rem; }
.purpose-list > div { display: flex; padding: 1rem 1.15rem; align-items: center; gap: .85rem; border: 1px solid #dce8f1; border-radius: 1rem; color: #183e61; font-weight: 800; }
.purpose-list i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #dcf7ec; color: #0aa474; }

.qualification-section { padding: 0 0 6.5rem; }
.qualification-notice { display: flex; padding: 2.25rem; align-items: flex-start; gap: 1.5rem; border: 1px solid #f0d99b; border-radius: 1.5rem; background: #fff9e8; }
.qualification-icon { display: grid; width: 62px; height: 62px; flex: 0 0 auto; place-items: center; border-radius: 18px; background: #fff0bd; color: #ad7904; font-size: 1.6rem; }
.qualification-notice h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
.qualification-notice p { max-width: 1050px; margin: 0; color: #75684a; line-height: 1.7; }

.rewards-final-cta { padding: 6.5rem 0; background: #eaf8ff; }
.final-cta-content { display: flex; padding: 3.25rem; align-items: center; justify-content: space-between; gap: 2rem; border-radius: 1.8rem; background: linear-gradient(120deg, #073765, #087ab8); color: #fff; }
.rewards-final-cta h2 { max-width: 800px; color: #fff; }
.rewards-final-cta p { color: #c6e5f6; }
.final-cta-contact { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: 1.25rem; }
.final-cta-contact a { color: #fff; font-weight: 700; }
.final-cta-contact i { margin-right: .4rem; color: #6fe2ff; }
.final-cta-content > .btn { flex: 0 0 auto; min-width: 160px; }

@media (max-width: 1199.98px) {
    .rewards-hero-visual { opacity: .28; }
}

@media (max-width: 991.98px) {
    .rewards-hero { min-height: auto; padding: 9rem 0 6rem; }
    .rewards-hero-visual { display: none; }
    .reward-journey { grid-template-columns: repeat(2, 1fr); }
    .journey-arrow { display: none; }
    .final-cta-content { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
    .rewards-hero { padding: 7.5rem 0 4.5rem; }
    .rewards-hero h1 { font-size: 3.25rem; }
    .rewards-hero-actions .btn { width: 100%; }
    .rewards-section { padding: 4.5rem 0; }
    .travel-reward-card { min-height: 390px; }
    .reward-journey,
    .recognition-grid { grid-template-columns: 1fr; }
    .purpose-visual { min-height: 330px; }
    .purpose-ring-large { width: 300px; height: 300px; }
    .purpose-ring-small { width: 225px; height: 225px; border-width: 35px; }
    .purpose-center { width: 155px; height: 155px; }
    .qualification-notice { padding: 1.5rem; flex-direction: column; }
    .final-cta-content { padding: 2rem 1.25rem; }
    .final-cta-content > .btn { width: 100%; }
}
