.rfl-cta{
    position:relative;
    color:var(--rfl-paper);
    background:var(--rfl-bg);
    padding:160px 0 160px;
    isolation:isolate;
}
.rfl-cta__bg{
    position:absolute;inset:-10% -5%;
    background-size:cover;
    background-position:center;
    will-change:transform;
    z-index:-2;
    filter:saturate(.85) contrast(1.05);
}
.rfl-cta__bg-overlay{
    position:absolute;inset:0;
    z-index:-1;
    background:
        radial-gradient(60% 80% at 30% 50%, rgba(0,0,0,.45), transparent 70%),
        linear-gradient(180deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,.85) 100%);
}

/* Floating dish PNGs — replaces the old italic marquee */
.rfl-cta__floats{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    overflow:hidden;
}
.rfl-cta__float{
    position:absolute;
    width:clamp(220px, 28vw, 460px);
    aspect-ratio:1/1;
    object-fit:contain;
    filter:drop-shadow(0 50px 80px rgba(0,0,0,.5));
    will-change:transform;
    opacity:.95;
    transition:transform 1.2s var(--rfl-ease);
}
.rfl-cta__float--a{
    top:-6%;right:-5%;
    transform:rotate(-12deg);
    animation:rflFloatA 11s ease-in-out infinite alternate;
}
.rfl-cta__float--b{
    bottom:-8%;left:42%;
    width:clamp(180px, 22vw, 360px);
    transform:rotate(8deg);
    animation:rflFloatB 13s ease-in-out infinite alternate;
}
.rfl-cta__float--c{
    top:38%;left:-6%;
    width:clamp(140px, 16vw, 260px);
    transform:rotate(-5deg);
    animation:rflFloatC 9s ease-in-out infinite alternate;
}
@keyframes rflFloatA{
    0%{transform:rotate(-12deg) translate3d(0,0,0);}
    100%{transform:rotate(-6deg) translate3d(-22px,18px,0);}
}
@keyframes rflFloatB{
    0%{transform:rotate(8deg) translate3d(0,0,0);}
    100%{transform:rotate(-2deg) translate3d(20px,-22px,0);}
}
@keyframes rflFloatC{
    0%{transform:rotate(-5deg) translate3d(0,0,0);}
    100%{transform:rotate(8deg) translate3d(18px,-14px,0);}
}

.rfl-cta__inner{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:100px;
    align-items:center;
}

.rfl-cta__eyebrow{color:var(--rfl-gold-soft);}
.rfl-cta__title{
    color:#fff;
    margin:30px 0 30px;
}
.rfl-cta__title em{font-style:italic;color:var(--rfl-gold);}
.rfl-cta__lead{
    max-width:520px;
    color:rgba(255,255,255,.72);
    font-size:18px;
    line-height:1.7;
}
.rfl-cta__actions{
    margin-top:46px;
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

.rfl-cta__btn{
    padding:22px 38px;
    font-size:13px;
}
.rfl-cta__btn--primary{
    box-shadow:0 22px 50px -22px rgba(200,163,90,.7);
}

.rfl-cta__qr{
    position:relative;
    display:grid;
    place-items:center;
    aspect-ratio:1/1;
}
.rfl-cta__qr-card{
    position:relative;
    z-index:2;
    background:var(--rfl-paper);
    color:var(--rfl-ink);
    border-radius:var(--rfl-radius-l);
    padding:34px 30px 28px;
    text-align:center;
    width:78%;
    box-shadow:0 40px 70px -30px rgba(0,0,0,.6);
}
.rfl-cta__qr-label{
    display:inline-block;
    font-size:11px;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--rfl-gold);
    font-weight:600;
    margin-bottom:18px;
}
.rfl-cta__qr-frame{
    width:170px;
    height:170px;
    margin:0 auto 22px;
    border-radius:var(--rfl-radius-m);
    background:#fff;
    display:grid;
    place-items:center;
    border:1px solid var(--rfl-line);
    overflow:hidden;
    transition:transform .6s var(--rfl-ease);
}
.rfl-cta__qr-card:hover .rfl-cta__qr-frame{transform:scale(1.04) rotate(-1deg);}
.rfl-cta__qr-frame img{width:100%;height:100%;object-fit:contain;}
.rfl-cta__qr-list{
    list-style:none;
    margin:0;padding:0;
    text-align:left;
    border-top:1px solid var(--rfl-line);
    padding-top:18px;
}
.rfl-cta__qr-list li{
    font-size:13px;
    color:var(--rfl-ink-60);
    padding:7px 0 7px 22px;
    position:relative;
}
.rfl-cta__qr-list li::before{
    content:"";
    position:absolute;
    left:0;top:14px;
    width:10px;height:1px;
    background:var(--rfl-gold);
}

.rfl-cta__qr-thumb{
    position:absolute;
    width:42%;
    aspect-ratio:3/4;
    background-size:cover;
    background-position:center;
    border-radius:var(--rfl-radius-m);
    box-shadow:0 30px 60px -30px rgba(0,0,0,.6);
    z-index:1;
}
.rfl-cta__qr-thumb--left{
    left:-6%;
    top:6%;
    transform:rotate(-6deg);
}
.rfl-cta__qr-thumb--right{
    right:-6%;
    bottom:4%;
    transform:rotate(7deg);
    width:38%;
}

@media (max-width:1024px){
    .rfl-cta{padding:110px 0;}
    .rfl-cta__inner{grid-template-columns:1fr;gap:80px;}
    .rfl-cta__qr{max-width:520px;margin:0 auto;width:100%;}
}
@media (max-width:560px){
    .rfl-cta__lead{font-size:16px;}
    .rfl-cta__actions{gap:12px;}
    .rfl-cta__btn{padding:18px 30px;}
    .rfl-cta__qr-card{width:86%;padding:28px 22px;}
    .rfl-cta__qr-frame{width:140px;height:140px;}
    .rfl-cta__qr-thumb{display:none;}
}
