body{
margin:0;
font-family:'Montserrat',sans-serif;
background:#f7f7f7;
color:#111;
line-height:1.6;
}

/* NAV */

nav{
background:#fff;
box-shadow:0 2px 10px rgba(0,0,0,.05);
position:sticky;
top:0;
z-index:9999;
}

.nav-container{
max-width:1200px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
padding:12px 20px;
height:80px;
box-sizing:border-box;
}

/* LOGO */

.logo{
display:flex;
align-items:center;
height:100%;
}

.logo img{
max-height:150px;
width:auto;
display:block;
}

.nav-links{
display:flex;
gap:30px;
list-style:none;
margin:0;
padding:0;
}

.nav-links a{

display:inline-block;

text-decoration:none;

color:#111;

font-weight:600;

transition:transform .25s ease, color .25s ease;

}

.nav-links a:hover{

transform:translateY(-3px);

color:#111;

}

/* DROPDOWN */

.dropdown{
position:relative;
}

.dropdown-menu{
display:none;
position:absolute;
top:100%;
left:0;

background:#fff;

list-style:none;

padding:12px 0;

margin:0;

min-width:220px;

box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.dropdown-menu li{
padding:10px 22px;
white-space:nowrap;
}

.dropdown:hover .dropdown-menu{
display:block;
}

/* HERO */



.page-hero{
width:100%;
height:75vh;

margin:0;


max-width:none;

display:flex;
justify-content:center;
align-items:center;

position:relative;
overflow:hidden;

background-size:cover;
background-position:center center;
background-repeat:no-repeat;

color:#fff;
}

.page-hero:before{

content:"";

position:absolute;
top:0;
left:0;

width:100%;
height:100%;

background:linear-gradient(
to right,
rgba(0,0,0,.85) 0%,
rgba(0,0,0,.60) 50%,
rgba(0,0,0,.20) 100%
);

z-index:1;
}

.page-hero .hero-content{

position:relative;
z-index:2;

width:100%;
max-width:1200px;

padding:0 40px;

display:flex;
justify-content:center;
align-items:center;

text-align:center;
}

.hero-text{
max-width:900px;
margin:auto;
}

.page-hero h1{
font-size:85px;
font-weight:900;
font-style:italic;
line-height:1.1;
margin:0;
}

.page-hero p{

margin-top:20px;

font-size:16px;

letter-spacing:3px;

opacity:.8;
}

.hero-home{
background-image:url("images/home.jpg");
}

/* INDEX HERO */

.hero-home .hero-brand{

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

font-size:120px;

font-weight:400;

font-style:italic;

letter-spacing:6px;

text-transform:uppercase;

line-height:1.2;

}

.hero-home .hero-services{

font-size:22px;

letter-spacing:4px;

}

.hero-boxing{
background-image:url("images/boxing.jpg");
}

.hero-personal{
background-image:url("images/personal.jpg");
}

.hero-group{
background-image:url("images/group.jpg");
}

.hero-blog{
background-image:url("images/blog.jpg");
}

.cta-btn{

display:inline-block;

margin-top:40px;

padding:18px 50px;

background:#111;
color:#fff;

text-decoration:none;

font-weight:800;

border-radius:5px;

transition:.3s;
}

.cta-btn:hover{

background:#333;
color:#fff;
}



/* SECTIONS */

section{
padding:100px 20px;
max-width:1100px;
margin:auto;
}

.page-hero{
max-width:none;
margin:0;
padding:0;
}

.section-title{
font-size:42px;
font-weight:800;
text-align:center;
margin-bottom:50px;
}

.subtitle{
text-align:center;
font-size:24px;
font-weight:800;
margin-top:-15px;
margin-bottom:40px;
letter-spacing:-.3px;
max-width:700px;
margin-left:auto;
margin-right:auto;
}

/* CARDS */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:40px;
}

.card{
background:#fff;
padding:40px;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.05);
transition:.3s;
}

.card:hover{
transform:translateY(-5px);
}

/* REVIEWS */

.reviews-grid{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
gap:25px;
}

.review-card img{
width:100%;
border-radius:12px;
box-shadow:0 8px 25px rgba(0,0,0,.1);
transition:.3s;
}

.review-card:hover img{
transform:scale(1.05);
}

/* LIGHTBOX */

.lightbox{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.9);
justify-content:center;
align-items:center;
z-index:2000;
}

.lightbox img{
max-width:90%;
max-height:90%;
}

.close{
position:absolute;
top:30px;
right:40px;
font-size:40px;
color:#fff;
cursor:pointer;
}

/* ABOUT */

.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:center;
}

.about-image img{
width:100%;
border-radius:20px;
box-shadow:0 15px 40px rgba(0,0,0,.12);
display:block;
}

.about-text p{
font-size:18px;
line-height:1.9;
}

/* FOOTER */

footer{
background:#111;
color:#fff;
text-align:center;
padding:40px 20px;
margin-top:80px;
}


/* CONTACT */

.contact-grid{
display:grid;
grid-template-columns:350px 1fr;
gap:120px;
align-items:start;
margin-top:60px;
}

.contact-info{
display:flex;
flex-direction:column;
}

.contact-info h3{
font-size:32px;
margin-bottom:30px;
}

.social-icons{
display:flex;
gap:25px;
margin-top:20px;
}

.social-icons a{
width:60px;
height:60px;

display:flex;
justify-content:center;
align-items:center;

background:#111;
color:#fff;

border-radius:50%;

font-size:24px;

text-decoration:none;

transition:.3s;
}

.social-icons a:hover{
background:#1e73be;
transform:translateY(-5px);
}

.contact-number{
margin-top:25px;
font-size:28px;
font-weight:800;
letter-spacing:1px;
}

.social-second-row{
margin-top:50px;
}

.contact-form{
width:100%;
}

.contact-form form{
display:flex;
flex-direction:column;
gap:20px;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:18px;
font-size:16px;
font-family:'Montserrat',sans-serif;

border:1px solid #ddd;
border-radius:6px;

box-sizing:border-box;
}

.contact-form textarea{
min-height:220px;
resize:vertical;
}

.contact-form button{
padding:18px;
background:#111;
color:#fff;

border:none;

font-size:16px;
font-weight:700;

cursor:pointer;
transition:.3s;
}

.contact-form button:hover{
background:#1e73be;
}

.menu-toggle{
display:none;
font-size:28px;
cursor:pointer;
}

/* MOBILE */

@media(max-width:768px){

.menu-toggle{
display:block;
}

.nav-links{
display:none;
flex-direction:column;

position:absolute;
top:80px;
right:20px;

width:220px;

padding:20px;

background:#fff;

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

.nav-links.active{
display:flex;
}

.dropdown-menu{
position:static;
box-shadow:none;
}

.page-hero{
height:60vh;
}

.page-hero h1{
font-size:42px;
}

.hero-home .hero-brand{

font-size:90px;

letter-spacing:2px;

line-height:1;

}

.hero-home .hero-services{

font-size:14px;

letter-spacing:2px;

}

.hero-text{
padding:0 20px;
}

.contact-grid{
grid-template-columns:1fr;
gap:60px;
}

.contact-info{
align-items:center;
text-align:center;
}

.about-grid{
grid-template-columns:1fr;
}

.section-title{
font-size:34px;
}

.subtitle{
font-size:20px;
}

.cta-btn{
padding:16px 36px;
}

}

@media(max-width:480px){

.hero-home .hero-brand{

font-size:60px;

letter-spacing:1px;

}

.hero-home .hero-services{

font-size:12px;

letter-spacing:1px;

}

}


/* SERVICES */

.services-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
gap:35px;

}

.service-card{

display:block;

background:#fff;

border-radius:18px;

overflow:hidden;

text-decoration:none;

color:#111;

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

transition:.35s;

}

.service-card:hover{

transform:translateY(-8px);

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

}

.service-card img{

width:100%;
height:250px;

object-fit:cover;

display:block;

}

.service-content{

padding:30px;

}

.service-content h3{

font-size:30px;

margin-bottom:15px;

}

.service-content p{

font-size:17px;

line-height:1.7;

margin-bottom:25px;

color:#555;

}

.service-content span{

font-weight:800;

color:#111;

font-size:16px;

transition:.3s;

}

/* BLOG */

.blog-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
gap:40px;
margin-top:50px;
}

.blog-card{
background:#fff;
border-radius:16px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.3s;
}

.blog-card:hover{
transform:translateY(-8px);
}

.blog-card img{
width:100%;
height:240px;
object-fit:cover;
display:block;
}

.blog-content{
padding:30px;
}

.blog-content h3{
font-size:28px;
margin:0 0 15px;
}

.blog-content p{
font-size:17px;
color:#555;
line-height:1.8;
margin-bottom:25px;
}

.blog-btn{
display:inline-block;
background:#111;
color:#fff;
padding:14px 28px;
border-radius:6px;
text-decoration:none;
font-weight:700;
transition:.3s;
}

.blog-btn:hover{
background:#1e73be;
}


.blog-category{
display:inline-block;
font-size:12px;
font-weight:700;
letter-spacing:2px;
color:#1e73be;
margin-bottom:15px;
}

.blog-meta{
font-size:14px;
color:#888;
margin:15px 0 20px;
}

/* ARTICLE PAGE */

.article{
max-width:850px;
margin:80px auto;
padding:0 20px;
}

.article h1{
font-size:52px;
font-weight:800;
line-height:1.2;
margin-bottom:20px;
}

.article-meta{
color:#777;
font-size:15px;
margin-bottom:40px;
}

.article-image{
width:100%;
border-radius:12px;
margin-bottom:50px;
}

.article h2{
font-size:34px;
margin-top:50px;
margin-bottom:20px;
}

.article p{
font-size:19px;
line-height:1.9;
color:#444;
}


/* REVIEW SLIDER */

.reviews-section{
padding:100px 20px;
}

.review-box{

background:#fff;

border-radius:18px;

padding:40px;

height:100%;

box-sizing:border-box;

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

transition:.35s;

display:flex;
flex-direction:column;
justify-content:space-between;

}

.review-box:hover{

transform:translateY(-8px);

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

}

.stars{

font-size:26px;

color:#f5b301;

letter-spacing:3px;

margin-bottom:20px;

}

.review-text{

font-size:17px;

line-height:1.8;

color:#555;

flex:1;

font-style:italic;

}

.review-footer{

margin-top:30px;

padding-top:20px;

border-top:1px solid #eee;

}

.review-footer h4{

margin:0;

font-size:18px;

font-weight:700;

}

.review-footer span{

display:block;

margin-top:5px;

font-size:14px;

color:#777;

}

.reviewsSwiper{

padding-bottom:60px;

}

.swiper-pagination-bullet{

background:#1e73be;

opacity:.4;

}

.swiper-pagination-bullet-active{

opacity:1;

}

.swiper{

overflow:visible;

}

/* REVIEW MODAL */

.review-box{

cursor:pointer;

}

.review-text{

display:-webkit-box;

-webkit-line-clamp:4;

-webkit-box-orient:vertical;

overflow:hidden;

}

.review-modal{

display:none;

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.75);

justify-content:center;
align-items:center;

padding:20px;

box-sizing:border-box;

z-index:99999;

}

.review-modal-content{

background:#fff;

width:100%;

max-width:750px;

padding:50px;

border-radius:20px;

position:relative;

animation:reviewPopup .25s ease;

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

}

.review-modal-content p{

font-size:20px;

line-height:1.9;

color:#444;

margin:35px 0;

}

.review-close{

position:absolute;

right:25px;

top:20px;

font-size:42px;

cursor:pointer;

font-weight:300;

}

@keyframes reviewPopup{

from{

opacity:0;

transform:scale(.92);

}

to{

opacity:1;

transform:scale(1);

}

}


/* REVIEWS CTA*/

.reviews-cta{

text-align:center;

margin-top:50px;

}

.reviews-cta p{

font-size:18px;

color:#555;

margin-bottom:25px;

}

.reviews-btn{

display:inline-block;

padding:14px 25px;

background:#111;

color:#fff;

text-decoration:none;

font-weight:700;

font-size:15px;

border-radius:5px;

transition:.3s;

}

.reviews-btn:hover{

background:#333;

transform:translateY(-2px);

}