/* ========================================
RESET
======================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

background:#05070c;

color:#f8f8f8;

font-family:
"Segoe UI",
Arial,
sans-serif;

line-height:1.6;

overflow-x:hidden;

}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
}

ul{
list-style:none;
}

/* ========================================
VARIÁVEIS
======================================== */

:root{

--bg:#05070c;
--bg-soft:#0d121b;

--gold:#d4a15a;
--gold-light:#e7c48f;

--text:#f8f8f8;
--muted:#aeb7c4;

--glass:
rgba(255,255,255,.05);

--border:
rgba(255,255,255,.08);

}

/* ========================================
CONTAINER
======================================== */

.container{

width:min(1200px,92%);

margin:auto;

}

/* ========================================
HEADER
======================================== */

.header{

position:fixed;

top:0;
left:0;
right:0;

z-index:1000;

background:
rgba(5,7,12,.88);

backdrop-filter:blur(14px);

border-bottom:
1px solid var(--border);

}

.header .container{

height:80px;

display:flex;

align-items:center;

justify-content:space-between;

}

.logo{

font-size:1.8rem;

font-weight:800;

letter-spacing:.5px;

}

.logo span{

color:var(--gold);

}

nav ul{

display:flex;

align-items:center;

gap:30px;

}

nav a{

color:var(--text);

transition:.3s;

font-size:.95rem;

}

nav a:hover{

color:var(--gold-light);

}

.btn-header{

padding:12px 24px;

border-radius:999px;

background:
linear-gradient(
135deg,
var(--gold),
var(--gold-light)
);

color:#111;

font-weight:700;

}

/* ========================================
BOTÕES
======================================== */

.btn-primary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:17px 30px;

border-radius:14px;

background:
linear-gradient(
135deg,
var(--gold),
var(--gold-light)
);

color:#111;

font-weight:700;

transition:.3s;

}

.btn-primary:hover{

transform:
translateY(-3px);

}

.btn-secondary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:17px 30px;

border-radius:14px;

border:
1px solid rgba(255,255,255,.15);

color:white;

font-weight:700;

transition:.3s;

}

.btn-secondary:hover{

border-color:var(--gold);

}

.full-width{

width:100%;

margin-top:25px;

}

/* ========================================
HERO
======================================== */

.hero{

position:relative;

min-height:100vh;

display:flex;

align-items:center;

padding-top:80px;

overflow:hidden;

}

.hero-bg{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

object-fit:cover;

}

.hero-overlay{

position:absolute;

inset:0;

background:

linear-gradient(
180deg,
rgba(5,7,12,.55),
rgba(5,7,12,.88)
);

}

.hero-content{

position:relative;

z-index:2;

max-width:750px;

}

.hero-badge{

display:inline-block;

padding:10px 18px;

border-radius:999px;

background:
rgba(212,161,90,.12);

border:
1px solid rgba(212,161,90,.20);

color:var(--gold-light);

margin-bottom:22px;

}

.hero h1{

font-size:
clamp(3rem,6vw,5.5rem);

line-height:1.05;

font-weight:900;

margin-bottom:24px;

}

.hero p{

max-width:700px;

font-size:1.15rem;

color:var(--muted);

margin-bottom:35px;

}

.hero-buttons{

display:flex;

gap:15px;

flex-wrap:wrap;

margin-bottom:50px;

}

.hero-stats{

display:flex;

gap:45px;

flex-wrap:wrap;

}

.hero-stats div{

display:flex;

flex-direction:column;

}

.hero-stats strong{

color:var(--gold-light);

font-size:1.1rem;

margin-bottom:4px;

}

.hero-stats span{

font-size:.9rem;

color:var(--muted);

}

/* ========================================
SEÇÕES
======================================== */

.section{

padding:110px 0;

}

.section-header{

text-align:center;

margin-bottom:60px;

}

.section-tag{

display:inline-block;

padding:10px 18px;

border-radius:999px;

background:
rgba(212,161,90,.10);

color:var(--gold-light);

margin-bottom:18px;

}

.section h2{

font-size:
clamp(2rem,4vw,3rem);

margin-bottom:18px;

text-align:center;

}

.section-text{

max-width:760px;

margin:auto;

text-align:center;

color:var(--muted);

}

/* ========================================
CATÁLOGO
======================================== */

.catalog-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:25px;

margin-top:50px;

}

.catalog-card{

background:var(--glass);

border:
1px solid var(--border);

border-radius:24px;

padding:35px;

text-align:center;

transition:.3s;

}

.catalog-card:hover{

transform:
translateY(-6px);

}

.icon{

font-size:2.6rem;

margin-bottom:18px;

}

.catalog-card h3{

margin-bottom:12px;

}

.catalog-card p{

color:var(--muted);

}

/* ========================================
BANNERS
======================================== */

.banner{

position:relative;

height:650px;

display:flex;

align-items:center;

overflow:hidden;

}

.banner-image{

position:absolute;

width:100%;
height:100%;

object-fit:cover;

}

.banner-overlay{

position:absolute;

inset:0;

background:

linear-gradient(
90deg,
rgba(5,7,12,.90),
rgba(5,7,12,.55),
rgba(5,7,12,.15)
);

}

.banner .container{

position:relative;

z-index:2;

}

.banner-content{

max-width:650px;

}

.banner-tag{

display:inline-block;

padding:10px 18px;

border-radius:999px;

background:
rgba(212,161,90,.12);

color:var(--gold-light);

margin-bottom:20px;

}

.banner-content h2{

font-size:
clamp(2.4rem,5vw,4rem);

margin-bottom:20px;

text-align:left;

}

.banner-content p{

font-size:1.08rem;

color:#ddd;

margin-bottom:30px;

max-width:550px;

}

/* ========================================
COMPATIBILIDADE
======================================== */

.compatibility-section{

background:
linear-gradient(
180deg,
#05070c,
#0d121b
);

}

.compatibility-grid{

display:grid;

grid-template-columns:
1fr 1fr;

gap:60px;

align-items:center;

}

.compatibility-content h2{

text-align:left;

margin-bottom:20px;

}

.compatibility-content p{

color:var(--muted);

margin-bottom:35px;

max-width:550px;

}

.device-grid{

display:grid;

grid-template-columns:
repeat(2,1fr);

gap:16px;

}

.device-item{

display:flex;

align-items:center;

gap:12px;

padding:16px;

background:var(--glass);

border:
1px solid var(--border);

border-radius:16px;

transition:.3s;

}

.device-item:hover{

transform:
translateY(-3px);

border-color:
rgba(212,161,90,.25);

}

.device-item span{

font-weight:600;

}

.compatibility-image img{

border-radius:28px;

border:
1px solid var(--border);

box-shadow:
0 25px 60px rgba(0,0,0,.35);

}

/* ========================================
BENEFÍCIOS
======================================== */

.benefits-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:28px;

margin-top:50px;

}

.benefit-card{

background:var(--glass);

border:
1px solid var(--border);

border-radius:24px;

padding:35px;

text-align:center;

transition:.3s;

}

.benefit-card:hover{

transform:
translateY(-5px);

border-color:
rgba(212,161,90,.25);

}

.benefit-icon{

font-size:2rem;

margin-bottom:18px;

}

.benefit-card h3{

margin-bottom:15px;

font-size:1.15rem;

}

.benefit-card p{

color:var(--muted);

font-size:.95rem;

}

/* ========================================
SEÇÃO DE APOIO
======================================== */

.pricing-section{

background:
linear-gradient(
180deg,
#0d121b,
#05070c
);

}

.tests-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;

margin-top:50px;

}

.test-card{

background:var(--glass);

border:
1px solid var(--border);

border-radius:24px;

padding:35px;

text-align:center;

transition:.3s;

}

.test-card:hover{

transform:
translateY(-5px);

}

.test-icon{

font-size:2rem;

margin-bottom:15px;

}

.test-card h3{

margin-bottom:15px;

}

.test-card p{

color:var(--muted);

margin-bottom:25px;

}

.test-time{

font-weight:700;

color:var(--gold-light);

}

/* ========================================
COMPARATIVO DE PLANOS
======================================== */

.comparison-wrapper{

margin-top:50px;

border-radius:28px;

overflow:hidden;

border:
1px solid var(--border);

background:var(--glass);

backdrop-filter:blur(12px);

}

.comparison-table{

width:100%;

border-collapse:collapse;

}

.comparison-table thead{

background:
rgba(212,161,90,.08);

}

.comparison-table th{

padding:22px;

font-size:1rem;

font-weight:700;

color:var(--gold-light);

text-align:center;

border:
1px solid rgba(255,255,255,.08);

}

.comparison-table td{

padding:20px;

text-align:center;

border:
1px solid rgba(255,255,255,.08);

}

.comparison-table td:first-child{

font-weight:600;

text-align:left;

padding-left:25px;

}

.comparison-table tbody tr:hover{

background:
rgba(255,255,255,.03);

}

/* ========================================
PLANOS
======================================== */

.pricing-grid{

display:grid;

grid-template-columns:
repeat(2,1fr);

gap:35px;

margin-top:60px;

align-items:start;

}

.pricing-card{

position:relative;

background:var(--glass);

border:
1px solid var(--border);

border-radius:28px;

padding:35px;

backdrop-filter:blur(12px);

transition:.3s;

}

.pricing-card:hover{

transform:
translateY(-5px);

}

.featured-card{

border:
1px solid rgba(212,161,90,.28);

box-shadow:
0 20px 50px rgba(212,161,90,.12);

}

.featured-badge{

position:absolute;

top:-16px;

left:50%;

transform:
translateX(-50%);

padding:10px 18px;

border-radius:999px;

background:
linear-gradient(
135deg,
var(--gold),
var(--gold-light)
);

color:#111;

font-weight:800;

font-size:.85rem;

white-space:nowrap;

}

.plan-icon{

font-size:2rem;

margin-bottom:18px;

text-align:center;

}

.pricing-card h3{

text-align:center;

font-size:1.7rem;

margin-bottom:15px;

}

.pricing-card p{

text-align:center;

color:var(--muted);

margin-bottom:30px;

}

/* ========================================
TABELAS DE PREÇOS
======================================== */

.price-table{

width:100%;

border-collapse:collapse;

margin-bottom:25px;

}

.price-table thead{

background:
rgba(212,161,90,.08);

}

.price-table th{

padding:18px;

text-align:center;

font-weight:700;

color:var(--gold-light);

border:
1px solid rgba(255,255,255,.08);

}

.price-table td{

padding:16px;

text-align:center;

border:
1px solid rgba(255,255,255,.08);

font-size:1rem;

}

.price-table tbody tr:hover{

background:
rgba(255,255,255,.03);

}

.price-table td:last-child{

font-weight:700;

color:var(--gold-light);

}

/* ========================================
SEÇÃO DE PLANOS
======================================== */

.pricing-section .section-header{

margin-bottom:20px;

}

.pricing-section .section-text{

max-width:800px;

}

/* ========================================
AJUSTES PREMIUM
======================================== */

.featured-card .btn-primary{

margin-top:15px;

}

.pricing-card .btn-secondary{

margin-top:15px;

}

.pricing-card .btn-primary,
.pricing-card .btn-secondary{

justify-content:center;

}

/* ========================================
ESTADOS HOVER
======================================== */

.pricing-card:hover .plan-icon{

transform:scale(1.05);

transition:.3s;

}

.featured-card:hover{

box-shadow:
0 25px 60px rgba(212,161,90,.18);

}

/* ========================================
FAQ
======================================== */

.faq-container{

max-width:900px;

margin:50px auto 0;

}

.faq-item{

background:var(--glass);

border:
1px solid var(--border);

border-radius:20px;

margin-bottom:18px;

overflow:hidden;

}

.faq-question{

width:100%;

display:flex;

align-items:center;

justify-content:space-between;

padding:24px;

background:none;

border:none;

color:var(--text);

cursor:pointer;

font-size:1.05rem;

font-weight:600;

text-align:left;

}

.faq-question:hover{

background:
rgba(255,255,255,.03);

}

.faq-icon{

font-size:1.4rem;

color:var(--gold-light);

transition:.3s;

}

.faq-item.active .faq-icon{

transform:rotate(45deg);

}

.faq-answer{

max-height:0;

overflow:hidden;

transition:
max-height .35s ease;

}

.faq-answer p{

padding:
0 24px 24px;

color:var(--muted);

line-height:1.8;

}

/* ========================================
CTA FINAL
======================================== */

.cta-section{

position:relative;

height:700px;

display:flex;

align-items:center;

justify-content:center;

overflow:hidden;

}

.cta-bg{

position:absolute;

inset:0;

width:100%;
height:100%;

object-fit:cover;

}

.cta-overlay{

position:absolute;

inset:0;

background:
linear-gradient(
180deg,
rgba(5,7,12,.82),
rgba(5,7,12,.55),
rgba(5,7,12,.82)
);

}

.cta-content{

position:relative;

z-index:2;

max-width:800px;

margin:auto;

text-align:center;

}

.cta-content h2{

font-size:
clamp(2.5rem,5vw,4.5rem);

margin-bottom:20px;

}

.cta-content p{

color:var(--muted);

font-size:1.1rem;

margin-bottom:35px;

}

/* ========================================
FOOTER
======================================== */

footer{

padding:80px 0 35px;

background:
#05070c;

border-top:
1px solid rgba(255,255,255,.05);

}

.footer-content{

display:flex;

justify-content:space-between;

align-items:center;

gap:40px;

margin-bottom:35px;

}

.footer-brand h3{

font-size:2rem;

margin-bottom:12px;

}

.footer-brand span{

color:var(--gold);

}

.footer-brand p{

color:var(--muted);

}

.footer-links{

display:flex;

gap:25px;

flex-wrap:wrap;

}

.footer-links a{

color:var(--muted);

transition:.3s;

}

.footer-links a:hover{

color:var(--gold-light);

}

.footer-bottom{

border-top:
1px solid rgba(255,255,255,.05);

padding-top:30px;

text-align:center;

color:var(--muted);

font-size:.95rem;

}

/* ========================================
WHATSAPP FLUTUANTE
======================================== */

.whatsapp-float{

position:fixed;

right:25px;
bottom:25px;

width:70px;
height:70px;

border-radius:50%;

background:#25D366;

display:flex;

align-items:center;

justify-content:center;

font-size:1.8rem;

color:white;

box-shadow:
0 15px 50px rgba(0,0,0,.35);

z-index:9999;

transition:.3s;

}

.whatsapp-float:hover{

transform:
translateY(-4px);

}

/* ========================================
RESPONSIVIDADE
======================================== */

@media(max-width:1100px){

.compatibility-grid{

grid-template-columns:
1fr;

}

.compatibility-content h2{

text-align:center;

}

.compatibility-content p{

margin:auto;

margin-bottom:35px;

text-align:center;

}

.device-grid{

max-width:650px;

margin:auto;

}

.benefits-grid{

grid-template-columns:
repeat(2,1fr);

}

.tests-grid{

grid-template-columns:
1fr;

}

.pricing-grid{

grid-template-columns:
1fr;

}

.footer-content{

flex-direction:column;

text-align:center;

}

}

@media(max-width:768px){

.header .container{

height:auto;

padding:15px 0;

flex-direction:column;

gap:15px;

}

nav ul{

gap:18px;

flex-wrap:wrap;

justify-content:center;

}

.hero{

padding-top:240px;

}

.hero h1{

font-size:2.8rem;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons a{

width:100%;

}

.hero-stats{

flex-direction:column;

gap:25px;

}

.catalog-grid{

grid-template-columns:
1fr;

}

.benefits-grid{

grid-template-columns:
1fr;

}

.device-grid{

grid-template-columns:
1fr;

}

.comparison-wrapper{

overflow-x:auto;

}

.comparison-table{

min-width:700px;

}

.banner{

height:550px;

}

.cta-section{

height:600px;

}

}

@media(max-width:480px){

.section{

padding:80px 0;

}

.hero h1{

font-size:2.3rem;

}

.banner-content h2{

font-size:2rem;

}

.btn-primary,
.btn-secondary{

width:100%;

}

.footer-links{

justify-content:center;

}

.whatsapp-float{

width:60px;
height:60px;

font-size:1.4rem;

}

}

/* ========================================
ANIMAÇÕES
======================================== */

.hidden{

opacity:0;

transform:
translateY(30px);

transition:
all .7s ease;

}

.show{

opacity:1;

transform:
translateY(0);

}