/* ============================================================
   DEFEND.NETWORK — Design System v2.0
   Angular Tactical / Navy + Electric Blue
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
:root{--bg-deep:#040811;--bg-primary:#060a14;--bg-surface:#0c1529;--bg-card:#111d36;--bg-card-hover:#162644;--bg-elevated:#192a4a;--bg-input:#080e1c;--text-bright:#f0f4fa;--text-primary:#d4dce8;--text-secondary:#8b95a8;--text-muted:#4f5b6e;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-glow:rgba(59,130,246,0.12);--blue-glow-strong:rgba(59,130,246,0.25);--cyan-400:#22d3ee;--cyan-500:#06b6d4;--sev-critical:#ef4444;--sev-critical-bg:rgba(239,68,68,0.12);--sev-critical-border:rgba(239,68,68,0.25);--sev-high:#f97316;--sev-high-bg:rgba(249,115,22,0.12);--sev-high-border:rgba(249,115,22,0.25);--sev-medium:#eab308;--sev-medium-bg:rgba(234,179,8,0.12);--sev-medium-border:rgba(234,179,8,0.25);--sev-low:#22c55e;--sev-low-bg:rgba(34,197,94,0.12);--sev-low-border:rgba(34,197,94,0.25);--border-subtle:rgba(255,255,255,0.05);--border-medium:rgba(255,255,255,0.08);--border-accent:rgba(59,130,246,0.2);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--font-display:'Space Grotesk',system-ui,sans-serif;--font-mono:'JetBrains Mono','Fira Code',monospace;--max-w:1200px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-display);background:var(--bg-deep);color:var(--text-primary);line-height:1.7;font-size:16px}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(59,130,246,0.015) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,0.015) 1px,transparent 1px);background-size:56px 56px;pointer-events:none;z-index:0}
a{color:var(--blue-400);text-decoration:none;transition:color .2s}a:hover{color:var(--cyan-400)}
img{max-width:100%}
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px;position:relative;z-index:1}
.container--narrow{max-width:900px}

/* NAV */
.nav{position:sticky;top:0;z-index:100;background:rgba(4,8,17,0.82);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border-bottom:1px solid var(--border-subtle)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-w);margin:0 auto;padding:0 24px;height:60px}
.nav__logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-bright)}
.nav__logo-text{font-weight:600;font-size:15px;letter-spacing:-.02em}.nav__logo-text .dot{color:var(--blue-500)}.nav__logo-text .domain{color:var(--blue-400);font-weight:400}
.nav__links{display:flex;align-items:center;gap:4px;list-style:none}
.nav__links a{font-size:13px;font-weight:500;color:var(--text-secondary);padding:6px 14px;border-radius:var(--radius-sm);transition:all .2s;letter-spacing:.01em}
.nav__links a:hover,.nav__links a.active{color:var(--text-bright);background:var(--blue-glow)}
.nav__cta{background:var(--blue-500)!important;color:var(--text-bright)!important;padding:7px 18px!important;font-weight:600!important;box-shadow:0 0 16px rgba(59,130,246,0.2)}
.nav__cta:hover{background:var(--blue-600)!important;box-shadow:0 0 24px rgba(59,130,246,0.3)}
.nav__toggle{display:none;background:none;border:none;color:var(--text-primary);font-size:1.4rem;cursor:pointer}
@media(max-width:820px){.nav__toggle{display:block}.nav__links{display:none;position:absolute;top:60px;left:0;right:0;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-direction:column;padding:12px 24px;gap:2px}.nav__links.open{display:flex}.nav__links a{width:100%;padding:10px 14px}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:14px;padding:12px 26px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .25s;text-decoration:none}
.btn--primary{background:var(--blue-500);color:#fff;box-shadow:0 0 20px rgba(59,130,246,0.2),0 2px 8px rgba(0,0,0,0.3)}
.btn--primary:hover{background:var(--blue-600);color:#fff;box-shadow:0 0 32px rgba(59,130,246,0.35);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border-medium)}
.btn--ghost:hover{border-color:var(--blue-500);color:var(--blue-400);background:var(--blue-glow)}

/* SECTIONS */
.section{padding:72px 0;position:relative;z-index:1}
.section--alt{background:rgba(12,21,41,0.4)}
.section__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;flex-wrap:wrap;gap:8px}
.section__title{font-size:1.2rem;font-weight:700;color:var(--text-bright);display:flex;align-items:center;gap:10px}
.section__title-icon{font-size:.95rem;opacity:.7}
.section__more{font-size:13px;font-weight:500;color:var(--blue-400);display:flex;align-items:center;gap:4px;transition:gap .2s}
.section__more:hover{gap:8px}
.section__count{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}

/* PAGE HEADER */
.page-header{padding:48px 0 20px;border-bottom:1px solid var(--border-subtle)}
.page-header h1{font-size:clamp(1.7rem,3.5vw,2.3rem);font-weight:700;color:var(--text-bright);margin-bottom:10px;letter-spacing:-.02em}
.page-header p{color:var(--text-secondary);font-size:1rem;max-width:620px;line-height:1.7}

/* GRIDS */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* CARDS */
.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:28px;transition:all .3s}
.card:hover{background:var(--bg-card-hover);border-color:var(--border-accent);box-shadow:0 0 24px rgba(59,130,246,0.05)}
.card--featured{border-color:var(--border-accent);background:linear-gradient(160deg,var(--bg-card) 0%,rgba(59,130,246,0.03) 100%);position:relative;overflow:hidden}
.card--featured::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--blue-500),var(--cyan-500),var(--blue-500));background-size:200% 100%;animation:shimmer 3s linear infinite}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;font-weight:600;padding:4px 10px;border-radius:100px;letter-spacing:.03em}
.badge--critical{background:var(--sev-critical-bg);color:var(--sev-critical);border:1px solid var(--sev-critical-border);box-shadow:0 0 10px rgba(239,68,68,0.08)}
.badge--high{background:var(--sev-high-bg);color:var(--sev-high);border:1px solid var(--sev-high-border)}
.badge--medium{background:var(--sev-medium-bg);color:var(--sev-medium);border:1px solid var(--sev-medium-border)}
.badge--low{background:var(--sev-low-bg);color:var(--sev-low);border:1px solid var(--sev-low-border)}
.badge--tag{background:var(--blue-glow);color:var(--blue-400);border:1px solid var(--border-accent)}
.badge--free{background:var(--sev-low-bg);color:var(--sev-low);border:1px solid var(--sev-low-border)}
.badge--paid{background:rgba(139,149,168,0.1);color:var(--text-secondary);border:1px solid rgba(139,149,168,0.2)}
.badge--freemium{background:rgba(6,182,212,0.1);color:var(--cyan-500);border:1px solid rgba(6,182,212,0.2)}
.badge--oss{background:rgba(168,85,247,0.1);color:#a855f7;border:1px solid rgba(168,85,247,0.2)}
.badge--industry{background:rgba(234,179,8,0.08);color:var(--sev-medium);border:1px solid rgba(234,179,8,0.15);font-size:9px}

/* BRIEFING CARDS */
.bc__meta{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-bottom:10px}
.bc__live{display:inline-flex;align-items:center;gap:5px;color:var(--sev-low)}
.bc__live-dot{width:6px;height:6px;border-radius:50%;background:var(--sev-low);box-shadow:0 0 6px rgba(34,197,94,0.5);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
.bc__title{font-size:1.15rem;font-weight:700;color:var(--text-bright);margin-bottom:10px;letter-spacing:-.01em}
.bc__title a{color:inherit}.bc__title a:hover{color:var(--blue-400)}
.bc__excerpt{font-size:14px;color:var(--text-secondary);margin-bottom:20px;line-height:1.8}
.bc__tags{display:flex;gap:6px;flex-wrap:wrap}
.bc__structured{display:flex;flex-direction:column;gap:8px}
.bc__tagrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bc__tagrow__label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;min-width:62px}

/* FILTERS */
.filters{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 0}
.filter-btn{font-family:var(--font-mono);font-size:11px;font-weight:500;padding:5px 14px;border-radius:100px;border:1px solid var(--border-medium);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;letter-spacing:.03em}
.filter-btn:hover,.filter-btn.active{background:var(--blue-glow);border-color:var(--blue-500);color:var(--blue-400)}
.filter-group{margin:10px 0 0}.filter-group__label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;display:block}

/* VULN TABLE */
.vtable-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}
.vtable{width:100%;border-collapse:collapse;font-size:13px}
.vtable thead{background:var(--bg-elevated)}
.vtable th{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-medium)}
.vtable td{padding:12px 16px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle}
.vtable tr:hover td{background:rgba(59,130,246,0.03);color:var(--text-primary)}
.vtable .cve{font-family:var(--font-mono);font-weight:600;color:var(--blue-400);font-size:12px}
.vtable .cvss{font-family:var(--font-mono);font-weight:700}.cvss--c{color:var(--sev-critical)}.cvss--h{color:var(--sev-high)}.cvss--m{color:var(--sev-medium)}

/* SEARCH */
.search-wrap{margin:20px 0 0}
.search-wrap input{width:100%;max-width:500px;padding:11px 16px 11px 40px;font-family:var(--font-display);font-size:14px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);outline:none;transition:border-color .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234f5b6e' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}
.search-wrap input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-glow)}
.search-wrap input::placeholder{color:var(--text-muted)}

/* CTA */
.cta{padding:64px 0;background:linear-gradient(135deg,rgba(59,130,246,0.06) 0%,rgba(6,182,212,0.03) 100%);border-top:1px solid var(--border-accent);border-bottom:1px solid var(--border-accent);position:relative;z-index:1}
.cta__inner{text-align:center;max-width:520px;margin:0 auto}
.cta h2{font-size:1.5rem;margin-bottom:10px;color:var(--text-bright)}
.cta p{color:var(--text-secondary);margin-bottom:24px}
.cta__form{display:flex;gap:10px;max-width:440px;margin:0 auto}
.cta__form input{flex:1;padding:12px 16px;font-family:var(--font-display);font-size:14px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);outline:none;transition:border-color .2s}
.cta__form input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-glow)}
.cta__form input::placeholder{color:var(--text-muted)}
.cta__form button{padding:12px 22px;font-family:var(--font-display);font-weight:600;font-size:14px;background:var(--blue-500);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 0 16px rgba(59,130,246,0.15)}
.cta__form button:hover{background:var(--blue-600);box-shadow:0 0 24px rgba(59,130,246,0.25)}
@media(max-width:480px){.cta__form{flex-direction:column}}

/* FOOTER */
.footer{background:var(--bg-surface);border-top:1px solid var(--border-subtle);padding:48px 0 28px;position:relative;z-index:1}
.footer--simple{padding:32px 0}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;margin-bottom:36px}
@media(max-width:700px){.footer__grid{grid-template-columns:1fr 1fr}}@media(max-width:420px){.footer__grid{grid-template-columns:1fr}}
.footer__about p{color:var(--text-muted);font-size:13px;margin-top:12px;max-width:280px;line-height:1.65}
.footer__heading{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:14px}
.footer__links{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer__links a{font-size:13px;color:var(--text-secondary)}.footer__links a:hover{color:var(--text-bright)}
.footer__bottom{border-top:1px solid var(--border-subtle);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer__copy{font-size:12px;color:var(--text-muted)}
.footer__social{display:flex;gap:16px}.footer__social a{color:var(--text-muted);font-size:13px;font-weight:600}.footer__social a:hover{color:var(--blue-400)}

/* DISCLAIMER */
.disclaimer{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 18px;line-height:1.6}

/* ABOUT */
.about-section{padding:40px 0}.about-section+.about-section{border-top:1px solid var(--border-subtle)}
.about-section h2{font-size:1.3rem;margin-bottom:14px;color:var(--text-bright)}
.about-section p{color:var(--text-secondary);max-width:720px;line-height:1.8;margin-bottom:14px}
.about-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
@media(max-width:640px){.about-pillars{grid-template-columns:1fr}}
.pillar{text-align:center;padding:28px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}
.pillar__icon{font-size:1.8rem;margin-bottom:14px;display:block}
.pillar h3{font-size:1rem;margin-bottom:8px;color:var(--text-bright)}
.pillar p{font-size:13px;color:var(--text-muted);max-width:none;margin-bottom:0}

/* SUBSCRIBE */
.subscribe-hero{text-align:center;padding:72px 0 48px}
.subscribe-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:14px;color:var(--text-bright);letter-spacing:-.02em}
.subscribe-hero p{color:var(--text-secondary);font-size:1.05rem;max-width:520px;margin:0 auto 32px}
.subscribe-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:780px;margin:36px auto 0;text-align:left}
@media(max-width:640px){.subscribe-features{grid-template-columns:1fr}}
.sub-feature{padding:20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
.sub-feature h3{font-size:14px;margin-bottom:6px;color:var(--text-bright);display:flex;align-items:center;gap:8px}
.sub-feature p{font-size:13px;color:var(--text-muted);line-height:1.6;margin:0}

/* STAT CARDS */
.stat-card{text-align:center;padding:16px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}
.stat-card__val{font-family:var(--font-mono);font-size:1.8rem;font-weight:700}
.stat-card__label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}

/* ARTICLE */
.article-header{padding:48px 0 28px;border-bottom:1px solid var(--border-subtle)}
.article-header__back{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);margin-bottom:16px;display:inline-flex;align-items:center;gap:6px}
.article-header__back:hover{color:var(--blue-400)}
.article-header h1{font-size:clamp(1.6rem,3.5vw,2.2rem);margin-bottom:14px;color:var(--text-bright);letter-spacing:-.01em}
.article-header__meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}
.threat-level{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-family:var(--font-mono);font-weight:700;font-size:13px;margin-bottom:28px}
.threat-level--critical{background:var(--sev-critical-bg);border:1px solid var(--sev-critical-border);color:var(--sev-critical)}
.threat-level--high{background:var(--sev-high-bg);border:1px solid var(--sev-high-border);color:var(--sev-high)}
.article-content{max-width:900px;padding-bottom:48px}
.article-content h2{font-size:1.25rem;margin:32px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);color:var(--text-bright)}
.article-content h3{font-size:1.05rem;margin:24px 0 10px;color:var(--blue-400)}
.article-content p{margin-bottom:14px;color:var(--text-secondary);line-height:1.8}
.article-content ul,.article-content ol{margin:0 0 18px 24px;color:var(--text-secondary)}
.article-content li{margin-bottom:8px;line-height:1.7}
.action-box{background:var(--bg-card);border:1px solid var(--border-accent);border-radius:var(--radius-lg);padding:20px;margin:24px 0}
.action-box h3{color:var(--cyan-500);margin-top:0;font-size:14px}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.anim{animation:fadeUp .4s ease-out both}
.anim:nth-child(1){animation-delay:.03s}.anim:nth-child(2){animation-delay:.06s}.anim:nth-child(3){animation-delay:.09s}.anim:nth-child(4){animation-delay:.12s}

/* NO RESULTS */
.no-results{text-align:center;padding:48px 20px;color:var(--text-muted)}
.no-results__icon{font-size:2rem;margin-bottom:12px;display:block;opacity:.5}
