:root{
    --products-green:#07371f;
    --products-green-2:#0a7d44;
    --products-neon:#9cff63;
    --products-gold:#dfb957;
    --products-ink:#102219;
    --products-muted:#69766f;
}

.products-page{
    overflow:hidden;
}

.products-section{
    position:relative;
    padding:clamp(74px,8vw,118px) 0;
}

.products-section-light,
.products-comparison-section,
.products-authority-section{
    background:
        linear-gradient(
            180deg,
            #eef4e8,
            #f8f3e8
        );
}

.products-logic-section,
.products-warning-section,
.products-final-section{
    color:#fff;
    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(156,255,99,.12),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #032716,
            #064426
        );
}

.products-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#168049;
    font-size:.68rem;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.products-kicker:before{
    content:"";
    width:28px;
    height:2px;
    background:var(--products-gold);
}

.products-kicker-light{
    color:var(--products-gold);
}

.products-heading{
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        minmax(300px,.68fr);
    align-items:end;
    gap:clamp(40px,7vw,94px);
    margin-bottom:38px;
}

.products-heading h2,
.products-warning-copy h2,
.products-authority-copy h2,
.products-final-copy h2{
    margin:12px 0 0;
    color:var(--products-ink);
    font-size:clamp(2.2rem,4vw,4rem);
    line-height:1.04;
    letter-spacing:-.05em;
}

.products-logic-section .products-heading h2,
.products-warning-copy h2,
.products-final-copy h2{
    color:#fff;
}

.products-heading p{
    color:var(--products-muted);
    line-height:1.72;
}

.products-logic-section .products-heading p{
    color:rgba(255,255,255,.64);
}

/* HERO */

.products-hero{
    position:relative;
    overflow:hidden;
    padding:clamp(76px,8vw,118px) 0 0;
    color:#fff;
    background:
        radial-gradient(
            circle at 14% 18%,
            rgba(156,255,99,.11),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #032817,
            #07512d
        );
}

.products-hero-orb{
    position:absolute;
    top:-210px;
    right:-200px;
    width:520px;
    height:520px;
    border:1px solid rgba(156,255,99,.09);
    border-radius:50%;
}

.products-hero-grid{
    display:grid;
    grid-template-columns:
        minmax(0,1.02fr)
        minmax(430px,.98fr);
    align-items:center;
    gap:clamp(52px,7vw,105px);
}

.products-hero h1{
    max-width:12ch;
    margin:17px 0 0;
    font-size:clamp(3rem,5.4vw,5.45rem);
    line-height:.99;
    letter-spacing:-.06em;
}

.products-hero h1 em{
    display:block;
    color:var(--products-gold);
    font-style:normal;
}

.products-hero-lead{
    max-width:62ch;
    margin:23px 0 0;
    color:rgba(255,255,255,.70);
    font-size:1rem;
    line-height:1.75;
}

.products-hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:23px;
}

.products-hero-tags span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    color:rgba(255,255,255,.78);
    background:rgba(255,255,255,.045);
    border:1px solid rgba(156,255,99,.14);
    border-radius:999px;
    font-size:.67rem;
    font-weight:750;
}

.products-hero-tags svg{
    width:14px;
    color:var(--products-neon);
}

.products-main-cta,
.products-final-button{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:46px minmax(0,1fr) 22px;
    align-items:center;
    gap:12px;
    min-height:68px;
    padding:10px 16px 10px 11px;
    color:#fff!important;
    text-decoration:none;
    background:linear-gradient(135deg,#08723f,#0b914d);
    border:1px solid rgba(156,255,99,.43);
    border-radius:999px;
    box-shadow:
        0 18px 36px rgba(0,0,0,.25),
        0 0 22px rgba(156,255,99,.10);
    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.products-main-cta{
    width:fit-content;
    min-width:355px;
    margin-top:28px;
}

.products-main-cta:before,
.products-final-button:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            110deg,
            transparent 20%,
            rgba(255,255,255,.14) 48%,
            transparent 74%
        );
    transform:translateX(-140%);
    transition:transform .72s ease;
}

.products-main-cta:hover,
.products-final-button:hover{
    transform:translateY(-3px);
    box-shadow:
        0 24px 46px rgba(0,0,0,.30),
        0 0 30px rgba(156,255,99,.18);
}

.products-main-cta:hover:before,
.products-final-button:hover:before{
    transform:translateX(140%);
}

.products-main-cta__icon,
.products-final-button__icon{
    position:relative;
    z-index:2;
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#07341e;
    background:linear-gradient(135deg,#f2d777,#ddb454);
    border-radius:50%;
    transform:none!important;
}

.products-main-cta__icon svg,
.products-final-button__icon svg{
    width:22px;
    transform:none!important;
}

.products-main-cta>span:nth-child(2),
.products-final-button>span:nth-child(2){
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.products-main-cta small,
.products-final-button small{
    color:rgba(200,255,210,.78);
    font-size:.56rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.products-main-cta strong,
.products-final-button strong{
    font-size:.92rem;
}

.products-main-cta b,
.products-final-button b{
    position:relative;
    z-index:2;
    color:var(--products-neon);
    transition:transform .22s ease;
}

.products-main-cta:hover b{
    transform:translateY(4px);
}

.products-final-button:hover b{
    transform:translateX(5px);
}

/* HERO VISUAL */

.products-hero-visual{
    position:relative;
}

.products-visual-board{
    position:relative;
    min-height:590px;
    background:
        radial-gradient(
            circle at center,
            rgba(156,255,99,.12),
            transparent 31%
        ),
        rgba(255,255,255,.045);
    border:1px solid rgba(156,255,99,.17);
    border-radius:30px;
    box-shadow:0 30px 65px rgba(0,0,0,.25);
    backdrop-filter:blur(8px);
}

.products-visual-board:before,
.products-visual-board:after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    border:1px solid rgba(156,255,99,.12);
    border-radius:50%;
    transform:translate(-50%,-50%);
}

.products-visual-board:before{
    width:380px;
    height:380px;
}

.products-visual-board:after{
    width:250px;
    height:250px;
}

.products-visual-board__label{
    position:absolute;
    top:23px;
    left:24px;
    color:var(--products-gold);
    font-size:.57rem;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.products-visual-center{
    position:absolute;
    z-index:3;
    top:50%;
    left:50%;
    width:190px;
    min-height:190px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    transform:translate(-50%,-50%);
    background:
        linear-gradient(
            145deg,
            #0b7b43,
            #064426
        );
    border:1px solid rgba(156,255,99,.30);
    border-radius:50%;
    box-shadow:
        0 24px 50px rgba(0,0,0,.24),
        0 0 32px rgba(156,255,99,.12);
}

.products-visual-center__icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#07341e;
    background:linear-gradient(135deg,#f2d777,#ddb454);
    border-radius:16px;
}

.products-visual-center__icon svg{
    width:25px;
}

.products-visual-center strong{
    margin-top:14px;
    color:#fff;
    font-size:.88rem;
}

.products-visual-center small{
    margin-top:4px;
    color:rgba(255,255,255,.58);
    font-size:.58rem;
}

.products-visual-node{
    position:absolute;
    z-index:4;
    display:grid;
    grid-template-columns:43px minmax(0,1fr);
    align-items:center;
    gap:11px;
    width:200px;
    padding:12px;
    background:rgba(2,42,22,.88);
    border:1px solid rgba(156,255,99,.18);
    border-radius:16px;
    box-shadow:0 16px 32px rgba(0,0,0,.18);
}

.products-visual-node>span{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--products-neon);
    background:rgba(156,255,99,.08);
    border-radius:13px;
}

.products-visual-node svg{
    width:21px;
}

.products-visual-node small{
    display:block;
    color:var(--products-gold);
    font-size:.52rem;
    font-weight:850;
    text-transform:uppercase;
}

.products-visual-node strong{
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:.68rem;
}

.products-visual-node--one{
    top:90px;
    left:32px;
}

.products-visual-node--two{
    top:90px;
    right:32px;
}

.products-visual-node--three{
    left:32px;
    bottom:68px;
}

.products-visual-node--four{
    right:32px;
    bottom:68px;
}

.products-proof-strip{
    overflow:hidden;
    margin-top:42px;
    border-top:1px solid rgba(255,255,255,.08);
}

.products-proof-track{
    display:flex;
    width:max-content;
    align-items:center;
    gap:24px;
    padding:18px 0;
    color:rgba(255,255,255,.66);
    font-size:.67rem;
    font-weight:750;
    letter-spacing:.08em;
    text-transform:uppercase;
    animation:productsProof 28s linear infinite;
}

.products-proof-track i{
    width:5px;
    height:5px;
    background:var(--products-gold);
    border-radius:50%;
}

@keyframes productsProof{
    to{
        transform:translateX(-30%);
    }
}

/* CARDS */

.products-showcase-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.product-showcase{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);
    min-height:430px;
    background:
        linear-gradient(
            145deg,
            #fff,
            #edf5e9
        );
    border:1px solid rgba(13,102,54,.12);
    border-radius:25px;
    box-shadow:0 22px 48px rgba(5,48,25,.09);
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease;
}

.product-showcase:first-child{
    grid-column:1/-1;
    grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr);
}

.product-showcase:hover{
    transform:translateY(-6px);
    border-color:rgba(25,132,70,.24);
    box-shadow:0 30px 62px rgba(5,48,25,.14);
}

.product-showcase__visual{
    position:relative;
    overflow:hidden;
    min-height:100%;
}

.product-showcase__visual img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .5s ease;
}

.product-showcase:hover .product-showcase__visual img{
    transform:scale(1.035);
}

.product-showcase__overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(1,35,18,.62)
        );
}

.product-showcase__badge{
    position:absolute;
    left:16px;
    bottom:16px;
    padding:8px 10px;
    color:#fff;
    background:rgba(3,47,24,.80);
    border:1px solid rgba(156,255,99,.20);
    border-radius:999px;
    backdrop-filter:blur(8px);
    font-size:.55rem;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.product-showcase__number{
    position:absolute;
    top:15px;
    right:15px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#07341e;
    background:linear-gradient(135deg,#f2d777,#ddb454);
    border-radius:50%;
    font-size:.62rem;
    font-weight:900;
}

.product-showcase__content{
    display:flex;
    flex-direction:column;
    padding:26px;
}

.product-showcase__top{
    display:flex;
    align-items:center;
    gap:13px;
}

.product-showcase__icon{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#118047;
    background:rgba(156,255,99,.13);
    border-radius:15px;
}

.product-showcase__icon svg{
    width:24px;
}

.product-showcase__top small{
    color:#16804a;
    font-size:.56rem;
    font-weight:850;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.product-showcase h3{
    margin:20px 0 9px;
    color:var(--products-ink);
    font-size:clamp(1.35rem,2vw,2rem);
    line-height:1.1;
}

.product-showcase__content>p{
    margin:0;
    color:var(--products-muted);
    font-size:.77rem;
    line-height:1.65;
}

.product-showcase__points{
    display:grid;
    gap:8px;
    margin-top:18px;
}

.product-showcase__points span{
    display:flex;
    align-items:center;
    gap:7px;
    color:#315842;
    font-size:.68rem;
    font-weight:750;
}

.product-showcase__points svg{
    width:14px;
    color:#118047;
}

.product-showcase__button{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:auto;
    padding-top:22px;
    color:#0d6f3d;
    text-decoration:none;
    font-size:.72rem;
    font-weight:850;
}

.product-showcase__button svg{
    width:17px;
    transition:transform .22s ease;
}

.product-showcase__button:hover svg{
    transform:translateX(5px);
}

.product-showcase--bio .product-showcase__icon,
.product-showcase--science .product-showcase__icon{
    color:#0b6840;
    background:rgba(74,205,135,.13);
}

.product-showcase--planning .product-showcase__icon{
    color:#856519;
    background:rgba(223,185,87,.17);
}

/* LÓGICA */

.products-logic-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.products-logic-card{
    position:relative;
    min-height:270px;
    padding:22px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(156,255,99,.14);
    border-radius:20px;
    transition:
        transform .23s ease,
        border-color .23s ease;
}

.products-logic-card:hover{
    transform:translateY(-5px);
    border-color:rgba(156,255,99,.30);
}

.products-logic-card__number{
    position:absolute;
    top:19px;
    right:19px;
    color:rgba(255,255,255,.28);
    font-size:.68rem;
    font-weight:900;
}

.products-logic-card__icon{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--products-neon);
    background:rgba(156,255,99,.08);
    border-radius:15px;
}

.products-logic-card__icon svg{
    width:24px;
}

.products-logic-card strong{
    display:block;
    margin-top:24px;
    color:#fff;
    font-size:.96rem;
}

.products-logic-card p{
    color:rgba(255,255,255,.58);
    font-size:.75rem;
    line-height:1.62;
}

/* COMPARAÇÃO */

.products-comparison{
    overflow:hidden;
    background:
        linear-gradient(
            145deg,
            #fff,
            #edf5e9
        );
    border:1px solid rgba(13,102,54,.12);
    border-radius:23px;
    box-shadow:0 20px 46px rgba(5,48,25,.08);
}

.products-comparison__header,
.products-comparison__row{
    display:grid;
    grid-template-columns:
        minmax(180px,.8fr)
        minmax(220px,1fr)
        minmax(260px,1.25fr)
        22px;
    align-items:center;
    gap:18px;
    padding:17px 20px;
}

.products-comparison__header{
    color:#315842;
    background:
        linear-gradient(
            135deg,
            #d9f6c6,
            #b9ed91
        );
    font-size:.58rem;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.products-comparison__row{
    color:inherit;
    text-decoration:none;
    border-bottom:1px solid rgba(13,102,54,.08);
    transition:background .2s ease;
}

.products-comparison__row:last-child{
    border-bottom:0;
}

.products-comparison__row:hover{
    background:rgba(156,255,99,.07);
}

.products-comparison__row strong{
    color:var(--products-ink);
    font-size:.78rem;
}

.products-comparison__row span{
    color:#40594b;
    font-size:.71rem;
}

.products-comparison__row small{
    color:var(--products-muted);
    font-size:.66rem;
    line-height:1.45;
}

.products-comparison__row svg{
    width:16px;
    color:#118047;
    transition:transform .2s ease;
}

.products-comparison__row:hover svg{
    transform:translateX(4px);
}

/* AVISO */

.products-warning-grid,
.products-authority-grid,
.products-final-grid{
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        minmax(380px,.86fr);
    align-items:center;
    gap:clamp(52px,7vw,100px);
}

.products-warning-copy p,
.products-final-copy p{
    color:rgba(255,255,255,.64);
    line-height:1.75;
}

.products-warning-panel,
.products-final-box{
    position:relative;
    overflow:hidden;
    padding:28px;
    background:
        radial-gradient(
            circle at 90% 7%,
            rgba(156,255,99,.14),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.04)
        );
    border:1px solid rgba(156,255,99,.18);
    border-radius:25px;
    box-shadow:0 24px 52px rgba(0,0,0,.20);
}

.products-warning-panel:before,
.products-final-box:before{
    content:"";
    position:absolute;
    top:0;
    left:28px;
    right:28px;
    height:3px;
    background:
        linear-gradient(
            90deg,
            var(--products-gold),
            var(--products-neon)
        );
}

.products-warning-panel__icon,
.products-final-box__icon{
    width:53px;
    height:53px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#07341e;
    background:linear-gradient(135deg,#f2d678,#ddb454);
    border-radius:17px;
}

.products-warning-panel__icon svg,
.products-final-box__icon svg{
    width:25px;
}

.products-warning-panel small{
    display:block;
    margin-top:18px;
    color:var(--products-neon);
    font-size:.59rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.products-warning-panel strong{
    display:block;
    margin-top:6px;
    color:#fff;
    font-size:1rem;
    line-height:1.5;
}

/* AUTORIDADE */

.products-authority-photo{
    overflow:hidden;
    margin:0;
    aspect-ratio:4/5;
    border-radius:28px;
    box-shadow:0 28px 58px rgba(5,52,27,.14);
}

.products-authority-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.products-authority-copy p{
    color:var(--products-muted);
    line-height:1.75;
}

.products-authority-points{
    display:grid;
    gap:10px;
    margin-top:22px;
}

.products-authority-points span{
    display:flex;
    align-items:center;
    gap:8px;
    color:#244b35;
    font-size:.76rem;
    font-weight:750;
}

.products-authority-points svg{
    width:15px;
    color:#118047;
}

/* FINAL */

.products-final-section{
    padding:clamp(76px,8vw,118px) 0;
}

.products-final-tags{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:22px;
}

.products-final-tags span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    color:rgba(255,255,255,.75);
    background:rgba(255,255,255,.045);
    border:1px solid rgba(156,255,99,.12);
    border-radius:999px;
    font-size:.64rem;
    font-weight:750;
}

.products-final-tags svg{
    width:13px;
    color:var(--products-neon);
}

.products-final-box__top{
    display:grid;
    grid-template-columns:53px minmax(0,1fr);
    align-items:center;
    gap:14px;
}

.products-final-box__top small{
    color:var(--products-neon);
    font-size:.59rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.products-final-box__top strong{
    display:block;
    margin-top:4px;
    color:#fff;
}

.products-final-box>p{
    color:rgba(255,255,255,.62);
    font-size:.78rem;
    line-height:1.65;
}

.products-final-button{
    width:100%;
    margin-top:20px;
}

/* ANIMAÇÃO */

.products-reveal{
    opacity:0;
    transform:translateY(24px);
    transition:
        opacity .65s ease,
        transform .65s ease;
}

.products-reveal.is-visible{
    opacity:1;
    transform:none;
}

/* RESPONSIVO */

@media(max-width:1150px){
    .products-hero-grid,
    .products-warning-grid,
    .products-authority-grid,
    .products-final-grid{
        grid-template-columns:1fr;
    }

    .products-heading{
        grid-template-columns:1fr;
        gap:20px;
    }

    .products-hero-visual,
    .products-authority-photo{
        max-width:680px;
    }

    .products-showcase-grid{
        grid-template-columns:1fr;
    }

    .product-showcase:first-child{
        grid-column:auto;
    }

    .products-logic-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .products-section{
        padding:64px 0;
    }

    .products-hero{
        padding-top:64px;
    }

    .products-hero h1{
        font-size:clamp(2.55rem,13vw,4rem);
    }

    .products-heading h2,
    .products-warning-copy h2,
    .products-authority-copy h2,
    .products-final-copy h2{
        font-size:clamp(2rem,10vw,3rem);
    }

    .products-hero-grid{
        gap:36px;
    }

    .products-main-cta{
        width:100%;
        min-width:0;
    }

    .products-visual-board{
        min-height:600px;
    }

    .products-visual-node{
        width:calc(50% - 28px);
        grid-template-columns:38px minmax(0,1fr);
        padding:10px;
    }

    .products-visual-node>span{
        width:38px;
        height:38px;
    }

    .products-visual-node--one{
        top:70px;
        left:14px;
    }

    .products-visual-node--two{
        top:70px;
        right:14px;
    }

    .products-visual-node--three{
        left:14px;
        bottom:55px;
    }

    .products-visual-node--four{
        right:14px;
        bottom:55px;
    }

    .products-visual-center{
        width:170px;
        min-height:170px;
    }

    .product-showcase,
    .product-showcase:first-child{
        grid-template-columns:1fr;
    }

    .product-showcase__visual{
        min-height:280px;
        aspect-ratio:16/10;
    }

    .products-logic-grid{
        grid-template-columns:1fr;
    }

    .products-comparison__header{
        display:none;
    }

    .products-comparison__row{
        grid-template-columns:1fr 22px;
        gap:8px;
        padding:18px;
    }

    .products-comparison__row strong,
    .products-comparison__row span,
    .products-comparison__row small{
        grid-column:1;
    }

    .products-comparison__row svg{
        grid-column:2;
        grid-row:1/4;
        align-self:center;
    }
}

@media(prefers-reduced-motion:reduce){
    .products-reveal{
        opacity:1;
        transform:none;
        transition:none;
    }

    .products-proof-track{
        animation-play-state:paused;
    }
}
