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

.cyber-hero{

padding:140px 0;

background:

linear-gradient(135deg,#07090d,#10131b,#07090d);

overflow:hidden;

position:relative;

}

.cyber-hero .container{

width:90%;

max-width:1450px;

margin:auto;

display:grid;

grid-template-columns:1fr 1fr;

align-items:center;

gap:80px;

}

/* Background Glow */

.hero-glow{

position:absolute;

border-radius:50%;

filter:blur(180px);

opacity:.25;

}

.glow1{

width:420px;

height:420px;

background:#d62027;

top:-150px;

right:-100px;

}

.glow2{

width:320px;

height:320px;

background:#2979ff;

left:-120px;

bottom:-80px;

}

/* Left */

.hero-badge{

display:inline-block;

padding:10px 24px;

background:rgba(214,32,39,.15);

border:1px solid rgba(214,32,39,.3);

color:#ff5c63;

border-radius:50px;

font-size:13px;

letter-spacing:2px;

font-weight:700;

margin-bottom:30px;

}

.hero-left h1{

font-size:72px;

line-height:1.05;

font-weight:800;

color:white;

margin-bottom:30px;

}

.hero-left h1 span{

color:#ff4040;

}

.hero-left p{

font-size:19px;

line-height:1.9;

color:#c7c7c7;

margin-bottom:40px;

}

/* Buttons */

.hero-buttons{

display:flex;

gap:20px;

margin-bottom:50px;

}

.btn-primary{

padding:18px 36px;

background:#d62027;

border-radius:50px;

color:white;

text-decoration:none;

font-weight:700;

transition:.4s;

}

.btn-primary:hover{

transform:translateY(-6px);

box-shadow:0 20px 45px rgba(214,32,39,.35);

}

.btn-secondary{

padding:18px 36px;

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

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

backdrop-filter:blur(20px);

border-radius:50px;

color:white;

text-decoration:none;

transition:.4s;

}

.btn-secondary:hover{

background:white;

color:#111;

}

/* Stats */

.hero-stats{

display:flex;

gap:35px;

}

.stat{

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

padding:24px;

border-radius:20px;

backdrop-filter:blur(20px);

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

transition:.4s;

}

.stat:hover{

transform:translateY(-8px);

border-color:#d62027;

}

.stat h2{

font-size:42px;

color:white;

margin-bottom:10px;

}

.stat p{

color:#bbb;

margin:0;

}

/* Right */

.hero-right{

position:relative;

}

.hero-right img{

width:100%;

border-radius:30px;

box-shadow:0 40px 90px rgba(0,0,0,.4);

transition:1s;

}

.hero-right:hover img{

transform:scale(1.05);

}

/* Floating Cards */

.floating-card{

position:absolute;

padding:18px 28px;

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

backdrop-filter:blur(25px);

border-radius:18px;

color:white;

font-weight:600;

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

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

}

.card1{

top:40px;

left:-40px;

}

.card2{

bottom:80px;

right:-40px;

animation-delay:1s;

}

.card3{

bottom:-20px;

left:80px;

animation-delay:2s;

}

@keyframes float{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

}

@media(max-width:992px){

.cyber-hero .container{

grid-template-columns:1fr;

}

.hero-left h1{

font-size:48px;

}

.hero-buttons{

flex-direction:column;

}

.hero-stats{

flex-wrap:wrap;

}

}


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

.cyber-services{

padding:140px 0;

background:#ffffff;

position:relative;

overflow:hidden;

}

.cyber-services::before{

content:"";

position:absolute;

width:600px;

height:600px;

background:rgba(214,32,39,.06);

filter:blur(180px);

right:-220px;

top:-150px;

border-radius:50%;

}

.section-header{

text-align:center;

margin-bottom:80px;

}

.section-header span{

display:inline-block;

padding:10px 22px;

background:#ffe8e8;

color:#d62027;

border-radius:40px;

font-size:13px;

font-weight:700;

letter-spacing:2px;

margin-bottom:20px;

}

.section-header h2{

font-size:58px;

font-weight:800;

color:#111;

margin-bottom:25px;

}

.section-header p{

max-width:760px;

margin:auto;

font-size:18px;

line-height:1.9;

color:#666;

}

.services-grid{

display:grid;

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

gap:30px;

}

.service-card{

background:#fff;

border-radius:26px;

overflow:hidden;

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

transition:.45s;

position:relative;

}

.service-card:hover{

transform:translateY(-12px);

box-shadow:0 30px 70px rgba(214,32,39,.18);

}

.service-icon{

position:absolute;

top:20px;

left:20px;

width:60px;

height:60px;

border-radius:18px;

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

display:flex;

justify-content:center;

align-items:center;

font-size:28px;

backdrop-filter:blur(10px);

transition:.4s;

z-index:2;

}

.service-card:hover .service-icon{

transform:rotate(12deg) scale(1.1);

background:#d62027;

color:#fff;

}

.service-card img{

width:100%;

height:220px;

object-fit:cover;

transition:1s;

}

.service-card:hover img{

transform:scale(1.08);

}

.service-card h3{

padding:28px 28px 15px;

font-size:28px;

color:#111;

}

.service-card p{

padding:0 28px;

color:#666;

line-height:1.8;

min-height:120px;

}

.service-card a{

display:inline-block;

margin:25px 28px 30px;

font-weight:700;

color:#d62027;

text-decoration:none;

transition:.3s;

}

.service-card:hover a{

letter-spacing:1px;

}

@media(max-width:1200px){

.services-grid{

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

}

}

@media(max-width:768px){

.services-grid{

grid-template-columns:1fr;

}

.section-header h2{

font-size:40px;

}

}


/* ==============================
   FIREWALL DASHBOARD
============================== */

.firewall-right{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
}

/* Dashboard */

.security-dashboard{
    width:580px;
    background:#111827;
    border-radius:28px;
    padding:35px;
    box-shadow:0 30px 80px rgba(0,0,0,.45);
    border:1px solid rgba(255,255,255,.08);
    position:relative;
    overflow:hidden;
}

/* Glow */

.security-dashboard::before{
    content:"";
    position:absolute;
    width:250px;
    height:250px;
    background:#d62027;
    border-radius:50%;
    filter:blur(120px);
    top:-120px;
    right:-120px;
    opacity:.18;
}

/* Title */

.dashboard-title{
    color:#fff;
    font-size:28px;
    margin-bottom:30px;
}

/* Rows */

.dashboard-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 20px;
    margin-bottom:15px;
    border-radius:16px;
    background:#1f2937;
    transition:.4s;
}

.dashboard-row:hover{
    transform:translateX(8px);
    background:#273449;
}

.dashboard-row span{
    color:#d1d5db;
    font-size:15px;
}

.dashboard-row strong{
    color:#fff;
    font-size:16px;
}

.online{
    color:#22c55e;
}

.danger{
    color:#ef4444;
}

/* Status Dot */

.dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#22c55e;
    display:inline-block;
    margin-right:10px;
    animation:pulse 2s infinite;
}

/* Chart */

.chart{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    height:170px;
    margin-top:35px;
}

.bar{
    width:22px;
    border-radius:20px;
    background:linear-gradient(to top,#d62027,#ff6b6b);
    animation:bars 2s ease-in-out infinite alternate;
}

.bar:nth-child(1){height:70px;}
.bar:nth-child(2){height:120px;}
.bar:nth-child(3){height:90px;}
.bar:nth-child(4){height:150px;}
.bar:nth-child(5){height:110px;}
.bar:nth-child(6){height:160px;}
.bar:nth-child(7){height:130px;}
.bar:nth-child(8){height:90px;}

/* Floating Cards */

.floating-firewall{
    position:absolute;
    padding:16px 24px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    color:#fff;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.1);
    animation:float 5s ease-in-out infinite;
    box-shadow:0 15px 35px rgba(0,0,0,.25);
}

.firewall1{
    top:-20px;
    left:-40px;
}

.firewall2{
    top:70px;
    right:-50px;
    animation-delay:1s;
}

.firewall3{
    bottom:90px;
    left:-30px;
    animation-delay:2s;
}

.firewall4{
    bottom:-20px;
    right:20px;
    animation-delay:3s;
}

/* Animations */

@keyframes float{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-15px);
    }
}

@keyframes pulse{
    0%{
        transform:scale(1);
        opacity:1;
    }
    50%{
        transform:scale(1.5);
        opacity:.5;
    }
    100%{
        transform:scale(1);
        opacity:1;
    }
}

@keyframes bars{
    from{
        opacity:.8;
    }
    to{
        opacity:1;
    }
}

/* Responsive */

@media(max-width:992px){

    .security-dashboard{
        width:100%;
    }

    .floating-firewall{
        display:none;
    }

}


/* ============================
   ZERO TRUST SECTION
============================ */

.zero-trust{
    position:relative;
    padding:130px 8%;
    overflow:hidden;
    background:
    radial-gradient(circle at top right,#d6202715,transparent 35%),
    radial-gradient(circle at bottom left,#0066ff10,transparent 40%),
    #0B0B0D;
}

.zero-trust .container{
    max-width:1450px;
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center;
}

/* ============================
LEFT
============================ */

.sub-title{

display:inline-block;

padding:10px 20px;

border-radius:50px;

background:rgba(214,32,39,.12);

border:1px solid rgba(214,32,39,.3);

color:#ff5d5d;

font-size:13px;

letter-spacing:2px;

font-weight:700;

margin-bottom:25px;

}

.zt-left h2{

font-size:64px;

line-height:1.1;

font-weight:800;

color:#fff;

margin-bottom:30px;

}

.zt-left p{

font-size:18px;

line-height:1.9;

color:#b7b7b7;

max-width:650px;

margin-bottom:50px;

}

/* ============================
FEATURE GRID
============================ */

.feature-grid{

display:grid;

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

gap:25px;

}

.feature-card{

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

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

padding:35px;

border-radius:24px;

backdrop-filter:blur(15px);

transition:.45s;

position:relative;

overflow:hidden;

}

.feature-card::before{

content:"";

position:absolute;

top:-100%;

left:-100%;

width:200%;

height:200%;

background:linear-gradient(45deg,
transparent,
rgba(255,255,255,.12),
transparent);

transform:rotate(45deg);

transition:.8s;

}

.feature-card:hover::before{

top:100%;

left:100%;

}

.feature-card:hover{

transform:translateY(-12px);

border-color:#D62027;

box-shadow:0 25px 60px rgba(214,32,39,.2);

}

.icon{

width:75px;

height:75px;

border-radius:20px;

background:linear-gradient(135deg,#D62027,#ff5f5f);

display:flex;

justify-content:center;

align-items:center;

font-size:34px;

margin-bottom:25px;

box-shadow:0 10px 30px rgba(214,32,39,.35);

}

.feature-card h3{

font-size:24px;

color:#fff;

margin-bottom:15px;

}

.feature-card p{

color:#bdbdbd;

line-height:1.7;

font-size:15px;

margin:0;

}

/* ============================
BUTTON
============================ */

.primary-btn{

display:inline-flex;

align-items:center;

gap:12px;

margin-top:55px;

padding:18px 42px;

border-radius:60px;

background:linear-gradient(135deg,#D62027,#ff6b6b);

color:#fff;

font-weight:700;

text-decoration:none;

transition:.4s;

box-shadow:0 20px 40px rgba(214,32,39,.35);

}

.primary-btn:hover{

transform:translateY(-8px);

box-shadow:0 35px 60px rgba(214,32,39,.45);

}

/* ============================
RIGHT SIDE
============================ */

.zt-right{

display:flex;

justify-content:center;

align-items:center;

position:relative;

}

.cyber-circle{

position:absolute;

width:540px;

height:540px;

border-radius:50%;

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

animation:rotate 25s linear infinite;

}

.cyber-circle::before{

content:"";

position:absolute;

inset:40px;

border-radius:50%;

border:1px dashed rgba(214,32,39,.35);

}

.center-core{

position:absolute;

left:50%;

top:50%;

transform:translate(-50%,-50%);

width:140px;

height:140px;

border-radius:50%;

background:#111;

display:flex;

justify-content:center;

align-items:center;

box-shadow:0 0 70px rgba(214,32,39,.5);

z-index:20;

}

.center-core img{

width:70px;

}

.pulse{

position:absolute;

width:140px;

height:140px;

border-radius:50%;

border:2px solid rgba(214,32,39,.5);

animation:pulse 2.5s infinite;

}

/* ============================
NODES
============================ */

.node{

position:absolute;

width:110px;

height:110px;

border-radius:50%;

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

backdrop-filter:blur(18px);

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

transition:.4s;

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

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

}

.node img{

width:46px;

margin-bottom:8px;

}

.node span{

color:#fff;

font-size:14px;

font-weight:600;

}

.node:hover{

transform:scale(1.12);

background:#D62027;

box-shadow:0 20px 45px rgba(214,32,39,.45);

}

/* NODE POSITIONS */

.firewall{
top:40px;
left:40px;
}

.vpn{
top:40px;
right:40px;
animation-delay:1s;
}

.users{
bottom:40px;
left:40px;
animation-delay:2s;
}

.server{
bottom:40px;
right:40px;
animation-delay:3s;
}

.cloud{
top:-10px;
left:50%;
transform:translateX(-50%);
animation-delay:4s;
}

/* ============================
SVG LINES
============================ */

.connections{

position:absolute;

width:100%;

height:100%;

}

.connections line{

stroke:#D62027;

stroke-width:2;

stroke-dasharray:10;

animation:dash 5s linear infinite;

}

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

@keyframes float{

0%,100%{
transform:translateY(0px);
}

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

}

@keyframes rotate{

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

}

@keyframes pulse{

0%{

transform:scale(.8);

opacity:1;

}

100%{

transform:scale(1.8);

opacity:0;

}

}

@keyframes dash{

to{

stroke-dashoffset:-100;

}

}

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

@media(max-width:992px){

.zero-trust .container{

grid-template-columns:1fr;

gap:80px;

}

.zt-left{

text-align:center;

}

.feature-grid{

grid-template-columns:1fr;

}

.zt-left h2{

font-size:46px;

}

.cyber-circle{

width:420px;

height:420px;

}

}