:root{
    /* Light theme (default) */
     --bg: #F7FAFD;
     --bg-alt: #EEF3FA;
     --bg-raised: #FFFFFF;
     --text: #0B1120;
     --text-muted: #566079;
     --border: rgba(11,17,32,0.08);
     --nav-bg: rgba(247,250,253,0.85);
     --accent-cyan: #00C2D1;
     --accent-blue: #2F6FEF;
     --accent-violet: #7C5CFF;
     --accent-green: #17B884;
     --accent-red: #FF4761;
     --grad-signature: linear-gradient(120deg, var(--accent-blue), var(--accent-cyan) 55%, var(--accent-violet));
     --grad-text: linear-gradient(120deg, #0B4DFF, #00C2D1 60%, #7C5CFF);
     --shadow-soft: 0 20px 60px -20px rgba(11,17,32,0.18);
     --shadow-card: 0 10px 30px -12px rgba(11,17,32,0.12);
     --radius: 18px;
     --font-display: 'Space Grotesk', sans-serif;
     --font-body: 'Space Grotesk', sans-serif;
     --font-mono: 'Space Grotesk', sans-serif;
}
 html[data-theme="dark"]{
     --bg: #070B14;
     --bg-alt: #0D1526;
     --bg-raised: #121B30;
     --text: #E9EDF6;
     --text-muted: #93A0BC;
     --border: rgba(148,163,196,0.14);
     --nav-bg: rgba(7,11,20,0.8);
     --shadow-soft: 0 20px 60px -20px rgba(0,0,0,0.7);
     --shadow-card: 0 10px 30px -12px rgba(0,0,0,0.55);
}
 *{
    box-sizing:border-box;
}
 html{
    scroll-behavior:smooth;
     overflow-x:clip;
     max-width:100%;
}
 body{
     background:var(--bg);
     color:var(--text);
     font-family:var(--font-body);
     transition:background .35s ease, color .35s ease;
     overflow-x:clip;
     max-width:100%;
}
 html[data-theme="dark"] body{
     background-image: radial-gradient(circle at 12% 8%, rgba(0,194,209,0.06), transparent 32%), radial-gradient(circle at 88% 92%, rgba(124,92,255,0.07), transparent 35%);
     background-attachment:fixed;
}
 img{
    max-width:100%;
     height:auto;
}
/* Bootstrap utility overrides that break in dark mode */
 .text-muted{
    color:var(--text-muted) !important;
}
 .navbar-toggler{
    color:var(--text);
}
 .navbar-toggler i{
    color:var(--text);
}
 html[data-theme="dark"] .form-select{
     --bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2393a0bc' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
 html[data-theme="dark"] .btn-close{
    filter:invert(1) grayscale(100%) brightness(1.8);
}
 h1,h2,h3,h4,.display-font{
    font-family:var(--font-display);
     color:var(--text);
     letter-spacing:-0.02em;
}
 .mono{
    font-family:var(--font-mono);
}
 p{
    color:var(--text-muted);
     line-height:1.75;
}
 a{
    text-decoration:none;
}
 ::selection{
    background:var(--accent-cyan);
     color:#04121a;
}
 .section{
    padding:110px 0;
}
 @media(max-width:768px){
    .section{
        padding:72px 0;
    }
}
 .section-alt{
    background:var(--bg-alt);
}
 .eyebrow{
     display:inline-flex;
     align-items:center;
     gap:8px;
     font-family:var(--font-mono);
     font-size:.72rem;
     letter-spacing:.14em;
     text-transform:uppercase;
     color:var(--accent-blue);
     background:rgba(47,111,239,0.08);
     border:1px solid rgba(47,111,239,0.18);
     padding:6px 14px;
     border-radius:100px;
     margin-bottom:18px;
}
 html[data-theme="dark"] .eyebrow{
    color:var(--accent-cyan);
     background:rgba(0,194,209,0.08);
     border-color:rgba(0,194,209,0.22);
}
 .eyebrow .dot{
    width:6px;
     height:6px;
     border-radius:50%;
     background:var(--accent-green);
     box-shadow:0 0 0 3px rgba(23,184,132,0.2);
     animation:pulse-dot 1.6s infinite;
}
 @keyframes pulse-dot{
    0%,100%{
        opacity:1;
    }
    50%{
        opacity:.35;
    }
}
 .section-title{
    font-size:clamp(1.9rem,3.4vw,2.75rem);
     font-weight:700;
     margin-bottom:16px;
}
 .section-sub{
    max-width:620px;
}
 .grad-text{
     background:var(--grad-text);
     -webkit-background-clip:text;
     background-clip:text;
     color:transparent;
}
 .btn{
    border-radius:12px;
     font-weight:600;
     padding:.75rem 1.5rem;
     font-family:var(--font-body);
     font-size:.95rem;
     transition:.25s ease;
}
 .btn-cyber{
     background:var(--grad-signature);
     color:#04121a;
     border:none;
     box-shadow:0 12px 30px -10px rgba(0,194,209,0.45);
}
 .btn-cyber:hover{
    transform:translateY(-2px);
     box-shadow:0 16px 36px -10px rgba(0,194,209,0.55);
     color:#04121a;
}
 .btn-outline-cyber{
     border:1.5px solid var(--border);
     color:var(--text);
     background:transparent;
}
 .btn-outline-cyber:hover{
    border-color:var(--accent-cyan);
     color:var(--text);
     background:rgba(0,194,209,0.06);
}
 .btn-sm-cyber{
    padding:.55rem 1.1rem;
     font-size:.85rem;
     border-radius:10px;
}
/* ================= TOP BAR ================= */
 .topbar{
     background:var(--text);
     color:#cfd6e6;
     font-size:.82rem;
     font-family:var(--font-mono);
     padding:9px 0;
     position:relative;
     z-index:1050;
}
 html[data-theme="dark"] .topbar{
    background:#03060B;
}
 .topbar a{
    color:#cfd6e6;
}
 .topbar .divider{
    opacity:.25;
     margin:0 10px;
}
 .topbar .soc-badge{
     display:inline-flex;
     align-items:center;
     gap:6px;
     color:#7CF2C4;
}
 .topbar .soc-badge .dot{
    width:6px;
     height:6px;
     background:#22e39a;
     border-radius:50%;
     animation:pulse-dot 1.6s infinite;
}
 .topbar-social a{
    color:#cfd6e6;
     opacity:.8;
     margin-left:14px;
     font-size:.95rem;
}
 .topbar-social a:hover{
    opacity:1;
     color:var(--accent-cyan);
}
/* ================= NAVBAR ================= */
 .navbar-cyber{
     padding:16px 0;
     background:var(--nav-bg);
     backdrop-filter:blur(14px);
     -webkit-backdrop-filter:blur(14px);
     border-bottom:1px solid var(--border);
     transition:.3s ease;
}
 .navbar-cyber.scrolled{
    padding:10px 0;
     box-shadow:var(--shadow-card);
}
 .brand{
    font-family:var(--font-display);
     font-weight:800;
     font-size:1.4rem;
     color:var(--text);
     display:flex;
     align-items:center;
     gap:10px;
}
 .brand .brand-mark{
     width:38px;
     height:38px;
     border-radius:10px;
     background:var(--grad-signature);
     display:flex;
     align-items:center;
     justify-content:center;
     color:#fff;
     font-size:1.1rem;
}
 .navbar-cyber .nav-link{
     color:var(--text) !important;
     font-weight:500;
     font-size:.94rem;
     margin:0 4px;
     position:relative;
     opacity:.85;
}
 .navbar-cyber .nav-link:hover{
    opacity:1;
     color:var(--accent-blue) !important;
}
 .navbar-cyber .nav-link.active{
    opacity:1;
     color:var(--accent-blue) !important;
}
 .theme-toggle{
     width:52px;
     height:28px;
     border-radius:100px;
     background:var(--bg-alt);
     border:1px solid var(--border);
     display:flex;
     align-items:center;
     padding:3px;
     cursor:pointer;
     position:relative;
}
 .theme-toggle .knob{
     width:20px;
     height:20px;
     border-radius:50%;
     background:var(--grad-signature);
     display:flex;
     align-items:center;
     justify-content:center;
     color:#fff;
     font-size:.65rem;
     transition:.3s ease;
     transform:translateX(0);
}
 html[data-theme="dark"] .theme-toggle .knob{
    transform:translateX(24px);
}
/* ================= HERO ================= */
 .hero{
    padding:100px 0 90px;
     background:var(--bg);
}
 .hero-grid{
     position:absolute;
     inset:0;
     z-index:0;
     background-image:linear-gradient(var(--border) 1px,transparent 1px), linear-gradient(90deg,var(--border) 1px,transparent 1px);
     background-size:46px 46px;
     mask-image:radial-gradient(ellipse at 60% 20%, black 10%, transparent 70%);
     -webkit-mask-image:radial-gradient(ellipse at 60% 20%, black 10%, transparent 70%);
}
 .hero-glow{
    position:absolute;
     border-radius:50%;
     filter:blur(90px);
     z-index:0;
     opacity:.35;
     pointer-events:none;
}
 .hero-glow-1{
    width:420px;
     height:420px;
     background:var(--accent-cyan);
     top:-120px;
     right:8%;
}
 .hero-glow-2{
    width:380px;
     height:380px;
     background:var(--accent-violet);
     bottom:-140px;
     left:2%;
}
 .hero-stats > div{
    border-left:2px solid var(--border);
     padding-left:14px;
}
 .console-card{
     max-width:460px;
     border-radius:16px;
     overflow:hidden;
     background:#0A0F1C;
     border:1px solid rgba(255,255,255,0.08);
     box-shadow:var(--shadow-soft);
     position:relative;
}
 .console-head{
     display:flex;
     justify-content:space-between;
     align-items:center;
     padding:12px 16px;
     background:#0D1424;
     border-bottom:1px solid rgba(255,255,255,0.06);
}
 .console-dot{
    width:10px;
     height:10px;
     border-radius:50%;
     display:inline-block;
}
 .console-body{
    padding:20px 18px;
     font-size:.85rem;
}
 .console-row{
    display:flex;
     justify-content:space-between;
     color:#B7C0D6;
     padding:7px 0;
     border-bottom:1px dashed rgba(255,255,255,0.06);
}
 .console-row .ok{
    color:#22e39a;
}
 .console-row .blocked{
    color:#FF5F73;
}
 .console-row.typing .cursor{
    animation:blink 1s step-end infinite;
     color:#00C2D1;
}
 @keyframes blink{
    50%{
        opacity:0;
    }
}
 .console-scanline{
     position:absolute;
     left:0;
     right:0;
     height:2px;
     background:linear-gradient(90deg,transparent, #00C2D1, transparent);
     top:60px;
     animation:scan 3.4s linear infinite;
     opacity:.8;
}
 @keyframes scan{
    0%{
        transform:translateY(0);
         opacity:0;
    }
    10%{
        opacity:1;
    }
    90%{
        opacity:1;
    }
    100%{
        transform:translateY(260px);
         opacity:0;
    }
}
 .console-footer{
    padding:14px 18px;
     background:#0D1424;
     border-top:1px solid rgba(255,255,255,0.06);
}
/* ================= LOGO MARQUEE ================= */
 .logo-marquee{
    overflow:hidden;
     -webkit-mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);
     mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);
}
 .logo-track{
    display:flex;
     gap:60px;
     width:max-content;
     animation:marquee 26s linear infinite;
}
 .logo-item{
    font-family:var(--font-display);
     font-weight:600;
     font-size:1.15rem;
     color:var(--text-muted);
     opacity:.7;
     white-space:nowrap;
     display:flex;
     align-items:center;
}
 .logo-item i{
    font-size:.7rem;
}
 @keyframes marquee{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}
/* ================= ABOUT ================= */
 .about-media img{
    box-shadow:var(--shadow-soft);
     aspect-ratio:4/3.4;
     object-fit:cover;
}
 .about-media{
    max-width:100%;
}
 .about-float{
     position:absolute;
     bottom:-24px;
     right:-18px;
     background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:14px;
     padding:14px 18px;
     display:flex;
     align-items:center;
     box-shadow:var(--shadow-card);
     max-width:260px;
}
 @media(max-width:480px){
     .about-float{
        right:0;
         left:0;
         margin:0 auto;
         bottom:-18px;
         max-width:88%;
    }
}
 .stat-strip{
    border-top:1px solid var(--border);
}
/* ================= SERVICES ================= */
 .service-card{
     background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:var(--radius);
     padding:32px 28px;
     height:100%;
     position:relative;
     transition:.3s ease;
     cursor:pointer;
}
 .service-card:hover{
    transform:translateY(-6px);
     box-shadow:var(--shadow-card);
     border-color:rgba(0,194,209,0.35);
}
 .service-card:focus-visible{
    outline:2px solid var(--accent-cyan);
     outline-offset:3px;
}
 .service-link{
    color:var(--accent-blue);
     font-weight:600;
     font-size:.9rem;
}
 html[data-theme="dark"] .service-link{
    color:var(--accent-cyan);
}
 .service-icon{
     width:52px;
     height:52px;
     border-radius:14px;
     background:var(--bg-alt);
     display:flex;
     align-items:center;
     justify-content:center;
     font-size:1.35rem;
     color:var(--accent-blue);
     margin-bottom:18px;
}
 html[data-theme="dark"] .service-icon{
    color:var(--accent-cyan);
}
 .service-tag{
     position:absolute;
     top:28px;
     right:24px;
     font-family:var(--font-mono);
     font-size:.62rem;
     letter-spacing:.08em;
     color:var(--accent-blue);
     background:rgba(47,111,239,0.1);
     border:1px solid rgba(47,111,239,0.25);
     padding:3px 9px;
     border-radius:100px;
}
 .service-card a{
    color:var(--accent-blue);
}
 html[data-theme="dark"] .service-card a{
    color:var(--accent-cyan);
}
/* ================= FEATURES ================= */
 .feature-row{
    display:flex;
     gap:16px;
     margin-bottom:26px;
     align-items:flex-start;
}
 .feature-icon{
     width:46px;
     height:46px;
     min-width:46px;
     border-radius:12px;
     background:var(--bg-alt);
     border:1px solid var(--border);
     display:flex;
     align-items:center;
     justify-content:center;
     color:var(--accent-blue);
     font-size:1.15rem;
}
 html[data-theme="dark"] .feature-icon{
    color:var(--accent-cyan);
}
 .feature-img{
    box-shadow:var(--shadow-card);
     aspect-ratio:1/1;
     object-fit:cover;
}
/* ================= PROCESS ================= */
 .process-card{
     background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:var(--radius);
     padding:30px 26px;
     height:100%;
     position:relative;
     overflow:hidden;
}
 .process-num{
     font-size:2.4rem;
     font-weight:600;
     color:transparent;
     -webkit-text-stroke:1.5px var(--border);
}
/* ================= VIDEO SHOWCASE ================= */
 .video-showcase{
     position:relative;
     max-width:920px;
     margin:0 auto;
     border-radius:22px;
     overflow:hidden;
     box-shadow:var(--shadow-soft);
     aspect-ratio:16/9;
}
 .video-poster{
    width:100%;
     height:100%;
     object-fit:cover;
     display:block;
     filter:brightness(0.7);
}
 .video-play-btn{
     position:absolute;
     top:50%;
     left:50%;
     transform:translate(-50%,-50%);
     width:88px;
     height:88px;
     border-radius:50%;
     background:var(--grad-signature);
     color:#04121a;
     font-size:2rem;
     display:flex;
     align-items:center;
     justify-content:center;
     box-shadow:0 0 0 0 rgba(0,194,209,0.5);
     animation:video-pulse 2.4s infinite;
}
 .video-play-btn i{
    margin-left:4px;
}
 @keyframes video-pulse{
     0%{
        box-shadow:0 0 0 0 rgba(0,194,209,0.45);
    }
     70%{
        box-shadow:0 0 0 22px rgba(0,194,209,0);
    }
     100%{
        box-shadow:0 0 0 0 rgba(0,194,209,0);
    }
}
 .video-duration{
     position:absolute;
     bottom:16px;
     right:16px;
     background:rgba(4,7,14,0.7);
     color:#fff;
     padding:5px 12px;
     border-radius:100px;
     font-size:.78rem;
}
 .mfp-bg{
    background:#03060c;
     opacity:.9;
}
 .mfp-iframe-holder .mfp-content{
    max-width:900px;
}
/* ================= THREAT INTEL (signature) ================= */
 .threat-section{
    background:#050810;
     position:relative;
     overflow:hidden;
}
 .threat-bg{
     position:absolute;
     inset:0;
     background:radial-gradient(circle at 20% 30%, rgba(124,92,255,0.18), transparent 45%), radial-gradient(circle at 80% 70%, rgba(0,194,209,0.16), transparent 45%);
}
 .threat-stat{
    display:flex;
     align-items:baseline;
     gap:14px;
}
 .threat-panel{
    background:#0A0F1C;
     border:1px solid rgba(255,255,255,0.07);
     border-radius:20px;
     overflow:hidden;
     box-shadow:var(--shadow-soft);
}
 .threat-panel-head{
    display:flex;
     justify-content:space-between;
     align-items:center;
     padding:14px 20px;
     border-bottom:1px solid rgba(255,255,255,0.06);
}
 .live-pill{
    display:flex;
     align-items:center;
     gap:6px;
     color:#FF6B7C;
     font-family:var(--font-mono);
     font-size:.7rem;
     letter-spacing:.08em;
}
 .live-pill .dot{
    width:6px;
     height:6px;
     background:#FF3B5C;
     border-radius:50%;
     animation:pulse-dot 1.1s infinite;
}
 .threat-grid-vis{
     display:grid;
     grid-template-columns:repeat(24,1fr);
     gap:5px;
     padding:24px;
     height:280px;
     align-content:center;
}
 .threat-node{
    width:100%;
     aspect-ratio:1/1;
     border-radius:2px;
     background:rgba(255,255,255,0.05);
}
 .threat-node.ping{
    animation:node-ping 2.6s ease-in-out infinite;
}
 @keyframes node-ping{
     0%,100%{
        background:rgba(255,255,255,0.05);
    }
     40%{
        background:var(--accent-cyan);
         box-shadow:0 0 8px var(--accent-cyan);
    }
     70%{
        background:var(--accent-red);
         box-shadow:0 0 8px var(--accent-red);
    }
}
/* ================= PRICING ================= */
 .price-card{
     background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:var(--radius);
     padding:34px 30px;
     height:100%;
     position:relative;
}
 .price-featured{
    border-color:var(--accent-cyan);
     box-shadow:var(--shadow-soft);
     transform:scale(1.02);
}
 .price-badge{
     position:absolute;
     top:-13px;
     left:30px;
     background:var(--grad-signature);
     color:#04121a;
     font-size:.72rem;
     font-weight:700;
     padding:5px 14px;
     border-radius:100px;
}
 .price-value{
    margin:18px 0 22px;
     font-size:2.1rem;
     font-weight:700;
     color:var(--text);
}
 .price-value small{
    font-size:1rem;
     font-weight:500;
     color:var(--text-muted);
}
 .price-list{
    list-style:none;
     padding:0;
     margin:0 0 26px;
}
 .price-list li{
    padding:8px 0;
     border-bottom:1px solid var(--border);
     font-size:.9rem;
     color:var(--text-muted);
}
 .price-list i{
    color:var(--accent-blue);
     margin-right:8px;
}
/* ================= CASE STUDIES ================= */
 .case-card{
    background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:var(--radius);
     overflow:hidden;
     height:100%;
     transition:.3s ease;
}
 .case-card:hover{
    transform:translateY(-6px);
     box-shadow:var(--shadow-card);
}
 .case-card img{
    width:100%;
     aspect-ratio:16/10;
     object-fit:cover;
}
 .case-card-body{
    padding:22px 24px;
}
 .case-card-body h3{
    color:var(--text);
}
 .case-card-body span.fw-600{
    color:var(--accent-blue);
}
 html[data-theme="dark"] .case-card-body span.fw-600{
    color:var(--accent-cyan);
}
/* ================= PORTFOLIO ================= */
 .portfolio-card{
     position:relative;
     border-radius:var(--radius);
     overflow:hidden;
     cursor:pointer;
     aspect-ratio:5/4;
     box-shadow:var(--shadow-card);
}
 .portfolio-card img{
    width:100%;
     height:100%;
     object-fit:cover;
     transition:.5s ease;
}
 .portfolio-card:hover img{
    transform:scale(1.08);
}
 .portfolio-card:focus-visible{
    outline:2px solid var(--accent-cyan);
     outline-offset:3px;
}
 .portfolio-overlay{
     position:absolute;
     inset:0;
     display:flex;
     flex-direction:column;
     justify-content:flex-end;
     padding:22px;
     background:linear-gradient(to top, rgba(4,7,14,0.92), rgba(4,7,14,0.15) 60%, transparent);
}
 .portfolio-tag{
     align-self:flex-start;
     font-family:var(--font-mono);
     font-size:.68rem;
     letter-spacing:.06em;
     color:#04121a;
     background:var(--grad-signature);
     padding:4px 11px;
     border-radius:100px;
     margin-bottom:10px;
}
 .portfolio-view{
    color:#B7C0D6;
     opacity:0;
     transform:translateY(6px);
     transition:.3s ease;
     margin-top:8px;
}
 .portfolio-card:hover .portfolio-view, .portfolio-card:focus-visible .portfolio-view{
    opacity:1;
     transform:translateY(0);
}
 @media(max-width:768px){
    .portfolio-view{
        opacity:1;
         transform:none;
    }
}
 .pf-meta small{
    letter-spacing:.06em;
}
 .pf-meta span{
    font-weight:600;
     color:var(--text);
}
/* ================= TEAM ================= */
 .team-card h3{
    color:var(--text);
}
 .team-bio{
    color:var(--text-muted);
     line-height:1.5;
}
 .team-photo{
    position:relative;
     border-radius:16px;
     overflow:hidden;
     box-shadow:var(--shadow-card);
}
 .team-photo img{
    width:100%;
     aspect-ratio:1/1;
     object-fit:cover;
     display:block;
     filter:grayscale(10%);
     transition:.4s ease;
}
 .team-card:hover .team-photo img{
    transform:scale(1.06);
     filter:grayscale(0%);
}
 .team-badge{
     position:absolute;
     top:12px;
     left:12px;
     font-size:.62rem;
     letter-spacing:.06em;
     color:#fff;
     background:rgba(6,10,19,0.55);
     backdrop-filter:blur(4px);
     padding:4px 9px;
     border-radius:100px;
     border:1px solid rgba(255,255,255,0.18);
}
 .team-overlay{
     position:absolute;
     inset:0;
     display:flex;
     align-items:flex-end;
     justify-content:center;
     gap:8px;
     padding-bottom:16px;
     background:linear-gradient(to top, rgba(5,8,16,0.85), transparent 60%);
     opacity:0;
     transform:translateY(8px);
     transition:.3s ease;
}
 .team-card:hover .team-overlay, .team-card:focus-within .team-overlay{
    opacity:1;
     transform:translateY(0);
}
 .team-overlay a{
     width:34px;
     height:34px;
     border-radius:9px;
     background:rgba(255,255,255,0.12);
     border:1px solid rgba(255,255,255,0.25);
     display:flex;
     align-items:center;
     justify-content:center;
     color:#fff;
     font-size:.85rem;
     transition:.2s ease;
}
 .team-overlay a:hover{
    background:var(--grad-signature);
     border-color:transparent;
     color:#04121a;
}
 @media(max-width:768px){
     .team-overlay{
        opacity:1;
         transform:translateY(0);
         background:linear-gradient(to top, rgba(5,8,16,0.75), transparent 70%);
    }
}
 .team-card{
    cursor:pointer;
}
 .team-card:focus-visible{
    outline:2px solid var(--accent-cyan);
     outline-offset:4px;
     border-radius:16px;
}
 .team-modal-avatar{
    width:64px;
     height:64px;
     border-radius:14px;
     object-fit:cover;
}
 .team-tag-list{
    display:flex;
     flex-wrap:wrap;
     gap:8px;
}
 .team-tag-list span{
     font-family:var(--font-mono);
     font-size:.72rem;
     color:var(--accent-blue);
     background:rgba(47,111,239,0.08);
     border:1px solid rgba(47,111,239,0.2);
     padding:5px 12px;
     border-radius:100px;
}
 html[data-theme="dark"] .team-tag-list span{
    color:var(--accent-cyan);
     background:rgba(0,194,209,0.08);
     border-color:rgba(0,194,209,0.22);
}
/* ================= TESTIMONIALS ================= */
 .testimonial-section{
    position:relative;
     overflow:hidden;
}
 .testimonial-bg{
     position:absolute;
     inset:0;
     pointer-events:none;
     background:radial-gradient(circle at 15% 15%, rgba(0,194,209,0.10), transparent 40%), radial-gradient(circle at 85% 85%, rgba(124,92,255,0.10), transparent 40%);
}
 .testimonial-summary{
    display:flex;
     align-items:center;
     justify-content:center;
     gap:22px;
     margin-top:8px;
}
 .summary-divider{
    width:1px;
     height:34px;
     background:var(--border);
}
 .testimonial-wrap{
    position:relative;
     max-width:820px;
     margin:0 auto;
     padding:0 56px;
}
 .testimonial-swiper{
    padding-bottom:10px;
     overflow:hidden;
}
 .testimonial-card{
     background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:var(--radius);
     padding:48px 44px 40px;
     max-width:760px;
     margin:0 auto;
     text-align:center;
     box-shadow:var(--shadow-card);
     position:relative;
}
 .quote-mark{
    font-size:2.6rem;
     opacity:.9;
     display:inline-block;
     margin-bottom:6px;
}
 .testimonial-avatar{
    width:56px;
     height:56px;
     border-radius:50%;
     object-fit:cover;
     border:2px solid var(--bg-alt);
     box-shadow:0 0 0 2px var(--accent-cyan);
}
 .testimonial-stars{
    color:#FFB020;
     font-size:.85rem;
     letter-spacing:2px;
}
 .testimonial-nav{
     position:absolute;
     top:50%;
     transform:translateY(-50%);
     width:44px;
     height:44px;
     border-radius:50%;
     border:1px solid var(--border);
     background:var(--bg-raised);
     color:var(--text);
     display:flex;
     align-items:center;
     justify-content:center;
     font-size:1rem;
     z-index:5;
     transition:.2s ease;
}
 .testimonial-nav:hover{
    background:var(--grad-signature);
     color:#04121a;
     border-color:transparent;
}
 .testimonial-prev{
    left:0;
}
 .testimonial-next{
    right:0;
}
 @media(max-width:576px){
     .testimonial-summary{
        gap:14px;
    }
     .testimonial-wrap{
        padding:0 0 56px;
    }
     .testimonial-nav{
        top:auto;
         bottom:0;
         transform:none;
    }
     .testimonial-prev{
        left:calc(50% - 56px);
    }
     .testimonial-next{
        right:calc(50% - 56px);
    }
     .testimonial-card{
        padding:32px 22px 26px;
    }
}
 .swiper-pagination-bullet{
    background:var(--text-muted);
     opacity:.5;
}
 .swiper-pagination-bullet-active{
    background:var(--accent-blue);
     opacity:1;
}
 html[data-theme="dark"] .swiper-pagination-bullet-active{
    background:var(--accent-cyan);
}
/* ================= BLOG ================= */
 .blog-card{
    background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:var(--radius);
     overflow:hidden;
     display:block;
     transition:.3s ease;
     cursor:pointer;
}
 .blog-card:hover{
    transform:translateY(-6px);
     box-shadow:var(--shadow-card);
}
 .blog-card:focus-visible{
    outline:2px solid var(--accent-cyan);
     outline-offset:3px;
}
 .blog-card img{
    width:100%;
     aspect-ratio:16/10;
     object-fit:cover;
}
 .blog-card-body{
    padding:20px 22px;
}
 .blog-card-body h3{
    color:var(--text);
}
/* ================= MODALS ================= */
 .cyber-modal .modal-content{
    background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:18px;
     color:var(--text);
}
 .cyber-modal .modal-header, .cyber-modal .modal-footer{
    border-color:var(--border);
}
 .cyber-modal .modal-body p, .cyber-modal .modal-body li{
    color:var(--text-muted);
}
 .modal-check-list{
    list-style:none;
     padding:0;
     margin:0;
}
 .modal-check-list li{
    padding:8px 0;
     border-bottom:1px solid var(--border);
     display:flex;
     gap:10px;
     align-items:flex-start;
}
 .modal-check-list li i{
    color:var(--accent-blue);
     flex-shrink:0;
     margin-top:2px;
}
 .modal-blog-img{
    width:100%;
     height:300px;
     object-fit:cover;
     display:block;
     border-radius:18px 18px 0 0;
     background:var(--bg-alt);
}
 .modal-backdrop{
    background:#000;
}
 .modal-backdrop.show{
    opacity:.6;
}
/* ================= FAQ ================= */
 .accordion-item{
    background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:14px !important;
     margin-bottom:14px;
     overflow:hidden;
}
 .accordion-button{
    background:var(--bg-raised);
     color:var(--text);
     font-weight:600;
     font-family:var(--font-display);
     box-shadow:none !important;
}
 .accordion-button:not(.collapsed){
    color:var(--accent-blue);
     background:var(--bg-raised);
}
 html[data-theme="dark"] .accordion-button:not(.collapsed){
    color:var(--accent-cyan);
}
 .accordion-body{
    color:var(--text-muted);
}
 .accordion-button::after{
    filter:var(--icon-filter,none);
}
 html[data-theme="dark"] .accordion-button::after{
    filter:invert(1) brightness(1.6);
}
/* ================= CTA BANNER ================= */
 .cta-banner{
     background:#050810;
     padding:90px 0;
     position:relative;
     overflow:hidden;
     background-image:radial-gradient(circle at 30% 20%, rgba(0,194,209,0.16), transparent 50%), radial-gradient(circle at 70% 80%, rgba(124,92,255,0.16), transparent 50%);
}
/* ================= CONTACT ================= */
 .contact-info-row{
    display:flex;
     gap:16px;
     margin-bottom:22px;
     align-items:flex-start;
}
 .contact-info-row i{
     width:42px;
     height:42px;
     min-width:42px;
     border-radius:10px;
     background:var(--bg-alt);
     border:1px solid var(--border);
     display:flex;
     align-items:center;
     justify-content:center;
     color:var(--accent-blue);
}
 html[data-theme="dark"] .contact-info-row i{
    color:var(--accent-cyan);
}
 .contact-form{
    background:var(--bg-raised);
     border:1px solid var(--border);
     border-radius:var(--radius);
     padding:32px;
}
 .contact-form .form-control, .contact-form .form-select{
     background:var(--bg-alt);
     border:1px solid var(--border);
     color:var(--text);
     border-radius:10px;
     padding:.65rem .9rem;
}
 .contact-form .form-control:focus, .contact-form .form-select:focus{
     background:var(--bg-alt);
     color:var(--text);
     border-color:var(--accent-cyan);
     box-shadow:0 0 0 3px rgba(0,194,209,0.15);
}
 .contact-form .form-control::placeholder{
    color:var(--text-muted);
     opacity:.7;
}
 .contact-form .form-label{
    color:var(--text-muted);
     letter-spacing:.05em;
}
/* ================= FOOTER ================= */
 .footer{
    background:#050810;
     padding-top:80px;
     color:#8B96AD;
}
 .footer p{
    color:#8B96AD;
}
 .footer .brand{
    color:#fff;
}
 .footer-social{
     width:38px;
     height:38px;
     border-radius:10px;
     background:rgba(255,255,255,0.06);
     display:flex;
     align-items:center;
     justify-content:center;
     color:#B7C0D6;
     border:1px solid rgba(255,255,255,0.08);
}
 .footer-social:hover{
    color:#00C2D1;
     border-color:#00C2D1;
}
 .footer-links{
    list-style:none;
     padding:0;
     margin:0;
}
 .footer-links li{
    margin-bottom:10px;
}
 .footer-links a{
    color:#8B96AD;
     font-size:.92rem;
}
 .footer-links a:hover{
    color:#00C2D1;
}
 .newsletter-form .form-control{
     background:rgba(255,255,255,0.05);
     border:1px solid rgba(255,255,255,0.1);
     color:#fff;
     border-radius:10px;
}
 .newsletter-form .form-control::placeholder{
    color:#8B96AD;
}
 .cert-badge{
     font-size:.68rem;
     border:1px solid rgba(255,255,255,0.1);
     color:#8B96AD;
     padding:5px 10px;
     border-radius:100px;
     display:inline-flex;
     align-items:center;
     gap:5px;
}
 .cert-badge i{
    color:#17E7A3;
}
 .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.08);
     color:#6B7690;
}
 .footer-bottom a{
    color:#8B96AD;
}
 .footer-bottom a:hover{
    color:#00C2D1;
}
/* ================= BACK TO TOP ================= */
 .back-to-top{
     position:fixed;
     bottom:26px;
     right:26px;
     width:46px;
     height:46px;
     border-radius:50%;
     border:none;
     background:var(--grad-signature);
     color:#04121a;
     font-size:1.1rem;
     box-shadow:var(--shadow-soft);
     opacity:0;
     visibility:hidden;
     transform:translateY(10px);
     transition:.3s ease;
     z-index:1000;
}
 .back-to-top.show{
    opacity:1;
     visibility:visible;
     transform:translateY(0);
}
/* ================= MISC / RESPONSIVE ================= */
 .form-success{
    color:var(--accent-green);
}
 @media(max-width:991px){
     .price-featured{
        transform:none;
    }
     .navbar-collapse{
        background:var(--bg-raised);
         border-radius:14px;
         padding:18px;
         margin-top:10px;
         border:1px solid var(--border);
    }
}
 @media(max-width:576px){
     .threat-grid-vis{
        grid-template-columns:repeat(14,1fr);
    }
     .console-card{
        max-width:100%;
    }
}
/* Focus visibility for accessibility */
 a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
     outline:2px solid var(--accent-cyan);
     outline-offset:2px;
}
 @media (prefers-reduced-motion: reduce){
     *{
        animation-duration:0.001ms !important;
         animation-iteration-count:1 !important;
         transition-duration:0.001ms !important;
    }
}

.swiper-pagination {
	position: absolute;
	text-align: center;
	transition: .3s opacity;
	transform: translate3d(0,0,0);
	z-index: 10;
	display: none;
}