/*==========================================================
GENESIS V2
LAYOUT CSS
==========================================================*/

@layer layout {

/*==========================================================
HEADER
==========================================================*/

.header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:var(--z-header);

padding:18px 0;

transition:all .35s var(--ease);

background:transparent;

}

.header.scrolled{

padding:14px 0;

background:rgba(5,5,5,.72);

backdrop-filter:blur(20px);

-webkit-backdrop-filter:blur(20px);

border-bottom:1px solid rgba(255,255,255,.08);

box-shadow:

0 15px 45px rgba(0,0,0,.30);

}

/*==========================================================
NAVBAR
==========================================================*/

.navbar{

display:flex;

align-items:center;

justify-content:space-between;

gap:2rem;

}

/*==========================================================
BRAND
==========================================================*/

.nav-brand{

display:flex;

align-items:center;

gap:1rem;

flex-shrink:0;

}

.nav-logo{

width:58px;

height:58px;

object-fit:contain;

filter:

drop-shadow(0 0 25px rgba(255,0,85,.28));

transition:.4s var(--ease);

}

.nav-brand:hover .nav-logo{

transform:

rotate(-6deg)

scale(1.06);

filter:

drop-shadow(0 0 35px rgba(255,0,85,.45));

}

.brand-content{

display:flex;

flex-direction:column;

}

.brand-content h2{

font-size:1.3rem;

font-weight:700;

margin:0;

line-height:1;

}

.brand-content p{

font-size:.82rem;

margin-top:.35rem;

color:var(--text-muted);

}

/*==========================================================
NAV MENU
==========================================================*/

.nav-menu{

display:flex;

align-items:center;

gap:2.5rem;

}

.nav-links{

display:flex;

align-items:center;

gap:2rem;

}

.nav-links li{

position:relative;

}

.nav-link{

position:relative;

font-size:.96rem;

font-weight:600;

color:var(--text-light);

transition:.35s var(--ease);

}

.nav-link:hover{

color:#fff;

}

.nav-link.active{

color:#fff;

}

.nav-link::after{

content:"";

position:absolute;

left:50%;

bottom:-10px;

width:0;

height:2px;

border-radius:999px;

background:var(--gradient-primary);

transform:translateX(-50%);

transition:.35s;

}

.nav-link:hover::after,

.nav-link.active::after{

width:100%;

}

/*==========================================================
NAV ACTIONS
==========================================================*/

.nav-actions{

display:flex;

align-items:center;

gap:1rem;

}

/*==========================================================
MENU BUTTON
==========================================================*/

.menu-toggle{

display:none;

width:54px;

height:54px;

border-radius:50%;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

align-items:center;

justify-content:center;

flex-direction:column;

gap:6px;

transition:.35s;

}

.menu-toggle span{

width:24px;

height:2px;

background:#fff;

border-radius:999px;

transition:.35s;

}

.menu-toggle.active span:nth-child(1){

transform:

translateY(8px)

rotate(45deg);

}

.menu-toggle.active span:nth-child(2){

opacity:0;

}

.menu-toggle.active span:nth-child(3){

transform:

translateY(-8px)

rotate(-45deg);

}

/*==========================================================
DESKTOP
==========================================================*/

@media(min-width:991px){

.nav-menu{

display:flex!important;

}

}

}
/*==========================================================
HERO
==========================================================*/

.hero{

position:relative;

min-height:100vh;

display:flex;

align-items:center;

padding-top:120px;

padding-bottom:80px;

overflow:hidden;

}

.hero-container{

display:grid;

grid-template-columns:1.1fr .9fr;

align-items:center;

gap:5rem;

position:relative;

z-index:2;

}

/*==========================================================
LEFT
==========================================================*/

.hero-left{

position:relative;

max-width:680px;

}

.hero-badge{

display:inline-flex;

align-items:center;

gap:.8rem;

padding:12px 20px;

margin-bottom:2rem;

border-radius:999px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(15px);

-webkit-backdrop-filter:blur(15px);

}

.hero-badge i{

color:var(--primary);

font-size:1rem;

}

.hero-title{

margin-bottom:1.8rem;

line-height:1.05;

font-weight:800;

}

.hero-title span{

background:var(--gradient-primary);

background-clip:text;

-webkit-background-clip:text;

color:transparent;

}

.hero-subtitle{

max-width:620px;

font-size:1.08rem;

line-height:1.9;

margin-bottom:2.5rem;

color:var(--text-light);

}

.hero-buttons{

display:flex;

flex-wrap:wrap;

gap:1rem;

margin-bottom:2.5rem;

}

.hero-trust{

display:flex;

flex-wrap:wrap;

gap:2rem;

}

.hero-trust div{

display:flex;

align-items:center;

gap:.7rem;

font-size:.95rem;

font-weight:500;

color:var(--text-light);

}

.hero-trust i{

color:var(--primary);

}

/*==========================================================
RIGHT
==========================================================*/

.hero-right{

position:relative;

display:flex;

align-items:center;

justify-content:center;

min-height:650px;

}

.hero-logo{

position:relative;

width:min(420px,80%);

z-index:5;

filter:

drop-shadow(0 0 45px rgba(255,0,85,.35));

}

/*==========================================================
RINGS
==========================================================*/

.logo-ring{

position:absolute;

border-radius:50%;

border:1px solid rgba(255,255,255,.08);

}

.logo-ring.ring-1{

width:340px;

height:340px;

}

.logo-ring.ring-2{

width:460px;

height:460px;

border-style:dashed;

}

.logo-ring.ring-3{

width:580px;

height:580px;

opacity:.45;

}

/*==========================================================
FLOATING CARDS
==========================================================*/

.floating-card{

position:absolute;

display:flex;

align-items:center;

gap:1rem;

padding:18px 22px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:22px;

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

box-shadow:0 20px 45px rgba(0,0,0,.28);

z-index:10;

}

.floating-card i{

font-size:1.6rem;

background:var(--gradient-primary);

background-clip:text;

-webkit-background-clip:text;

color:transparent;

}

.floating-card h4{

font-size:1rem;

margin-bottom:.3rem;

}

.floating-card p{

font-size:.82rem;

color:var(--text-muted);

}

.card-one{

top:8%;

right:-20px;

}

.card-two{

bottom:16%;

left:-20px;

}

.card-three{

bottom:2%;

right:30px;

}

/*==========================================================
SCROLL INDICATOR
==========================================================*/

.scroll-indicator{

position:absolute;

left:50%;

bottom:30px;

transform:translateX(-50%);

display:flex;

flex-direction:column;

align-items:center;

gap:.9rem;

z-index:10;

}

.scroll-mouse{

width:34px;

height:58px;

border:2px solid rgba(255,255,255,.18);

border-radius:999px;

display:flex;

justify-content:center;

padding-top:10px;

}

.scroll-wheel{

width:5px;

height:12px;

border-radius:999px;

background:var(--primary);

}

.scroll-indicator span{

font-size:.78rem;

letter-spacing:2px;

text-transform:uppercase;

color:var(--text-muted);

}

/*==========================================================
BACKGROUND
==========================================================*/

.background-wrapper{

position:fixed;

inset:0;

overflow:hidden;

pointer-events:none;

z-index:-2;

}

.hero-aurora{

position:absolute;

inset:-20%;

}

.hero-grid{

position:absolute;

inset:0;

}

.hero-noise{

position:absolute;

inset:0;

}

.background-blur{

position:absolute;

border-radius:50%;

filter:blur(90px);

opacity:.45;

}

.blur-1{

width:420px;

height:420px;

background:#ff0055;

top:-120px;

left:-120px;

}

.blur-2{

width:520px;

height:520px;

background:#8b00ff;

right:-180px;

top:10%;

}

.blur-3{

width:380px;

height:380px;

background:#4da3ff;

bottom:-120px;

left:30%;

}
/*==========================================================
STATS
==========================================================*/

.stats{

position:relative;

padding-top:40px;

padding-bottom:120px;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:2rem;

}

.stat-card{

position:relative;

padding:2.5rem 2rem;

text-align:center;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

border-radius:28px;

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

overflow:hidden;

transition:all .4s var(--ease);

}

.stat-card:hover{

transform:translateY(-10px);

border-color:rgba(255,255,255,.16);

box-shadow:

0 25px 60px rgba(0,0,0,.35);

}

.stat-card::before{

content:"";

position:absolute;

top:-80px;

right:-80px;

width:180px;

height:180px;

border-radius:50%;

background:

radial-gradient(circle,

rgba(255,0,85,.18),

transparent);

}

.stat-icon{

width:78px;

height:78px;

margin:0 auto 1.5rem;

display:flex;

align-items:center;

justify-content:center;

border-radius:22px;

background:

linear-gradient(

135deg,

rgba(255,0,85,.15),

rgba(139,0,255,.15));

}

.stat-icon i{

font-size:2rem;

background:var(--gradient-primary);

background-clip:text;

-webkit-background-clip:text;

color:transparent;

}

.stat-card h2{

font-size:3rem;

margin-bottom:.5rem;

font-weight:800;

background:var(--gradient-primary);

background-clip:text;

-webkit-background-clip:text;

color:transparent;

}

.stat-card span{

font-size:1.6rem;

font-weight:700;

color:var(--primary);

}

.stat-card p{

margin-top:.8rem;

color:var(--text-muted);

}

/*==========================================================
WHY SECTION
==========================================================*/

.why-section{

position:relative;

}

.why-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:2rem;

margin-top:5rem;

}

.why-card{

position:relative;

padding:2.5rem;

border-radius:28px;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

overflow:hidden;

transition:all .4s var(--ease);

}

.why-card:hover{

transform:

translateY(-10px);

border-color:rgba(255,255,255,.18);

box-shadow:

0 25px 60px rgba(0,0,0,.35);

}

.why-card::before{

content:"";

position:absolute;

left:-120px;

top:-120px;

width:220px;

height:220px;

border-radius:50%;

background:

radial-gradient(circle,

rgba(255,0,85,.14),

transparent);

transition:.5s;

}

.why-card:hover::before{

transform:scale(1.25);

}

.why-icon{

width:78px;

height:78px;

display:flex;

align-items:center;

justify-content:center;

border-radius:22px;

margin-bottom:1.8rem;

background:

linear-gradient(

135deg,

rgba(255,0,85,.15),

rgba(139,0,255,.15));

}

.why-icon i{

font-size:2rem;

background:var(--gradient-primary);

background-clip:text;

-webkit-background-clip:text;

color:transparent;

}

.why-card h3{

margin-bottom:1rem;

font-size:1.4rem;

}

.why-card p{

line-height:1.9;

color:var(--text-light);

}

/*==========================================================
COMMON SECTION SPACING
==========================================================*/

.stats .section-header,

.why-section .section-header{

margin-bottom:5rem;

}
/*==========================================================
SERVICES
==========================================================*/

.services{

position:relative;

padding:120px 0;

overflow:hidden;

}

.service-search{

position:relative;

max-width:720px;

margin:0 auto 3rem;

}

.service-search i{

position:absolute;

left:22px;

top:50%;

transform:translateY(-50%);

color:var(--text-muted);

font-size:1rem;

}

.service-search input{

width:100%;

height:64px;

padding:0 24px 0 60px;

border-radius:999px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(20px);

-webkit-backdrop-filter:blur(20px);

transition:all .35s var(--ease);

}

.service-search input:focus{

border-color:var(--primary);

box-shadow:

0 0 30px rgba(255,0,85,.15);

}

/*==========================================================
FILTERS
==========================================================*/

.service-filter{

display:flex;

justify-content:center;

align-items:center;

gap:1rem;

flex-wrap:wrap;

margin-bottom:4rem;

}

.filter-btn{

padding:14px 26px;

border-radius:999px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

color:var(--text-light);

font-weight:600;

transition:all .35s var(--ease);

}

.filter-btn:hover,

.filter-btn.active{

background:var(--gradient-primary);

color:#fff;

border-color:transparent;

box-shadow:

0 15px 35px rgba(255,0,85,.25);

}

/*==========================================================
GRID
==========================================================*/

.services-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:2rem;

}

/*==========================================================
SERVICE CARD
==========================================================*/

.service-box{

position:relative;

display:flex;

flex-direction:column;

padding:2.3rem;

border-radius:30px;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(20px);

-webkit-backdrop-filter:blur(20px);

overflow:hidden;

transition:all .4s var(--ease);

min-height:620px;

}

.service-box:hover{

transform:

translateY(-12px);

border-color:rgba(255,255,255,.18);

box-shadow:

0 30px 70px rgba(0,0,0,.38);

}

.service-box::before{

content:"";

position:absolute;

left:-150px;

top:-150px;

width:260px;

height:260px;

border-radius:50%;

background:

radial-gradient(circle,

rgba(255,0,85,.18),

transparent);

transition:.6s;

}

.service-box:hover::before{

transform:scale(1.35);

}

.service-icon{

width:78px;

height:78px;

display:flex;

align-items:center;

justify-content:center;

border-radius:22px;

background:

linear-gradient(

135deg,

rgba(255,0,85,.18),

rgba(139,0,255,.18));

margin-bottom:2rem;

}

.service-icon i{

font-size:2rem;

background:var(--gradient-primary);

background-clip:text;

-webkit-background-clip:text;

color:transparent;

}

.service-content{

display:flex;

flex-direction:column;

flex:1;

}

.service-category{

display:inline-flex;

width:max-content;

padding:.45rem 1rem;

margin-bottom:1rem;

font-size:.82rem;

font-weight:600;

border-radius:999px;

background:rgba(255,255,255,.06);

border:1px solid rgba(255,255,255,.08);

color:var(--primary);

}

.service-content h3{

font-size:1.6rem;

margin-bottom:1rem;

}

.service-content p{

line-height:1.9;

margin-bottom:1.5rem;

color:var(--text-light);

}

/*==========================================================
SERVICE LIST
==========================================================*/

.service-content ul{

display:flex;

flex-direction:column;

gap:.9rem;

margin-bottom:2rem;

}

.service-content li{

display:flex;

align-items:center;

gap:.8rem;

color:var(--text-light);

font-size:.95rem;

}

.service-content li::before{

content:"";

width:8px;

height:8px;

border-radius:50%;

background:var(--primary);

flex-shrink:0;

}

.service-btn{

margin-top:auto;

width:100%;

justify-content:center;

}

/*==========================================================
SERVICES CTA
==========================================================*/

.services-cta{

position:relative;

margin-top:5rem;

padding:4rem;

text-align:center;

border-radius:32px;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

overflow:hidden;

backdrop-filter:blur(20px);

-webkit-backdrop-filter:blur(20px);

}

.cta-glow{

position:absolute;

left:50%;

top:50%;

transform:translate(-50%,-50%);

width:500px;

height:500px;

border-radius:50%;

background:

radial-gradient(circle,

rgba(255,0,85,.15),

transparent);

filter:blur(80px);

pointer-events:none;

}

.services-cta h2{

position:relative;

margin-bottom:1.5rem;

}

.services-cta p{

position:relative;

max-width:760px;

margin:0 auto 2.5rem;

}

.services-cta .hero-buttons{

justify-content:center;

}
/*==========================================================
PROCESS
==========================================================*/

.process{

position:relative;

padding:120px 0;

}

.process-timeline{

position:relative;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:2rem;

margin-top:5rem;

}

.process-timeline::before{

content:"";

position:absolute;

left:8%;

right:8%;

top:58px;

height:2px;

background:linear-gradient(
90deg,
transparent,
rgba(255,0,85,.45),
rgba(139,0,255,.45),
transparent);

z-index:0;

}

.process-card{

position:relative;

padding:2.5rem;

border-radius:30px;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

text-align:center;

overflow:hidden;

transition:all .35s var(--ease);

z-index:2;

}

.process-card:hover{

transform:translateY(-10px);

border-color:rgba(255,255,255,.16);

box-shadow:0 30px 70px rgba(0,0,0,.35);

}

.process-number{

width:64px;

height:64px;

margin:0 auto 1.5rem;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:1.25rem;

font-weight:700;

background:var(--gradient-primary);

color:#fff;

box-shadow:0 0 25px rgba(255,0,85,.35);

}

.process-icon{

width:78px;

height:78px;

margin:0 auto 1.8rem;

display:flex;

align-items:center;

justify-content:center;

border-radius:22px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

}

.process-icon i{

font-size:2rem;

background:var(--gradient-primary);

background-clip:text;

-webkit-background-clip:text;

color:transparent;

}

.process-card h3{

margin-bottom:1rem;

}

.process-card p{

color:var(--text-light);

line-height:1.9;

}

.process-cta{

margin-top:5rem;

padding:3.5rem;

text-align:center;

border-radius:30px;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

}

.process-cta h3{

margin-bottom:1rem;

}

.process-cta p{

max-width:700px;

margin:0 auto 2rem;

}

/*==========================================================
CONTACT
==========================================================*/

.contact{

position:relative;

padding:120px 0;

}

.contact-wrapper{

display:grid;

grid-template-columns:420px 1fr;

gap:3rem;

align-items:start;

margin-top:4rem;

}

.contact-info{

display:flex;

flex-direction:column;

gap:1.5rem;

}

.contact-card{

display:flex;

align-items:flex-start;

gap:1.25rem;

padding:1.8rem;

border-radius:24px;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

transition:.35s;

}

.contact-card:hover{

transform:translateY(-6px);

border-color:rgba(255,255,255,.18);

}

.contact-icon{

width:64px;

height:64px;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

background:linear-gradient(
135deg,
rgba(255,0,85,.18),
rgba(139,0,255,.18));

}

.contact-icon i{

font-size:1.5rem;

background:var(--gradient-primary);

background-clip:text;

-webkit-background-clip:text;

color:transparent;

}

.contact-social{

display:flex;

gap:1rem;

margin-top:1rem;

}

.contact-social a{

width:52px;

height:52px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

transition:.35s;

}

.contact-social a:hover{

background:var(--gradient-primary);

transform:translateY(-5px);

}

.contact-form-wrapper{

padding:2.5rem;

border-radius:30px;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

}

.contact-cta{

margin-top:5rem;

padding:4rem;

text-align:center;

border-radius:30px;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

}

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

.footer{

position:relative;

padding:90px 0 30px;

border-top:1px solid rgba(255,255,255,.08);

background:#070707;

}

.footer-grid{

display:grid;

grid-template-columns:1.6fr 1fr 1fr 1fr;

gap:3rem;

margin-bottom:3rem;

}

.footer-logo{

width:75px;

margin-bottom:1.2rem;

}

.footer-column h3{

margin-bottom:1.5rem;

font-size:1.15rem;

}

.footer-column a,

.footer-column p{

display:block;

margin-bottom:.9rem;

color:var(--text-light);

transition:.3s;

}

.footer-column a:hover{

color:var(--primary);

padding-left:6px;

}

.footer-social{

display:flex;

gap:1rem;

margin-top:1.8rem;

}

.footer-social a{

width:48px;

height:48px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

transition:.35s;

}

.footer-social a:hover{

background:var(--gradient-primary);

transform:translateY(-5px);

}

.footer-bottom{

display:flex;

justify-content:space-between;

align-items:center;

gap:2rem;

padding-top:2rem;

}

.footer-links{

display:flex;

gap:2rem;

}

/*==========================================================
FLOATING BUTTONS
==========================================================*/

.whatsapp-float,

.back-top{

position:fixed;

right:28px;

width:58px;

height:58px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:var(--gradient-primary);

color:#fff;

box-shadow:0 20px 40px rgba(255,0,85,.35);

z-index:200;

transition:.35s;

}

.whatsapp-float{

bottom:28px;

}

.back-top{

bottom:100px;

opacity:0;

visibility:hidden;

}

.back-top.show{

opacity:1;

visibility:visible;

}

.whatsapp-float:hover,

.back-top:hover{

transform:translateY(-8px) scale(1.06);

}
