:root{--color-bg: #0d1225;--color-surface: #000000;--color-border: #263352;--color-border-2: #2a3d60;--color-accent: #3b82f6;--color-accent-dim: rgba(59, 130, 246, .12);--color-accent-glow: rgba(59, 130, 246, .35);--color-text: #f8fafc;--color-text-muted: #94a3b8;--color-text-dim: #7e8fa7;--color-focus: #60a5fa;--color-linkedin: #0077b5;--color-danger: #ef4444;--color-success: #10b981;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(.4, 0, .2, 1)}@keyframes hero-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.search-box{position:relative;max-width:500px;margin:0 auto}.search-box:before{content:">_";position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--color-accent);pointer-events:none;z-index:1;letter-spacing:-.05em}.search-box input{width:100%;background:#1e293ba6;border:1px solid var(--color-border);color:var(--color-text);padding:.85rem 1.25rem .85rem 3.2rem;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.85rem;outline:none;transition:all .25s var(--ease-out);letter-spacing:.02em}.search-box input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}main:focus,main h1:focus{outline:none}.search-box input::placeholder{color:var(--color-text-dim);font-style:italic}.search-box input:focus{border-color:var(--color-accent);background:#1e293bf2;box-shadow:0 0 0 3px #3b82f61a,0 0 28px #3b82f612}body.light-mode .search-box input{background:#fff;border-color:#d1d5db;color:#0f172a;box-shadow:0 1px 3px #0000000f}body.light-mode .search-box input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f,0 1px 3px #0000000f}.section-label{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;animation:hero-enter .8s var(--ease-spring) .55s both}.section-label-text{font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:#10b981;letter-spacing:.1em}.section-label-sub{font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-dim);letter-spacing:.04em}body.light-mode .section-label-text{color:#2563eb}body.light-mode .section-label-sub{color:#4b5563}.no-results{text-align:center;padding:3.5rem 1rem;color:var(--color-text-dim)}.no-results-icon{display:block;font-size:2.5rem;margin-bottom:.75rem;opacity:.35}.no-results p{font-family:var(--font-mono);font-size:.85rem;margin:0}.no-results strong{color:var(--color-accent)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;position:relative;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle,rgba(59,130,246,.18) 1px,transparent 1px);background-size:30px 30px;pointer-events:none;z-index:0;animation:grid-drift 24s linear infinite;transition:background-image .3s ease}body:after{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.022) 2px,rgba(0,0,0,.022) 4px);pointer-events:none;z-index:1;transition:opacity .3s ease}body.light-mode{--color-bg: #f3f4f6;--color-surface: #ffffff;--color-border: #e5e7eb;--color-border-2: #d1d5db;--color-accent: #2563eb;--color-accent-dim: rgba(37, 99, 235, .1);--color-accent-glow: rgba(37, 99, 235, .25);--color-text: #0f172a;--color-text-muted: #374151;--color-text-dim: #4b5563;--color-focus: #1d4ed8;--color-danger: #bf1010;--color-success: #0a714f;background-color:var(--color-bg);color:#0f172a}body.light-mode:before{background-image:radial-gradient(circle,rgba(37,99,235,.22) 1px,transparent 1px)}body.light-mode:after{opacity:0}body.light-mode .centered-header h1{background:linear-gradient(135deg,#1e3a8a,#1d4ed8 55%,#3b82f6)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}body.light-mode .about-section{background:#fff!important}body.light-mode .about-bio-lead,body.light-mode .about-bio-inner p{color:#0f172a!important}body.light-mode .home-btn,body.light-mode .github-btn,body.light-mode .email-btn,body.light-mode .theme-btn{color:#1e293b!important}body:not(.light-mode) .project-tile{box-shadow:0 2px 16px #000000b3}body.light-mode .project-tile{box-shadow:0 1px 2px #0000000a,0 4px 16px #00000017,0 0 0 1px #0000000d!important}body.light-mode .project-tile:hover{transform:translateY(-8px);box-shadow:0 24px 56px -10px #00000038,0 0 0 1px #007aff59,0 0 32px 6px #007aff29!important}body.light-mode .search-box input{background:#fff!important}body.light-mode .search-box input:focus{background:#fff!important}@keyframes grid-drift{0%{background-position:0 0}to{background-position:30px 30px}}.projects-band{width:100%;position:relative;z-index:2}.about-bridge{max-width:1200px;margin:0 auto;padding:0 20px;margin-top:-3.5rem;margin-bottom:3.5rem}.projects-inner{max-width:1200px;margin:0 auto;padding:0 20px 40px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.container{max-width:1200px;margin:0 auto;padding:40px 20px;position:relative;z-index:2}a,.btn{color:var(--color-accent);text-decoration:none;transition:color .2s}@media print{.sidebar,.top-nav{display:none!important}.app-main{margin-left:0!important}body,body:before,body:after{background:#fff!important}body{color:#0f172a}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}}.hero-positioning{margin:-.65rem 0 0;color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;animation:hero-enter .8s var(--ease-spring) .28s both}.expandable-project{padding:0!important;cursor:default!important;overflow:hidden;align-self:start}.expandable-project.is-expanded{grid-column:1 / -1;border-color:color-mix(in srgb,var(--project-color) 46%,var(--color-border));box-shadow:0 18px 55px -18px #000000a6,0 0 0 1px #007aff3d,0 0 28px 5px #007aff21}body.light-mode .expandable-project.is-expanded{box-shadow:0 24px 56px -16px #0003,0 0 0 1px #007aff47,0 0 32px 6px #007aff1f!important}.project-summary{display:block;width:100%;padding:1.875rem 1.875rem 1.5rem;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.project-summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:-4px;border-radius:var(--radius-lg)}.expandable-project .role-preview{transition:color .25s ease}.expandable-project .view-label{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.project-chevron{width:17px;height:17px;flex-shrink:0;transition:transform .32s var(--ease-spring)}.project-chevron.is-expanded{transform:rotate(180deg)}.project-detail-wrapper{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .46s var(--ease-spring),opacity .3s ease}.project-detail-wrapper.is-expanded{grid-template-rows:1fr;opacity:1}.project-detail-inner{min-height:0;overflow:hidden}.project-detail-wrapper.is-expanded .project-detail-inner{border-top:1px solid var(--color-border)}.project-detail-inner{padding:0 1.875rem}.project-detail-wrapper.is-expanded .project-detail-inner{padding-top:1.6rem;padding-bottom:2rem}.academic-project-note{margin:0 0 1.6rem;padding:.9rem 1rem;border-left:3px solid var(--project-color);border-radius:0 var(--radius-md) var(--radius-md) 0;background:color-mix(in srgb,var(--project-color) 8%,transparent);color:var(--color-text-muted);font-size:.84rem;line-height:1.62}.academic-project-note strong{color:var(--color-text)}.case-section{margin:0 0 1.65rem}.case-section:last-child{margin-bottom:0}.case-section h3{margin:0 0 .8rem;color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;font-weight:800;letter-spacing:.105em;text-transform:uppercase}.case-section p,.case-section li{color:var(--color-text-muted);font-size:.9rem;line-height:1.7}.case-section p{margin:0}.case-section ul{margin:0;padding-left:1.35rem}.case-section li{margin:.32rem 0;padding-left:.15rem}.framework-list{display:flex;flex-wrap:wrap;gap:.48rem}.framework-pill{display:inline-flex;align-items:center;min-height:30px;padding:.38rem .68rem;border:1px solid color-mix(in srgb,var(--project-color) 35%,var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--project-color) 8%,var(--color-surface));color:var(--color-text-muted);font-family:var(--font-mono);font-size:.69rem;font-weight:650;line-height:1.25}.deliverable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.deliverable-card{padding:.78rem .88rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#0f172a6b;color:var(--color-text-muted);font-size:.8rem;font-weight:600;line-height:1.42}body.light-mode .deliverable-card{background:#f8fafc;color:#334155}.related-tool-list{display:flex;flex-wrap:wrap;gap:.6rem}.related-tool{--tool-color: var(--color-accent);display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .9rem;border:1px solid color-mix(in srgb,var(--tool-color) 45%,var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--tool-color) 10%,transparent);color:var(--color-text);font-size:.85rem;font-weight:600;text-decoration:none;transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out),transform .2s var(--ease-spring)}.related-tool:hover{background:color-mix(in srgb,var(--tool-color) 20%,transparent);border-color:var(--tool-color);color:var(--color-text);transform:translateY(-2px)}.related-tool:focus-visible{outline:2px solid var(--tool-color);outline-offset:2px}.related-tool-dot{width:8px;height:8px;border-radius:50%;background:var(--tool-color);flex-shrink:0}.related-tool-arrow{color:var(--tool-color);transition:transform .2s var(--ease-spring)}.related-tool:hover .related-tool-arrow{transform:translate(3px)}body.light-mode .related-tool{color:#0f172a;background:color-mix(in srgb,var(--tool-color) 8%,#ffffff)}body.light-mode .related-tool:hover{color:#0f172a;background:color-mix(in srgb,var(--tool-color) 16%,#ffffff)}body.light-mode .related-tool-arrow{color:color-mix(in srgb,var(--tool-color) 70%,#0f172a)}@media(prefers-reduced-motion:reduce){.related-tool,.related-tool-arrow{transition:none}.related-tool:hover,.related-tool:hover .related-tool-arrow{transform:none}}.demonstrates-section{padding:1rem 1.1rem;border-left:3px solid var(--color-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-accent-dim)}.demonstrates-section h3{margin-bottom:.55rem}.expandable-project.is-expanded:hover{transform:none!important}.expandable-project.is-expanded:before{display:none}body.light-mode .case-section p,body.light-mode .case-section li,body.light-mode .academic-project-note,body.light-mode .framework-pill{color:#334155}body.light-mode .academic-project-note strong{color:#0f172a}.capstone-project{order:1}.management-project{order:2}.architecture-project{order:3}.grc-project{order:4}.operations-project{order:5}.pentest-project{order:6}.cloud-project{order:7}.network-project{order:8}.software-project{order:9}.foundations-project{order:10}@media(min-width:1001px){.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)){grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,auto)}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .capstone-project{grid-column:2;grid-row:1}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .management-project{grid-column:1;grid-row:2}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .architecture-project{grid-column:2;grid-row:2}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .grc-project{grid-column:3;grid-row:2}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .operations-project{grid-column:1;grid-row:3}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .pentest-project{grid-column:2;grid-row:3}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .cloud-project{grid-column:3;grid-row:3}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .network-project{grid-column:1;grid-row:4}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .software-project{grid-column:2;grid-row:4}.prioritized-grid:not(.search-active):not(:has(.expandable-project.is-expanded)) .foundations-project{grid-column:3;grid-row:4}.prioritized-grid.search-active .expandable-project,.prioritized-grid:has(.expandable-project.is-expanded) .expandable-project{grid-row:auto;grid-column:auto}.prioritized-grid:has(.expandable-project.is-expanded) .expandable-project.is-expanded{grid-column:1 / -1}}@media(max-width:760px){.hero-positioning{padding:0 2.6rem;font-size:.64rem;line-height:1.65}.project-summary{padding:1.55rem 1.35rem 1.25rem}.project-detail-inner{padding-left:1.35rem;padding-right:1.35rem}.deliverable-grid{grid-template-columns:1fr}}
