/*
===========================================
Nefercode Premium Landing Page
Version : 1.0
Author  : Nefercode
===========================================
*/

/* ===============================
   GOOGLE FONT
================================= */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');


/* ===============================
   ROOT
================================= */

:root{

--primary:#2563eb;
--primary-dark:#1d4ed8;
--secondary:#38bdf8;

--success:#22c55e;
--warning:#f59e0b;
--danger:#ef4444;

--dark:#08111f;
--dark2:#0f172a;

--light:#f8fafc;

--white:#ffffff;

--text:#d6e4ff;

--radius:18px;

--shadow:
0 10px 35px rgba(0,0,0,.18);

--transition:.35s ease;

}


/* ===============================
   RESET
================================= */

*{

margin:0;
padding:0;

box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;

background:#f5f7fb;

color:#1f2937;

overflow-x:hidden;

line-height:1.7;

}


/* ===============================
   SCROLLBAR
================================= */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#dbeafe;

}

::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--primary-dark);

}


/* ===============================
   SELECTION
================================= */

::selection{

background:var(--primary);

color:#fff;

}


/* ===============================
   LINKS
================================= */

a{

text-decoration:none;

transition:var(--transition);

}

a:hover{

text-decoration:none;

}


/* ===============================
   IMAGE
================================= */

img{

max-width:100%;

display:block;

}


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

section{

position:relative;

padding:90px 0;

}


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

.btn{

border-radius:50px;

padding:13px 28px;

font-weight:600;

transition:.3s;

}

.btn-primary{

background:var(--primary);

border:none;

}

.btn-primary:hover{

background:var(--primary-dark);

transform:translateY(-2px);

box-shadow:

0 12px 35px rgba(37,99,235,.35);

}

.btn-outline-light:hover{

color:#111;

}


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

.glass-nav{

background:rgba(7,18,38,.75);

backdrop-filter:blur(14px);

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

border-bottom:

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

transition:.35s;

z-index:999;

}

.glass-nav.scrolled{

background:#071221;

box-shadow:

0 8px 25px rgba(0,0,0,.25);

}


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

.navbar-brand{

font-size:1.5rem;

font-weight:700;

color:#fff;

}

.navbar-brand img{

margin-right:10px;

}

.nav-link{

color:#dbeafe!important;

margin-left:15px;

font-weight:500;

position:relative;

}

.nav-link::after{

content:'';

position:absolute;

left:0;

bottom:-5px;

height:2px;

width:0;

background:#38bdf8;

transition:.35s;

}

.nav-link:hover::after,

.nav-link.active::after{

width:100%;

}

.nav-link:hover{

color:#fff!important;

}


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

.hero{

min-height:100vh;

display:flex;

align-items:center;

background:

linear-gradient(135deg,#08111f,#102a43,#2563eb);

overflow:hidden;

position:relative;

}

.hero::before{

content:"";

position:absolute;

width:700px;

height:700px;

background:

rgba(56,189,248,.15);

border-radius:50%;

top:-220px;

right:-200px;

filter:blur(90px);

}

.hero::after{

content:"";

position:absolute;

width:500px;

height:500px;

background:

rgba(37,99,235,.18);

left:-150px;

bottom:-180px;

border-radius:50%;

filter:blur(80px);

}

.hero .container{

position:relative;

z-index:2;

}

.hero h1{

font-size:58px;

font-weight:800;

line-height:1.15;

color:#fff;

}

.hero h1 span{

color:#7dd3fc;

}

.hero p{

font-size:18px;

color:#d6e4ff;

margin-top:25px;

margin-bottom:35px;

max-width:650px;

}

.hero-image{

animation:float 5s ease-in-out infinite;

filter:

drop-shadow(0 30px 40px rgba(0,0,0,.35));

}


/* ===============================
   HERO STATS
================================= */

.hero .col-4 h3{

font-size:34px;

font-weight:700;

color:#7dd3fc;

}

.hero .col-4 p{

font-size:15px;

margin-top:5px;

color:#cbd5e1;

}


/* ===============================
   BADGE
================================= */

.badge{

font-size:14px;

letter-spacing:.5px;

border-radius:50px;

padding:10px 18px;

}


/* ===============================
   FLOAT ANIMATION
================================= */

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-20px);

}

100%{

transform:translateY(0);

}

}

/* ===================================
   FEATURE SECTION
=================================== */

.feature-card{

background:#fff;

border-radius:22px;

padding:35px 30px;

height:100%;

box-shadow:0 10px 30px rgba(0,0,0,.06);

transition:.35s;

border:1px solid #eef2ff;

position:relative;

overflow:hidden;

}

.feature-card::before{

content:"";

position:absolute;

top:0;

left:-100%;

width:100%;

height:4px;

background:linear-gradient(90deg,#2563eb,#38bdf8);

transition:.5s;

}

.feature-card:hover::before{

left:0;

}

.feature-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 50px rgba(37,99,235,.15);

}

.feature-icon{

width:70px;

height:70px;

border-radius:18px;

background:linear-gradient(135deg,#2563eb,#38bdf8);

display:flex;

align-items:center;

justify-content:center;

font-size:30px;

color:#fff;

box-shadow:0 15px 30px rgba(37,99,235,.30);

}

.feature-card h5{

margin-top:25px;

font-weight:700;

font-size:22px;

}

.feature-card p{

margin-top:10px;

color:#64748b;

}


/* ===================================
   PRICING
=================================== */

.pricing-section{

background:#f8fbff;

}

.pricing-card{

position:relative;

background:#fff;

border-radius:28px;

padding:45px 35px;

box-shadow:0 15px 35px rgba(0,0,0,.07);

transition:.35s;

overflow:hidden;

border:1px solid #e2e8f0;

height:100%;

}

.pricing-card:hover{

transform:translateY(-15px);

box-shadow:0 30px 60px rgba(37,99,235,.18);

}

.pricing-card h1{

font-size:52px;

color:#2563eb;

}

.pricing-card h5{

letter-spacing:1px;

}

.pricing-card ul{

margin-top:35px;

}

.pricing-card li{

padding:12px 0;

border-bottom:1px solid #edf2f7;

font-size:15px;

}

.pricing-card li:last-child{

border:none;

}

.pricing-card .btn{

margin-top:25px;

padding:14px;

font-size:17px;

}


/* ===================================
   POPULAR CARD
=================================== */

.popular{

background:linear-gradient(135deg,#2563eb,#1d4ed8);

color:#fff;

transform:scale(1.05);

}

.popular h1,

.popular h5,

.popular li{

color:#fff;

}

.popular li{

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

}

.popular .btn{

background:#fff;

color:#2563eb;

border:none;

font-weight:700;

}

.popular .btn:hover{

background:#eff6ff;

}

.popular-badge{

position:absolute;

top:20px;

right:-45px;

background:#f59e0b;

color:#fff;

padding:10px 55px;

font-size:13px;

font-weight:700;

transform:rotate(45deg);

box-shadow:0 10px 25px rgba(0,0,0,.20);

}


/* ===================================
   STEP CARD
=================================== */

.step-card{

background:#fff;

padding:35px;

border-radius:22px;

box-shadow:0 10px 25px rgba(0,0,0,.05);

transition:.35s;

position:relative;

height:100%;

}

.step-card:hover{

transform:translateY(-10px);

}

.step-number{

position:absolute;

top:20px;

right:20px;

width:38px;

height:38px;

border-radius:50%;

background:#2563eb;

color:#fff;

display:flex;

align-items:center;

justify-content:center;

font-weight:700;

}

.step-card h5{

margin-top:20px;

font-weight:700;

}

.step-card p{

margin-top:10px;

color:#64748b;

}


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

.stats-section{

background:linear-gradient(135deg,#08111f,#102a43);

}

.stats-section h1{

font-size:55px;

font-weight:800;

color:#38bdf8;

}

.stats-section p{

margin-top:10px;

color:#d6e4ff;

font-size:18px;

}


/* ===================================
   TESTIMONIAL
=================================== */

.testimonial-card{

background:#fff;

padding:35px;

border-radius:22px;

box-shadow:0 12px 30px rgba(0,0,0,.06);

transition:.35s;

height:100%;

border:1px solid #edf2f7;

}

.testimonial-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(37,99,235,.15);

}

.testimonial-card p{

font-style:italic;

margin:20px 0;

color:#475569;

}

.testimonial-card h6{

margin-top:20px;

font-weight:700;

}


/* ===================================
   FAQ
=================================== */

.accordion-item{

border:none;

margin-bottom:18px;

border-radius:18px!important;

overflow:hidden;

box-shadow:0 8px 20px rgba(0,0,0,.05);

}

.accordion-button{

font-weight:600;

padding:22px;

background:#fff;

}

.accordion-button:not(.collapsed){

background:#2563eb;

color:#fff;

}

.accordion-button:focus{

box-shadow:none;

}

.accordion-body{

padding:25px;

color:#64748b;

line-height:1.8;

}

/* ===================================
   CALL TO ACTION
=================================== */

.cta-section{

background:linear-gradient(135deg,#2563eb,#38bdf8);

position:relative;

overflow:hidden;

}

.cta-section::before{

content:"";

position:absolute;

width:450px;

height:450px;

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

border-radius:50%;

top:-150px;

left:-100px;

}

.cta-section::after{

content:"";

position:absolute;

width:350px;

height:350px;

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

border-radius:50%;

bottom:-120px;

right:-100px;

}

.cta-section .container{

position:relative;

z-index:2;

}

.cta-section h2{

font-size:48px;

font-weight:800;

margin-bottom:20px;

}

.cta-section p{

font-size:20px;

margin-bottom:35px;

color:#eaf6ff;

}



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

.footer{

background:#071221;

color:#cbd5e1;

}

.footer h4,
.footer h5{

color:#fff;

font-weight:700;

margin-bottom:20px;

}

.footer p{

line-height:1.9;

}

.footer-menu{

list-style:none;

padding:0;

margin:0;

}

.footer-menu li{

margin-bottom:12px;

}

.footer-menu a{

color:#cbd5e1;

transition:.3s;

}

.footer-menu a:hover{

color:#38bdf8;

padding-left:6px;

}

.footer hr{

opacity:.15;

}

.footer small{

color:#94a3b8;

}



/* ===================================
   SOCIAL ICON
=================================== */

.social-icon{

display:inline-flex;

align-items:center;

justify-content:center;

width:46px;

height:46px;

border-radius:50%;

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

color:#fff;

margin-right:10px;

transition:.35s;

}

.social-icon:hover{

background:#2563eb;

transform:translateY(-6px);

color:#fff;

}



/* ===================================
   FLOATING WHATSAPP
=================================== */

.wa-float{

position:fixed;

right:25px;

bottom:25px;

width:65px;

height:65px;

border-radius:50%;

background:#25D366;

display:flex;

align-items:center;

justify-content:center;

font-size:30px;

color:#fff;

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

z-index:999;

transition:.35s;

}

.wa-float:hover{

transform:scale(1.1);

color:#fff;

}



/* ===================================
   BACK TO TOP
=================================== */

.back-top{

position:fixed;

bottom:100px;

right:30px;

width:52px;

height:52px;

border-radius:50%;

background:#2563eb;

display:flex;

align-items:center;

justify-content:center;

color:#fff;

opacity:0;

visibility:hidden;

transition:.35s;

z-index:998;

box-shadow:0 10px 30px rgba(37,99,235,.35);

}

.back-top.show{

opacity:1;

visibility:visible;

}

.back-top:hover{

color:#fff;

transform:translateY(-5px);

}



/* ===================================
   CARD GLOBAL
=================================== */

.card{

border:none;

border-radius:20px;

box-shadow:0 12px 30px rgba(0,0,0,.06);

}

.card:hover{

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

}



/* ===================================
   FORM
=================================== */

.form-control,
.form-select{

border-radius:14px;

padding:14px 16px;

border:1px solid #dbe4f0;

transition:.3s;

}

.form-control:focus,
.form-select:focus{

border-color:#2563eb;

box-shadow:0 0 0 .2rem rgba(37,99,235,.15);

}



/* ===================================
   TABLE
=================================== */

.table{

border-radius:18px;

overflow:hidden;

}

.table thead{

background:#2563eb;

color:#fff;

}



/* ===================================
   BADGE
=================================== */

.badge{

font-weight:600;

}



/* ===================================
   ANIMATION
=================================== */

.fade-up{

animation:fadeUp .8s ease both;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(35px);

}

to{

opacity:1;

transform:translateY(0);

}

}



/* ===================================
   RESPONSIVE
=================================== */

@media(max-width:991px){

.hero{

text-align:center;

padding-top:120px;

}

.hero h1{

font-size:42px;

}

.hero p{

margin-left:auto;

margin-right:auto;

}

.hero-image{

margin-top:50px;

max-width:420px;

}

.popular{

transform:none;

}

.cta-section h2{

font-size:36px;

}

.stats-section h1{

font-size:42px;

}

}



@media(max-width:768px){

section{

padding:70px 0;

}

.hero h1{

font-size:34px;

}

.hero p{

font-size:16px;

}

.feature-card,

.pricing-card,

.step-card,

.testimonial-card{

padding:28px;

}

.footer{

text-align:center;

}

.footer-menu{

margin-bottom:30px;

}

.social-icon{

margin-bottom:10px;

}

.wa-float{

width:58px;

height:58px;

font-size:26px;

right:18px;

bottom:18px;

}

}



@media(max-width:576px){

.display-4{

font-size:2rem;

}

.display-5{

font-size:2rem;

}

.btn{

width:100%;

margin-bottom:12px;

}

.hero .btn{

width:100%;

}

.hero .col-4 h3{

font-size:24px;

}

.hero .col-4 p{

font-size:13px;

}

.cta-section h2{

font-size:30px;

}

}



/* ===================================
   UTILITIES
=================================== */

.shadow-soft{

box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.rounded-xl{

border-radius:24px;

}

.text-gradient{

background:linear-gradient(90deg,#2563eb,#38bdf8);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.bg-gradient-blue{

background:linear-gradient(135deg,#08111f,#102a43,#2563eb);

}

/* ==========================================
   PREMIUM EFFECTS
========================================== */


/* ===============================
   GLASSMORPHISM
================================= */

.glass{

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

backdrop-filter:blur(18px);

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

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

box-shadow:0 15px 40px rgba(0,0,0,.15);

}


/* ===============================
   PREMIUM BORDER
================================= */

.border-gradient{

position:relative;

}

.border-gradient::before{

content:"";

position:absolute;

inset:-2px;

border-radius:inherit;

padding:2px;

background:linear-gradient(
135deg,
#2563eb,
#38bdf8,
#60a5fa
);

-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);

-webkit-mask-composite:xor;

mask-composite:exclude;

pointer-events:none;

}


/* ===============================
   HOVER GLOW
================================= */

.glow-hover{

transition:.4s;

}

.glow-hover:hover{

box-shadow:

0 0 15px rgba(37,99,235,.35),

0 0 40px rgba(37,99,235,.25),

0 0 70px rgba(37,99,235,.15);

}


/* ===============================
   BUTTON SHINE
================================= */

.btn{

overflow:hidden;

position:relative;

}

.btn::before{

content:"";

position:absolute;

top:0;

left:-120%;

width:80px;

height:100%;

background:

rgba(255,255,255,.35);

transform:skewX(-25deg);

transition:.7s;

}

.btn:hover::before{

left:130%;

}


/* ===============================
   CARD 3D
================================= */

.feature-card,
.pricing-card,
.testimonial-card,
.step-card{

transform-style:preserve-3d;

}

.feature-card:hover,
.pricing-card:hover,
.testimonial-card:hover,
.step-card:hover{

transform:

perspective(1000px)

rotateX(3deg)

rotateY(-3deg)

translateY(-12px);

}


/* ===============================
   IMAGE ZOOM
================================= */

.img-hover{

overflow:hidden;

border-radius:20px;

}

.img-hover img{

transition:.5s;

}

.img-hover:hover img{

transform:scale(1.08);

}


/* ===============================
   ICON ROTATE
================================= */

.feature-icon{

transition:.4s;

}

.feature-card:hover .feature-icon{

transform:

rotate(12deg)

scale(1.1);

}


/* ===============================
   HERO LIGHT
================================= */

.hero-light{

position:absolute;

width:650px;

height:650px;

border-radius:50%;

background:

rgba(59,130,246,.18);

filter:blur(120px);

top:-250px;

left:-180px;

pointer-events:none;

}


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

.grid-bg{

background-image:

linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),

linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);

background-size:40px 40px;

}


/* ===============================
   TEXT SHADOW
================================= */

.hero h1{

text-shadow:

0 5px 20px rgba(0,0,0,.25);

}


/* ===============================
   FLOATING ANIMATION
================================= */

.float-slow{

animation:floatSlow 7s ease-in-out infinite;

}

@keyframes floatSlow{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

100%{

transform:translateY(0);

}

}


/* ===============================
   PULSE
================================= */

.pulse{

animation:pulse 2.5s infinite;

}

@keyframes pulse{

0%{

box-shadow:0 0 0 0 rgba(37,99,235,.45);

}

70%{

box-shadow:0 0 0 18px rgba(37,99,235,0);

}

100%{

box-shadow:0 0 0 0 rgba(37,99,235,0);

}

}


/* ===============================
   LOADER
================================= */

.page-loader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:#08111f;

display:flex;

align-items:center;

justify-content:center;

z-index:99999;

transition:.5s;

}

.loader-circle{

width:70px;

height:70px;

border-radius:50%;

border:5px solid rgba(255,255,255,.15);

border-top:5px solid #38bdf8;

animation:spin .8s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}


/* ===============================
   SKELETON
================================= */

.skeleton{

background:

linear-gradient(

90deg,

#ececec 25%,

#f8f8f8 50%,

#ececec 75%

);

background-size:300% 100%;

animation:skeleton 1.4s infinite;

}

@keyframes skeleton{

0%{

background-position:100%;

}

100%{

background-position:-100%;

}

}


/* ===============================
   SOFT SHADOW
================================= */

.shadow-premium{

box-shadow:

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

}


/* ===============================
   HOVER LIFT
================================= */

.hover-lift{

transition:.35s;

}

.hover-lift:hover{

transform:translateY(-8px);

}


/* ===============================
   PREMIUM INPUT
================================= */

.form-control,

.form-select{

background:#fff;

transition:.35s;

}

.form-control:hover,

.form-select:hover{

border-color:#60a5fa;

}


/* ===============================
   CUSTOM SCROLL
================================= */

html{

scroll-padding-top:90px;

}


/* ===============================
   DARK MODE SUPPORT
================================= */

@media(prefers-color-scheme:dark){

.auto-dark{

background:#08111f;

color:#fff;

}

.auto-dark .card{

background:#0f172a;

color:#fff;

}

}


/* ===============================
   PRINT
================================= */

@media print{

.navbar,

.footer,

.wa-float,

.back-top{

display:none!important;

}

body{

background:#fff;

}

}