/* =========================
ROOFING SUPREME PRO
BLACK / ORANGE THEME
========================= */


:root{

--black:#0b0b0b;
--black-light:#151515;
--orange:#ff7a00;
--orange-dark:#d85f00;
--white:#ffffff;
--gray:#f3f3f3;
--text:#333;

}


*{

margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;

}


body{

font-family:'Manrope',sans-serif;
color:var(--text);
background:#fff;
line-height:1.7;

}


img{

width:100%;
display:block;

}


a{

text-decoration:none;
color:inherit;

}


.container{

width:90%;
max-width:1200px;
margin:auto;

}


h2{

font-size:2.4rem;
text-align:center;
margin-bottom:50px;
color:var(--black);

}



/* =========================
HEADER
========================= */


header{

position:fixed;
top:0;
left:0;
width:100%;
background:rgba(10,10,10,.92);
backdrop-filter:blur(12px);
z-index:999;

}


.nav{

height:80px;
display:flex;
align-items:center;
justify-content:space-between;

}


.logo{

color:white;
font-size:1.5rem;
font-weight:800;

}


nav{

display:flex;
gap:30px;

}


nav a{

color:white;
font-weight:600;

}


nav a:hover{

color:var(--orange);

}


#menu-toggle{

display:none;
background:none;
border:none;
font-size:25px;
color:white;

}



/* =========================
BUTTONS
========================= */


.orange-btn{

display:inline-block;
background:var(--orange);
color:white;
padding:14px 32px;
border-radius:4px;
font-weight:700;
border:none;
cursor:pointer;
transition:.3s;

}


.orange-btn:hover{

background:var(--orange-dark);

}


.dark-btn{

display:inline-flex;
gap:10px;
align-items:center;
padding:14px 32px;
border:2px solid white;
color:white;
border-radius:4px;

}



/* =========================
HERO SPLIT
========================= */


.hero{

display:grid;
grid-template-columns:1fr 1fr;
min-height:100vh;
background:var(--black);

}


.hero-text{

color:white;
padding:140px 8%;
display:flex;
flex-direction:column;
justify-content:center;

}


.tag{

display:inline-block;
color:var(--orange);
font-weight:700;
margin-bottom:20px;

}


.hero h1{

font-size:4rem;
line-height:1.1;
margin-bottom:25px;

}


.hero p{

color:#ddd;
max-width:600px;
font-size:1.1rem;

}


.hero-buttons{

display:flex;
gap:20px;
margin-top:35px;

}


.hero-image{

overflow:hidden;

}


.hero-image img{

height:100%;
object-fit:cover;

}



.counter-area{

display:flex;
gap:35px;
margin-top:60px;

}


.counter-area div{

display:flex;
flex-direction:column;

}


.counter{

font-size:2rem;
color:var(--orange);

}



/* =========================
ABOUT
========================= */


.about{

display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
padding-top:100px;
padding-bottom:100px;
align-items:center;

}


.about-image img{

border-radius:10px;

}


.about-content h2{

text-align:left;

}


.about-content li{

list-style:none;
margin:12px 0;
font-weight:600;

}


.about-content i{

color:var(--orange);
margin-right:10px;

}





/* =========================
SERVICES
========================= */


.services{

background:var(--black);
padding:100px 0;

}


.services h2{

color:white;

}


.service-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;

}


.glass-card{

background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.15);
backdrop-filter:blur(15px);
padding:35px 25px;
border-radius:12px;
color:white;
text-align:center;

}


.glass-card i{

font-size:35px;
color:var(--orange);
margin-bottom:20px;

}


.glass-card h3{

margin-bottom:15px;

}


.glass-card:hover{

transform:translateY(-8px);
transition:.3s;

}



/* =========================
PROCESS TIMELINE
========================= */


.process{

padding:100px 0;

}


.timeline{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;

}


.timeline div{

background:#f6f6f6;
padding:35px;
border-left:5px solid var(--orange);

}


.timeline span{

font-size:2rem;
font-weight:800;
color:var(--orange);

}




/* =========================
PROJECTS
========================= */


.projects{

background:#f5f5f5;
padding:100px 0;

}


.project-gallery{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;

}


.project-gallery img{

height:280px;
object-fit:cover;
border-radius:10px;

}



/* =========================
REVIEWS
========================= */


.reviews{

background:var(--black);
padding:100px 0;
color:white;

}


.reviews h2{

color:white;

}


.slider{

max-width:700px;
margin:auto;
text-align:center;

}


.review{

display:none;

}


.review.active{

display:block;

}


.review p{

font-size:1.2rem;

}


.review strong{

display:block;
color:var(--orange);
margin-top:20px;

}





/* =========================
FAQ
========================= */


.faq-section{

padding:100px 0;

}


.faq-box{

border:1px solid #ddd;
margin-bottom:15px;

}


.faq-box button{

width:100%;
background:white;
border:none;
padding:20px;
text-align:left;
font-weight:700;
cursor:pointer;

}


.answer{

display:none;
padding:20px;
background:#fafafa;

}


.faq-box.active .answer{

display:block;

}




/* =========================
CONTACT
========================= */


.contact{

background:var(--black);
color:white;
padding:100px 0;

}


.contact h2{

color:white;

}


.contact-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:50px;

}


form{

display:flex;
flex-direction:column;
gap:15px;

}


input,
textarea{

padding:15px;
border:none;
border-radius:5px;
font-family:inherit;

}


textarea{

height:130px;

}



/* =========================
FOOTER
========================= */


footer{

background:#000;
color:white;
padding:25px;
text-align:center;

}



/* =========================
FLOAT BUTTONS
========================= */


.floating-call{

position:fixed;
right:25px;
bottom:25px;

width:60px;
height:60px;

background:var(--orange);
color:white;

border-radius:50%;

display:flex;
justify-content:center;
align-items:center;

font-size:25px;

z-index:999;

}


#back-top{

position:fixed;
left:25px;
bottom:25px;

width:50px;
height:50px;

border:none;
border-radius:50%;

background:var(--black);
color:white;

display:none;

cursor:pointer;

}





/* =========================
RESPONSIVE
========================= */


@media(max-width:1000px){


.hero,
.about{

grid-template-columns:1fr;

}


.hero-image{

height:450px;

}


.service-grid{

grid-template-columns:repeat(2,1fr);

}


.timeline{

grid-template-columns:repeat(2,1fr);

}


.project-gallery{

grid-template-columns:repeat(2,1fr);

}


.contact-grid{

grid-template-columns:1fr;

}


}




@media(max-width:700px){


nav{

position:absolute;
top:80px;
left:0;
width:100%;
background:black;
display:none;
flex-direction:column;
padding:25px;

}


nav.active{

display:flex;

}


#menu-toggle{

display:block;

}


.service-grid,
.timeline,
.project-gallery{

grid-template-columns:1fr;

}


.hero h1{

font-size:2.4rem;

}


.counter-area{

flex-direction:column;

}


.hero-buttons{

flex-direction:column;

}


}