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

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
background:#ffffff;
color:#1f2937;
line-height:1.7;
overflow-x:hidden;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
}

ul{
list-style:none;
}

/* =======================================
   COLORS
======================================= */

:root{

--navy:#0B2E59;
--navy-dark:#071E39;

--orange:#FF7A00;
--orange-dark:#E36600;

--yellow:#FFC72C;

--light:#F7F9FC;

--gray:#6B7280;

--dark:#1E293B;

--white:#ffffff;

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

--radius:18px;

}

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

.container{

width:min(1180px,92%);
margin:auto;

}

section{

padding:90px 0;

}

.section-title{

text-align:center;
margin-bottom:60px;

}

.section-title h2{

font-size:2.6rem;
font-weight:700;
color:var(--navy);
margin-bottom:15px;

}

.section-title p{

max-width:700px;
margin:auto;
color:var(--gray);
font-size:1.05rem;

}

.section-tag{

display:inline-block;

background:rgba(255,122,0,.12);

color:var(--orange);

padding:8px 18px;

border-radius:999px;

font-size:.9rem;

font-weight:600;

margin-bottom:20px;

}

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

.primary-btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 34px;

background:var(--orange);

color:white;

font-weight:600;

border-radius:999px;

transition:.3s;

box-shadow:0 10px 25px rgba(255,122,0,.35);

}

.primary-btn:hover{

background:var(--orange-dark);

transform:translateY(-3px);

}

.secondary-btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 34px;

border:2px solid white;

color:white;

border-radius:999px;

font-weight:600;

transition:.3s;

}

.secondary-btn:hover{

background:white;

color:var(--navy);

}

.call-btn{

background:var(--orange);

color:white;

padding:12px 24px;

border-radius:999px;

font-weight:600;

transition:.3s;

}

.call-btn:hover{

background:var(--orange-dark);

}

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

header{

position:fixed;

top:0;

left:0;

width:100%;

background:white;

z-index:999;

box-shadow:0 5px 18px rgba(0,0,0,.05);

}

.nav-container{

display:flex;

justify-content:space-between;

align-items:center;

height:82px;

}

.logo{

display:flex;

align-items:baseline;

gap:4px;

font-weight:800;

}

.logo-blue{

font-size:1.9rem;

color:var(--navy);

}

.logo-orange{

font-size:1.9rem;

color:var(--orange);

}

.logo-small{

font-size:.9rem;

font-weight:700;

color:var(--yellow);

margin-left:3px;

}

.nav-links{

display:flex;

gap:35px;

}

.nav-links a{

font-weight:500;

color:var(--dark);

transition:.25s;

}

.nav-links a:hover{

color:var(--orange);

}

.menu-toggle{

display:none;

font-size:2rem;

cursor:pointer;

}

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

.hero{

position:relative;

padding-top:170px;

padding-bottom:120px;

background:
linear-gradient(135deg,#071E39 0%,#0B2E59 60%,#103E74 100%);

overflow:hidden;

}

.hero::before{

content:"";

position:absolute;

width:650px;

height:650px;

background:rgba(255,122,0,.10);

border-radius:50%;

top:-220px;

right:-180px;

filter:blur(40px);

}

.hero::after{

content:"";

position:absolute;

width:350px;

height:350px;

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

border-radius:50%;

left:-120px;

bottom:-120px;

filter:blur(30px);

}

.hero-overlay{

position:absolute;

inset:0;

background:
radial-gradient(circle at top right,
rgba(255,122,0,.18),
transparent 45%);

}

.hero-content{

position:relative;

display:grid;

grid-template-columns:1fr 1fr;

align-items:center;

gap:70px;

z-index:2;

}

.hero-badge{

display:inline-block;

padding:10px 18px;

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

color:white;

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

border-radius:999px;

margin-bottom:25px;

font-size:.95rem;

backdrop-filter:blur(12px);

}

.hero-text h1{

font-size:4rem;

line-height:1.05;

color:white;

margin-bottom:25px;

font-weight:800;

}

.hero-text p{

font-size:1.1rem;

color:rgba(255,255,255,.85);

max-width:560px;

margin-bottom:35px;

}

.hero-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

}

.hero-graphic{

display:flex;

justify-content:center;

align-items:center;

}

.hero-logo{

width:100%;

max-width:460px;

height:auto;

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

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

}

@keyframes float{

0%{transform:translateY(0);}
50%{transform:translateY(-14px);}
100%{transform:translateY(0);}

}
/* =======================================
   TRUST STRIP
======================================= */

.trust-strip{

background:#ffffff;

padding:35px 0;

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

}

.trust-grid{

display:grid;

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

gap:30px;

text-align:center;

}

.trust-grid h3{

font-size:2rem;

color:var(--orange);

margin-bottom:8px;

font-weight:700;

}

.trust-grid p{

color:var(--gray);

font-weight:500;

}

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

.services{

background:var(--light);

}

.services-grid{

display:grid;

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

gap:30px;

}

.service-card{

background:white;

padding:40px 35px;

border-radius:var(--radius);

text-align:center;

box-shadow:var(--shadow);

transition:.35s;

border-top:5px solid transparent;

}

.service-card:hover{

transform:translateY(-10px);

border-top:5px solid var(--orange);

}

.service-card img{

width:82px;

height:82px;

margin:0 auto 25px;

}

.service-card h3{

font-size:1.4rem;

color:var(--navy);

margin-bottom:15px;

}

.service-card p{

color:var(--gray);

font-size:1rem;

}

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

.about{

background:white;

}

.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.about-text h2{

font-size:2.8rem;

color:var(--navy);

margin-bottom:25px;

}

.about-text p{

color:var(--gray);

margin-bottom:22px;

font-size:1.05rem;

}

.about-text .primary-btn{

margin-top:10px;

}

.about-graphic{

display:flex;

justify-content:center;

align-items:center;

}

.about-graphic img{

max-width:420px;

width:100%;

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

filter:drop-shadow(0 20px 35px rgba(0,0,0,.18));

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

.why{

background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);

}

.why-grid{

display:grid;

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

gap:30px;

}

.why-card{

background:white;

padding:40px 30px;

border-radius:var(--radius);

text-align:center;

box-shadow:var(--shadow);

transition:.35s;

position:relative;

overflow:hidden;

}

.why-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:linear-gradient(90deg,var(--orange),var(--yellow));

transform:scaleX(0);

transition:.35s;

transform-origin:left;

}

.why-card:hover{

transform:translateY(-10px);

}

.why-card:hover::before{

transform:scaleX(1);

}

.why-card img{

width:80px;

height:80px;

margin:0 auto 25px;

}

.why-card h3{

font-size:1.35rem;

margin-bottom:15px;

color:var(--navy);

}

.why-card p{

color:var(--gray);

}

/* =======================================
   REVIEWS
======================================= */

.reviews{

background:var(--navy);

}

.reviews .section-title h2{

color:white;

}

.reviews .section-title p{

color:rgba(255,255,255,.75);

}

.reviews-grid{

display:grid;

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

gap:30px;

}

.review-card{

background:white;

padding:35px;

border-radius:var(--radius);

box-shadow:var(--shadow);

transition:.35s;

}

.review-card:hover{

transform:translateY(-8px);

}

.stars{

font-size:1.4rem;

color:var(--yellow);

margin-bottom:20px;

letter-spacing:2px;

}

.review-card p{

color:var(--gray);

margin-bottom:25px;

font-style:italic;

}

.review-card h4{

color:var(--navy);

}

/* =======================================
   SERVICE AREAS
======================================= */

.service-areas{

background:white;

}

.areas-grid{

display:grid;

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

gap:22px;

}

.area-card{

background:var(--navy);

color:white;

padding:28px;

border-radius:14px;

text-align:center;

font-weight:600;

transition:.3s;

cursor:default;

}

.area-card:hover{

background:var(--orange);

transform:translateY(-6px);

}

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

.cta{

background:
linear-gradient(135deg,var(--orange),#ff9300);

text-align:center;

color:white;

}

.cta h2{

font-size:2.8rem;

margin-bottom:20px;

}

.cta p{

font-size:1.1rem;

max-width:700px;

margin:0 auto 35px;

opacity:.95;

}

.cta .primary-btn{

background:white;

color:var(--navy);

box-shadow:none;

}

.cta .primary-btn:hover{

background:#f4f4f4;

transform:translateY(-3px);

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

footer{

background:var(--navy-dark);

color:white;

padding:80px 0 30px;

}

.footer-grid{

display:grid;

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

gap:50px;

margin-bottom:50px;

}

.footer-column h3{

font-size:1.35rem;

margin-bottom:20px;

color:white;

}

.footer-column p{

color:rgba(255,255,255,.75);

line-height:1.8;

}

.footer-column ul{

display:flex;

flex-direction:column;

gap:14px;

}

.footer-column ul li{

color:rgba(255,255,255,.75);

}

.footer-column ul li a{

color:rgba(255,255,255,.75);

transition:.3s;

}

.footer-column ul li a:hover{

color:var(--orange);

}

.footer-link{

display:inline-block;

margin-top:18px;

color:var(--yellow);

font-weight:600;

transition:.3s;

}

.footer-link:hover{

color:var(--orange);

}

.footer-bottom{

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

padding-top:25px;

text-align:center;

}

.footer-bottom p{

color:rgba(255,255,255,.6);

font-size:.95rem;

}

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

@media(max-width:1100px){

.hero-content,
.about-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-text p{

margin:0 auto 35px;

}

.hero-buttons{

justify-content:center;

}

.hero-graphic{

margin-top:40px;

}

.services-grid{

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

}

.why-grid{

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

}

.reviews-grid{

grid-template-columns:1fr;

}

.areas-grid{

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

}

.footer-grid{

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

}

}

@media(max-width:768px){

header{

height:80px;

}

.nav-links{

position:absolute;

top:80px;

left:0;

width:100%;

background:white;

flex-direction:column;

align-items:center;

gap:25px;

padding:35px 0;

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

display:none;

}

.nav-links.active{

display:flex;

}

.call-btn{

display:none;

}

.menu-toggle{

display:block;

}

.hero{

padding-top:140px;

}

.hero-text h1{

font-size:2.9rem;

}

.section-title h2{

font-size:2.2rem;

}

.services-grid{

grid-template-columns:1fr;

}

.why-grid{

grid-template-columns:1fr;

}

.trust-grid{

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

gap:25px;

}

.about-text h2{

font-size:2.2rem;

}

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

}

@media(max-width:520px){

.hero-text h1{

font-size:2.35rem;

}

.hero-buttons{

flex-direction:column;

}

.primary-btn,
.secondary-btn{

width:100%;

}

.trust-grid{

grid-template-columns:1fr;

}

.areas-grid{

grid-template-columns:1fr;

}

section{

padding:70px 0;

}

.container{

width:94%;

}

}
/* =======================================
   FLOATING CALL BUTTON
======================================= */

.floating-call{

position:fixed;

right:25px;

bottom:25px;

background:#FF7A00;

color:#fff;

padding:16px 24px;

border-radius:18px;

font-weight:700;

font-size:1rem;

line-height:1.35;

text-align:center;

box-shadow:0 12px 30px rgba(255,122,0,.45);

z-index:9999;

transition:.3s;

animation:pulse 2.2s infinite;

}

.floating-call span{

display:block;

margin-top:4px;

font-size:1.15rem;

font-weight:800;

letter-spacing:.5px;

}

.floating-call:hover{

transform:translateY(-4px);

background:#E36600;

}

@keyframes pulse{

0%{

box-shadow:0 0 0 0 rgba(255,122,0,.45);

}

70%{

box-shadow:0 0 0 18px rgba(255,122,0,0);

}

100%{

box-shadow:0 0 0 0 rgba(255,122,0,0);

}

}

@media(max-width:768px){

.floating-call{

left:15px;

right:15px;

bottom:18px;

padding:18px;

font-size:1.05rem;

border-radius:16px;

}

.floating-call span{

font-size:1.2rem;

}

}
