:root{

--navy:#0B2E59;
--navy-dark:#071C36;
--navy-light:#153F75;

--orange:#FF7A00;
--orange-dark:#E86600;

--light:#F7F9FC;
--white:#FFFFFF;
--text:#2C3E50;

}

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

body{

font-family:'Inter',sans-serif;
background:var(--light);
color:var(--text);

}

h1,h2,h3,h4,h5{

font-family:'Montserrat',sans-serif;
font-weight:700;

}

/* LOADER */

#loader{

position:fixed;
inset:0;
background:var(--navy-dark);

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

z-index:99999;

}

.spinner{

width:60px;
height:60px;

border:5px solid rgba(255,255,255,.15);

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

border-radius:50%;

animation:spin 1s linear infinite;

}

@keyframes spin{

100%{
transform:rotate(360deg);
}

}

/* NAVBAR */

.navbar{

background:rgba(11,46,89,.95);

backdrop-filter:blur(10px);

}

.navbar-brand{

font-size:2rem;
font-weight:800;

}

.navbar-brand span{

color:var(--orange);

}

.nav-link{

font-weight:500;
margin-left:10px;

}

/* HERO */

.hero{

position:relative;

background:
linear-gradient(
rgba(7,28,54,.90),
rgba(7,28,54,.90)
),
url('../assets/hero-bg.jpg');

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

color:white;

}

.hero-badge{

display:inline-block;

padding:8px 15px;

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

border-radius:50px;

margin-bottom:20px;

font-size:.9rem;

}

.hero-title{

font-size:7rem;
font-weight:800;

}

.hero-title span{

color:var(--orange);

}

.hero-subtitle{

font-size:2rem;

margin-bottom:20px;

}

.hero-text{

font-size:1.1rem;

max-width:600px;

margin-bottom:30px;

}

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

.hero-logo{

    width:380px;
    height:380px;

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

}

@keyframes heroFloat{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-20px);
    }

    100%{
        transform:translateY(0);
    }

}

/* BUTTON */

.btn-orange{

background:var(--orange);
color:white;

padding:14px 28px;

border-radius:10px;

font-weight:600;

}

.btn-orange:hover{

background:var(--orange-dark);
color:white;

}

/* SECTION */

.section{

padding:100px 0;

}

.section-header{

text-align:center;

margin-bottom:60px;

}

.section-header h2{

color:var(--navy);

font-size:2.8rem;

margin-bottom:10px;

}

/* STATS */

.stats-grid{

display:grid;

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

gap:20px;

}

.stat-box{

background:white;

padding:30px;

border-radius:15px;

text-align:center;

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

}

.stat-box h3{

color:var(--orange);

font-size:2rem;

}

/* SERVICES */

.service-card{

background:white;

padding:35px;

border-radius:20px;

text-align:center;

height:100%;

transition:.3s;

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

}

.service-card:hover{

transform:translateY(-8px);

}

.service-card i{

font-size:3rem;

color:var(--orange);

margin-bottom:20px;

}

/* PRODUCTS */

.product-card{

background:
linear-gradient(
135deg,
var(--navy),
var(--navy-light)
);

color:white;

padding:40px;

border-radius:20px;

height:100%;

transition:.3s;

}

.product-card:hover{

transform:translateY(-8px);

}

.product-card h4{

color:var(--orange);

}

/* CONTACT */

.contact-section{

background:
linear-gradient(
135deg,
var(--navy),
var(--navy-dark)
);

color:white;

padding:100px 0;

}

/* FOOTER */

footer{

background:#04111F;

color:#B0BEC5;

text-align:center;

padding:25px;

}

/* MOBILE */

@media(max-width:768px){

.hero-title{

font-size:4rem;

}

.hero-subtitle{

font-size:1.5rem;

}

.hero-logo{

max-width:220px;

margin-top:40px;

}

.section-header h2{

font-size:2rem;

}

}