/*=========================================
  2K GARAGE
  ESTILO GERAL
=========================================*/

:root{

--azul:#0077ff;
--azul-claro:#2d9cff;
--azul-escuro:#021325;

--preto:#050505;
--preto2:#0d0d0d;
--cinza:#bdbdbd;
--cinza2:#777;

--branco:#ffffff;

--sombra:0 15px 35px rgba(0,0,0,.35);

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;

background:var(--preto);

color:var(--branco);

overflow-x:hidden;

}

/*=========================================
SCROLLBAR
=========================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#080808;

}

::-webkit-scrollbar-thumb{

background:var(--azul);

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--azul-claro);

}

/*=========================================
LINKS
=========================================*/

a{

text-decoration:none;

color:inherit;

}

ul{

list-style:none;

}

img{

max-width:100%;

display:block;

}

/*=========================================
HEADER
=========================================*/

header{

position:fixed;

top:0;

left:0;

width:100%;

padding:18px 8%;

display:flex;

justify-content:space-between;

align-items:center;

background:rgba(0,0,0,.35);

backdrop-filter:blur(12px);

border-bottom:1px solid rgba(255,255,255,.08);

z-index:999;

transition:.4s;

}

/*Quando rolar a página*/

header.scroll{

background:#050505ee;

box-shadow:0 10px 30px rgba(0,0,0,.5);

}

/*=========================================
LOGO
=========================================*/

.logo{

display:flex;

align-items:center;

gap:15px;

}

.logo img{

width:60px;

height:60px;

object-fit:cover;

border-radius:50%;

border:2px solid var(--azul);

}

.logo h2{

font-size:24px;

font-weight:700;

letter-spacing:2px;

}

/*=========================================
MENU
=========================================*/

nav ul{

display:flex;

gap:35px;

}

nav a{

position:relative;

font-weight:500;

transition:.3s;

}

nav a:hover{

color:var(--azul);

}

nav a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--azul);

transition:.4s;

}

nav a:hover::after{

width:100%;

}

/*=========================================
BOTÃO MENU
=========================================*/

.btn-menu{

padding:14px 28px;

background:linear-gradient(135deg,var(--azul),var(--azul-claro));

border-radius:40px;

font-weight:600;

transition:.35s;

box-shadow:0 10px 30px rgba(0,119,255,.35);

}

.btn-menu:hover{

transform:translateY(-4px);

box-shadow:0 20px 40px rgba(0,119,255,.45);

}

/*=========================================
HERO
=========================================*/

.hero{

position:relative;

height:100vh;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

padding:0 8%;

background:

linear-gradient(rgba(0,0,0,.70),rgba(0,0,0,.75)),

url("assets/img/hero.jpg");

background-size:cover;

background-position:center;

overflow:hidden;

}

/* brilho azul */

.hero::before{

content:"";

position:absolute;

width:700px;

height:700px;

background:radial-gradient(circle,rgba(0,119,255,.18),transparent 70%);

top:-250px;

right:-250px;

}

.hero-overlay{

position:absolute;

inset:0;

background:linear-gradient(to bottom,transparent,#050505);

}

.hero-content{

position:relative;

z-index:2;

max-width:900px;

}

.hero h1{

font-size:78px;

font-family:'Bebas Neue',sans-serif;

letter-spacing:4px;

line-height:1;

margin-bottom:20px;

}

.hero span{

color:var(--azul);

}

.hero p{

font-size:20px;

color:#d5d5d5;

line-height:1.8;

max-width:760px;

margin:auto;

margin-bottom:45px;

}

/*=========================================
BOTÕES HERO
=========================================*/

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.btn-principal{

padding:18px 42px;

background:linear-gradient(135deg,var(--azul),var(--azul-claro));

border-radius:45px;

font-weight:700;

font-size:17px;

transition:.35s;

box-shadow:0 15px 35px rgba(0,119,255,.35);

}

.btn-principal:hover{

transform:translateY(-6px);

box-shadow:0 20px 45px rgba(0,119,255,.55);

}

.btn-secundario{

padding:18px 42px;

border:2px solid var(--azul);

border-radius:45px;

font-weight:700;

transition:.35s;

}

.btn-secundario:hover{

background:var(--azul);

transform:translateY(-6px);

}

/*=========================================
TÍTULOS DAS SEÇÕES
=========================================*/

section{

padding:100px 8%;

}

.titulo-section{

text-align:center;

margin-bottom:70px;

}

.titulo-section span{

color:var(--azul);

font-weight:700;

letter-spacing:2px;

}

.titulo-section h2{

font-size:48px;

margin-top:15px;

margin-bottom:20px;

}

.titulo-section p{

color:#bdbdbd;

max-width:700px;

margin:auto;

line-height:1.8;

}

/*=========================================
SOBRE
=========================================*/

.container{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:70px;
align-items:center;

}

.sobre-texto h2{

font-size:46px;
margin:15px 0 30px;

}

.sobre-texto p{

color:#c9c9c9;
line-height:1.9;
margin-bottom:20px;

}

.subtitulo{

color:var(--azul);
font-weight:700;
letter-spacing:2px;

}

.vantagens{

margin-top:35px;
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;

}

.vantagens div{

display:flex;
align-items:center;
gap:12px;
font-weight:500;

}

.vantagens i{

color:var(--azul);
font-size:20px;

}

.sobre-imagem{

display:flex;
justify-content:center;

}

.sobre-imagem img{

width:100%;
max-width:550px;
border-radius:25px;
box-shadow:0 25px 45px rgba(0,0,0,.45);
transition:.4s;

}

.sobre-imagem img:hover{

transform:scale(1.03);

}

/*=========================================
PACOTES
=========================================*/

.cards-pacotes{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;

}

.card{

background:#0d0d0d;

border:1px solid rgba(255,255,255,.08);

border-radius:20px;

padding:40px 30px;

position:relative;

overflow:hidden;

transition:.4s;

box-shadow:0 15px 35px rgba(0,0,0,.35);

}

/* brilho passando */

.card::before{

content:"";

position:absolute;

top:0;

left:-120%;

width:60%;

height:100%;

background:linear-gradient(

90deg,

transparent,

rgba(255,255,255,.18),

transparent

);

transform:skewX(-25deg);

}

.card:hover::before{

left:150%;

transition:1s;

}

.card:hover{

transform:translateY(-12px);

box-shadow:0 25px 55px rgba(0,119,255,.25);

border-color:var(--azul);

}

.card-top{

text-align:center;

margin-bottom:35px;

}

.card-top i{

font-size:52px;

color:var(--azul);

margin-bottom:20px;

}

.card-top h3{

font-size:32px;

margin-bottom:10px;

}

.card-top p{

color:#bbbbbb;

}

/*=========================================
LISTA DOS PACOTES
=========================================*/

.card ul{

margin:35px 0;

}

.card ul li{

display:flex;

align-items:flex-start;

gap:12px;

margin-bottom:16px;

line-height:1.6;

color:#d7d7d7;

}

.card ul i{

color:var(--azul);

margin-top:5px;

}

/*=========================================
BOTÃO DOS PACOTES
=========================================*/

.btn-card{

display:block;

text-align:center;

padding:16px;

background:linear-gradient(

135deg,

var(--azul),

var(--azul-claro)

);

border-radius:40px;

font-weight:700;

transition:.35s;

box-shadow:0 12px 25px rgba(0,119,255,.30);

}

.btn-card:hover{

transform:translateY(-5px);

box-shadow:0 20px 35px rgba(0,119,255,.45);

}

/*=========================================
PACOTE DESTAQUE
=========================================*/

.destaque{

transform:scale(1.05);

border:2px solid var(--azul);

background:linear-gradient(

180deg,

#111827,

#0b0b0b

);

}

.destaque:hover{

transform:scale(1.08);

}

.badge{

position:absolute;

top:20px;

right:-40px;

background:linear-gradient(

135deg,

#FFD700,

#F4B400

);

color:#000;

padding:8px 55px;

font-size:13px;

font-weight:700;

transform:rotate(45deg);

box-shadow:0 8px 20px rgba(0,0,0,.35);

}

/*=========================================
PACOTE OURO
=========================================*/

.ouro{

border:2px solid #FFD700;

}

.ouro .card-top i{

color:#FFD700;

}

.ouro:hover{

box-shadow:0 25px 60px rgba(255,215,0,.28);

}

/*=========================================
PACOTE BRONZE
=========================================*/

.bronze{

border-color:#9a6b35;

}

.bronze .card-top i{

color:#c98a3f;

}

/*=========================================
PACOTE PRATA
=========================================*/

.prata{

border-color:#aeb6c2;

}

.prata .card-top i{

color:#d8dde4;

}

/*=========================================
BENEFÍCIOS
=========================================*/

.beneficios{

background:#08111f;

}

.beneficios-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.beneficio{

background:#101010;

padding:40px 25px;

border-radius:18px;

text-align:center;

transition:.35s;

border:1px solid rgba(255,255,255,.06);

}

.beneficio:hover{

transform:translateY(-10px);

border-color:var(--azul);

box-shadow:0 20px 45px rgba(0,119,255,.22);

}

.beneficio i{

font-size:52px;

margin-bottom:25px;

color:var(--azul);

}

.beneficio h3{

font-size:24px;

margin-bottom:18px;

}

.beneficio p{

color:#c8c8c8;

line-height:1.8;

}

/*=========================================
GALERIA
=========================================*/

.galeria-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;

}

.foto{

overflow:hidden;
border-radius:20px;
position:relative;
cursor:pointer;

}

.foto img{

width:100%;
height:320px;
object-fit:cover;
transition:.5s;

}

.foto:hover img{

transform:scale(1.12);

}

.foto::after{

content:"";

position:absolute;
inset:0;
background:linear-gradient(
transparent,
rgba(0,0,0,.45));

opacity:0;
transition:.4s;

}

.foto:hover::after{

opacity:1;

}

/*=========================================
DEPOIMENTOS
=========================================*/

.depoimentos{

background:#08111f;

}

.cards-depoimentos{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;

}

.depoimento{

background:#101010;
padding:35px;
border-radius:20px;
text-align:center;
border:1px solid rgba(255,255,255,.08);
transition:.35s;

}

.depoimento:hover{

transform:translateY(-8px);

border-color:var(--azul);

box-shadow:0 20px 45px rgba(0,119,255,.20);

}

.estrelas{

font-size:28px;
color:#FFD700;
margin-bottom:20px;

}

.depoimento p{

line-height:1.8;
color:#d5d5d5;
margin-bottom:20px;

}

.depoimento h4{

color:var(--azul);

}

/*=========================================
NÚMEROS
=========================================*/

.numeros{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
text-align:center;

}

.numero{

background:#101010;
padding:45px 20px;
border-radius:18px;
transition:.35s;

}

.numero:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(0,119,255,.18);

}

.numero h2{

font-size:52px;
color:var(--azul);
margin-bottom:10px;

}

.numero p{

color:#c9c9c9;

}

/*=========================================
CONTATO
=========================================*/

/* Container */

.contact-container{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

    max-width:1200px;

    margin:70px auto 0;

    padding:0 20px;

}

/* Cards */

.contact-card{

    background:#141414;

    border-radius:18px;

    padding:45px 30px;

    text-align:center;

    text-decoration:none;

    color:#fff;

    transition:.35s;

    border:1px solid transparent;

}

/* Hover */

.contact-card:hover{

    transform:translateY(-8px);

    border-color:#1683ff;

    box-shadow:0 20px 40px rgba(0,0,0,.35);

}

/* Ícones */

.contact-card i{

    font-size:52px;

    margin-bottom:22px;

}

/* Cores */

.fa-map-marker-alt{

    color:#1683ff;

}

.fa-whatsapp{

    color:#1683ff;

}

.fa-instagram{

    color:#1683ff;

}

/* Título */

.contact-card h3{

    font-size:30px;

    margin-bottom:15px;

    font-weight:700;

}

/* Texto */

.contact-card p{

    font-size:18px;

    color:#d7d7d7;

    line-height:1.8;

}

/* Cores dos ícones */

.contact-card:nth-child(1) i{

    color:#ff3b30;

}

.contact-card:nth-child(2) i{

    color:#25D366;

}

.contact-card:nth-child(3) i{

    background:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

}

/* Títulos */

.contact-card h3{

    font-size:30px;

    margin-bottom:18px;

}

/* Linha dourada */

.contact-card h3::after{

    content:"";

    display:block;

    width:55px;

    height:3px;

    background:#d4af37;

    margin:15px auto 0;

    border-radius:10px;

}

/* Texto */

.contact-card p{

    font-size:18px;

    line-height:1.7;

    color:#d8d8d8;

    margin-top:25px;

}

/*=========================================
CTA FINAL
=========================================*/

.cta-final{

background:

linear-gradient(rgba(2,19,37,.90),rgba(2,19,37,.90)),
url("assets/img/cta.jpg");

background-size:cover;
background-position:center;

text-align:center;

}

.cta-content{

max-width:800px;
margin:auto;

}

.cta-content h2{

font-size:54px;
margin-bottom:20px;

}

.cta-content p{

font-size:19px;
color:#d6d6d6;
margin-bottom:40px;

}

/*=========================================
FOOTER
=========================================*/

footer{

background:#020202;
padding:70px 8% 30px;

}

.footer-container{

display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:40px;

}

.footer-logo img{

width:90px;
margin-bottom:20px;

}

.footer-logo h2{

margin-bottom:10px;

}

.footer-logo p{

color:#c5c5c5;

}

.footer-links h3,
.footer-contato h3{

margin-bottom:20px;

}

.footer-links{

display:flex;
flex-direction:column;

}

.footer-links a{

margin-bottom:12px;
color:#d0d0d0;
transition:.3s;

}

.footer-links a:hover{

color:var(--azul);

}

.footer-contato p{

margin-bottom:15px;
color:#d0d0d0;

}

.footer-contato i{

color:var(--azul);
margin-right:10px;

}

.copyright{

margin-top:50px;
padding-top:25px;
border-top:1px solid rgba(255,255,255,.08);
text-align:center;
color:#999;

}

/*=========================================
WHATSAPP
=========================================*/

.whatsapp{

position:fixed;

right:30px;

bottom:30px;

width:70px;

height:70px;

background:#25D366;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:34px;

color:white;

box-shadow:0 15px 35px rgba(0,0,0,.35);

z-index:999;

transition:.35s;

animation:pulse 2s infinite;

}

.whatsapp:hover{

transform:scale(1.1);

}

@keyframes pulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.08);

}

100%{

transform:scale(1);

}

}

/*=========================================
RESPONSIVIDADE
=========================================*/

@media(max-width:1100px){

.container,
.cards-pacotes,
.beneficios-grid,
.galeria-grid,
.cards-depoimentos,
.numeros,
.contato-grid,
.footer-container{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:768px){

header{

padding:15px 5%;

flex-direction:column;

gap:20px;

}

nav ul{

flex-wrap:wrap;
justify-content:center;
gap:20px;

}

.hero{

padding:120px 5%;

}

.hero h1{

font-size:52px;

}

.hero p{

font-size:17px;

}

.hero-buttons{

flex-direction:column;

}

.container,
.cards-pacotes,
.beneficios-grid,
.galeria-grid,
.cards-depoimentos,
.numeros,
.contato-grid,
.footer-container,
.vantagens{

grid-template-columns:1fr;

}

.titulo-section h2{

font-size:34px;

}

.cta-content h2{

font-size:38px;

}

.logo h2{

font-size:20px;

}

.logo img{

width:50px;
height:50px;

}

.whatsapp{

width:60px;
height:60px;
font-size:28px;

}

}

@media(max-width:480px){

.hero h1{

font-size:42px;

}

.hero p{

font-size:16px;

}

.btn-principal,
.btn-secundario,
.btn-card,
.btn-menu{

width:100%;
text-align:center;

}

section{

padding:70px 6%;

}

}

/*=========================================
BOTÃO VOLTAR AO TOPO
=========================================*/

.voltar-topo{

position:fixed;

left:30px;

bottom:30px;

width:55px;

height:55px;

border-radius:50%;

background:#0077ff;

display:flex;

justify-content:center;

align-items:center;

color:#fff;

font-size:20px;

cursor:pointer;

opacity:0;

visibility:hidden;

transform:translateY(20px);

transition:.35s;

z-index:998;

box-shadow:0 15px 30px rgba(0,0,0,.35);

}

.voltar-topo.mostrar{

opacity:1;

visibility:visible;

transform:translateY(0);

}

.voltar-topo:hover{

transform:scale(1.08);

background:#2d9cff;

}

/*=========================================
LIGHTBOX
=========================================*/

.lightbox{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.92);

display:flex;

justify-content:center;

align-items:center;

opacity:0;

visibility:hidden;

transition:.35s;

z-index:99999;

}

.lightbox.ativo{

opacity:1;

visibility:visible;

}

.lightbox-content{

position:relative;

max-width:90%;

max-height:90%;

}

.lightbox img{

max-width:100%;

max-height:85vh;

border-radius:15px;

box-shadow:0 25px 50px rgba(0,0,0,.6);

}

.fechar{

position:absolute;

top:-20px;

right:-20px;

width:45px;

height:45px;

background:#0077ff;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:30px;

cursor:pointer;

color:white;

}


/*=========================================
CARDS
=========================================*/

.card{

transform-style:preserve-3d;

transition:

transform .25s,

box-shadow .3s;

}

.card.mostrar{

animation:subir .8s ease;

}

@keyframes subir{

from{

opacity:0;

transform:translateY(60px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*=========================================
PRELOADER
=========================================*/

.preloader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:#050505;

display:flex;

justify-content:center;

align-items:center;

z-index:999999;

transition:.6s;

}

.preloader.hide{

opacity:0;

visibility:hidden;

}

.preloader img{

width:180px;

animation:girarLogo 2s linear infinite;

}

@keyframes girarLogo{

100%{

transform:rotate(360deg);

}

}


/*=========================================
CONFETE
=========================================*/

.confete{

position:fixed;

top:-20px;

width:10px;

height:10px;

border-radius:50%;

pointer-events:none;

animation:confete 3s linear forwards;

z-index:999999;

}

@keyframes confete{

0%{

transform:translateY(0) rotate(0deg);

opacity:1;

}

100%{

transform:translateY(110vh) rotate(720deg);

opacity:0;

}

}