*{
    box-sizing:border-box;
}

body{
    margin:0;
    background:var(--pageBG);
    color:var(--textColor);
    font-family:Segoe UI, Arial, Helvetica, sans-serif;
}

a{
    color:var(--link,#636262);
}

.cff-landing-wrap{
    max-width:1180px;
    margin:0 auto;
    padding:28px 18px 50px;
}

.cff-hero{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
    gap:18px;
    align-items:stretch;
    margin-bottom:22px;
}

.cff-card{
    background:var(--panelBG);
    border:1px solid var(--cff-border);
    border-radius:16px;
    padding:22px;
    box-shadow:0 8px 22px rgba(20,45,80,.08);
}

.cff-hero-main{
    position:relative;
    overflow:hidden;
    min-height:320px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-top:4px solid #c62828;
}

.cff-hero-main:before{
    content:"";
    position:absolute;
    right:-70px;
    top:-80px;
    width:240px;
    height:240px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 30%, rgba(255,255,255,.95), rgba(214,34,45,.20) 55%, transparent 70%);
    pointer-events:none;
}

.cff-hero-main:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:6px;
    background:linear-gradient(90deg,#c62828 0 25%,#1565c0 25% 50%,#2e9f4d 50% 75%,#f0b400 75% 100%);
}

.cff-kicker{
    display:inline-flex;
    align-self:flex-start;
    background:#fff8e1;
    border:1px solid #ead184;
    border-radius:999px;
    padding:5px 11px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#8a6200;
    margin-bottom:13px;
}

.cff-hero h1{
    position:relative;
    max-width:780px;
    font-size:42px;
    line-height:1.08;
    margin:0 0 14px;
    color:#252b33;
}

.cff-hero p{
    position:relative;
    max-width:720px;
    font-size:16px;
    line-height:1.62;
    margin:0 0 16px;
    color:#4f5d6b;
}

.cff-hero-preview{
    position:relative;
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    margin:8px 0 4px;
}

.cff-hero-actions{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:18px;
}

.cff-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    border:1px solid #c8d2df;
    border-radius:999px;
    padding:8px 15px;
    color:#2b3642;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
    background:#fff;
    box-shadow:0 3px 8px rgba(25,45,75,.08);
}

.cff-btn:hover{
    transform:translateY(-1px);
}

.cff-btn-primary{
    background:#c62828;
    border-color:#a81818;
    color:#fff;
}

.cff-btn-secondary{
    background:#f8fbff;
}

.cff-hero-side{
    display:flex;
    flex-direction:column;
    gap:10px;
    border-top:4px solid #1565c0;
}

.cff-side-title{
    font-size:13px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#53616f;
    margin-bottom:2px;
}

.cff-mini-link{
    display:block;
    padding:13px 14px;
    background:#f8fbff;
    border:1px solid #dce5ef;
    border-radius:12px;
    text-decoration:none;
}

.cff-mini-link strong{
    display:block;
    color:#27313d;
    margin-bottom:3px;
}

.cff-mini-link span{
    display:block;
    font-size:13px;
    color:#667584;
}

.cff-ticket-note{
    margin-top:auto;
    padding:12px 14px;
    background:linear-gradient(180deg,#fffdf4,#fff8df);
    border:1px dashed #d7bb63;
    border-radius:12px;
    color:#6d5412;
    font-size:13px;
    line-height:1.5;
}

.cff-section{
    margin-top:22px;
}

.cff-section-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:16px;
    margin-bottom:14px;
}

.cff-section-head h2{
    margin:0;
    font-size:25px;
    color:#252b33;
}

.cff-section-head p{
    margin:5px 0 0;
    color:#667584;
    line-height:1.55;
}

.cff-two-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.cff-feature-panel{
    position:relative;
    overflow:hidden;
}

.cff-feature-panel h3{
    margin:0 0 10px;
    font-size:20px;
    color:#252b33;
}

.cff-feature-panel ul{
    padding-left:20px;
    margin:0;
    line-height:1.85;
    color:#4f5d6b;
}

.cff-feature-panel:after{
    content:"";
    position:absolute;
    width:90px;
    height:90px;
    right:-36px;
    bottom:-42px;
    border-radius:50%;
    background:rgba(21,101,192,.08);
}

.cff-results-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:14px;
    padding:14px;
    background:#f6f9fd;
    border:1px solid #dce5ef;
    border-radius:16px;
}

.cff-results-item{
    width:100%;
    min-height:96px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#fff;
    border:1px solid #dce5ef;
    border-radius:13px;
    padding:14px;
}

.cff-results-meta{
    display:flex;
    gap:6px;
    align-items:center;
    margin-bottom:8px;
    font-family:Consolas,"Courier New",monospace;
    font-size:12px;
    color:#667584;
    white-space:nowrap;
}

.cff-ticker-balls,
.cff-demo-balls{
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;
}

.cff-ball{
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:radial-gradient(circle at 30% 25%,#fff,#f0f3f7 60%,#d5dde7);
    border:2px solid #c8d2df;
    color:#222;
    font-weight:900;
    font-size:13px;
    line-height:1;
    letter-spacing:-.05em;
    box-shadow:inset 0 -5px 8px rgba(0,0,0,.08),0 3px 8px rgba(0,0,0,.09);
}

.cff-hero-preview .cff-ball{
    width:38px;
    height:38px;
    font-size:14px;
}
/*
.cff-ball-power{
    background:radial-gradient(circle at 30% 25%,#ffbdbd,#c62828 65%,#871111);
    border-color:#8c1515;
    color:#fff;
}

.cff-ball-mega{
    background:radial-gradient(circle at 30% 25%,#fff7c2,#f0b400 65%,#b77800);
    border-color:#b77800;
    color:#111;
}

.cff-ball-lucky{
    background:radial-gradient(circle at 30% 25%,#b8f7c5,#2e9f4d 65%,#166534);
    border-color:#166534;
    color:#fff;
}
*/
.cff-power-name{color:#c62828;font-weight:900;}
.cff-mega-red{color:#d32f2f;font-weight:900;}
.cff-mega-blue{color:#1565c0;font-weight:900;}
.cff-lucky-name{color:#2e9f4d;font-weight:900;}
.cff-pick-name{color:#1565c0;font-weight:900;}

.cff-new-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-left:8px;
    padding:3px 8px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#fff;
    background:#2e9f4d;
    border:1px solid #207038;
    border-radius:999px;
    vertical-align:middle;
}

.cff-game-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(225px,1fr));
    gap:16px;
}

.cff-game-card{
    display:grid;
    gap:12px;
    border-top:4px solid #c8d2df;
}

.cff-game-power{border-top-color:#c62828;}
.cff-game-mega{border-top-color:#1565c0;}
.cff-game-life{border-top-color:#2e9f4d;}
.cff-game-pick{border-top-color:#f0b400;}

.cff-game-card h3{
    margin:0;
    color:#252b33;
    font-size:20px;
}

.cff-game-card p{
    margin:0;
    color:#667584;
    line-height:1.55;
}

.cff-name-demo{
    background:#f8fbff;
    border:1px solid #dce5ef;
    border-radius:11px;
    padding:10px;
    font-family:Consolas,"Courier New",monospace;
    font-size:12px;
    color:#4f5d6b;
}

.cff-name-demo strong{
    display:block;
    margin-bottom:5px;
    color:#252b33;
}

.cff-how-card{
    border-top:4px solid #2e9f4d;
}

.cff-steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.cff-step{
    text-align:center;
    padding:4px 8px;
}

.cff-step-num{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    margin:0 auto 10px;
    background:#f8fbff;
    border:2px solid #dce5ef;
    font-weight:900;
    color:#252b33;
}

.cff-step strong{
    color:#252b33;
}

.cff-step p{
    margin:8px 0 0;
    color:#667584;
    line-height:1.55;
}

@media(max-width:850px){
    .cff-hero,
    .cff-two-grid,
    .cff-steps{
        grid-template-columns:1fr;
    }

    .cff-hero h1{
        font-size:34px;
    }

    .cff-card{
        padding:18px;
    }
}
