@font-face{font-family:Outfit;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/outfit.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/instrument-serif.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(../../../fonts/instrument-serif-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/jetbrains-mono.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-deep: #0a0a0c;--bg-primary: #0f0f12;--bg-card: #151518;--bg-elevated: #1a1a1f;--bg-hover: #202027;--border: #27272e;--border-hover: #38383f;--border-accent: #3a3425;--text-primary: #eeeee8;--text-secondary: #c0c0c8;--text-dim: #8a8a93;--gold: #c9a84c;--gold-light: #e4cc7a;--gold-dim: #a08838;--gold-bg: #1c1a14;--teal: #5eead4;--teal-dim: #2ba891;--teal-bg: #131c1a;--status-green: #34d399;--status-green-bg: #141f1b;--status-blue: #60a5fa;--status-blue-bg: #141922;--status-amber: #fbbf24;--status-amber-bg: #1e1a10;--status-red: #f87171;--status-red-bg: #1e1313;--status-pink: #f472b6;--status-pink-bg: #1e1319;--status-purple: #a78bfa;--status-purple-bg: #1a1426;--max-width: 1400px;--radius: .75rem;--radius-lg: 1rem;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 8px 24px rgba(0,0,0,.4);--shadow-lg: 0 16px 48px rgba(0,0,0,.5);--shadow-glow: 0 0 40px rgba(201,168,76,.08);--ease: cubic-bezier(.4, 0, .2, 1);--duration: .25s}[data-theme=light]{--bg-deep: #fafaf9;--bg-primary: #ffffff;--bg-card: #ffffff;--bg-elevated: #f5f5f4;--bg-hover: #e7e5e4;--border: #e5e5e5;--border-hover: #d4d4d4;--border-accent: #d4c89a;--text-primary: #1c1c1e;--text-secondary: #4a4a52;--text-dim: #6e6e78;--gold: #7a5f18;--gold-light: #664e12;--gold-dim: #9a7a28;--gold-bg: #f5f0e0;--teal: #0a6e5e;--teal-dim: #0d8570;--teal-bg: #e6f5f2;--status-green: #0f6b32;--status-green-bg: #ecfdf5;--status-blue: #1d4fd8;--status-blue-bg: #eff6ff;--status-amber: #92400e;--status-amber-bg: #fffbeb;--status-red: #b91c1c;--status-red-bg: #fef2f2;--status-pink: #b91c6a;--status-pink-bg: #fdf2f8;--status-purple: #7c3aed;--status-purple-bg: #f5f3ff;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 8px 24px rgba(0,0,0,.08);--shadow-lg: 0 16px 48px rgba(0,0,0,.1);--shadow-glow: 0 0 40px rgba(160,125,46,.06)}[data-theme=light] header{background-color:#ffffffd9;border-bottom-color:var(--border)}[data-theme=light] .nav-links{background:var(--bg-primary)}[data-theme=light] .contact-icon{color:#1c1c1e}@media(prefers-color-scheme:light){html:not([data-theme]){--bg-deep: #fafaf9;--bg-primary: #ffffff;--bg-card: #ffffff;--bg-elevated: #f5f5f4;--bg-hover: #e7e5e4;--border: #e5e5e5;--border-hover: #d4d4d4;--border-accent: #d4c89a;--text-primary: #1c1c1e;--text-secondary: #4a4a52;--text-dim: #6e6e78;--gold: #7a5f18;--gold-light: #664e12;--gold-dim: #9a7a28;--gold-bg: #f5f0e0;--teal: #0a6e5e;--teal-dim: #0d8570;--teal-bg: #e6f5f2;--status-green: #0f6b32;--status-green-bg: #ecfdf5;--status-blue: #1d4fd8;--status-blue-bg: #eff6ff;--status-amber: #92400e;--status-amber-bg: #fffbeb;--status-red: #b91c1c;--status-red-bg: #fef2f2;--status-pink: #b91c6a;--status-pink-bg: #fdf2f8;--status-purple: #7c3aed;--status-purple-bg: #f5f3ff;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 8px 24px rgba(0,0,0,.08);--shadow-lg: 0 16px 48px rgba(0,0,0,.1);--shadow-glow: 0 0 40px rgba(160,125,46,.06)}html:not([data-theme]) header{background-color:#ffffffd9;border-bottom-color:#e5e5e5}html:not([data-theme]) .nav-links{background:#fff}html:not([data-theme]) .contact-icon{color:#1c1c1e}html:not([data-theme]) .theme-icon-moon{display:none}html:not([data-theme]) .theme-icon-sun{display:block}}.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.75rem 1.5rem;background:var(--gold);color:var(--bg-deep);font-weight:600;text-decoration:none;border-radius:var(--radius)}.skip-link:focus{top:1rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Outfit,sans-serif;font-weight:400;line-height:1.65;color:var(--text-secondary);background-color:var(--bg-deep)}::selection{background:var(--gold);color:var(--bg-deep)}.container{max-width:var(--max-width);margin:0 auto;padding:0 3rem}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-family:"Instrument Serif",serif;color:var(--text-primary);line-height:1.2;font-weight:400}a{color:var(--teal);text-decoration:none;transition:color var(--duration) var(--ease)}a:hover{color:var(--gold-light)}.card{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border);transition:all var(--duration) var(--ease)}.card:hover{border-color:var(--border-hover)}.card-hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card-hover-lift-lg:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.flex-wrap-gap{display:flex;flex-wrap:wrap;gap:.5rem}.badge{padding:.35rem .85rem;border-radius:2rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.tag-pill{font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:400;color:var(--gold);background:var(--gold-bg);padding:.35rem .85rem;border-radius:2rem;border:1px solid var(--border-accent);text-decoration:none;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.tag-pill:hover{color:var(--gold-light);background:var(--border-accent)}.link-primary{color:var(--teal);text-decoration:none;font-weight:500;transition:color var(--duration) var(--ease)}.link-primary:hover{color:var(--gold-light)}header{background-color:#0c0c0e;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.theme-toggle{background:none;border:none;border-radius:50%;cursor:pointer;width:2.25rem;height:2.25rem;padding:0;font-size:1.15rem;line-height:1;color:var(--text-dim);transition:color var(--duration) var(--ease),background var(--duration) var(--ease);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:.5rem}.theme-toggle:hover{color:var(--gold);background:var(--bg-hover)}.theme-icon{display:none}.theme-icon-moon{display:block}[data-theme=light] .theme-icon-moon{display:none}[data-theme=light] .theme-icon-sun{display:block}nav{padding:1rem 0}nav .container{display:flex;align-items:center;gap:1rem}.logo{font-family:"Instrument Serif",serif;font-size:1.4rem;font-weight:400;color:var(--text-primary);text-decoration:none;letter-spacing:-.01em;transition:color var(--duration) var(--ease)}.logo:hover{color:var(--gold)}.nav-links{display:flex;gap:2.25rem;list-style:none;margin-left:auto;margin-right:.5rem}.nav-links a{font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);text-decoration:none;transition:color var(--duration) var(--ease);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width var(--duration) var(--ease)}.nav-links a:hover{color:var(--text-primary)}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{width:100%}.nav-links a[aria-current=page]{color:var(--text-primary)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;z-index:110;flex-direction:column;gap:5px}.nav-toggle-bar{display:block;width:22px;height:2px;background:var(--text-primary);transition:transform var(--duration) var(--ease),opacity var(--duration) var(--ease)}.nav-toggle-active .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle-active .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle-active .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:4rem 1.5rem}.error-code{font-family:JetBrains Mono,monospace;font-size:8rem;font-weight:700;color:var(--gold-dim);line-height:1;letter-spacing:-.04em;margin-bottom:1rem}.error-page h1{font-family:"Instrument Serif",serif;font-size:2.5rem;color:var(--text-primary);margin-bottom:1rem}.error-page p{color:var(--text-dim);font-size:1.1rem;max-width:460px;margin-bottom:2.5rem}.error-page .btn{display:inline-flex}.hero{padding:7rem 0 6rem;background:var(--bg-primary);color:var(--text-primary);text-align:center}.hero-layout{display:flex;flex-direction:column;align-items:center;gap:2.5rem}.hero-portrait{flex-shrink:0}.hero-headshot{width:220px;height:220px;border-radius:50%;object-fit:cover;border:2px solid var(--border-accent, rgba(201,168,76,.3));box-shadow:0 10px 40px #00000040,0 0 0 6px var(--bg-card);display:block}.hero-text{display:flex;flex-direction:column;align-items:center}.hero h1{font-size:4.5rem;font-weight:400;letter-spacing:-.02em;margin-bottom:1rem;position:relative}.hero .subtitle{font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem}.hero .description{font-size:1.15rem;max-width:640px;margin:0 auto 3rem;line-height:1.8;color:var(--text-secondary)}.hero .description+.description-personal{margin-top:-1.75rem;font-size:1.05rem;color:var(--text-secondary)}.hero-actions{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}.btn{padding:.8rem 2rem;border-radius:var(--radius);text-decoration:none;font-family:Outfit,sans-serif;font-weight:500;font-size:.9rem;letter-spacing:.01em;transition:all var(--duration) var(--ease);display:inline-block;cursor:pointer}.btn-primary{background-color:var(--gold);color:var(--bg-deep);border:1px solid var(--gold)}.btn-primary:hover{background-color:var(--gold-light);color:var(--bg-deep);box-shadow:0 4px 20px #c9a84c40}.btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--gold-dim)}.btn-secondary:hover{border-color:var(--gold);color:var(--gold)}.btn-outline{background-color:transparent;color:var(--gold);border:1px solid var(--gold-dim)}.btn-outline:hover{background-color:var(--gold);color:var(--bg-deep);box-shadow:0 4px 20px #c9a84c33}.btn-primary-dark{background-color:var(--gold);color:var(--bg-deep);border:1px solid var(--gold)}.btn-primary-dark:hover{background-color:var(--gold-light);color:var(--bg-deep);box-shadow:0 4px 20px #c9a84c40}section{padding:5rem 0}.section-title{font-size:2.8rem;text-align:center;margin-bottom:3.5rem;color:var(--text-primary);letter-spacing:-.02em}.section-title:after{content:"";display:block;width:40px;height:2px;background:var(--gold);margin:1rem auto 0}.home-bio{padding:5rem 0 3rem;background-color:var(--bg-primary);border-top:1px solid var(--border)}.home-bio-content{max-width:760px;margin:0 auto}.home-bio-content .section-title{text-align:left;margin-bottom:1.5rem}.home-bio-content .section-title:after{margin-left:0}.home-bio-content p{color:var(--text-secondary);font-size:1.05rem;line-height:1.8;margin-bottom:1.25rem}.home-bio-content p:last-child{margin-bottom:0}.projects{padding:5rem 0;background-color:var(--bg-primary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:3rem}.project-card{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:2.25rem;transition:all var(--duration) var(--ease);border:1px solid var(--border);display:flex;flex-direction:column}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-glow);border-color:var(--border-hover)}.project-card h3{font-size:1.5rem;margin-bottom:.75rem}.project-card .tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:400;color:var(--teal);background:var(--teal-bg);padding:.3rem .7rem;border-radius:.35rem;border:1px solid rgba(94,234,212,.1)}.project-card p{color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem;font-size:.95rem}.project-links{display:flex;gap:1.25rem;align-items:center;margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--border)}.project-link{color:var(--teal);text-decoration:none;font-weight:500;font-size:.875rem;display:inline-flex;align-items:center;gap:.5rem;transition:all var(--duration) var(--ease)}.project-link:hover{color:var(--gold-light)}.card-cover{display:block;aspect-ratio:16 / 7;width:100%;overflow:hidden;background:linear-gradient(135deg,var(--bg-deep) 0%,var(--bg-card) 100%);border-bottom:1px solid var(--border)}.card-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--duration) var(--ease)}.project-card:hover .card-cover img{transform:scale(1.03)}.card-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,rgba(201,168,76,.18),transparent 55%),radial-gradient(circle at 80% 70%,rgba(94,234,212,.12),transparent 55%),linear-gradient(135deg,var(--bg-deep) 0%,var(--bg-card) 100%)}.card-cover-glyph{font-family:JetBrains Mono,monospace;font-size:2.75rem;font-weight:500;color:var(--gold);letter-spacing:.05em;opacity:.85;text-shadow:0 2px 12px rgba(0,0,0,.3)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;gap:1rem}.project-header h3{margin:0;flex-grow:1}.project-header h3 a{color:var(--text-primary);text-decoration:none;font-size:1.5rem;line-height:1.3;transition:color var(--duration) var(--ease)}.project-header h3 a:hover{color:var(--gold)}.project-status{font-family:JetBrains Mono,monospace;padding:.3rem .85rem;border-radius:2rem;font-size:.7rem;font-weight:500;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}.status-completed,.status-production{background-color:var(--status-green-bg);color:var(--status-green);border:1px solid rgba(52,211,153,.15)}.status-in-progress,.status-development{background-color:var(--status-blue-bg);color:var(--status-blue);border:1px solid rgba(96,165,250,.15)}.status-planning{background-color:var(--status-amber-bg);color:var(--status-amber);border:1px solid rgba(251,191,36,.15)}.project-description{margin-bottom:1.25rem}.project-description p{color:var(--text-secondary);line-height:1.7;font-size:.95rem}.project-achievements{margin-bottom:1.5rem;flex-grow:1}.project-achievements h4{font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:.75rem}.project-achievements ul{list-style:none;padding:0;margin:0}.project-achievements li{color:var(--text-secondary);font-size:.9rem;line-height:1.65;padding-left:1.5rem;position:relative;margin-bottom:.5rem}.project-achievements li:before{content:"~";font-family:JetBrains Mono,monospace;position:absolute;left:0;color:var(--gold);font-weight:500}.demo-link{background-color:var(--gold);color:var(--bg-deep)!important}.demo-link:hover{background-color:var(--gold-light)!important;color:var(--bg-deep)!important}.page-description{font-size:1.05rem;color:var(--text-secondary);margin-top:.75rem;line-height:1.7}.blog{background-color:var(--bg-primary)}.category-filter{margin-top:2rem}.category-filter h3{font-family:Outfit,sans-serif;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;color:var(--text-secondary)}.category-links{display:flex;flex-wrap:wrap;gap:.75rem}.category-link{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-secondary);text-decoration:none;padding:.5rem 1.25rem;border-radius:2rem;border:1px solid var(--border);transition:all var(--duration) var(--ease)}.category-link:hover,.category-link.active{background-color:var(--gold);color:var(--bg-deep);border-color:var(--gold)}.blog-content{padding:4rem 0;background-color:var(--bg-deep)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.blog-card{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:2.25rem;transition:all var(--duration) var(--ease);border:1px solid var(--border);display:flex;flex-direction:column}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-glow);border-color:var(--border-hover)}.blog-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.blog-card-header h3{margin:0;flex-grow:1}.blog-card-header h3 a{color:var(--text-primary);text-decoration:none;font-size:1.5rem;line-height:1.3;transition:color var(--duration) var(--ease)}.blog-card-header h3 a:hover{color:var(--gold)}.reading-time-badge{font-family:JetBrains Mono,monospace;padding:.3rem .85rem;border-radius:2rem;font-size:.7rem;font-weight:500;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;background-color:var(--status-blue-bg);color:var(--status-blue);border:1px solid rgba(96,165,250,.15);flex-shrink:0}.blog-card-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.blog-card-meta time{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-dim)}.blog-card-description{margin-bottom:1.25rem;flex-grow:1}.blog-card-description p{color:var(--text-secondary);line-height:1.7;font-size:.95rem;margin:0}.post-meta{display:flex;align-items:center;gap:1rem;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.75rem}.post-category{margin-bottom:.75rem}.category-badge{font-family:JetBrains Mono,monospace;padding:.3rem .75rem;border-radius:.35rem;font-size:.7rem;font-weight:500;text-decoration:none;text-transform:uppercase;letter-spacing:.06em}.category-security-research,.category-llm-security{background-color:var(--status-red-bg);color:var(--status-red);border:1px solid rgba(248,113,113,.12)}.category-drone-security{background-color:var(--status-blue-bg);color:var(--status-blue);border:1px solid rgba(96,165,250,.12)}.category-technical-deep-dives{background-color:var(--status-green-bg);color:var(--status-green);border:1px solid rgba(52,211,153,.12)}.blog-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem;margin-bottom:1.5rem}.blog-tag{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:400;color:var(--teal);background:var(--teal-bg);padding:.3rem .7rem;border-radius:.35rem;border:1px solid rgba(94,234,212,.1);text-decoration:none;transition:all var(--duration) var(--ease)}.blog-tag:hover{border-color:#5eead440;color:var(--teal)}.blog-card-footer{display:flex;align-items:center;padding-top:1.5rem;border-top:1px solid var(--border);margin-top:auto}.blog-card-link{color:var(--teal);text-decoration:none;font-weight:500;font-size:.85rem;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border-radius:var(--radius);transition:all var(--duration) var(--ease)}.blog-card-link:hover{background-color:var(--bg-hover);color:var(--gold-light)}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{font-family:JetBrains Mono,monospace;color:var(--gold);text-decoration:none;font-size:.8rem;transition:color var(--duration) var(--ease)}.tag:hover{color:var(--gold-light)}.read-more{color:var(--teal);text-decoration:none;font-weight:500;font-size:.875rem;transition:color var(--duration) var(--ease)}.read-more:hover{color:var(--gold-light)}.subscribe-box{max-width:820px;margin:2.5rem auto;padding:2rem;text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.subscribe-box h3{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-primary)}.subscribe-box>p{margin:0 0 1rem;font-size:.85rem;color:var(--text-dim)}.subscribe-form{display:flex;gap:.5rem;max-width:420px;margin:0 auto}.subscribe-form input{flex:1;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.subscribe-form input:focus{outline:none;border-color:var(--gold)}.subscribe-form button{padding:.6rem 1.25rem;border:1px solid var(--gold);border-radius:var(--radius);background:var(--gold);color:var(--bg-deep);font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:opacity var(--duration) var(--ease)}.subscribe-form button:hover{opacity:.85}.subscribe-form button:disabled{opacity:.6;cursor:not-allowed}.subscribe-success{color:var(--status-green);font-size:.9rem}.subscribe-error{color:var(--status-red);font-size:.85rem;margin-top:.5rem}.subscribe-rss{margin:.75rem 0 0;font-size:.8rem;color:var(--text-dim)}.subscribe-rss a{color:var(--text-dim);text-decoration:underline;text-underline-offset:.15em}.subscribe-rss a:hover{color:var(--gold)}.blog-cta{max-width:820px;margin:2.5rem auto;padding:1.5rem 2rem;border:1px solid var(--border-accent);border-radius:var(--radius);background:var(--gold-bg);display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.blog-cta-prompt{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.blog-cta-links{display:flex;gap:.75rem;flex-wrap:wrap}.blog-cta-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:1px solid var(--gold-dim);border-radius:var(--radius);background:transparent;color:var(--gold-light);font-size:.85rem;font-weight:500;text-decoration:none;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease)}.blog-cta-btn:hover{background:var(--gold);color:var(--bg-deep);border-color:var(--gold)}.blog-cta-btn--secondary{border-color:var(--border);color:var(--text-secondary)}.blog-cta-btn--secondary:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-hover)}@media(max-width:600px){.blog-cta{flex-direction:column;align-items:flex-start;gap:1rem}}.content{max-width:900px;margin:0 auto;padding:3rem 2rem}.content h2{font-size:2rem;margin:3rem 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.content h3{font-size:1.5rem;margin:2rem 0 1rem}.content h4{font-family:Outfit,sans-serif;font-size:1.1rem;margin:1.5rem 0 .75rem;font-weight:600;color:var(--text-secondary)}.content p{margin-bottom:1.5rem;line-height:1.8;color:var(--text-secondary)}.content ul,.content ol{margin-bottom:1.5rem;padding-left:1.5rem;color:var(--text-secondary)}.content li{margin-bottom:.5rem;line-height:1.7}.content a{color:var(--teal);text-decoration:underline;text-decoration-color:#5eead44d;text-underline-offset:3px}.content a:hover{color:var(--gold-light);text-decoration-color:var(--gold)}.content .header-anchor{margin-left:.5rem;color:var(--text-secondary);text-decoration:none;font-weight:400;opacity:0;transition:opacity .15s ease}.content h2:hover .header-anchor,.content h3:hover .header-anchor,.content .header-anchor:focus{opacity:1}.content .header-anchor:hover{color:var(--teal);text-decoration:none}@media(hover:none){.content .header-anchor{opacity:.35}}.content ul li strong{color:var(--gold)}.content blockquote{background-color:var(--bg-card);border-left:3px solid var(--gold);padding:1.25rem 1.5rem;margin:2rem 0;font-family:"Instrument Serif",serif;font-style:italic;font-size:1.15rem;color:var(--text-secondary);border-radius:0 var(--radius) var(--radius) 0}.post-content code,.content code{font-family:JetBrains Mono,monospace;background-color:var(--bg-elevated);padding:.2rem .5rem;border-radius:.3rem;font-size:.85em;color:var(--gold-light);border:1px solid var(--border)}.post-content code:not(pre code),.content code:not(pre code){overflow-wrap:break-word}.content pre.has-copy-btn,.post-content pre.has-copy-btn{position:relative}.code-copy-btn{position:absolute;top:.5rem;right:.5rem;padding:.3rem .7rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);background:var(--bg-elevated);border:1px solid var(--border);border-radius:.3rem;cursor:pointer;opacity:0;transition:opacity var(--duration) var(--ease),color var(--duration) var(--ease),background var(--duration) var(--ease),border-color var(--duration) var(--ease)}pre:hover .code-copy-btn,.code-copy-btn:focus-visible{opacity:1}.code-copy-btn:hover{color:var(--gold);border-color:var(--border-hover)}.code-copy-btn.copied{color:var(--bg-deep);background:var(--status-green);border-color:var(--status-green);opacity:1}.post-content table,.content table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:.95rem}.post-content thead,.content thead{border-bottom:2px solid var(--border-hover)}.post-content th,.content th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.post-content td,.content td{padding:.65rem 1rem;color:var(--text-secondary);border-top:1px solid var(--border)}.post-content tbody tr:hover,.content tbody tr:hover{background-color:#ffffff0d;background-color:color-mix(in srgb,var(--border) 30%,transparent)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:2rem 0}.table-scroll table{margin:0}footer{background-color:var(--bg-primary);border-top:1px solid var(--border);padding:3rem 0 2rem}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.footer-content p{color:var(--text-dim);font-size:.9rem}.social-links{display:flex;gap:1.25rem}.social-links a{color:var(--text-dim);transition:all var(--duration) var(--ease)}.social-links a:hover{color:var(--gold)}.footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--text-dim);font-size:.8rem;font-family:JetBrains Mono,monospace}.page-header{background:var(--bg-primary);border-bottom:1px solid var(--border);color:var(--text-primary);padding:4rem 0 3rem;text-align:center}.page-header h1{font-size:3rem;margin-bottom:.5rem;letter-spacing:-.02em;position:relative}.active-tag-label{font-size:.9rem;margin-top:.75rem}.active-tag-name{font-family:JetBrains Mono,monospace;color:var(--gold);font-size:.8rem}.no-results{color:var(--text-secondary);text-align:center;padding:3rem 0;grid-column:1 / -1}.clear-filter{color:var(--teal);text-decoration:none;margin-left:.5rem;font-size:.85rem}.clear-filter:hover{text-decoration:underline}.page-header .post-category{margin-bottom:1rem}.page-header .category-badge{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);padding:.3rem .75rem;border-radius:.35rem;font-size:.75rem;text-decoration:none}.page-header .category-badge:hover{border-color:var(--border-hover);color:var(--text-primary)}.post-meta-header{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem;color:var(--text-dim);flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:.8rem}.post-meta-header .author-name{font-weight:500;color:var(--text-secondary)}.no-posts{text-align:center;padding:4rem 0}.no-posts h3{margin-bottom:1rem}.no-posts p{color:var(--text-dim)}.tag-cloud{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.tag-cloud-item{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:all .2s}.tag-cloud-item:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-bg)}.tag-count{color:var(--text-dim);font-size:.85em}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero h1{animation:fadeInUp .6s var(--ease) both}.hero .subtitle{animation:fadeInUp .6s var(--ease) .1s both}.hero .description{animation:fadeInUp .6s var(--ease) .2s both}.hero .description-personal{animation:fadeInUp .6s var(--ease) .25s both}.hero-actions{animation:fadeInUp .6s var(--ease) .3s both}@media(max-width:768px){.container{padding:0 1.25rem}.nav-toggle{display:flex;order:3}.theme-toggle{order:2}nav .container{flex-wrap:wrap}.nav-links{display:none;order:4;flex:0 0 calc(100% + 2.5rem);flex-direction:column;gap:0;background:var(--bg-deep);border-top:1px solid var(--border);padding:.5rem 0;margin:0 -1.25rem}.nav-links.nav-open{display:flex}.nav-links li a{display:block;padding:.75rem 1.5rem;font-size:.8rem}.nav-links a:hover:after{width:0}.nav-links a[aria-current=page]{background-color:#c9a84c14;border-left:2px solid var(--gold);padding-left:calc(1.5rem - 2px)}.nav-links a[aria-current=page]:after{width:0}.hero{padding:4rem 0 3.5rem}.hero-layout{gap:1.75rem}.hero-headshot{width:160px;height:160px}.hero h1{font-size:2.75rem}.hero .subtitle{font-size:.8rem}.hero .description{font-size:1rem}.hero-actions{flex-direction:column;align-items:center}.btn{width:100%;max-width:280px;text-align:center}.page-header{padding:3rem 0 2rem}.page-header h1{font-size:2.25rem}.section-title{font-size:2rem}.content h2{font-size:1.6rem}.projects-grid{grid-template-columns:1fr}.project-header{flex-direction:column;align-items:flex-start;gap:.75rem}.project-status{align-self:flex-start}.post-content table,.content table{font-size:.85rem}.post-content th,.content th,.post-content td,.content td{padding:.5rem .75rem}.category-links{flex-direction:column;gap:.5rem}.blog-grid{grid-template-columns:1fr;gap:1.25rem}.blog-card{padding:2rem}.blog-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.footer-content{flex-direction:column;text-align:center}}@media(max-width:480px){.hero h1{font-size:2.2rem}.page-header h1{font-size:1.8rem}.section-title{font-size:1.75rem}.error-code{font-size:5rem}.error-page h1{font-size:1.8rem}}@media print{header,footer,.hero-actions,.btn,.social-links,.nav-toggle,.contact-cta,.skip-link,.theme-toggle{display:none!important}*{background:#fff!important;color:#000!important;box-shadow:none!important;text-shadow:none!important;border-color:#ccc!important}body{font-size:12pt;line-height:1.5}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#555!important}a[href^="#"]:after,a[href^="/"]:after{content:""}.project-card,.blog-card,.appearance-card,.focus-card,.contact-card{break-inside:avoid;border:1px solid #ccc!important}h2,h3,h4{break-after:avoid}img{max-width:100%!important}.hero{padding:1rem 0!important}.container{max-width:100%!important;padding:0!important}}
