/*==========================================
NEXUS DATA & DEFENSE
GLOBAL STYLES
==========================================*/

:root{

--primary:#00C853;
--primary-dark:#00A844;

--gold:#D9B54A;

--navy:#071C2C;

--navy-light:#102E45;

--dark:#05131E;

--white:#ffffff;

--text:#D7E5F2;

--gray:#9FB2C5;

--border:rgba(255,255,255,.08);

--glass:rgba(255,255,255,.08);

--shadow:0 25px 60px rgba(0,0,0,.45);

--radius:18px;

--transition:.35s ease;

}



*{

margin:0;

padding:0;

box-sizing:border-box;

}



html{

scroll-behavior:smooth;

}



body{

font-family:"Poppins",sans-serif;

background:#071C2C;

color:#fff;

overflow-x:hidden;

line-height:1.7;

}



img{

display:block;

max-width:100%;

}



a{

text-decoration:none;

color:inherit;

}



ul{

list-style:none;

}



.container{

width:min(1320px,92%);

margin:auto;

}



/*==========================================
TYPOGRAPHY
==========================================*/

.section-tag{

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 22px;

border-radius:100px;

background:rgba(0,200,83,.12);

color:#7DFFB3;

font-size:.82rem;

font-weight:600;

letter-spacing:1px;

text-transform:uppercase;

margin-bottom:24px;

}



.section-heading{

text-align:center;

max-width:880px;

margin:0 auto 70px;

}



.section-heading h2{

font-size:clamp(2.4rem,5vw,3.4rem);

line-height:1.2;

font-weight:700;

}



.section-heading p{

margin-top:18px;

color:var(--gray);

font-size:1.05rem;

}



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

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

gap:12px;

padding:16px 34px;

font-weight:600;

border-radius:12px;

transition:var(--transition);

cursor:pointer;

}



.btn-primary{

background:var(--primary);

color:#fff;

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

}



.btn-primary:hover{

transform:translateY(-4px);

background:var(--primary-dark);

box-shadow:0 20px 45px rgba(0,200,83,.45);

}



.btn-outline{

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

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

backdrop-filter:blur(15px);

}



.btn-outline:hover{

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

transform:translateY(-4px);

}



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

.header{

    position:fixed;
    top:0;
    left:0;
    width:100%;

    z-index:999;

    padding:22px 0;

    background:rgba(5,19,30,.72);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(0,200,83,.20);

    transition:all .35s ease;

    overflow:visible;

}

.header::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-1px;

    width:100%;
    height:2px;

    background:linear-gradient(
        90deg,
        transparent 0%,
        #00C853 20%,
        #5DFF9D 50%,
        #00C853 80%,
        transparent 100%
    );

    box-shadow:0 0 12px rgba(0,200,83,.45);

}



.nav-container{

display:flex;

align-items:center;

justify-content:space-between;

}



.logo{

display:flex;

align-items:center;

gap:14px;

}



.logo-icon{

width:62px;

height:62px;

border-radius:14px;

background:linear-gradient(135deg,#00C853,#0E7D4D);

display:flex;

align-items:center;

justify-content:center;

font-size:22px;

color:#fff;

box-shadow:0 10px 30px rgba(0,200,83,.4);

}



.logo-text h2{

font-size:1.7rem;

font-weight:700;

line-height:1;

}



.logo-text span{

display:block;

font-size:.78rem;

letter-spacing:2px;

color:#9BD6B0;

margin-top:4px;

}



nav{

display:flex;

align-items:center;

gap:34px;

}



nav a{

font-size:.95rem;

font-weight:500;

position:relative;

transition:.3s;

}



nav a:hover,

nav a.active{

color:#7DFFB3;

}



nav a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:#00C853;

transition:.35s;

}



nav a:hover::after,

nav a.active::after{

width:100%;

}



.consult-btn{

display:flex;

align-items:center;

gap:12px;

padding:14px 28px;

border-radius:12px;

background:#00C853;

font-weight:600;

transition:.35s;

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

}



.consult-btn:hover{

transform:translateY(-4px);

}



.menu-toggle{

display:none;

width:50px;

height:50px;

border:none;

border-radius:12px;

background:#00C853;

color:#fff;

font-size:24px;

cursor:pointer;

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

.hero{

position:relative;

min-height:100vh;

display:flex;

align-items:center;

overflow:hidden;

background:
linear-gradient(135deg,#04121E 0%,#08243A 55%,#0B3150 100%);

padding-top:110px;

padding-bottom:80px;

}



/*========================
BACKGROUND
========================*/

.hero-overlay{

position:absolute;

inset:0;

background:linear-gradient(
90deg,
rgba(4,18,30,.92),
rgba(4,18,30,.72),
rgba(4,18,30,.35));

z-index:1;

}



.hero-map{

position:absolute;

inset:0;

background:url("../images/hero/world-map.png")
center center/70% no-repeat;

opacity:.08;

z-index:0;

pointer-events:none;

}



.hero-grid{

position:absolute;

inset:0;

background-image:

linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),

linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);

background-size:70px 70px;

opacity:.35;

animation:gridMove 35s linear infinite;

}



.hero-glow{

position:absolute;

border-radius:50%;

filter:blur(120px);

}



.hero-glow-left{

width:420px;

height:420px;

background:#00C853;

left:-120px;

top:100px;

opacity:.18;

}



.hero-glow-right{

width:500px;

height:500px;

background:#00C853;

right:-180px;

bottom:-160px;

opacity:.15;

}



/*========================
LAYOUT
========================*/
.hero-wrapper{

position:relative;

z-index:5;

display:grid;

grid-template-columns:45% 55%;

align-items:start;

gap:60px;

}


.hero-content{

max-width:640px;

}



/*========================
BADGE
========================*/

.hero-badge{

display:inline-flex;

align-items:center;

gap:12px;

padding:12px 24px;

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

backdrop-filter:blur(16px);

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

border-radius:100px;

font-size:.88rem;

font-weight:600;

margin-bottom:18px;

}



.hero-badge i{

color:#00C853;

}



/*========================
HEADLINE
========================*/

.hero-content h1{

    font-size:clamp(2.2rem,3.8vw,3.5rem);

    line-height:1.08;

    font-weight:800;

    letter-spacing:-1px;

    margin-bottom:16px;

}

}
.hero-content h1 span{

display:block;

font-size:3rem;

color:#00C853;

margin:8px 0;

font-weight:700;

}



.hero-content h1 span{

display:block;

color:#00C853;

}



/*========================
TEXT
========================*/
.hero-content p{

    font-size:1rem;

    line-height:1.7;

    color:#C6D8E7;

    max-width:470px;

    margin-bottom:20px;

}


/*========================
BUTTONS
========================*/
.hero-buttons{

display:flex;

gap:16px;

margin-bottom:18px;

flex-wrap:wrap;

}



/*========================
STATISTICS
========================*/

.hero-stats{

display:flex;

gap:18px;

flex-wrap:wrap;

}



.stat-card{

display:flex;

align-items:center;

gap:18px;

padding:20px 24px;

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

backdrop-filter:blur(18px);

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

border-radius:18px;

min-width:220px;

box-shadow:0 20px 50px rgba(0,0,0,.25);

transition:.35s;

}



.stat-card:hover{

transform:translateY(-8px);

}



.stat-icon{

width:58px;

height:58px;

border-radius:14px;

background:#00C853;

display:flex;

align-items:center;

justify-content:center;

font-size:22px;

color:#fff;

}



.stat-icon.gold{

background:#D9B54A;

}



.stat-card h3{

font-size:1.45rem;

margin-bottom:2px;

}



.stat-card span{

font-size:.9rem;

color:#BFD0DD;

}
/*==========================================
HERO IMAGE
==========================================*/

.hero-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:flex-start;

    margin-top:0;

}
.hero-image img{

    width:100%;

    max-width:850px;

    height:auto;

    object-fit:contain;

    display:block;

    border-radius:28px;

    margin-top:85px;

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

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

}

/*==========================================
CAPABILITY CARD
==========================================*/
.capability-card{

position:absolute;

left:-65px;

bottom:30px;

width:250px;

padding:24px;

background:rgba(8,25,40,.65);

backdrop-filter:blur(20px);

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

border-radius:20px;

box-shadow:0 25px 60px rgba(0,0,0,.45);

}

.capability-card h3{

font-size:1.35rem;

margin-bottom:22px;

font-weight:700;

}



.capability-card ul{

display:flex;

flex-direction:column;

gap:18px;

}



.capability-card li{

display:flex;

align-items:center;

gap:15px;

font-weight:500;

color:#D7E5F2;

}



.capability-card li i{

width:46px;

height:46px;

display:flex;

align-items:center;

justify-content:center;

border-radius:12px;

background:#00C853;

color:#fff;

font-size:18px;

flex-shrink:0;

}



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

.trust-strip{

background:#081E30;

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

border-bottom:1px solid rgba(255,255,255,.05);

padding:32px 0;

}



.trust-wrapper{

display:grid;

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

gap:20px;

align-items:center;

}



.trust-item{

display:flex;

align-items:center;

justify-content:center;

gap:12px;

padding:18px;

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

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

border-radius:14px;

font-weight:600;

transition:.35s;

}



.trust-item:hover{

transform:translateY(-6px);

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

}



.trust-item i{

font-size:22px;

color:#00C853;

}



/*==========================================
SECTIONS
==========================================*/

section{

padding:110px 0;

}



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

.footer{

background:#05131E;

padding-top:90px;

}



.footer-grid{

display:grid;

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

gap:50px;

}



.footer-column h3{

margin-bottom:22px;

font-size:1.25rem;

}



.footer-column p{

color:#AFC1D1;

line-height:1.8;

}



.footer-column ul{

display:flex;

flex-direction:column;

gap:15px;

}



.footer-column ul li{

color:#AFC1D1;

display:flex;

align-items:center;

gap:10px;

}



.footer-column a{

transition:.3s;

}



.footer-column a:hover{

color:#00C853;

}



.footer-logo{

display:flex;

align-items:center;

gap:15px;

margin-bottom:20px;

}



.footer-bottom{

margin-top:70px;

padding:25px 0;

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

text-align:center;

color:#8EA4B6;

}



/*==========================================
ANIMATIONS
==========================================*/

@keyframes floatImage{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-12px);

}

}



@keyframes floatCard{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

}



@keyframes gridMove{

0%{

transform:translate(0,0);

}

100%{

transform:translate(70px,70px);

}

}



@keyframes fadeUp{

from{

opacity:0;

transform:translateY(30px);

}

to{

opacity:1;

transform:translateY(0);

}

}



.hero-content{

animation:fadeUp 1s ease;

}



.hero-image{

animation:fadeUp 1.2s ease;

}
/*==========================================
ABOUT SECTION
==========================================*/

.about{

background:#081C2E;

}

.about-wrapper{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}

.about-image img{

width:100%;

border-radius:24px;

box-shadow:0 30px 70px rgba(0,0,0,.35);

}

.about-content h2{

font-size:3rem;

line-height:1.2;

margin-bottom:25px;

}

.about-content p{

color:#BFD0DD;

margin-bottom:35px;

font-size:1.05rem;

line-height:1.9;

}

.about-features{

display:grid;

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

gap:18px;

margin-bottom:40px;

}

.feature{

display:flex;

align-items:center;

gap:12px;

padding:18px;

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

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

border-radius:14px;

transition:.35s;

}

.feature:hover{

transform:translateY(-6px);

border-color:#00C853;

}

.feature i{

color:#00C853;

font-size:20px;

}



/*==========================================
HIGHLIGHTS
==========================================*/

.highlights{

background:#071726;

}

.highlight-grid{

display:grid;

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

gap:28px;

}

.highlight-card{

background:#0C2438;

padding:40px 30px;

border-radius:22px;

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

transition:.35s;

}

.highlight-card:hover{

transform:translateY(-10px);

border-color:#00C853;

}

.highlight-icon{

width:70px;

height:70px;

border-radius:18px;

background:#00C853;

display:flex;

align-items:center;

justify-content:center;

font-size:28px;

margin-bottom:28px;

}

.highlight-card h3{

font-size:1.5rem;

margin-bottom:18px;

}

.highlight-card p{

color:#BFD0DD;

line-height:1.8;

}



/*==========================================
WHY NEXUS
==========================================*/

.why-nexus{

background:#081C2E;

}

.why-grid{

display:grid;

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

gap:28px;

}

.why-card{

padding:40px 30px;

background:#0B2235;

border-radius:22px;

text-align:center;

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

transition:.35s;

}

.why-card:hover{

transform:translateY(-10px);

border-color:#00C853;

}

.why-card i{

font-size:40px;

color:#00C853;

margin-bottom:25px;

}

.why-card h3{

margin-bottom:16px;

font-size:1.4rem;

}

.why-card p{

color:#BFD0DD;

line-height:1.8;

}



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

.cta-section{

background:linear-gradient(135deg,#081C2E,#0B3150);

}

.cta-box{

max-width:950px;

margin:auto;

text-align:center;

padding:80px;

border-radius:28px;

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

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

backdrop-filter:blur(25px);

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

}

.cta-box h2{

font-size:3rem;

margin:25px 0;

line-height:1.2;

}

.cta-box p{

max-width:700px;

margin:0 auto 45px;

color:#C4D6E6;

line-height:1.9;

}

.cta-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}