<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Miglen Evlogiev — CISO & Cybersecurity Leader</title> <meta name="description" content="Miglen Evlogiev — CISO at Evrotrust, President of the Bulgarian Cybersecurity Association, ex-AWS. Cybersecurity advisory, vCISO, compliance, security training, and mentoring."> <meta name="keywords" content="CISO, cybersecurity, information security, vCISO, security advisory, compliance, penetration testing, OWASP, Bulgaria, Miglen Evlogiev, Evrotrust, security training, mentoring"> <meta name="author" content="Miglen Evlogiev"> <meta name="robots" content="index, follow"> <link rel="canonical" href="https://miglen.com/"> <!-- Open Graph --> <meta property="og:type" content="website"> <meta property="og:title" content="Miglen Evlogiev — CISO & Cybersecurity Leader"> <meta property="og:description" content="CISO at Evrotrust & President of the Bulgarian Cybersecurity Association. Advisory, vCISO, compliance, security training, and community building."> <meta property="og:url" content="https://miglen.com/"> <meta property="og:site_name" content="Miglen Evlogiev"> <meta property="og:locale" content="en_US"> <!-- Twitter Card --> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@miglen"> <meta name="twitter:creator" content="@miglen"> <meta name="twitter:title" content="Miglen Evlogiev — CISO & Cybersecurity Leader"> <meta name="twitter:description" content="CISO at Evrotrust & President of the Bulgarian Cybersecurity Association. Advisory, vCISO, compliance, security training."> <!-- Structured Data --> <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "Person",
        "name": "Miglen Evlogiev",
        "url": "https://miglen.com",
        "jobTitle": "Chief Information Security Officer",
        "worksFor": { "@type": "Organization", "name": "Evrotrust" },
        "sameAs": [
            "https://linkedin.com/in/miglen",
            "https://github.com/miglen",
            "https://twitter.com/miglen",
            "https://instagram.com/miglen.bg"
        ],
        "knowsAbout": ["Cybersecurity", "Information Security", "Cloud Security", "Application Security", "DevSecOps"]
    }
    </script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=IBM+Plex+Mono:wght@300;400;500&display=swap" rel="stylesheet"> <style>
        :root {
            --bg: #0a0a0a; --bg-elevated: rgba(17, 17, 17, 0.18); --bg-subtle: #1a1a1a;
            --text: #e8e6e3; --text-muted: #8a8a8a; --text-dim: #555555;
            --accent: #00a1ff; --accent-dim: #00a1ff20; --border: #222222;
            --nav-bg: rgba(10, 10, 10, 0.2); --max-w: 1100px;
            --serif: 'DM Serif Display', Georgia, serif;
            --sans: 'Berkeley Mono', 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
            --mono: 'Berkeley Mono', 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
        }
        [data-theme="light"] {
            --bg: #f5f4f0; --bg-elevated: rgba(255, 255, 255, 0.55); --bg-subtle: #e8e5dd;
            --text: #141414; --text-muted: #3f3a30; --text-dim: #6f6a5f;
            --accent: #d66820; --accent-dim: #d6682022; --border: #c6beae;
            --nav-bg: rgba(245, 244, 240, 0.55);
        }
        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; scroll-padding-top: 80px; }
        body { font-family: var(--sans); background: var(--bg); color: var(--text); font-size: 15px; line-height: 1.75; -webkit-font-smoothing: antialiased; transition: background 0.3s ease, color 0.3s ease; background-image: radial-gradient(ellipse 90% 60% at 50% -10%, rgba(0, 161, 255, 0.18) 0%, transparent 55%), radial-gradient(ellipse 70% 70% at 90% 40%, rgba(0, 120, 255, 0.10) 0%, transparent 50%), radial-gradient(ellipse 60% 60% at 10% 75%, rgba(0, 161, 255, 0.08) 0%, transparent 50%), radial-gradient(ellipse 50% 40% at 50% 100%, rgba(0, 100, 220, 0.06) 0%, transparent 40%); background-attachment: fixed; }
        [data-theme="light"] body { background-image: radial-gradient(ellipse 90% 60% at 50% -10%, rgba(255, 160, 80, 0.14) 0%, transparent 55%), radial-gradient(ellipse 70% 70% at 90% 40%, rgba(255, 130, 60, 0.08) 0%, transparent 50%), radial-gradient(ellipse 60% 60% at 10% 75%, rgba(255, 180, 120, 0.10) 0%, transparent 50%), radial-gradient(ellipse 50% 40% at 50% 100%, rgba(255, 140, 70, 0.06) 0%, transparent 40%); }
        ::selection { background: var(--accent); color: #fff; }

        /* ── CUSTOM SCROLLBAR (Endurosat-inspired) ── */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: var(--bg); }
        ::-webkit-scrollbar-thumb { background: var(--accent); border-radius: 3px; }
        ::-webkit-scrollbar-thumb:hover { background: #0090e0; }
        [data-theme="light"]::-webkit-scrollbar-thumb { background: var(--accent); }
        [data-theme="light"]::-webkit-scrollbar-thumb:hover { background: #c86820; }
        * { scrollbar-width: thin; scrollbar-color: var(--accent) var(--bg); }

        /* ── NAV ── */
        nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: var(--nav-bg); backdrop-filter: blur(40px) saturate(1.6); -webkit-backdrop-filter: blur(40px) saturate(1.6); border-bottom: 1px solid var(--border); }
        .nav-inner { max-width: var(--max-w); margin: 0 auto; padding: 0 2rem; height: 60px; display: flex; align-items: center; justify-content: space-between; }
        .nav-left { display: flex; align-items: center; gap: 0.75rem; }
        .nav-social { display: flex; align-items: center; gap: 0.25rem; }
        .nav-social a { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 6px; color: var(--text-dim); text-decoration: none; transition: all 0.2s; }
        .nav-social a:hover { color: var(--accent); background: var(--accent-dim); }
        .nav-social a svg { width: 16px; height: 16px; }
        .nav-divider { width: 1px; height: 20px; background: var(--border); margin: 0 0.25rem; }
        .theme-toggle, .lang-toggle { display: flex; align-items: center; justify-content: center; height: 32px; border-radius: 6px; border: none; background: none; color: var(--text-dim); cursor: pointer; transition: all 0.2s; }
        .theme-toggle { width: 32px; }
        .lang-toggle { gap: 0.35rem; padding: 0 0.5rem; font-family: var(--mono); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.06em; }
        .theme-toggle:hover, .lang-toggle:hover { color: var(--accent); background: var(--accent-dim); }
        .theme-toggle svg, .lang-toggle svg { width: 16px; height: 16px; }
        .lang-toggle svg { width: 15px; height: 15px; }
        .lang-toggle .lang-code { line-height: 1; }
        .theme-toggle .icon-sun { display: block; }
        .theme-toggle .icon-moon { display: none; }
        [data-theme="light"] .theme-toggle .icon-sun { display: none; }
        [data-theme="light"] .theme-toggle .icon-moon { display: block; }
        .nav-right { display: flex; align-items: center; gap: 0; }
        .nav-links { display: flex; gap: 1.6rem; list-style: none; align-items: center; }
        .nav-links li { display: flex; align-items: center; }
        .nav-links a { font-family: var(--mono); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); text-decoration: none; transition: color 0.2s; }
        .nav-links a:hover { color: var(--accent); }
        .nav-dropdown { position: relative; }
        .nav-dropdown > a { display: flex; align-items: center; gap: 0.35rem; }
        .nav-dropdown > a::after { content: ''; display: inline-block; width: 0; height: 0; border-left: 3.5px solid transparent; border-right: 3.5px solid transparent; border-top: 4px solid currentColor; transition: transform 0.2s; }
        .nav-dropdown:hover > a::after { transform: rotate(180deg); }
        .dropdown-menu { position: absolute; top: calc(100% + 18px); left: 50%; transform: translateX(-50%) translateY(4px); background: var(--bg-elevated); border: 1px solid var(--border); border-radius: 8px; padding: 0.5rem 0; min-width: 180px; opacity: 0; visibility: hidden; transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease; box-shadow: 0 12px 40px rgba(0,0,0,0.3); z-index: 200; }
        .nav-dropdown:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
        .nav-dropdown::after { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 20px; }
        .dropdown-menu a { display: block; padding: 0.6rem 1.2rem; font-family: var(--mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); text-decoration: none; transition: all 0.15s; white-space: nowrap; }
        .dropdown-menu a:hover { color: var(--accent); background: rgba(0,161,255,0.05); }
        [data-theme="light"] .dropdown-menu { box-shadow: 0 12px 40px rgba(0,0,0,0.1); }
        .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
        .hamburger span { display: block; width: 22px; height: 1.5px; background: var(--text-muted); transition: all 0.3s; }

        /* ── HERO ── */
        .hero { min-height: 100vh; display: flex; align-items: center; padding: 0 2rem; position: relative; overflow: hidden; }
        .hero::before { content: ''; position: absolute; top: -50%; right: -20%; width: 600px; height: 600px; background: radial-gradient(circle, var(--accent-dim) 0%, transparent 70%); pointer-events: none; }
        .hero-inner { max-width: var(--max-w); margin: 0 auto; width: 100%; }
        .hero-photo { width: 130px; height: 130px; border-radius: 50%; overflow: hidden; border: 3px solid var(--border); margin-bottom: 1.5rem; background: var(--bg-elevated); display: flex; align-items: center; justify-content: center; opacity: 0; animation: fadeUp 0.6s ease forwards; position: relative; }
        .hero-photo img { width: 100%; height: 100%; object-fit: cover; }
        .hero-photo .photo-placeholder { color: var(--text-dim); display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
        .hero-photo .photo-placeholder svg { width: 40px; height: 40px; stroke: var(--text-dim); opacity: 0.5; }
        .hero-photo .photo-placeholder span { font-family: var(--mono); font-size: 0.55rem; text-transform: uppercase; letter-spacing: 0.08em; opacity: 0.5; }
        .hero-label { font-family: var(--mono); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--accent); margin-bottom: 1.5rem; opacity: 0; animation: fadeUp 0.6s ease forwards; }
        .sinyo { color: var(--accent); text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.2s; }
        .sinyo:hover { border-bottom-color: var(--accent); }
        .hero h1 { font-family: var(--serif); font-size: clamp(2.8rem, 6vw, 4.5rem); font-weight: 400; line-height: 1.15; margin-bottom: 1.5rem; opacity: 0; animation: fadeUp 0.6s ease 0.1s forwards; }
        .hero-desc { font-size: 1.1rem; color: var(--text-muted); line-height: 1.8; font-weight: 300; opacity: 0; animation: fadeUp 0.6s ease 0.2s forwards; }

        /* ── SECTIONS ── */
        section { padding: 6rem 2rem; max-width: var(--max-w); margin: 0 auto; }
        .section-border { border-top: 1px solid var(--border); }
        .section-label { font-family: var(--mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--accent); margin-bottom: 2.5rem; display: flex; align-items: center; gap: 1rem; }
        .section-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }
        h2 { font-family: var(--serif); font-size: 2rem; font-weight: 400; margin-bottom: 1.5rem; }

        .about-text { color: var(--text-muted); font-weight: 300; font-size: 0.95rem; line-height: 1.95; letter-spacing: -0.01em; }
        .about-text p + p { margin-top: 1.2rem; }
        .about-highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
        .highlight-card { background: var(--bg-elevated); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; transition: border-color 0.2s; backdrop-filter: blur(30px) saturate(1.5); -webkit-backdrop-filter: blur(30px) saturate(1.5); }
        .highlight-card:hover { border-color: var(--accent); }
        .highlight-card .num { font-family: var(--serif); font-size: 1.8rem; color: var(--accent); display: block; margin-bottom: 0.3rem; }
        .highlight-card .label { font-family: var(--mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-dim); }

        .timeline { display: flex; flex-direction: column; }
        .timeline-item { display: grid; grid-template-columns: 160px 1fr; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--border); }
        .timeline-item:first-child { border-top: 1px solid var(--border); }
        .timeline-date { font-family: var(--mono); font-size: 0.75rem; color: var(--text-dim); padding-top: 0.25rem; }
        .timeline-content h3 { font-family: var(--sans); font-weight: 500; font-size: 1rem; margin-bottom: 0.25rem; }
        .timeline-content .org { font-size: 0.9rem; color: var(--text-muted); }
        .timeline-content .desc { font-size: 0.85rem; color: var(--text-dim); margin-top: 0.5rem; line-height: 1.6; }
        .current-badge { display: inline-block; font-family: var(--mono); font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent); border: 1px solid var(--accent); border-radius: 3px; padding: 0.15rem 0.5rem; margin-left: 0.5rem; vertical-align: middle; }

        .talks-grid { display: flex; flex-direction: column; }
        .talk-item { display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; align-items: start; padding: 1.2rem 0; border-bottom: 1px solid var(--border); }
        .talk-item:first-child { border-top: 1px solid var(--border); }
        .talk-title { font-weight: 500; font-size: 0.95rem; }
        .talk-meta { font-size: 0.8rem; color: var(--text-muted); margin-top: 0.2rem; line-height: 1.5; }
        .talk-meta span + span::before { content: ' · '; color: var(--text-dim); }
        .talk-links { display: flex; gap: 0.4rem; align-items: center; flex-shrink: 0; }
        .talk-links a { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 5px; color: var(--text-dim); text-decoration: none; transition: all 0.2s; border: 1px solid var(--border); }
        .talk-links a:hover { color: var(--accent); border-color: var(--accent); background: var(--accent-dim); }
        .talk-links a svg { width: 14px; height: 14px; }
        .talk-year { font-family: var(--mono); font-size: 0.7rem; color: var(--text-dim); white-space: nowrap; padding-top: 0.15rem; text-align: right; min-width: 65px; }
        .talks-hidden { display: none; }
        .talks-hidden.expanded { display: flex; flex-direction: column; }
        .talks-expand-btn { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1.5rem; font-family: var(--mono); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent); background: var(--accent-dim); border: 1px solid var(--border); padding: 0.6rem 1.2rem; border-radius: 6px; cursor: pointer; transition: all 0.2s; }
        .talks-expand-btn:hover { border-color: var(--accent); }
        .talks-expand-btn svg { width: 14px; height: 14px; transition: transform 0.2s; }
        .talks-expand-btn.active svg { transform: rotate(180deg); }

        .project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
        .project-card { background: var(--bg-elevated); border: 1px solid var(--border); border-radius: 8px; padding: 1.25rem; transition: all 0.2s; display: flex; flex-direction: column; gap: 0.6rem; backdrop-filter: blur(30px) saturate(1.5); -webkit-backdrop-filter: blur(30px) saturate(1.5); }
        .project-card:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.1); }
        .project-header { display: flex; align-items: center; gap: 0.75rem; }
        .project-icon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; background: var(--accent-dim); flex-shrink: 0; }
        .project-icon svg { width: 18px; height: 18px; stroke: var(--accent); }
        .project-card h3 { font-size: 0.95rem; font-weight: 500; }
        .project-card p { font-size: 0.8rem; color: var(--text-dim); line-height: 1.6; }
        .project-link { display: inline-flex; align-items: center; gap: 0.35rem; font-family: var(--mono); font-size: 0.65rem; color: var(--accent); background: var(--accent-dim); text-decoration: none; padding: 0.3rem 0.65rem; border-radius: 4px; border: 1px solid transparent; transition: all 0.2s; align-self: flex-start; }
        .project-link:hover { border-color: var(--accent); }
        .project-link svg { width: 11px; height: 11px; }

        .org-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
        .org-card { background: var(--bg-elevated); border: 1px solid var(--border); border-radius: 8px; padding: 1.25rem; text-decoration: none; color: var(--text); transition: all 0.2s; display: flex; align-items: flex-start; gap: 1rem; backdrop-filter: blur(30px) saturate(1.5); -webkit-backdrop-filter: blur(30px) saturate(1.5); }
        .org-card:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.1); }
        .org-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px; background: var(--accent-dim); flex-shrink: 0; }
        .org-icon svg { width: 20px; height: 20px; stroke: var(--accent); }
        .org-info h3 { font-size: 0.95rem; font-weight: 500; margin-bottom: 0.15rem; }
        .org-info .org-role { font-family: var(--mono); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent); margin-bottom: 0.4rem; }
        .org-info p { font-size: 0.8rem; color: var(--text-dim); line-height: 1.5; }
        .org-link { display: inline-flex; align-items: center; gap: 0.35rem; font-family: var(--mono); font-size: 0.65rem; color: var(--accent); background: var(--accent-dim); text-decoration: none; padding: 0.3rem 0.65rem; border-radius: 4px; border: 1px solid transparent; transition: all 0.2s; margin-top: 0.5rem; }
        .org-link:hover { border-color: var(--accent); }
        .org-link svg { width: 11px; height: 11px; }

        .services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 0.5rem; }
        .service-card { background: var(--bg-elevated); border: 1px solid var(--border); border-radius: 8px; padding: 2rem; transition: all 0.3s; position: relative; overflow: hidden; backdrop-filter: blur(30px) saturate(1.5); -webkit-backdrop-filter: blur(30px) saturate(1.5); }
        .service-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; }
        .service-card:hover { border-color: var(--accent); transform: translateY(-3px); box-shadow: 0 8px 30px rgba(0,161,255,0.08); }
        .service-card:hover::before { transform: scaleX(1); }
        .service-icon { font-family: var(--mono); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--accent); margin-bottom: 1rem; display: flex; align-items: center; gap: 0.6rem; }
        .service-icon svg { width: 20px; height: 20px; stroke: var(--accent); }
        .service-card h3 { font-family: var(--serif); font-size: 1.3rem; font-weight: 400; margin-bottom: 0.75rem; }
        .service-card p { font-size: 0.8rem; color: var(--text-muted); line-height: 1.75; font-weight: 300; }
        .service-card ul { list-style: none; margin-top: 1rem; }
        .service-card ul li { font-family: var(--mono); font-size: 0.7rem; color: var(--text-dim); padding: 0.3rem 0; border-bottom: 1px solid var(--border); letter-spacing: 0.03em; }
        .service-card ul li:last-child { border-bottom: none; }
        .services-cta { margin-top: 2.5rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }

        .contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin-top: 0.5rem; }

        footer { border-top: 1px solid var(--border); padding: 3rem 2rem; text-align: center; }
        footer p { font-family: var(--mono); font-size: 0.7rem; color: var(--text-dim); letter-spacing: 0.05em; }
        .footer-quote { font-family: var(--sans); font-size: 0.9rem; color: var(--text-dim); font-style: italic; margin-bottom: 1rem; max-width: 640px; margin-left: auto; margin-right: auto; line-height: 1.8; }

        [data-theme="light"] .hero::before { background: radial-gradient(circle, rgba(0,119,204,0.06) 0%, transparent 70%); }
        [data-theme="light"] .service-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.08); }
        [data-theme="light"] .highlight-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
        [data-theme="light"] nav { border-bottom-color: rgba(0,0,0,0.08); }

        @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
        @keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
        @keyframes iconFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
        .fade-in { opacity: 0; transform: translateY(16px); transition: opacity 0.5s ease, transform 0.5s ease; }
        .fade-in.visible { opacity: 1; transform: translateY(0); }

        /* ── STAGGERED ROW / CARD ENTRANCES ── */
        .timeline-item, .talk-item, .project-card, .org-card, .service-card, .highlight-card { opacity: 0; transform: translateY(12px); transition: opacity .5s ease, transform .5s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease; }
        .timeline-item.in, .talk-item.in, .project-card.in, .org-card.in, .service-card.in, .highlight-card.in { opacity: 1; transform: translateY(0); }

        /* ── HOVER ACCENTS ON TIMELINE + TALK ROWS ── */
        .timeline-item, .talk-item { position: relative; transition: padding-left .25s ease, background .25s ease, opacity .5s ease, transform .5s ease; }
        .timeline-item::before, .talk-item::before { content: ''; position: absolute; left: 0; top: 50%; height: 0; width: 2px; background: var(--accent); transform: translateY(-50%); transition: height .3s ease, opacity .25s ease; opacity: 0; }
        .timeline-item:hover::before, .talk-item:hover::before { height: 60%; opacity: 1; }
        .timeline-item:hover, .talk-item:hover { padding-left: .8rem; }
        @media (max-width: 640px) { .timeline-item:hover, .talk-item:hover { padding-left: 0; } .timeline-item::before, .talk-item::before { display: none; } }

        /* ── HIGHLIGHT CARD LIFT ── */
        .highlight-card { transition: opacity .5s ease, transform .5s ease, border-color .25s ease, box-shadow .25s ease; }
        .highlight-card.in:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,161,255,.08); }
        [data-theme="light"] .highlight-card.in:hover { box-shadow: 0 6px 20px rgba(0,0,0,.06); }
        .highlight-card .num { display: inline-block; transition: color .2s ease; }

        /* ── ICON POLISH ── */
        .project-icon svg, .org-icon svg, .service-icon svg { transition: transform .3s ease; }
        .project-card:hover .project-icon svg, .org-card:hover .org-icon svg { transform: scale(1.12) rotate(-4deg); }
        .service-card:hover .service-icon svg { animation: iconFloat 1.2s ease infinite; }
        .nav-social a svg, .theme-toggle svg, .lang-toggle svg { transition: transform .2s ease; }
        .nav-social a:hover svg, .theme-toggle:hover svg, .lang-toggle:hover svg { transform: scale(1.15); }
        .talk-links a svg { transition: transform .2s ease; }
        .talk-links a:hover svg { transform: scale(1.15); }

        /* ── CARD SHIMMER ON HOVER (very subtle) ── */
        .project-card, .org-card { position: relative; overflow: hidden; }
        .project-card::after, .org-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.04) 50%, transparent 100%); background-size: 200% 100%; opacity: 0; pointer-events: none; }
        .project-card:hover::after, .org-card:hover::after { opacity: 1; animation: shimmer 1.2s ease; }

        /* ── BUTTON POLISH (expand / CTA buttons) ── */
        .talks-expand-btn { transition: all .2s ease, transform .15s ease; }
        .talks-expand-btn:hover { transform: translateY(-1px); }
        .talks-expand-btn:active { transform: translateY(0) scale(.97); }

        /* ── LINK COLOR TRANSITIONS ── */
        .sinyo { transition: color .2s ease, border-color .2s ease; }
        .project-link, .org-link { transition: all .2s ease; }
        .project-link:hover, .org-link:hover { transform: translateY(-1px); }

        /* ── REDUCED MOTION GUARD ── */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
            .timeline-item, .talk-item, .project-card, .org-card, .service-card, .highlight-card { opacity: 1; transform: none; }
            .hero-photo, .hero-label, .hero h1, .hero-desc, .about-highlights > .highlight-card { opacity: 1 !important; animation: none !important; }
        }

        /* ── RESPONSIVE: LARGE SCREENS ── */
        @media (min-width: 1400px) {
            :root { --max-w: 1280px; }
            body { font-size: 16px; }
            .hero h1 { font-size: clamp(3.2rem, 5vw, 5rem); }
            .about-text { font-size: 1.12rem; }
            h2 { font-size: 2.2rem; }
            .service-card h3 { font-size: 1.4rem; }
            .service-card p { font-size: 0.9rem; }
            .service-card ul li { font-size: 0.75rem; }
            .timeline-content h3 { font-size: 1.05rem; }
            .timeline-content .desc { font-size: 0.9rem; }
            .timeline-date { font-size: 0.78rem; }
            .talk-title { font-size: 1rem; }
            .talk-meta { font-size: 0.85rem; }
            .project-card h3 { font-size: 1rem; }
            .project-card p { font-size: 0.85rem; }
            .org-info h3 { font-size: 1rem; }
            .org-info p { font-size: 0.85rem; }
            .highlight-card .num { font-size: 2rem; }
            .highlight-card .label { font-size: 0.75rem; }
            .highlight-card { padding: 1.75rem; }
            .footer-quote { font-size: 1.1rem; max-width: 720px; }
            section { padding: 7rem 2.5rem; }
            .nav-links a { font-size: 0.76rem; }
        }
        @media (min-width: 1800px) {
            :root { --max-w: 1400px; }
            body { font-size: 17px; }
            .hero h1 { font-size: clamp(3.5rem, 4.5vw, 5.5rem); }
            .about-text { font-size: 1.18rem; line-height: 2; }
            h2 { font-size: 2.4rem; }
            .nav-links a { font-size: 0.78rem; }
            .nav-inner { height: 68px; }
            .service-card { padding: 2.5rem; }
            .service-card h3 { font-size: 1.5rem; }
            .service-card p { font-size: 0.95rem; }
            .timeline-content h3 { font-size: 1.1rem; }
            .timeline-content .desc { font-size: 0.92rem; }
            .timeline-date { font-size: 0.8rem; }
            .highlight-card .num { font-size: 2.2rem; }
            .footer-quote { font-size: 1.15rem; max-width: 780px; }
            section { padding: 8rem 3rem; }
            .services-grid { gap: 2rem; }
            .project-grid, .org-grid { gap: 1.5rem; }
            .about-highlights { gap: 2rem; }
        }
        @media (min-width: 2200px) {
            :root { --max-w: 1600px; }
            body { font-size: 18px; }
            .hero h1 { font-size: 5.5rem; }
            .about-text { font-size: 1.25rem; }
            h2 { font-size: 2.6rem; }
            .service-card h3 { font-size: 1.6rem; }
            .service-card p { font-size: 1rem; }
            .service-card ul li { font-size: 0.8rem; }
            .timeline-content h3 { font-size: 1.15rem; }
            .timeline-content .desc { font-size: 0.95rem; }
            .highlight-card .num { font-size: 2.4rem; }
            .footer-quote { font-size: 1.2rem; max-width: 840px; }
            section { padding: 9rem 3rem; }
        }

        /* ── RESPONSIVE: MEDIUM ── */
        @media (min-width: 641px) and (max-width: 1024px) {
            .services-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
            .service-card { padding: 1.5rem; }
            .org-grid { grid-template-columns: 1fr 1fr; }
        }

        /* ── RESPONSIVE: MOBILE ── */
        @media (max-width: 640px) {
            .nav-links { display: none; position: absolute; top: 60px; left: 0; right: 0; background: var(--nav-bg); backdrop-filter: blur(20px); flex-direction: column; padding: 1.5rem 2rem; gap: 1rem; border-bottom: 1px solid var(--border); }
            .nav-links.open { display: flex; }
            .hamburger { display: flex; }
            .nav-dropdown { display: contents; }
            .nav-dropdown > a { display: none !important; }
            .nav-dropdown > a::after { display: none; }
            .nav-dropdown::after { display: none; }
            .dropdown-menu { display: contents !important; position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; box-shadow: none !important; border: none !important; background: transparent !important; padding: 0 !important; min-width: auto !important; }
            .dropdown-menu a { display: block !important; padding: 0 !important; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); white-space: normal; }
            .nav-divider { margin: 0 0.1rem; }
            .timeline-item { grid-template-columns: 1fr; gap: 0.25rem; }
            .talk-item { grid-template-columns: 1fr; gap: 0.5rem; }
            .talk-year { order: -1; text-align: left; }
            .talk-links { order: 3; }
            .services-grid, .project-grid, .org-grid { grid-template-columns: 1fr; }
            section { padding: 4rem 1.5rem; }
            .hero { padding: 0 1.5rem; }
        }
    </style></head><body>

<!-- NAV -->
<nav>
    <div class="nav-inner">
        <div class="nav-left">
            <button class="hamburger" onclick="document.querySelector('.nav-links').classList.toggle('open')" aria-label="Menu"><span></span><span></span><span></span></button>
            <ul class="nav-links">
                <li><a href="#about" onclick="document.querySelector('.nav-links').classList.remove('open')">About</a></li>
                <li><a href="#cv" onclick="document.querySelector('.nav-links').classList.remove('open')">Experience</a></li>
                <li><a href="#services" onclick="document.querySelector('.nav-links').classList.remove('open')">Services</a></li>
                <li><a href="projects.html">Projects</a></li>
                <li><a href="talks.html">Talks</a></li>
                <li><a href="#contact" onclick="document.querySelector('.nav-links').classList.remove('open')">Contact</a></li>
            </ul>
        </div>
        <div class="nav-right">
            <div class="nav-social">
                <a href="https://linkedin.com/in/miglen" target="_blank" rel="noopener" aria-label="LinkedIn"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg></a>
                <a href="https://instagram.com/miglen.bg" target="_blank" rel="noopener" aria-label="Instagram"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg></a>
                <a href="https://github.com/miglen" target="_blank" rel="noopener" aria-label="GitHub"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"/><path d="M9 18c-4.51 2-5-2-7-2"/></svg></a>
            </div>
            <div class="nav-divider"></div>
            <button class="lang-toggle" onclick="toggleLang()" aria-label="Switch language" style="display:none;visibility:hidden;">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>
                <span class="lang-code">English</span>
            </button>
            <button class="theme-toggle" onclick="toggleTheme()" aria-label="Toggle theme">
                <svg class="icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>
                <svg class="icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg>
            </button>
        </div>
    </div>
</nav>

<!-- HERO -->
<section class="hero" id="about">
    <div class="hero-inner" style="padding-top: 120px;">
        <h1>Miglen Evlogiev</h1>
        <div class="hero-label">Cybersecurity · Speaker · AI · Leadership · Strategy</div>
        <div class="about-text">
            <p>I am a cybersecurity executive with over 15 years of experience building and leading security programs across cloud, fintech, and regulated enterprise environments.</p>
            <p>As the founding security engineer behind the <a href="https://aws.amazon.com/managed-services/" class="sinyo">AWS Managed Security</a> capabilities, I contributed to shaping how large-scale cloud environments detect and respond to threats globally.</p>
            <p>At <a href="https://payhawk.com/trust" class="sinyo">Payhawk</a>, I built the security function from the ground up, supporting the company's growth to unicorn status and achieving multiple regulatory and compliance milestones, including PCI DSS, <a href="https://mis2.bg" class="sinyo">NIS2</a>, <a href="https://dora.bg" class="sinyo">DORA</a> alignment, SOC, ISO 27001, CSA, and EMI licensing requirements.</p>
            <p>Today, I serve as CISO at <a href="https://evrotrust.com/" class="sinyo">Evrotrust</a> and President of the <a href="https://cybersecbg.org/" class="sinyo">Bulgarian Cybersecurity Association</a>, where I focus on strengthening national cyber resilience and driving meaningful collaboration between the public and private sectors.</p>
            <p>Beyond my executive roles, I actively support the cybersecurity ecosystem through community leadership, public speaking, mentoring, and product evaluation. I have co-organized initiatives such as <a href="https://owasp.org/www-chapter-sofia/" class="sinyo">OWASP Sofia</a> and <a href="https://xakep.bg" class="sinyo">XAKEP.bg</a>, and have delivered lectures and training across Europe.</p>
            <p>This website is a structured overview of my work, projects, speaking engagements, and contributions to the cybersecurity community.</p>
        </div>
        <div class="about-highlights">
            <div class="highlight-card"><span class="num">15+</span><span class="label">Years in the industry</span></div>
            <div class="highlight-card"><span class="num">100+</span><span class="label">Security Products Reviewed</span></div>
            <div class="highlight-card"><span class="num">1500+</span><span class="label">Hiring Interviews</span></div>
            <div class="highlight-card"><span class="num">100s</span><span class="label">Speaking engagements</span></div>
            <div class="highlight-card"><span class="num">2000+</span><span class="label">Hours training delivered</span></div>
            <div class="highlight-card"><span class="num">30K</span><span class="label">LinkedIn Followers</span></div>
            <div class="highlight-card"><span class="num">20+</span><span class="label">Successful Mentees</span></div>
            <div class="highlight-card"><span class="num">100+</span><span class="label">Security Audits</span></div>
        </div>
    </div>
</section>

<!-- CV -->
<section id="cv" class="fade-in">
    <div class="section-label">Experience</div>
    <div class="timeline">
        <div class="timeline-item"><div class="timeline-date">May 2025 — Present</div><div class="timeline-content"><h3>Chief Information Security Officer <span class="current-badge">Current</span></h3><div class="org"><a href="https://evrotrust.com" class="sinyo">Evrotrust</a></div><div class="desc">Leading the information security, compliance, and platform team. Driving the strategy that protects the digital identity and trust-service ecosystem, ensuring alignment with eIDAS and global standards while enabling secure growth and innovation.</div></div></div>
        <div class="timeline-item"><div class="timeline-date">Jan 2025 — Present</div><div class="timeline-content"><h3>CISO (Advisory) <span class="current-badge">Current</span></h3><div class="org"><a href="https://wisebee.ai/" class="sinyo">WiseBee</a></div><div class="desc">Provide strategic cybersecurity guidance to support growth, product development, and compliance.</div></div></div>
        <div class="timeline-item"><div class="timeline-date">Jan 2024 — Present</div><div class="timeline-content"><h3>President <span class="current-badge">Current</span></h3><div class="org"><a href="https://cybersecbg.org/" class="sinyo">Bulgarian Cybersecurity Association</a></div><div class="desc">Advancing national cyber resilience and fostering collaboration between sectors.</div></div></div>
    </div>
    <div class="talks-hidden timeline" id="moreExperience">
        <div class="timeline-item"><div class="timeline-date">Dec 2021 — May 2025</div><div class="timeline-content"><h3>VP of Information Security</h3><div class="org"><a href="https://payhawk.com/" class="sinyo">Payhawk</a></div><div class="desc">Built and scaled the security program for a high-growth fintech company.</div></div></div>
        <div class="timeline-item"><div class="timeline-date">Dec 2020 — Dec 2021</div><div class="timeline-content"><h3>Lead Security Engineer</h3><div class="org"><a href="https://dext.com/" class="sinyo">Dext</a> (Receipt Bank)</div></div></div>
        <div class="timeline-item"><div class="timeline-date">Nov 2015 — Dec 2020</div><div class="timeline-content"><h3>Senior Security Engineer</h3><div class="org"><a href="https://aws.amazon.com/managed-services/" class="sinyo">AWS Managed Services</a> (Sentinel)</div><div class="desc">First engineer to build the AWS Managed Security capability, shaping cloud security at global scale.</div></div></div>
        <div class="timeline-item"><div class="timeline-date">Apr 2013 — Nov 2015</div><div class="timeline-content"><h3>Technical Team Lead</h3><div class="org"><a href="https://hp.com" class="sinyo">HP</a></div><div class="desc">First engineer to build the AWS Managed Security capability, shaping cloud security at global scale.</div></div></div>
        <div class="timeline-item"><div class="timeline-date">Jun 2008 — Jun 2010</div><div class="timeline-content"><h3>Founder</h3><div class="org">MOZ</div><div class="desc">Venture at the age of 18 that was focused on web development, for the short existence of our company we had over a hundred web projects.</div></div></div>
    </div>
    <div style="display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1.5rem;">
        <button class="talks-expand-btn" id="expandExpBtn" onclick="toggleExperience()">Show full experience <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg></button>
        <a href="https://linkedin.com/in/miglen" target="_blank" rel="noopener" class="talks-expand-btn" style="text-decoration: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" style="width:14px;height:14px;"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg> LinkedIn</a>
        <a href="Miglen_Evlogiev_CISO_Cybersecurity_CV.pdf" target="_blank" rel="noopener" class="talks-expand-btn" style="text-decoration: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" style="width:14px;height:14px;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg> Download CV</a>
    </div>
</section>
<!-- ORGANISATIONS -->
<section id="organisations" class="fade-in">
    <div class="section-label">Organisations</div>
    <h2>Communities I support</h2>
    <div class="org-grid" style="margin-top: 2rem;">
        <a href="https://owasp.org/www-chapter-sofia/" target="_blank" rel="noopener" class="org-card"><div class="org-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div><div class="org-info"><div class="org-role">Chapter Lead</div><h3>OWASP Sofia</h3><p>Co-organizer of the Sofia chapter, building local AppSec community.</p><span class="org-link"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>owasp.org</span></div></a>
        <a href="https://xakep.bg" target="_blank" rel="noopener" class="org-card"><div class="org-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"/><line x1="12" y1="19" x2="20" y2="19"/></svg></div><div class="org-info"><div class="org-role">Founder</div><h3>XAKEP.bg</h3><p>The largest online cybersecurity community in Bulgaria.</p><span class="org-link"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>xakep.bg</span></div></a>
        <a href="https://cybersecbg.org/" target="_blank" rel="noopener" class="org-card"><div class="org-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></div><div class="org-info"><div class="org-role">President</div><h3>Bulgarian Cybersecurity Association</h3><p>Advancing national cyber resilience and public-private sector collaboration.</p><span class="org-link"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>cybersecbg.org</span></div></a>
        <a href="https://cybersecuritytalks.bg" target="_blank" rel="noopener" class="org-card"><div class="org-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg></div><div class="org-info"><div class="org-role">Speaker &amp; Advocate</div><h3>CyberSecurityTalks</h3><p>Regular speaker and advocate for cyber awareness in Bulgaria.</p><span class="org-link"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>cybersecuritytalks.bg</span></div></a>
        <a href="https://dev.bg/groups/cyber-security/" target="_blank" rel="noopener" class="org-card"><div class="org-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg></div><div class="org-info"><div class="org-role">Speaker &amp; Advocate</div><h3>CyberSecurity Group @ Dev.bg</h3><p>Regular speaker and advocate for cyber awareness in Bulgaria.</p><span class="org-link"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>dev.bg/groups/cyber-security</span></div></a>
        <a href="https://csf.bg/" target="_blank" rel="noopener" class="org-card"><div class="org-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></div><div class="org-info"><div class="org-role">Founder</div><h3>Bulgarian Cybersecurity Foundation</h3><p>Advancing national cyber resilience and public-private sector collaboration.</p><span class="org-link"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>csf.bg</span></div></a>
    </div>
</section>

<!-- SERVICES -->
<section id="services" class="fade-in">
    <div class="section-label">Services</div>
    <h2>How I can help</h2>
    <p style="color: var(--text-muted); font-weight: 300; margin-bottom: 2.5rem; max-width: 620px;">Leveraging over a decade of hands-on security experience across cloud, fintech, and enterprise to help organizations build resilient security postures.</p>
    <div class="services-grid">
        <div class="service-card" id="advisory"><div class="service-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg>01</div><h3>Advisory</h3><p>Strategic cybersecurity guidance for executives and boards. Helping you make informed security decisions aligned with business objectives.</p><ul><li>Security program assessment</li><li>Board-level risk reporting</li><li>Vendor &amp; product evaluation</li><li>M&amp;A security due diligence</li></ul></div>
        <div class="service-card" id="compliance"><div class="service-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>02</div><h3>Compliance</h3><p>Navigate complex regulatory landscapes with confidence. From preparation to audit, ensuring your organization meets and maintains compliance standards.</p><ul><li>ISO 27001 &amp; SOC 2 readiness</li><li>GDPR &amp; NIS2 alignment</li><li>Gap analysis &amp; remediation</li><li>Policy framework development</li></ul></div>
        <div class="service-card" id="vciso"><div class="service-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>03</div><h3>vCISO</h3><p>Fractional CISO leadership for organizations that need senior security expertise without a full-time hire. Embedded, hands-on, and accountable.</p><ul><li>Security strategy &amp; roadmap</li><li>Team building &amp; mentoring</li><li>Incident response leadership</li><li>Executive stakeholder management</li></ul></div>
        <div class="service-card" id="training"><div class="service-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10v6M2 10l10-5 10 5-10 5z"/><path d="M6 12v5c0 1.657 2.686 3 6 3s6-1.343 6-3v-5"/></svg>04</div><h3>Security Training</h3><p>Practical, engaging training programs tailored to your organization — from developer security workshops to executive awareness sessions.</p><ul><li>Security awareness programs</li><li>Developer security training</li><li>Phishing simulation &amp; education</li><li>Custom workshops &amp; bootcamps</li></ul></div>
        <div class="service-card" id="mentoring"><div class="service-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>05 · Free</div><h3>Mentoring</h3><p>Free mentoring for aspiring cybersecurity professionals. Whether you're starting out or looking to level up, I'm happy to help with career guidance and technical growth.</p><ul><li>Career path guidance</li><li>Interview preparation</li><li>Technical skill development</li><li>Community &amp; networking advice</li></ul></div>
        <div class="service-card" id="testing"><div class="service-icon"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>06</div><h3>Security Testing</h3><p>Hands-on offensive security assessments to find vulnerabilities before attackers do — across web, mobile, API, and AI-powered systems.</p><ul><li>Penetration testing</li><li>AI &amp; LLM security testing</li><li>Mobile application testing</li><li>Red team exercises</li></ul></div>
    </div>
    <div class="services-cta">
        <a href="https://calendar.app.google/JuJ5EnUTHu7FkJ7M8" target="_blank" rel="noopener" class="talks-expand-btn" style="text-decoration: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" style="width:14px;height:14px;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg> Book a call</a>
        <a href="mailto:hi@miglen.com?subject=Services%20Inquiry" target="_blank" rel="noopener" class="talks-expand-btn" style="text-decoration: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" style="width:14px;height:14px;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg> Send me an email</a>
    </div>
</section>

<!-- CONTACT -->
<section id="contact" class="fade-in">
    <div class="section-label">Get in Touch</div>
    <h2>Let's connect</h2>
    <p style="color: var(--text-muted); font-weight: 300; margin-bottom: 2rem;">Open to speaking invitations, security advisory, mentoring, and collaboration on cybersecurity initiatives or just chat!</p>
    <div class="contact-grid">
        <a href="mailto:hi@miglen.com?subject=Hello" target="_blank" rel="noopener" class="talks-expand-btn" style="text-decoration: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" style="width:14px;height:14px;"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></svg> Send me an email</a>
        <a href="https://linkedin.com/in/miglen" target="_blank" rel="noopener" class="talks-expand-btn" style="text-decoration: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" style="width:14px;height:14px;"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg> LinkedIn.com/in/Miglen</a>
        <a href="https://calendar.app.google/JuJ5EnUTHu7FkJ7M8" target="_blank" rel="noopener" class="talks-expand-btn" style="text-decoration: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" style="width:14px;height:14px;"><rect x="3" y="4" width="18" height="18" rx="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg> Book a Meeting</a>
    </div>
</section>

<!-- FOOTER -->
<footer>
    <div class="footer-quote">Life is either a daring adventure or nothing at all. Security does not exist in nature. Avoiding danger is no safer in the long run than exposure. Embrace the risk! <br>Life is now - fear less, live unbound.</div>
    <p>&copy; miglen.com | Built since 2007 from Pernik, Bulgaria.</p>
</footer>

<script>
    // Language toggle
    let currentLang = localStorage.getItem('lang') || 'en';
    const langNames = { en: 'English', bg: 'Български' };
    document.querySelector('.lang-code').textContent = langNames[currentLang];
    function toggleLang() {
        currentLang = currentLang === 'en' ? 'bg' : 'en';
        document.querySelector('.lang-code').textContent = langNames[currentLang];
        document.documentElement.setAttribute('lang', currentLang);
        localStorage.setItem('lang', currentLang);
    }

    // Theme toggle
    function toggleTheme() {
        const html = document.documentElement;
        const next = html.getAttribute('data-theme') === 'light' ? 'dark' : 'light';
        html.setAttribute('data-theme', next);
        localStorage.setItem('theme', next);
    }
    (function() {
        const saved = localStorage.getItem('theme');
        if (saved) document.documentElement.setAttribute('data-theme', saved);
        else if (window.matchMedia('(prefers-color-scheme: light)').matches) document.documentElement.setAttribute('data-theme', 'light');
    })();

    // Expand talks
    function toggleTalks() {
        const el = document.getElementById('moreTalks');
        const btn = document.getElementById('expandTalksBtn');
        const expanded = el.classList.toggle('expanded');
        btn.classList.toggle('active', expanded);
        btn.firstChild.textContent = expanded ? 'Show less ' : 'Show all talks ';
    }

    // Expand experience
    function toggleExperience() {
        const el = document.getElementById('moreExperience');
        const btn = document.getElementById('expandExpBtn');
        const expanded = el.classList.toggle('expanded');
        btn.classList.toggle('active', expanded);
        btn.firstChild.textContent = expanded ? 'Show less ' : 'Show full experience ';
    }

    // Fade in
    const observer = new IntersectionObserver((entries) => {
        entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('visible'); });
    }, { threshold: 0.1 });
    document.querySelectorAll('.fade-in').forEach(el => observer.observe(el));

    // Close mobile nav on scroll
    window.addEventListener('scroll', () => document.querySelector('.nav-links')?.classList.remove('open'));

    // ── Staggered scroll-in for rows & cards ──
    (function(){
        const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
        const selectors = [
            '.about-highlights .highlight-card',
            '#cv .timeline-item',
            '#speaking .talk-item',
            '#projects .project-card',
            '#organisations .org-card',
            '#services .service-card'
        ];
        if (reduceMotion) {
            document.querySelectorAll(selectors.join(',')).forEach(el => el.classList.add('in'));
            return;
        }
        // Group items per-container so each group staggers independently
        selectors.forEach(sel => {
            const items = Array.from(document.querySelectorAll(sel));
            if (!items.length) return;
            const groupObserver = new IntersectionObserver((entries, obs) => {
                // Sort by DOM order to keep stagger direction consistent
                const visible = entries.filter(e => e.isIntersecting).map(e => e.target);
                visible.sort((a,b) => items.indexOf(a) - items.indexOf(b));
                visible.forEach((el, i) => {
                    setTimeout(() => el.classList.add('in'), i * 60);
                    obs.unobserve(el);
                });
            }, { threshold: 0.12, rootMargin: '0px 0px -40px 0px' });
            items.forEach(el => groupObserver.observe(el));
        });
    })();

    // ── Count-up animation for highlight stats ──
    (function(){
        const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
        const stats = document.querySelectorAll('.about-highlights .highlight-card .num');
        if (!stats.length) return;

        // Parse "15+", "1500+", "30K", "100s" into {num, prefix, suffix}
        function parse(text) {
            const m = String(text).match(/^(\D*)(\d+(?:[.,]\d+)?)(\D*)$/);
            if (!m) return null;
            return { prefix: m[1], num: parseFloat(m[2].replace(',', '.')), suffix: m[3] };
        }

        function animate(el, target, duration, prefix, suffix) {
            if (reduceMotion) { el.textContent = prefix + target + suffix; return; }
            const start = performance.now();
            function tick(now) {
                const p = Math.min((now - start) / duration, 1);
                const eased = 1 - Math.pow(1 - p, 3);
                const val = Math.round(target * eased);
                el.textContent = prefix + val + suffix;
                if (p < 1) requestAnimationFrame(tick);
                else el.textContent = prefix + target + suffix;
            }
            requestAnimationFrame(tick);
        }

        // Cache original text, reset to zero-state, animate when visible
        stats.forEach(el => {
            const parsed = parse(el.textContent.trim());
            if (!parsed) return;
            el.dataset.original = el.textContent;
            el.dataset.targetNum = parsed.num;
            el.dataset.prefix = parsed.prefix;
            el.dataset.suffix = parsed.suffix;
            if (!reduceMotion) el.textContent = parsed.prefix + '0' + parsed.suffix;
        });

        const statObserver = new IntersectionObserver((entries, obs) => {
            entries.forEach(e => {
                if (!e.isIntersecting) return;
                const el = e.target;
                const target = parseFloat(el.dataset.targetNum);
                const prefix = el.dataset.prefix || '';
                const suffix = el.dataset.suffix || '';
                // Slightly longer for bigger numbers so they don't fly by
                const duration = target > 500 ? 1200 : 800;
                animate(el, target, duration, prefix, suffix);
                obs.unobserve(el);
            });
        }, { threshold: 0.4 });
        stats.forEach(el => statObserver.observe(el));
    })();
</script>

</body></html>