/* ==========================================
   RANKFLOW AGENCY
   GLOBAL STYLES
========================================== */

:root{

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

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

--white:#ffffff;
--text:#cbd5e1;

--border:rgba(255,255,255,.08);

--radius:16px;

--transition:.35s ease;

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

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

background:var(--dark);

color:var(--white);

line-height:1.7;

overflow-x:hidden;

}

img{

display:block;

width:100%;

height:auto;

}

a{

text-decoration:none;

color:inherit;

}

ul{

list-style:none;

}

.container{

width:90%;

max-width:1280px;

margin:auto;

}

section{

padding:100px 0;

}

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

.btn-primary{

display:inline-block;

padding:15px 35px;

background:var(--primary);

color:#fff;

border-radius:10px;

font-weight:600;

transition:var(--transition);

}

.btn-primary:hover{

background:var(--primary-dark);

transform:translateY(-3px);

}

.btn-secondary{

display:inline-block;

padding:15px 35px;

border:2px solid var(--primary);

border-radius:10px;

font-weight:600;

transition:var(--transition);

}

.btn-secondary:hover{

background:var(--primary);

color:#fff;

}

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

.section-title{

text-align:center;

margin-bottom:60px;

}

.section-title span{

display:inline-block;

color:var(--secondary);

font-size:14px;

font-weight:700;

text-transform:uppercase;

letter-spacing:1px;

margin-bottom:12px;

}

.section-title h2{

font-size:42px;

margin-bottom:18px;

}

.section-title p{

max-width:700px;

margin:auto;

color:var(--text);

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

.header{

position:fixed;

top:0;
left:0;

width:100%;

background:rgba(8,17,31,.95);

backdrop-filter:blur(12px);

border-bottom:1px solid var(--border);

z-index:1000;

}

.navbar{

height:85px;

display:flex;

align-items:center;

justify-content:space-between;

}

.logo img{

height:55px;

width:auto;

}

.nav-links{

display:flex;

align-items:center;

gap:35px;

}

.nav-links li{

display:inline-block;

}

.nav-links a{

font-size:16px;

font-weight:600;

transition:var(--transition);

}

.nav-links a:hover{

color:var(--primary);

}

.menu-btn{

display:none;

font-size:28px;

cursor:pointer;

color:#fff;

}

.header .btn-primary{

padding:12px 28px;

font-size:15px;

}

/* Sticky Header */

.header.scrolled{

background:#08111f;

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

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

.hero{

padding-top:170px;

padding-bottom:100px;

position:relative;

overflow:hidden;

}

.hero-overlay{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

background:radial-gradient(circle at top right, rgba(37,99,235,.15), transparent 55%);

pointer-events:none;

}

.hero-grid{

display:grid;

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

gap:60px;

align-items:center;

position:relative;

z-index:2;

}

.hero-left .badge{

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 18px;

background:rgba(37,99,235,.15);

border:1px solid rgba(37,99,235,.30);

border-radius:50px;

color:#60a5fa;

font-size:14px;

font-weight:600;

margin-bottom:25px;

}

.hero-left h1{

font-size:58px;

line-height:1.15;

margin-bottom:25px;

font-weight:700;

}

.hero-left h1 span{

color:var(--primary);

}

.hero-left p{

font-size:18px;

color:var(--text);

margin-bottom:35px;

max-width:620px;

}

.hero-buttons{

display:flex;

gap:18px;

flex-wrap:wrap;

margin-bottom:35px;

}

.hero-features{

display:flex;

flex-wrap:wrap;

gap:20px;

}

.hero-features div{

display:flex;

align-items:center;

gap:8px;

font-size:15px;

font-weight:500;

color:#e2e8f0;

}

.hero-features i{

color:#22c55e;

}

.hero-right{

text-align:center;

}

.hero-right img{

max-width:560px;

margin:auto;

border-radius:20px;

box-shadow:0 20px 50px rgba(0,0,0,.35);

}
/* ==========================================
   TRUSTED
========================================== */

.trusted{

background:#0d1728;

padding:80px 0;

}

.trusted-grid{

display:grid;

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

gap:30px;

margin-top:50px;

}

.trusted-item{

background:#111c2f;

height:130px;

border-radius:16px;

display:flex;

align-items:center;

justify-content:center;

border:1px solid var(--border);

transition:var(--transition);

}

.trusted-item:hover{

transform:translateY(-8px);

border-color:var(--primary);

}

.trusted-item i{

font-size:55px;

color:var(--primary);

}



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

.stats{

padding:100px 0;

}

.stats-grid{

display:grid;

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

gap:30px;

}

.stat-card{

background:#111c2f;

padding:40px 25px;

text-align:center;

border-radius:18px;

border:1px solid var(--border);

transition:var(--transition);

}

.stat-card:hover{

transform:translateY(-10px);

border-color:var(--primary);

}

.stat-card h2{

font-size:48px;

color:var(--primary);

margin-bottom:10px;

font-weight:700;

}

.stat-card p{

color:var(--text);

font-size:17px;

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

.services{

padding:100px 0;

background:#08111f;

}

.services-grid{

display:grid;

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

gap:30px;

}

.service-card{

background:#111c2f;

border-radius:18px;

overflow:hidden;

border:1px solid var(--border);

transition:var(--transition);

}

.service-card:hover{

transform:translateY(-10px);

border-color:var(--primary);

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

}

.service-card img{

width:100%;

height:230px;

object-fit:cover;

}

.service-card h3{

font-size:24px;

padding:25px 25px 10px;

}

.service-card p{

padding:0 25px;

color:var(--text);

font-size:15px;

line-height:1.8;

margin-bottom:25px;

}

.service-btn{

display:inline-block;

margin:0 25px 25px;

padding:12px 24px;

background:var(--primary);

color:#fff;

border-radius:8px;

font-weight:600;

transition:var(--transition);

}

.service-btn:hover{

background:var(--primary-dark);

transform:translateY(-2px);

}

.service-card:hover img{

transform:scale(1.05);

transition:.5s;

}

.service-card img{

transition:.5s;

}
/* ==========================================
   WHY CHOOSE US
========================================== */

.why{

padding:100px 0;

background:#0b1424;

}

.why-grid{

display:grid;

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

gap:30px;

}

.why-card{

background:#111c2f;

padding:35px;

border-radius:18px;

border:1px solid var(--border);

transition:var(--transition);

text-align:center;

}

.why-card:hover{

transform:translateY(-10px);

border-color:var(--primary);

}

.why-card h3{

font-size:22px;

margin-bottom:15px;

}

.why-card p{

color:var(--text);

font-size:15px;

line-height:1.8;

}



/* ==========================================
   ABOUT
========================================== */

.about-preview{

padding:100px 0;

}

.about-grid{

display:grid;

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

gap:60px;

align-items:center;

}

.about-image img{

border-radius:20px;

box-shadow:0 20px 50px rgba(0,0,0,.35);

}

.about-content span{

color:var(--secondary);

font-weight:700;

text-transform:uppercase;

letter-spacing:1px;

}

.about-content h2{

font-size:42px;

margin:18px 0;

}

.about-content p{

color:var(--text);

margin-bottom:20px;

}

.about-content ul{

margin:30px 0;

}

.about-content ul li{

margin-bottom:15px;

color:#e2e8f0;

}



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

.process{

padding:100px 0;

background:#08111f;

}

.process .why-card{

min-height:220px;

display:flex;

flex-direction:column;

justify-content:center;

}
/* ==========================================
   PORTFOLIO
========================================== */

.portfolio{

padding:100px 0;

background:#0b1424;

}

.portfolio-grid{

display:grid;

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

gap:30px;

}

.portfolio-card{

background:#111c2f;

border-radius:18px;

overflow:hidden;

border:1px solid var(--border);

transition:var(--transition);

}

.portfolio-card:hover{

transform:translateY(-10px);

border-color:var(--primary);

}

.portfolio-card img{

width:100%;

height:250px;

object-fit:cover;

transition:.5s;

}

.portfolio-card:hover img{

transform:scale(1.08);

}

.portfolio-content{

padding:25px;

}

.portfolio-content h3{

margin-bottom:10px;

font-size:22px;

}

.portfolio-content p{

color:var(--text);

line-height:1.8;

}



/* ==========================================
   TESTIMONIALS
========================================== */

.testimonials{

padding:100px 0;

background:#08111f;

}

.testimonial-grid{

display:grid;

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

gap:30px;

}

.testimonial-card{

background:#111c2f;

padding:35px;

border-radius:18px;

border:1px solid var(--border);

transition:var(--transition);

}

.testimonial-card:hover{

transform:translateY(-8px);

border-color:var(--primary);

}

.testimonial-card p{

color:var(--text);

font-style:italic;

margin-bottom:20px;

line-height:1.8;

}

.testimonial-card h4{

color:#fff;

font-size:18px;

}



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

.faq{

padding:100px 0;

background:#0b1424;

}

.faq-box{

display:flex;

flex-direction:column;

gap:25px;

max-width:900px;

margin:auto;

}

.faq-item{

background:#111c2f;

padding:30px;

border-radius:15px;

border:1px solid var(--border);

transition:var(--transition);

}

.faq-item:hover{

border-color:var(--primary);

}

.faq-item h3{

font-size:22px;

margin-bottom:12px;

}

.faq-item p{

color:var(--text);

line-height:1.8;

}
/* ==========================================
   CTA
========================================== */

.cta{

padding:100px 0;

text-align:center;

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

}

.cta h2{

font-size:48px;

margin-bottom:20px;

}

.cta p{

max-width:700px;

margin:0 auto 35px;

font-size:18px;

color:#e5e7eb;

}

.cta .btn-primary{

background:#fff;

color:#2563eb;

}

.cta .btn-primary:hover{

background:#f3f4f6;

}



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

.footer{

background:#050b16;

padding:80px 0 30px;

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

}

.footer-grid{

display:grid;

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

gap:40px;

margin-bottom:50px;

}

.footer h2{

font-size:30px;

margin-bottom:20px;

}

.footer h2 span{

color:var(--primary);

}

.footer h3{

margin-bottom:20px;

}

.footer p,

.footer li{

color:#cbd5e1;

margin-bottom:12px;

}

.footer a{

transition:.3s;

}

.footer a:hover{

color:var(--primary);

}

.footer-bottom{

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

padding-top:25px;

text-align:center;

color:#94a3b8;

}



/* ==========================================
   SCROLL TOP
========================================== */

.scroll-top{

position:fixed;

right:25px;

bottom:25px;

width:50px;

height:50px;

background:var(--primary);

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

color:#fff;

font-size:20px;

z-index:999;

transition:.3s;

}

.scroll-top:hover{

transform:translateY(-5px);

}



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

@media(max-width:992px){

.hero-grid,
.about-grid{

grid-template-columns:1fr;

}

.services-grid,
.portfolio-grid,
.why-grid,
.testimonial-grid,
.stats-grid,
.footer-grid,
.trusted-grid{

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

}

.hero{

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.hero-features{

justify-content:center;

}

.hero-left h1{

font-size:46px;

}

}



@media(max-width:768px){

.nav-links{

display:none;

}

.menu-btn{

display:block;

}

.section-title h2{

font-size:34px;

}

.hero{

padding-top:140px;

}

.hero-left h1{

font-size:38px;

}

.hero-left p{

font-size:16px;

}

.services-grid,
.portfolio-grid,
.why-grid,
.testimonial-grid,
.stats-grid,
.footer-grid,
.trusted-grid{

grid-template-columns:1fr;

}

.cta h2{

font-size:34px;

}

.container{

width:92%;

}

}



@media(max-width:480px){

.btn-primary,
.btn-secondary{

display:block;

width:100%;

text-align:center;

margin-bottom:15px;

}

.hero-buttons{

display:block;

}

.hero-left h1{

font-size:32px;

}

.section-title h2{

font-size:28px;

}

}
