:root{
    --fp-black:#020403;
    --fp-dark:#061008;
    --fp-dark-2:#0a160c;
    --fp-green:#9cff3f;
    --fp-lime:#caff45;
    --fp-aqua:#00f5c8;
    --fp-cyan:#00eaff;
    --fp-white:#ffffff;
    --fp-muted:#b8c4b5;
    --fp-border:rgba(156,255,63,.24);
    --fp-glass:rgba(255,255,255,.07);
    --fp-shadow:0 25px 80px rgba(0,0,0,.55);
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:var(--fp-black);
    color:var(--fp-white);
    overflow-x:hidden;
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    max-width:100%;
    display:block;
}

button{
    font-family:inherit;
}

.fp-container{
    width:min(1180px, 92%);
    margin:0 auto;
}

/* HEADER */

.fp-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    padding:16px 0;
    transition:.35s ease;
}

.fp-header.fp-scrolled{
    padding:10px 0;
    background:rgba(2,4,3,.78);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--fp-border);
    box-shadow:0 16px 40px rgba(0,0,0,.45);
}

.fp-header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.fp-logo{
    width:150px;
    flex-shrink:0;
}

.fp-logo img{
    width:100%;
}

.fp-menu{
    display:flex;
    align-items:center;
    gap:28px;
}

.fp-menu a{
    position:relative;
    font-size:14px;
    font-weight:700;
    color:rgba(255,255,255,.78);
    transition:.3s ease;
}

.fp-menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    background:linear-gradient(90deg,var(--fp-green),var(--fp-aqua));
    box-shadow:0 0 14px rgba(156,255,63,.8);
    transition:.3s ease;
}

.fp-menu a:hover{
    color:var(--fp-green);
}

.fp-menu a:hover::after{
    width:100%;
}

.fp-menu-toggle{
    display:none;
    width:42px;
    height:42px;
    border:1px solid var(--fp-border);
    border-radius:10px;
    background:rgba(255,255,255,.06);
    cursor:pointer;
}

.fp-menu-toggle span{
    display:block;
    width:20px;
    height:2px;
    margin:5px auto;
    background:var(--fp-green);
    transition:.3s ease;
}

/* HERO */

.fp-hero{
    position:relative;
    min-height:760px;
    display:flex;
    align-items:center;
    overflow:hidden;
    padding:105px 0 55px;
    background:
        radial-gradient(circle at 8% 12%, rgba(156,255,63,.20), transparent 30%),
        radial-gradient(circle at 92% 80%, rgba(0,234,255,.15), transparent 33%),
        linear-gradient(135deg,#020403 0%,#061008 52%,#020403 100%);
}

.fp-hero-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.025), transparent 18%, transparent 82%, rgba(255,255,255,.025)),
        radial-gradient(circle at center, transparent 0%, rgba(0,0,0,.35) 75%);
    pointer-events:none;
}

.fp-hero-grid{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(156,255,63,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(156,255,63,.045) 1px, transparent 1px);
    background-size:58px 58px;
    mask-image:linear-gradient(to bottom, transparent, black 14%, black 86%, transparent);
    opacity:.7;
}

.fp-hero-lines{
    position:absolute;
    inset:0;
    background:
        linear-gradient(110deg, transparent 0 38%, rgba(156,255,63,.13) 38.2%, transparent 38.6%),
        linear-gradient(110deg, transparent 0 65%, rgba(0,245,200,.10) 65.2%, transparent 65.6%);
    opacity:.6;
}

.fp-hero-glow{
    position:absolute;
    width:360px;
    height:360px;
    border-radius:50%;
    filter:blur(80px);
    opacity:.35;
    animation:fpGlow 8s ease-in-out infinite alternate;
}

.fp-glow-a{
    background:var(--fp-green);
    left:-120px;
    top:90px;
}

.fp-glow-b{
    background:var(--fp-cyan);
    right:-130px;
    bottom:70px;
    animation-delay:1.4s;
}

.fp-hero-inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    align-items:center;
    gap:56px;
}

.fp-hero-copy{
    animation:fpRevealLeft .9s ease both;
}

.fp-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:16px;
    padding:9px 14px;
    border:1px solid var(--fp-border);
    border-radius:999px;
    background:rgba(156,255,63,.08);
    color:var(--fp-green);
    font-size:13px;
    font-weight:800;
    box-shadow:0 0 25px rgba(156,255,63,.16);
}

.fp-kicker i{
    color:var(--fp-lime);
}

.fp-hero h1{
    max-width:600px;
    margin-bottom:18px;
    font-size:clamp(38px, 5vw, 64px);
    line-height:1.02;
    letter-spacing:-2px;
    font-weight:900;
}

.fp-hero h1 span{
    display:block;
    color:var(--fp-green);
    text-shadow:0 0 28px rgba(156,255,63,.45);
}

.fp-hero p{
    max-width:510px;
    margin-bottom:26px;
    color:var(--fp-muted);
    font-size:16px;
    line-height:1.65;
}

.fp-hero-points{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:12px;
    max-width:560px;
}

.fp-hero-points div{
    min-height:82px;
    padding:13px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:15px;
    background:rgba(255,255,255,.055);
    backdrop-filter:blur(14px);
    transition:.3s ease;
}

.fp-hero-points div:hover{
    transform:translateY(-5px);
    border-color:var(--fp-border);
    box-shadow:0 0 28px rgba(156,255,63,.16);
}

.fp-hero-points i{
    display:block;
    margin-bottom:9px;
    color:var(--fp-green);
    font-size:20px;
}

.fp-hero-points span{
    color:rgba(255,255,255,.86);
    font-size:12px;
    font-weight:800;
}

/* VISUAL */

.fp-hero-visual{
    position:relative;
    animation:fpRevealRight .9s ease both;
}

.fp-screen-card{
    position:relative;
    padding:12px;
    border:1px solid var(--fp-border);
    border-radius:26px;
    background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.035));
    backdrop-filter:blur(22px);
    box-shadow:
        var(--fp-shadow),
        0 0 60px rgba(156,255,63,.18);
    transform:perspective(1100px) rotateY(-5deg) rotateX(3deg);
    transition:.45s ease;
}

.fp-screen-card:hover{
    transform:perspective(1100px) rotateY(0) rotateX(0) translateY(-6px);
}

.fp-screen-card::before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:26px;
    padding:1px;
    background:linear-gradient(135deg,rgba(156,255,63,.75),transparent 35%,rgba(0,245,200,.5));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
    opacity:.75;
}

.fp-screen-top{
    display:flex;
    gap:7px;
    padding:6px 8px 14px;
}

.fp-screen-top span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--fp-green);
    box-shadow:0 0 14px rgba(156,255,63,.9);
}

.fp-screen-media{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
    border-radius:18px;
    background:#000;
}

.fp-screen-media iframe,
.fp-screen-media img{
    width:100%;
    height:100%;
    border:0;
    object-fit:cover;
}

.fp-status-card{
    position:absolute;
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:10px;
    row-gap:2px;
    min-width:172px;
    padding:13px 15px;
    border:1px solid var(--fp-border);
    border-radius:15px;
    background:rgba(2,4,3,.78);
    backdrop-filter:blur(16px);
    box-shadow:0 0 32px rgba(156,255,63,.18);
    animation:fpFloatCard 3.8s ease-in-out infinite alternate;
}

.fp-status-card i{
    grid-row:1 / 3;
    align-self:center;
    color:var(--fp-green);
    font-size:19px;
}

.fp-status-card strong{
    font-size:13px;
}

.fp-status-card span{
    color:var(--fp-muted);
    font-size:11px;
    font-weight:700;
}

.fp-status-one{
    top:14%;
    left:-28px;
}

.fp-status-two{
    right:-24px;
    bottom:14%;
    animation-delay:.9s;
}

/* ANIMAÇÕES */

@keyframes fpGlow{
    from{
        transform:translateY(0) scale(1);
    }
    to{
        transform:translateY(34px) scale(1.08);
    }
}

@keyframes fpFloatCard{
    from{
        transform:translateY(0);
    }
    to{
        transform:translateY(-14px);
    }
}

@keyframes fpRevealLeft{
    from{
        opacity:0;
        transform:translateX(-35px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes fpRevealRight{
    from{
        opacity:0;
        transform:translateX(35px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

/* ==================================================
   QUEM SOMOS - TIMELINE PREMIUM
================================================== */

.fp-about-timeline{
    position:relative;
    overflow:hidden;
    padding:90px 0 100px;
    background:
        radial-gradient(circle at 12% 25%, rgba(156,255,63,.12), transparent 32%),
        radial-gradient(circle at 88% 72%, rgba(0,245,200,.10), transparent 34%),
        linear-gradient(180deg, #020403 0%, #07110d 50%, #020403 100%);
}

.fp-about-effect{
    position:absolute;
    border-radius:50%;
    filter:blur(90px);
    opacity:.18;
    pointer-events:none;
}

.fp-about-effect-1{
    width:360px;
    height:360px;
    background:var(--fp-green);
    left:-150px;
    top:80px;
}

.fp-about-effect-2{
    width:420px;
    height:420px;
    background:var(--fp-aqua);
    right:-170px;
    bottom:40px;
}

.fp-about-head{
    position:relative;
    z-index:2;
    max-width:780px;
    margin:0 auto 65px;
    text-align:center;
}

.fp-about-head span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    padding:9px 15px;
    border:1px solid var(--fp-border);
    border-radius:999px;
    background:rgba(156,255,63,.08);
    color:var(--fp-green);
    font-size:13px;
    font-weight:900;
}

.fp-about-head h2{
    color:var(--fp-green);
    font-size:clamp(38px, 5vw, 62px);
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:-1.4px;
    text-shadow:0 0 28px rgba(156,255,63,.35);
}

.fp-about-head p{
    margin-top:18px;
    color:var(--fp-muted);
    font-size:17px;
    line-height:1.7;
}

.fp-about-head strong{
    color:var(--fp-white);
}

.fp-timeline{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:18px;
}

.fp-timeline-line{
    position:absolute;
    top:44px;
    left:8%;
    right:8%;
    height:3px;
    background:linear-gradient(90deg, transparent, var(--fp-green), var(--fp-aqua), var(--fp-green), transparent);
    box-shadow:0 0 25px rgba(156,255,63,.65);
    opacity:.75;
}

.fp-time-card{
    position:relative;
    min-height:190px;
    padding:18px 16px 20px;
    text-align:center;
    border:1px solid rgba(156,255,63,.18);
    border-radius:22px;
    background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
    backdrop-filter:blur(18px);
    box-shadow:0 22px 65px rgba(0,0,0,.32);
    transition:.35s ease;
}

.fp-time-card:hover{
    transform:translateY(-10px);
    border-color:rgba(156,255,63,.42);
    box-shadow:
        0 28px 80px rgba(0,0,0,.48),
        0 0 38px rgba(156,255,63,.18);
}

.fp-time-icon{
    position:relative;
    z-index:2;
    width:62px;
    height:62px;
    margin:0 auto 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#07110d;
    font-size:24px;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    box-shadow:
        0 0 0 8px rgba(156,255,63,.08),
        0 0 28px rgba(156,255,63,.55);
}

.fp-time-card h3{
    margin-bottom:9px;
    color:var(--fp-white);
    font-size:19px;
    font-weight:900;
}

.fp-time-card p{
    color:var(--fp-muted);
    font-size:14px;
    line-height:1.55;
}

.fp-about-note{
    position:relative;
    z-index:2;
    max-width:850px;
    margin:42px auto 0;
    padding:18px 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:center;
    border:1px solid var(--fp-border);
    border-radius:18px;
    background:rgba(156,255,63,.07);
    color:rgba(255,255,255,.9);
    font-size:16px;
    font-weight:800;
    box-shadow:0 0 32px rgba(156,255,63,.12);
}

.fp-about-note i{
    color:var(--fp-green);
}

/* Reveal reutilizável */
.fp-reveal{
    opacity:0;
    transform:translateY(28px);
    transition:.75s ease;
}

.fp-reveal.fp-show{
    opacity:1;
    transform:translateY(0);
}

/* ==================================================
   COMPATIBILIDADE TOTAL
================================================== */

.fp-compat{
    position:relative;
    overflow:hidden;
    padding:105px 0;
    background:
        radial-gradient(circle at 50% 45%, rgba(156,255,63,.12), transparent 34%),
        radial-gradient(circle at 10% 80%, rgba(0,245,200,.10), transparent 32%),
        linear-gradient(180deg, #020403 0%, #07110d 48%, #020403 100%);
}

.fp-compat-grid{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(156,255,63,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(156,255,63,.04) 1px, transparent 1px);
    background-size:70px 70px;
    opacity:.42;
    mask-image:linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
}

.fp-compat-glow{
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    filter:blur(90px);
    opacity:.18;
    animation:fpCompatGlow 7s ease-in-out infinite alternate;
}

.fp-compat-glow-1{
    left:-160px;
    top:80px;
    background:var(--fp-green);
}

.fp-compat-glow-2{
    right:-170px;
    bottom:70px;
    background:var(--fp-aqua);
    animation-delay:1.2s;
}

.fp-compat-head{
    position:relative;
    z-index:2;
    max-width:780px;
    margin:0 auto 70px;
    text-align:center;
}

.fp-compat-head span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:16px;
    padding:9px 15px;
    border:1px solid var(--fp-border);
    border-radius:999px;
    background:rgba(156,255,63,.08);
    color:var(--fp-green);
    font-size:13px;
    font-weight:900;
}

.fp-compat-head h2{
    margin-bottom:16px;
    color:var(--fp-green);
    font-size:clamp(38px, 5vw, 64px);
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:-1.5px;
    text-shadow:0 0 30px rgba(156,255,63,.35);
}

.fp-compat-head p{
    color:var(--fp-muted);
    font-size:17px;
    line-height:1.7;
}

.fp-compat-map{
    position:relative;
    z-index:2;
    width:min(920px, 100%);
    height:560px;
    margin:0 auto;
}

.fp-compat-map::before,
.fp-compat-map::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    border:1px solid rgba(156,255,63,.16);
    border-radius:50%;
    transform:translate(-50%, -50%);
    pointer-events:none;
}

.fp-compat-map::before{
    width:520px;
    height:520px;
    box-shadow:0 0 60px rgba(156,255,63,.08);
}

.fp-compat-map::after{
    width:350px;
    height:350px;
}

.fp-compat-center{
    position:absolute;
    left:50%;
    top:50%;
    width:250px;
    height:250px;
    transform:translate(-50%, -50%);
    z-index:4;
}

.fp-center-ring{
    position:absolute;
    inset:0;
    border-radius:50%;
    background:
        conic-gradient(from 180deg, var(--fp-green), var(--fp-aqua), var(--fp-green));
    animation:fpSpin 9s linear infinite;
    filter:drop-shadow(0 0 35px rgba(156,255,63,.35));
}

.fp-center-ring::before{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:50%;
    background:#061008;
}

.fp-center-content{
    position:absolute;
    inset:14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:50%;
    background:
        radial-gradient(circle at top, rgba(156,255,63,.15), transparent 55%),
        rgba(255,255,255,.045);
    border:1px solid rgba(156,255,63,.24);
    backdrop-filter:blur(16px);
}

.fp-center-content i{
    margin-bottom:12px;
    color:var(--fp-green);
    font-size:36px;
    text-shadow:0 0 25px rgba(156,255,63,.65);
}

.fp-center-content strong{
    color:var(--fp-white);
    font-size:28px;
    font-weight:900;
}

.fp-center-content span{
    max-width:150px;
    margin-top:8px;
    color:var(--fp-muted);
    font-size:12px;
    line-height:1.4;
    font-weight:700;
}

.fp-device-node{
    position:absolute;
    width:190px;
    min-height:155px;
    padding:20px 18px;
    text-align:center;
    border:1px solid rgba(156,255,63,.18);
    border-radius:24px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
    backdrop-filter:blur(18px);
    box-shadow:0 22px 65px rgba(0,0,0,.35);
    transition:.35s ease;
}

.fp-device-node::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:120px;
    height:1px;
    background:linear-gradient(90deg, rgba(156,255,63,.65), transparent);
    transform-origin:left center;
    opacity:.35;
    z-index:-1;
}

.fp-device-node:hover{
    transform:translateY(-10px) scale(1.03);
    border-color:rgba(156,255,63,.45);
    box-shadow:
        0 28px 80px rgba(0,0,0,.50),
        0 0 38px rgba(156,255,63,.20);
}

.fp-device-node i{
    width:58px;
    height:58px;
    margin:0 auto 13px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    color:#07110d;
    font-size:24px;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    box-shadow:
        0 0 0 8px rgba(156,255,63,.07),
        0 0 28px rgba(156,255,63,.38);
}

.fp-device-node h3{
    margin-bottom:7px;
    color:var(--fp-white);
    font-size:18px;
    font-weight:900;
}

.fp-device-node p{
    color:var(--fp-muted);
    font-size:13px;
    line-height:1.5;
}

/* posições */

.node-1{
    left:50%;
    top:0;
    transform:translateX(-50%);
}

.node-1::before{
    transform:rotate(90deg);
}

.node-2{
    right:0;
    top:96px;
}

.node-2::before{
    transform:rotate(145deg);
}

.node-3{
    right:30px;
    bottom:55px;
}

.node-3::before{
    transform:rotate(205deg);
}

.node-4{
    left:50%;
    bottom:0;
    transform:translateX(-50%);
}

.node-4::before{
    transform:rotate(270deg);
}

.node-5{
    left:30px;
    bottom:55px;
}

.node-5::before{
    transform:rotate(335deg);
}

.node-6{
    left:0;
    top:96px;
}

.node-6::before{
    transform:rotate(25deg);
}

/* reveal */

.fp-compat-reveal{
    opacity:0;
    transform:translateY(30px);
    transition:.75s ease;
}

.fp-compat-reveal.fp-show{
    opacity:1;
    transform:translateY(0);
}

/* animações */

@keyframes fpSpin{
    to{
        transform:rotate(360deg);
    }
}

@keyframes fpCompatGlow{
    from{
        transform:translateY(0) scale(1);
    }

    to{
        transform:translateY(35px) scale(1.08);
    }
}

/* ==================================================
   PLANOS - COMPACTO PREMIUM
================================================== */

.fp-plans{
    position:relative;
    overflow:hidden;
    padding:70px 0 82px;
    background:
        radial-gradient(circle at 50% 15%, rgba(156,255,63,.12), transparent 34%),
        radial-gradient(circle at 12% 80%, rgba(0,245,200,.08), transparent 32%),
        linear-gradient(180deg, #020403 0%, #07110d 48%, #020403 100%);
}

.fp-plans-grid-bg{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(156,255,63,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(156,255,63,.035) 1px, transparent 1px);
    background-size:72px 72px;
    opacity:.38;
}

.fp-plans-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(95px);
    opacity:.16;
    pointer-events:none;
    animation:fpPlansGlow 7s ease-in-out infinite alternate;
}

.fp-plans-glow-1{
    width:380px;
    height:380px;
    left:-170px;
    top:100px;
    background:var(--fp-green);
}

.fp-plans-glow-2{
    width:390px;
    height:390px;
    right:-170px;
    bottom:70px;
    background:var(--fp-aqua);
    animation-delay:1.2s;
}

.fp-plans-head{
    position:relative;
    z-index:2;
    max-width:780px;
    margin:0 auto 34px;
    text-align:center;
}

.fp-plans-head span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:12px;
    padding:8px 14px;
    border:1px solid var(--fp-border);
    border-radius:999px;
    background:rgba(156,255,63,.08);
    color:var(--fp-green);
    font-size:12px;
    font-weight:900;
}

.fp-plans-head h2{
    margin-bottom:10px;
    color:var(--fp-green);
    font-size:clamp(34px, 4.5vw, 56px);
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:-1.2px;
    text-shadow:0 0 28px rgba(156,255,63,.35);
}

.fp-plans-head p{
    color:var(--fp-muted);
    font-size:15px;
    line-height:1.6;
}

.fp-plans-wrapper{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
}

.fp-plan-card{
    position:relative;
    overflow:hidden;
    min-height:485px;
    padding:26px 28px 24px;
    border:1px solid rgba(156,255,63,.24);
    border-radius:26px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
    backdrop-filter:blur(20px);
    box-shadow:
        0 24px 70px rgba(0,0,0,.40),
        inset 0 0 0 1px rgba(255,255,255,.035);
    transition:.35s ease;
}

.fp-plan-card::before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:26px;
    padding:1px;
    background:linear-gradient(135deg, rgba(156,255,63,.72), transparent 36%, rgba(0,245,200,.52));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
    opacity:.68;
}

.fp-plan-card:hover{
    transform:translateY(-9px);
    border-color:rgba(156,255,63,.52);
    box-shadow:
        0 30px 85px rgba(0,0,0,.55),
        0 0 42px rgba(156,255,63,.20);
}

.fp-plan-featured{
    transform:translateY(-10px);
    border-color:rgba(156,255,63,.52);
    box-shadow:
        0 30px 88px rgba(0,0,0,.52),
        0 0 50px rgba(156,255,63,.22);
}

.fp-plan-featured:hover{
    transform:translateY(-16px);
}

.fp-plan-shine{
    position:absolute;
    top:-45%;
    left:-85%;
    width:70%;
    height:185%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
    transform:rotate(18deg);
    animation:fpPlanShine 5.5s ease-in-out infinite;
    pointer-events:none;
}

.fp-plan-badge{
    position:absolute;
    top:16px;
    right:16px;
    padding:7px 11px;
    border-radius:999px;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    color:#07110d;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    box-shadow:0 0 24px rgba(156,255,63,.35);
}

.fp-plan-label{
    display:inline-flex;
    margin-bottom:10px;
    color:var(--fp-green);
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px;
}

.fp-plan-card h3{
    margin-bottom:8px;
    color:var(--fp-white);
    font-size:30px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
}

.fp-plan-price{
    margin-bottom:20px;
    color:var(--fp-green);
    font-size:50px;
    line-height:1;
    font-weight:950;
    letter-spacing:-2px;
    text-shadow:0 0 28px rgba(156,255,63,.42);
}

.fp-plan-price small{
    font-size:23px;
    margin-right:3px;
}

.fp-plan-card ul{
    display:grid;
    gap:13px;
    margin:0 0 18px;
    padding:0;
    list-style:none;
}

.fp-plan-card li{
    display:flex;
    align-items:flex-start;
    gap:11px;
    color:rgba(255,255,255,.88);
    font-size:14px;
    line-height:1.35;
    font-weight:800;
}

.fp-plan-card li i{
    flex-shrink:0;
    width:21px;
    height:21px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    color:#07110d;
    font-size:11px;
    box-shadow:0 0 17px rgba(156,255,63,.40);
}

.fp-plan-btn{
    position:absolute;
    left:28px;
    right:28px;
    bottom:22px;
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    overflow:hidden;
    border-radius:15px;
    color:#07110d;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.3px;
    box-shadow:
        0 0 26px rgba(156,255,63,.44),
        0 0 0 7px rgba(156,255,63,.07);
    transition:.35s ease;
    animation:fpButtonPulse 1.45s ease-in-out infinite;
}

.fp-plan-btn::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    transform:translateX(-120%) skewX(-18deg);
    transition:.65s ease;
}

.fp-plan-btn:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:
        0 0 45px rgba(156,255,63,.70),
        0 0 0 10px rgba(156,255,63,.10);
}

.fp-plan-btn:hover::before{
    transform:translateX(135%) skewX(-18deg);
}

.fp-plan-btn i{
    position:relative;
    z-index:2;
}

/* Reveal saltando do fundo */
.fp-plan-reveal{
    opacity:0;
    transform:translateY(85px) scale(.93);
    filter:blur(8px);
    transition:
        opacity .85s ease,
        transform .85s cubic-bezier(.19,1,.22,1),
        filter .85s ease;
}

.fp-plan-reveal.fp-show{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
}

.fp-plans-wrapper .fp-plan-reveal:nth-child(1){
    transition-delay:.05s;
}

.fp-plans-wrapper .fp-plan-reveal:nth-child(2){
    transition-delay:.17s;
}

.fp-plans-wrapper .fp-plan-reveal:nth-child(3){
    transition-delay:.29s;
}

@keyframes fpPlansGlow{
    from{ transform:translateY(0) scale(1); }
    to{ transform:translateY(35px) scale(1.08); }
}

@keyframes fpPlanShine{
    0%, 45%{ left:-85%; }
    70%, 100%{ left:130%; }
}

@keyframes fpButtonPulse{
    0%, 100%{
        box-shadow:
            0 0 22px rgba(156,255,63,.38),
            0 0 0 7px rgba(156,255,63,.06);
    }

    50%{
        box-shadow:
            0 0 46px rgba(156,255,63,.75),
            0 0 0 12px rgba(156,255,63,.11);
    }
}

/* ==================================================
   FAQ PREMIUM RESPONSIVO
   DESKTOP: PAINEL | MOBILE: ACCORDION
================================================== */

.fp-faq-pro{
    position:relative;
    overflow:hidden;
    padding:90px 0 105px;
    background:
        radial-gradient(circle at 15% 20%, rgba(156,255,63,.11), transparent 32%),
        radial-gradient(circle at 85% 82%, rgba(0,245,200,.10), transparent 34%),
        linear-gradient(180deg, #020403 0%, #07110d 50%, #020403 100%);
}

.fp-faq-pro-grid{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(156,255,63,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(156,255,63,.035) 1px, transparent 1px);
    background-size:72px 72px;
    opacity:.38;
    mask-image:linear-gradient(to bottom, transparent, #000 15%, #000 86%, transparent);
}

.fp-faq-pro-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(95px);
    opacity:.16;
    pointer-events:none;
    animation:fpFaqProGlow 7s ease-in-out infinite alternate;
}

.fp-faq-pro-glow-1{
    width:420px;
    height:420px;
    left:-180px;
    top:90px;
    background:var(--fp-green);
}

.fp-faq-pro-glow-2{
    width:430px;
    height:430px;
    right:-190px;
    bottom:70px;
    background:var(--fp-aqua);
    animation-delay:1.2s;
}

/* TÍTULO */

.fp-faq-pro-head{
    position:relative;
    z-index:2;
    max-width:780px;
    margin:0 auto 48px;
    text-align:center;
}

.fp-faq-pro-head span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:14px;
    padding:8px 14px;
    border:1px solid var(--fp-border);
    border-radius:999px;
    background:rgba(156,255,63,.08);
    color:var(--fp-green);
    font-size:12px;
    font-weight:900;
}

.fp-faq-pro-head h2{
    margin-bottom:12px;
    color:var(--fp-green);
    font-size:clamp(34px, 4.8vw, 58px);
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:-1.3px;
    text-shadow:0 0 28px rgba(156,255,63,.35);
}

.fp-faq-pro-head p{
    color:var(--fp-muted);
    font-size:15px;
    line-height:1.6;
}

/* ==================================================
   DESKTOP - PAINEL
================================================== */

.fp-faq-pro-panel{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1.12fr;
    gap:24px;
    min-height:520px;
    padding:20px;
    border:1px solid rgba(156,255,63,.18);
    border-radius:32px;
    background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.022));
    backdrop-filter:blur(22px);
    box-shadow:
        0 30px 90px rgba(0,0,0,.45),
        inset 0 0 0 1px rgba(255,255,255,.035);
}

.fp-faq-pro-menu{
    display:grid;
    gap:12px;
}

.fp-faq-pro-tab{
    position:relative;
    overflow:hidden;
    min-height:62px;
    padding:0 18px;
    display:grid;
    grid-template-columns:46px 1fr;
    align-items:center;
    gap:12px;
    border:1px solid rgba(156,255,63,.14);
    border-radius:18px;
    background:rgba(2,4,3,.42);
    color:rgba(255,255,255,.82);
    text-align:left;
    cursor:pointer;
    transition:.32s ease;
}

.fp-faq-pro-tab::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(156,255,63,.16), transparent 60%);
    opacity:0;
    transition:.32s ease;
}

.fp-faq-pro-tab::after{
    content:"";
    position:absolute;
    left:0;
    top:12px;
    bottom:12px;
    width:3px;
    border-radius:999px;
    background:linear-gradient(var(--fp-green), var(--fp-aqua));
    opacity:0;
    box-shadow:0 0 18px rgba(156,255,63,.7);
}

.fp-faq-pro-tab small{
    position:relative;
    z-index:2;
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:rgba(156,255,63,.08);
    color:var(--fp-green);
    font-size:12px;
    font-weight:950;
}

.fp-faq-pro-tab span{
    position:relative;
    z-index:2;
    font-size:15px;
    line-height:1.35;
    font-weight:900;
}

.fp-faq-pro-tab:hover,
.fp-faq-pro-tab.fp-active{
    transform:translateX(7px);
    border-color:rgba(156,255,63,.42);
    color:var(--fp-white);
    box-shadow:0 0 30px rgba(156,255,63,.12);
}

.fp-faq-pro-tab:hover::before,
.fp-faq-pro-tab.fp-active::before,
.fp-faq-pro-tab.fp-active::after{
    opacity:1;
}

.fp-faq-pro-tab.fp-active small{
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    color:#07110d;
    box-shadow:0 0 24px rgba(156,255,63,.38);
}

/* RESPOSTA DESKTOP */

.fp-faq-pro-answer{
    position:relative;
    overflow:hidden;
    padding:44px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid rgba(156,255,63,.22);
    border-radius:28px;
    background:
        radial-gradient(circle at 80% 18%, rgba(156,255,63,.18), transparent 32%),
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.035),
        0 22px 70px rgba(0,0,0,.35);
}

.fp-faq-pro-energy{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg, transparent, var(--fp-green), var(--fp-aqua), transparent);
    box-shadow:0 0 24px rgba(156,255,63,.8);
    animation:fpFaqEnergy 2.4s linear infinite;
}

.fp-faq-pro-counter{
    position:absolute;
    top:28px;
    right:30px;
    display:flex;
    align-items:flex-end;
    gap:5px;
    color:var(--fp-green);
    font-weight:950;
}

.fp-faq-pro-counter span{
    font-size:34px;
    line-height:1;
}

.fp-faq-pro-counter small{
    color:var(--fp-muted);
    font-size:14px;
    padding-bottom:4px;
}

.fp-faq-pro-icon{
    width:82px;
    height:82px;
    margin-bottom:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:24px;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    color:#07110d;
    font-size:34px;
    box-shadow:
        0 0 0 10px rgba(156,255,63,.07),
        0 0 36px rgba(156,255,63,.45);
}

.fp-faq-pro-answer h3{
    max-width:620px;
    margin-bottom:18px;
    color:var(--fp-white);
    font-size:clamp(28px, 3vw, 42px);
    line-height:1.12;
    font-weight:950;
    letter-spacing:-.8px;
}

.fp-faq-pro-answer p{
    max-width:640px;
    color:var(--fp-muted);
    font-size:17px;
    line-height:1.75;
}

.fp-faq-pro-note{
    margin-top:34px;
    padding:16px 18px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid rgba(156,255,63,.18);
    border-radius:16px;
    background:rgba(2,4,3,.35);
    color:rgba(255,255,255,.82);
    font-size:14px;
    font-weight:800;
}

.fp-faq-pro-note i{
    color:var(--fp-green);
}

.fp-faq-pro-answer.fp-changing{
    animation:fpFaqChange .38s ease;
}

/* ==================================================
   MOBILE - ACCORDION
================================================== */

.fp-faq-mobile{
    display:none;
    position:relative;
    z-index:2;
    max-width:760px;
    margin:0 auto;
    gap:13px;
}

.fp-faq-mobile-item{
    border:1px solid rgba(156,255,63,.18);
    border-radius:18px;
    background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.022));
    backdrop-filter:blur(18px);
    overflow:hidden;
    box-shadow:0 18px 55px rgba(0,0,0,.30);
    transition:.32s ease;
}

.fp-faq-mobile-item.fp-active{
    border-color:rgba(156,255,63,.45);
    box-shadow:
        0 24px 70px rgba(0,0,0,.45),
        0 0 34px rgba(156,255,63,.14);
}

.fp-faq-mobile-question{
    width:100%;
    min-height:64px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border:0;
    background:transparent;
    color:var(--fp-white);
    cursor:pointer;
    text-align:left;
}

.fp-faq-mobile-question span{
    font-size:15.5px;
    line-height:1.35;
    font-weight:900;
}

.fp-faq-mobile-question i{
    width:34px;
    height:34px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:rgba(156,255,63,.09);
    color:var(--fp-green);
    transition:.3s ease;
}

.fp-faq-mobile-item.fp-active .fp-faq-mobile-question{
    color:var(--fp-green);
}

.fp-faq-mobile-item.fp-active .fp-faq-mobile-question i{
    transform:rotate(180deg);
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    color:#07110d;
}

.fp-faq-mobile-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .38s ease;
}

.fp-faq-mobile-answer p{
    padding:0 18px 20px;
    color:var(--fp-muted);
    font-size:14px;
    line-height:1.7;
}

/* Reveal */

.fp-faq-pro-reveal{
    opacity:0;
    transform:translateY(36px);
    filter:blur(6px);
    transition:.8s ease;
}

.fp-faq-pro-reveal.fp-show{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
}

/* Animações */

@keyframes fpFaqProGlow{
    from{ transform:translateY(0) scale(1); }
    to{ transform:translateY(34px) scale(1.08); }
}

@keyframes fpFaqEnergy{
    from{ transform:translateX(-60%); }
    to{ transform:translateX(60%); }
}

@keyframes fpFaqChange{
    from{
        opacity:.45;
        transform:scale(.985);
        filter:blur(4px);
    }
    to{
        opacity:1;
        transform:scale(1);
        filter:blur(0);
    }
}

/* ==================================================
   CTA WHATSAPP
================================================== */

.fp-cta-whatsapp{
    position:relative;
    overflow:hidden;
    padding:80px 0 95px;
    background:
        radial-gradient(circle at 50% 50%, rgba(156,255,63,.14), transparent 38%),
        linear-gradient(180deg, #020403 0%, #07110d 55%, #020403 100%);
}

.fp-cta-whatsapp::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(156,255,63,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(156,255,63,.035) 1px, transparent 1px);
    background-size:68px 68px;
    opacity:.35;
}

.fp-cta-glow{
    position:absolute;
    width:520px;
    height:520px;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:var(--fp-green);
    filter:blur(110px);
    opacity:.16;
    animation:fpCtaGlow 6s ease-in-out infinite alternate;
}

.fp-cta-box{
    position:relative;
    z-index:2;
    max-width:920px;
    margin:0 auto;
    padding:48px 34px;
    text-align:center;
    border:1px solid rgba(156,255,63,.28);
    border-radius:34px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
    backdrop-filter:blur(22px);
    box-shadow:
        0 35px 95px rgba(0,0,0,.52),
        0 0 55px rgba(156,255,63,.14);
}

.fp-cta-box::before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:34px;
    padding:1px;
    background:linear-gradient(135deg, rgba(156,255,63,.80), transparent 38%, rgba(0,245,200,.55));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
}

.fp-cta-box span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:14px;
    padding:8px 14px;
    border:1px solid var(--fp-border);
    border-radius:999px;
    background:rgba(156,255,63,.08);
    color:var(--fp-green);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.fp-cta-box h2{
    margin-bottom:14px;
    color:var(--fp-green);
    font-size:clamp(32px, 4.8vw, 56px);
    line-height:1;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:-1.3px;
    text-shadow:0 0 30px rgba(156,255,63,.35);
}

.fp-cta-box p{
    max-width:650px;
    margin:0 auto 30px;
    color:var(--fp-muted);
    font-size:16px;
    line-height:1.7;
}

.fp-cta-btn{
    position:relative;
    overflow:hidden;
    min-height:58px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px;
    color:#07110d;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    font-size:15px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.3px;
    box-shadow:
        0 0 28px rgba(156,255,63,.50),
        0 0 0 8px rgba(156,255,63,.08);
    transition:.35s ease;
    animation:fpCtaPulse 1.45s ease-in-out infinite;
}

.fp-cta-btn::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    transform:translateX(-125%) skewX(-18deg);
    transition:.65s ease;
}

.fp-cta-btn:hover{
    transform:translateY(-5px) scale(1.025);
    box-shadow:
        0 0 48px rgba(156,255,63,.78),
        0 0 0 12px rgba(156,255,63,.12);
}

.fp-cta-btn:hover::before{
    transform:translateX(135%) skewX(-18deg);
}

.fp-cta-btn i{
    position:relative;
    z-index:2;
    font-size:18px;
}

/* reveal */

.fp-cta-reveal{
    opacity:0;
    transform:translateY(35px) scale(.96);
    filter:blur(6px);
    transition:.85s ease;
}

.fp-cta-reveal.fp-show{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
}

@keyframes fpCtaGlow{
    from{ transform:translate(-50%,-50%) scale(1); }
    to{ transform:translate(-50%,-45%) scale(1.08); }
}

@keyframes fpCtaPulse{
    0%,100%{
        box-shadow:
            0 0 26px rgba(156,255,63,.45),
            0 0 0 8px rgba(156,255,63,.07);
    }

    50%{
        box-shadow:
            0 0 52px rgba(156,255,63,.82),
            0 0 0 13px rgba(156,255,63,.13);
    }
}

/* ==================================================
   FOOTER
================================================== */

.fp-footer{
    position:relative;
    overflow:hidden;
    padding:45px 0 35px;
    background:#020403;
    border-top:1px solid rgba(156,255,63,.12);
}

.fp-footer-glow{
    position:absolute;
    left:50%;
    top:-140px;
    transform:translateX(-50%);
    width:500px;
    height:260px;
    background:var(--fp-green);
    filter:blur(120px);
    opacity:.08;
    pointer-events:none;
}

.fp-footer-content{
    position:relative;
    z-index:2;
    text-align:center;
}

.fp-footer-nav{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.fp-footer-nav a{
    position:relative;
    color:rgba(255,255,255,.78);
    font-size:14px;
    font-weight:800;
    transition:.30s;
}

.fp-footer-nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-5px;
    width:0;
    height:2px;
    background:linear-gradient(90deg,var(--fp-green),var(--fp-aqua));
    transition:.35s;
}

.fp-footer-nav a:hover{
    color:var(--fp-green);
}

.fp-footer-nav a:hover::after{
    width:100%;
}

.fp-footer-nav span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--fp-green);
    box-shadow:0 0 15px rgba(156,255,63,.7);
}

.fp-footer-line{
    width:120px;
    height:2px;
    margin:26px auto;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        transparent,
        var(--fp-green),
        var(--fp-aqua),
        transparent
    );
    animation:fpFooterLine 3s linear infinite;
}

.fp-footer-copy{
    margin-bottom:10px;
    color:rgba(255,255,255,.62);
    font-size:14px;
    line-height:1.7;
}

.fp-footer-copy strong{
    color:var(--fp-green);
}

.fp-footer-dev{
    color:rgba(255,255,255,.55);
    font-size:13px;
}

.fp-footer-dev a{
    position:relative;
    color:var(--fp-green);
    font-weight:900;
    transition:.30s;
}

.fp-footer-dev a:hover{
    color:#ffffff;
    text-shadow:0 0 18px rgba(156,255,63,.8);
}

@keyframes fpFooterLine{

    0%{
        filter:brightness(1);
    }

    50%{
        filter:brightness(1.8);
    }

    100%{
        filter:brightness(1);
    }

}

/* ==================================================
   COOKIES - FENIX PLAY
================================================== */

.fp-cookie-overlay{
    position:fixed;
    inset:0;
    z-index:9997;
    background:rgba(0,0,0,.35);
    backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    transition:.35s ease;
}

.fp-cookie-overlay.fp-show{
    opacity:1;
    visibility:visible;
}

.fp-cookie-box{
    position:fixed;
    left:50%;
    bottom:24px;
    z-index:9998;
    width:min(920px, calc(100% - 32px));
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:18px;
    align-items:center;
    padding:22px;
    border:1px solid rgba(156,255,63,.32);
    border-radius:26px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.035));
    backdrop-filter:blur(22px);
    box-shadow:
        0 28px 90px rgba(0,0,0,.62),
        0 0 42px rgba(156,255,63,.18);
    transform:translate(-50%, 140%) scale(.96);
    opacity:0;
    visibility:hidden;
    overflow:hidden;
    transition:.55s cubic-bezier(.19,1,.22,1);
}

.fp-cookie-box.fp-show{
    transform:translate(-50%, 0) scale(1);
    opacity:1;
    visibility:visible;
}

.fp-cookie-box.fp-hide{
    transform:translate(-50%, 140%) scale(.94);
    opacity:0;
}

.fp-cookie-glow{
    position:absolute;
    width:280px;
    height:280px;
    right:-90px;
    top:-120px;
    border-radius:50%;
    background:var(--fp-green);
    filter:blur(80px);
    opacity:.16;
    pointer-events:none;
}

.fp-cookie-box::before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:26px;
    padding:1px;
    background:linear-gradient(135deg, rgba(156,255,63,.75), transparent 42%, rgba(0,245,200,.55));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
}

.fp-cookie-icon{
    position:relative;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    color:#07110d;
    font-size:25px;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    box-shadow:
        0 0 0 8px rgba(156,255,63,.07),
        0 0 28px rgba(156,255,63,.45);
}

.fp-cookie-content{
    position:relative;
}

.fp-cookie-content h3{
    margin-bottom:6px;
    color:var(--fp-white);
    font-size:20px;
    font-weight:950;
}

.fp-cookie-content p{
    color:var(--fp-muted);
    font-size:14px;
    line-height:1.6;
}

.fp-cookie-content a{
    color:var(--fp-green);
    font-weight:900;
    text-decoration:underline;
    text-underline-offset:4px;
}

.fp-cookie-content a:hover{
    color:var(--fp-aqua);
}

.fp-cookie-actions{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
}

.fp-cookie-btn{
    min-height:46px;
    padding:0 18px;
    border:0;
    border-radius:13px;
    font-size:13px;
    font-weight:950;
    text-transform:uppercase;
    cursor:pointer;
    transition:.3s ease;
}

.fp-cookie-deny{
    color:rgba(255,255,255,.82);
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.06);
}

.fp-cookie-deny:hover{
    transform:translateY(-3px);
    color:var(--fp-white);
    border-color:rgba(156,255,63,.28);
    background:rgba(156,255,63,.08);
}

.fp-cookie-accept{
    position:relative;
    overflow:hidden;
    color:#07110d;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    box-shadow:
        0 0 26px rgba(156,255,63,.45),
        0 0 0 7px rgba(156,255,63,.07);
    animation:fpCookiePulse 1.55s ease-in-out infinite;
}

.fp-cookie-accept::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    transform:translateX(-130%) skewX(-18deg);
    transition:.65s ease;
}

.fp-cookie-accept:hover{
    transform:translateY(-4px) scale(1.02);
}

.fp-cookie-accept:hover::before{
    transform:translateX(135%) skewX(-18deg);
}

@keyframes fpCookiePulse{
    0%,100%{
        box-shadow:
            0 0 22px rgba(156,255,63,.38),
            0 0 0 7px rgba(156,255,63,.06);
    }

    50%{
        box-shadow:
            0 0 44px rgba(156,255,63,.75),
            0 0 0 12px rgba(156,255,63,.11);
    }
}

/* ==================================================
   CTA TESTE GRÁTIS - FENIX PLAY
================================================== */

.fp-trial-cta{
    position:relative;
    overflow:hidden;
    padding:70px 0;
    background:
        radial-gradient(circle at 18% 35%, rgba(156,255,63,.14), transparent 32%),
        radial-gradient(circle at 88% 68%, rgba(0,245,200,.10), transparent 34%),
        linear-gradient(180deg, #020403 0%, #07110d 50%, #020403 100%);
}

.fp-trial-grid{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(156,255,63,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(156,255,63,.035) 1px, transparent 1px);
    background-size:68px 68px;
    opacity:.35;
    mask-image:linear-gradient(to bottom, transparent, #000 16%, #000 86%, transparent);
}

.fp-trial-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(95px);
    opacity:.16;
    pointer-events:none;
    animation:fpTrialGlow 7s ease-in-out infinite alternate;
}

.fp-trial-glow-1{
    width:360px;
    height:360px;
    left:-150px;
    top:35px;
    background:var(--fp-green);
}

.fp-trial-glow-2{
    width:380px;
    height:380px;
    right:-160px;
    bottom:20px;
    background:var(--fp-aqua);
    animation-delay:1.2s;
}

.fp-trial-box{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:34px;
    padding:34px 38px;
    border:1px solid rgba(156,255,63,.28);
    border-radius:30px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.028));
    backdrop-filter:blur(22px);
    box-shadow:
        0 30px 90px rgba(0,0,0,.48),
        0 0 52px rgba(156,255,63,.13);
    overflow:hidden;
}

.fp-trial-box::before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:30px;
    padding:1px;
    background:linear-gradient(135deg, rgba(156,255,63,.78), transparent 38%, rgba(0,245,200,.55));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
}

.fp-trial-box::after{
    content:"";
    position:absolute;
    top:-60%;
    left:-40%;
    width:45%;
    height:220%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent);
    transform:rotate(18deg);
    animation:fpTrialShine 5.8s ease-in-out infinite;
    pointer-events:none;
}

.fp-trial-content{
    position:relative;
    z-index:2;
}

.fp-trial-content span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:12px;
    padding:8px 14px;
    border:1px solid var(--fp-border);
    border-radius:999px;
    background:rgba(156,255,63,.08);
    color:var(--fp-green);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.fp-trial-content h2{
    margin-bottom:12px;
    color:var(--fp-green);
    font-size:clamp(28px, 4vw, 46px);
    line-height:1.05;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:-1px;
    text-shadow:0 0 28px rgba(156,255,63,.35);
}

.fp-trial-content p{
    max-width:680px;
    color:var(--fp-muted);
    font-size:16px;
    line-height:1.65;
}

.fp-trial-action{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
}

.fp-trial-btn{
    position:relative;
    overflow:hidden;
    min-width:245px;
    min-height:58px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px;
    color:#07110d;
    background:linear-gradient(135deg, var(--fp-green), var(--fp-aqua));
    font-size:15px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.3px;
    box-shadow:
        0 0 28px rgba(156,255,63,.50),
        0 0 0 8px rgba(156,255,63,.08);
    transition:.35s ease;
    animation:fpTrialPulse 1.45s ease-in-out infinite;
}

.fp-trial-btn::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    transform:translateX(-125%) skewX(-18deg);
    transition:.65s ease;
}

.fp-trial-btn:hover{
    transform:translateY(-5px) scale(1.025);
    box-shadow:
        0 0 50px rgba(156,255,63,.80),
        0 0 0 12px rgba(156,255,63,.12);
}

.fp-trial-btn:hover::before{
    transform:translateX(135%) skewX(-18deg);
}

.fp-trial-btn i{
    position:relative;
    z-index:2;
    font-size:18px;
}

.fp-trial-action small{
    display:flex;
    align-items:center;
    gap:7px;
    color:rgba(255,255,255,.68);
    font-size:12px;
    font-weight:800;
}

.fp-trial-action small i{
    color:var(--fp-green);
}

/* Reveal */

.fp-trial-reveal{
    opacity:0;
    transform:translateY(35px) scale(.96);
    filter:blur(6px);
    transition:.85s ease;
}

.fp-trial-reveal.fp-show{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
}

@keyframes fpTrialGlow{
    from{ transform:translateY(0) scale(1); }
    to{ transform:translateY(32px) scale(1.08); }
}

@keyframes fpTrialShine{
    0%,45%{ left:-55%; }
    70%,100%{ left:125%; }
}

@keyframes fpTrialPulse{
    0%,100%{
        box-shadow:
            0 0 26px rgba(156,255,63,.45),
            0 0 0 8px rgba(156,255,63,.07);
    }

    50%{
        box-shadow:
            0 0 52px rgba(156,255,63,.82),
            0 0 0 13px rgba(156,255,63,.13);
    }
}