/* ===========================
   GOOGLE FONT
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ===========================
RESET
=========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{

background:#070707;
color:#fff;

}

/* ===========================
SCROLLBAR
=========================== */

::-webkit-scrollbar{
width:8px;
}

::-webkit-scrollbar-track{
background:#111;
}

::-webkit-scrollbar-thumb{
background:#d90429;
border-radius:20px;
}

/* ===========================
COLORS
=========================== */

:root{

--red:#ff1b3d;

--red2:#d90429;

--dark:#070707;

--card:#111111;

--border:#202020;

--text:#bfbfbf;

}

/* ===========================
NAVBAR
=========================== */

.navbar{

position:sticky;

top:0;

z-index:999;

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 8%;

background:rgba(0,0,0,.7);

backdrop-filter:blur(12px);

border-bottom:1px solid rgba(255,255,255,.08);

}

.logo{

font-size:28px;

font-weight:800;

letter-spacing:1px;

}

.red{

color:var(--red);

}

.nav-right{

display:flex;

align-items:center;

gap:15px;

}

.nav-right button{

height:45px;

padding:0 18px;

border:none;

cursor:pointer;

border-radius:12px;

background:#171717;

color:white;

transition:.3s;

font-size:15px;

}

.nav-right button:hover{

background:var(--red);

transform:translateY(-2px);

}

/* ===========================
HERO
=========================== */

.hero{

padding:110px 8%;

text-align:center;

background:

linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.9)),

url(images/bg.jpg);

background-size:cover;

background-position:center;

}

.hero h1{

font-size:70px;

font-weight:800;

}

.hero h2{

margin-top:15px;

font-size:34px;

font-weight:600;

}

.hero p{

margin:auto;

margin-top:25px;

max-width:700px;

color:var(--text);

font-size:18px;

line-height:30px;

}

.hero .red{

text-shadow:

0 0 15px var(--red),

0 0 35px var(--red);

}

/* ===========================
TOP HUBS
=========================== */

.top-hubs{

padding:70px 8%;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

gap:30px;

}

.hub-card{

height:320px;

border-radius:25px;

overflow:hidden;

position:relative;

background:#111;

transition:.4s;

cursor:pointer;

}

.hub-card:hover{

transform:translateY(-10px);

box-shadow:

0 25px 50px rgba(255,0,50,.25);

}

.fitness-banner{

background:

linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.8)),

url(images/drf.png);

background-size:cover;

background-position:center;

}

.content-banner{

background:

linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.8)),

url(images/content-banner.jpg);

background-size:cover;

background-position:center;

}

.overlay{

position:absolute;

bottom:30px;

left:30px;

right:30px;

}

.overlay h2{

font-size:34px;

font-weight:700;

margin-bottom:10px;

}

.overlay p{

color:#ddd;

margin-bottom:25px;

line-height:28px;

}

.overlay button{

height:50px;

padding:0 25px;

border:none;

cursor:pointer;

border-radius:12px;

background:var(--red);

color:white;

font-size:16px;

font-weight:600;

transition:.3s;

}

.overlay button:hover{

background:white;

color:black;

}

/* ===========================
SECTION TITLE
=========================== */

.section{

padding:30px 8% 70px;

}

.section-head{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

}

.section-head h2{

font-size:34px;

}

.section-head a{

text-decoration:none;

color:var(--red);

font-weight:600;

transition:.3s;

}

.section-head a:hover{

letter-spacing:1px;

}
/* ===========================
CARD GRID
=========================== */

.card-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

/* ===========================
PDF CARD
=========================== */

.pdf-card{

background:linear-gradient(180deg,#151515,#0d0d0d);

border:1px solid #222;

border-radius:22px;

overflow:hidden;

transition:.35s;

cursor:pointer;

position:relative;

}

.pdf-card:hover{

transform:translateY(-10px);

border-color:var(--red);

box-shadow:0 15px 40px rgba(255,0,60,.18);

}

.pdf-card img{

width:100%;

height:220px;

object-fit:cover;

display:block;

}

.pdf-card h3{

font-size:22px;

padding:18px 20px 10px;

}

.pdf-card p{

padding:0 20px;

color:#bfbfbf;

font-size:15px;

line-height:25px;

min-height:70px;

}

.pdf-card .price{

padding:20px;

font-size:28px;

font-weight:700;

color:var(--red);

}

.pdf-card button{

width:calc(100% - 40px);

margin:0 20px 20px;

height:52px;

border:none;

border-radius:12px;

background:var(--red);

color:white;

font-size:16px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.pdf-card button:hover{

background:white;

color:black;

}

/* ===========================
FEATURES
=========================== */

.features{

padding:70px 8%;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:25px;

}

.feature{

display:flex;

align-items:center;

gap:18px;

background:#111;

padding:25px;

border-radius:18px;

border:1px solid #202020;

transition:.3s;

}

.feature:hover{

transform:translateY(-8px);

border-color:var(--red);

}

.feature i{

font-size:35px;

color:var(--red);

}

.feature h3{

margin-bottom:6px;

font-size:18px;

}

.feature p{

color:#bfbfbf;

font-size:14px;

}

/* ===========================
LOGIN MODAL
=========================== */

.modal{

position:fixed;

inset:0;

display:none;

justify-content:center;

align-items:center;

background:rgba(0,0,0,.75);

backdrop-filter:blur(10px);

z-index:9999;

}

.modal-box{

width:400px;

max-width:90%;

background:#111;

padding:35px;

border-radius:20px;

border:1px solid #222;

position:relative;

animation:popup .35s ease;

}

@keyframes popup{

from{

opacity:0;

transform:scale(.8);

}

to{

opacity:1;

transform:scale(1);

}

}

.close{

position:absolute;

right:18px;

top:12px;

font-size:28px;

cursor:pointer;

}

.modal-box h2{

margin-bottom:25px;

}

.modal-box input{

width:100%;

height:55px;

border:none;

outline:none;

background:#1b1b1b;

border-radius:12px;

padding:0 18px;

color:white;

font-size:16px;

margin-bottom:20px;

}

.modal-box button{

width:100%;

height:55px;

border:none;

border-radius:12px;

background:var(--red);

color:white;

font-size:16px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.modal-box button:hover{

background:white;

color:black;

}

/* ===========================
LOADER
=========================== */

.loader{

position:fixed;

inset:0;

display:none;

justify-content:center;

align-items:center;

background:rgba(0,0,0,.85);

z-index:99999;

}

.spinner{

width:70px;

height:70px;

border:6px solid #222;

border-top:6px solid var(--red);

border-radius:50%;

animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

/* ===========================
FOOTER
=========================== */

footer{

padding:50px 8%;

text-align:center;

color:#888;

border-top:1px solid #1f1f1f;

margin-top:70px;

}

footer h2{

font-size:30px;

margin-bottom:10px;

}

footer p{

font-size:15px;

line-height:28px;

}

/* ===========================
RESPONSIVE
=========================== */

@media(max-width:900px){

.hero h1{

font-size:42px;

}

.hero h2{

font-size:24px;

}

.section-head{

flex-direction:column;

align-items:flex-start;

gap:10px;

}

.logo{

font-size:20px;

}

.nav-right{

gap:10px;

}

.nav-right button{

padding:0 12px;

font-size:14px;

}

.overlay h2{

font-size:28px;

}

}

@media(max-width:600px){

.hero{

padding:80px 25px;

}

.hero h1{

font-size:34px;

}

.hero p{

font-size:15px;

line-height:27px;

}

.section{

padding:50px 25px;

}

.top-hubs{

padding:50px 25px;

}

.features{

padding:50px 25px;

}

}