﻿*,*::before,*::after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%}body{margin:0;padding:0;background-color:#0d0d0b;color:#e8e4da;font-family:"JetBrains Mono","Courier New",monospace;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body::after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='250' height='250' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");background-size:180px 180px;opacity:.045;pointer-events:none;z-index:9999}h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl{margin:0;padding:0}ul,ol{list-style:none}img,video{max-width:100%;display:block}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}body{font-size:.9375rem;line-height:1.7}.prose{max-width:66ch}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-weight:700;line-height:1.3;color:#e8e4da;margin-top:2.25em;margin-bottom:.5em}.prose h1:first-child,.prose h2:first-child,.prose h3:first-child,.prose h4:first-child,.prose h5:first-child,.prose h6:first-child{margin-top:0}.prose h1{font-size:2.5rem}.prose h2{font-size:1.25rem;font-family:"JetBrains Mono","Courier New",monospace;font-weight:500;letter-spacing:.05em;text-transform:uppercase;font-size:.6875rem;color:#d4a843;border-bottom:1px solid #2c2c27;padding-bottom:.4em;margin-top:2.5em}.prose h3{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-size:1.25rem}.prose h4{font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#6e6a5e}.prose p{margin-bottom:1.4em;line-height:1.85;color:#e8e4da}.prose a{color:#d4a843;text-decoration:none;border-bottom:1px solid #9a7a2f;transition:color .15s,border-color .15s}.prose a:hover{color:#f0c060;border-bottom-color:#f0c060}.prose strong{font-weight:500;color:#e8e4da}.prose em{font-style:italic}.prose ul,.prose ol{padding-left:1.5em;margin-bottom:1.4em}.prose ul li,.prose ol li{margin-bottom:.45em;line-height:1.85}.prose ul{list-style:none;padding-left:0}.prose ul li{padding-left:1.25em;position:relative}.prose ul li::before{content:"—";position:absolute;left:0;color:#9a7a2f}.prose ol{list-style:decimal}.prose blockquote{border-left:2px solid #d4a843;margin:2em 0;padding:.5em 1.5em;color:#6e6a5e;font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose code{font-family:"JetBrains Mono","Courier New",monospace;font-size:.875em;background:#1f1f1b;color:#f0c060;padding:.15em .45em;border-radius:2px;border:1px solid #2c2c27}.prose pre{margin:1.75em 0;border-radius:0;border-left:2px solid #d4a843;overflow-x:auto}.prose pre code{background:none;color:inherit;padding:0;border:none;font-size:.8125rem}.prose table{width:100%;border-collapse:collapse;margin:1.75em 0;font-size:.8125rem}.prose table th,.prose table td{padding:.5em .75em;border:1px solid #2c2c27;text-align:left}.prose table th{background:#161613;color:#6e6a5e;text-transform:uppercase;font-size:.6875rem;letter-spacing:.08em}.prose table tr:nth-child(even) td{background:rgba(22,22,19,.5)}.prose hr{border:none;border-top:1px solid #2c2c27;margin:2.5em 0}.prose img{margin:2em auto;border:1px solid #2c2c27}.container{max-width:1080px;margin:0 auto;padding:0 2rem}@media(max-width: 768px){.container{padding:0 1.25rem}}.container--narrow{max-width:700px;margin:0 auto;padding:0 2rem}@media(max-width: 768px){.container--narrow{padding:0 1.25rem}}.site-main{min-height:calc(100vh - 56px - 60px);padding:3.5rem 0 5rem}.page-header{margin-bottom:2rem}.page-header:empty{display:none}.page-title{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-size:2.5rem;font-weight:700;line-height:1.15;color:#e8e4da}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.site-header{position:sticky;top:0;z-index:100;background:#0d0d0b;background-image:radial-gradient(circle, #252521 1px, transparent 1px);background-size:18px 18px;border-bottom:1px solid #2c2c27;height:56px;display:flex;align-items:center}.site-nav{width:100%;max-width:1080px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between}@media(max-width: 768px){.site-nav{padding:0 1.25rem}}.site-nav__brand{display:flex;align-items:baseline;gap:0;text-decoration:none}.site-nav__brand:hover .site-nav__ext{color:#d4a843}.site-nav__title{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-size:1.1rem;font-weight:700;color:#e8e4da;letter-spacing:-0.01em;line-height:1}.site-nav__ext{font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;color:#6e6a5e;transition:color .2s;letter-spacing:0}.site-nav__cursor{display:inline-block;width:2px;height:.85em;background:#d4a843;margin-left:3px;vertical-align:middle;border-radius:1px;animation:blink 1.15s step-end infinite}.site-nav__links{display:flex;align-items:center;gap:.125rem;list-style:none;margin:0;padding:0}.site-nav__link{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:#6e6a5e;padding:.4rem .625rem;text-decoration:none;position:relative;transition:color .15s}.site-nav__link:hover{color:#e8e4da}.site-nav__link--active{color:#d4a843}.site-nav__link--active::after{content:"";position:absolute;bottom:-1px;left:.625rem;right:.625rem;height:1px;background:#d4a843}.home-intro{display:grid;grid-template-columns:1fr 440px;gap:3rem;align-items:center;margin-bottom:3rem;padding-bottom:2.5rem;border-bottom:1px solid #2c2c27;background-image:radial-gradient(circle, #252521 1px, transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(to bottom, black 60%, transparent 100%);mask-image:linear-gradient(to bottom, black 60%, transparent 100%)}@media(max-width: 1024px){.home-intro{grid-template-columns:1fr;gap:2rem}}.home-intro__left{display:flex;align-items:center}@media(max-width: 1024px){.home-intro__right{display:none}}.home-terminal{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 0 0 1px #2c2c27,0 24px 48px rgba(0,0,0,.5),0 0 80px rgba(212,168,67,.04)}.home-intro__text{font-family:"JetBrains Mono","Courier New",monospace;font-style:normal;font-size:1.0625rem;font-weight:400;color:#6e6a5e;line-height:1.85;max-width:42ch}.home-intro__text em{color:#e8e4da;font-style:normal;font-weight:500}@media(max-width: 768px){.home-intro__text{font-size:.9375rem}}.tag-filter-row{display:flex;align-items:center;gap:.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.tag-filter-label{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#3f3e38;letter-spacing:.08em;text-transform:uppercase;margin-right:.25rem}.post-list{counter-reset:post-counter;display:flex;flex-direction:column}.post-card{counter-increment:post-counter;position:relative;padding:2rem 0 2rem 3.5rem;border-bottom:1px solid #2c2c27;transition:background .2s}.post-card:first-child{padding-top:0}.post-card::before{content:counter(post-counter, decimal-leading-zero);position:absolute;left:0;top:2rem;font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#3f3e38;line-height:1.85;letter-spacing:.04em}.post-card:first-child::before{top:0}.post-card:hover::before{color:#9a7a2f}.post-card__meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem;flex-wrap:wrap}.post-card__date{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#6e6a5e;letter-spacing:.04em}.post-card__tags{display:flex;gap:.375rem;flex-wrap:wrap}.post-card__title{font-family:"JetBrains Mono","Courier New",monospace;font-size:1.0625rem;font-weight:500;line-height:1.3;margin-bottom:.6rem;letter-spacing:-0.01em}@media(max-width: 768px){.post-card__title{font-size:.9375rem}}.post-card__link{color:#e8e4da;text-decoration:none;transition:color .15s}.post-card__link:hover{color:#d4a843}.post-card__excerpt{font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;color:#6e6a5e;line-height:1.85;max-width:58ch}.pagination{display:flex;align-items:center;justify-content:space-between;padding-top:2rem;margin-top:.5rem}.pagination__prev,.pagination__next{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:#6e6a5e;text-decoration:none;transition:color .15s}.pagination__prev:hover,.pagination__next:hover{color:#d4a843}.pagination__info{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#3f3e38;letter-spacing:.04em}.post__header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #2c2c27}.post__meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.post__date{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#6e6a5e;letter-spacing:.06em}.post__reading-time{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#3f3e38;letter-spacing:.04em}.post__reading-time::before{content:"/";margin-right:.6rem;color:#3d3d36}.post__title{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-size:3.75rem;font-weight:900;line-height:1.15;letter-spacing:-0.025em;color:#e8e4da;margin-bottom:1.25rem}@media(max-width: 768px){.post__title{font-size:2.5rem}}@media(max-width: 480px){.post__title{font-size:1.75rem}}.post__tags{display:flex;gap:.375rem;flex-wrap:wrap}.post__divider{margin:0 0 2.5rem}.post__divider svg{display:block;width:100%;height:20px}.post__footer{margin-top:4rem;padding-top:2rem;border-top:1px solid #2c2c27}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width: 480px){.post-nav{grid-template-columns:1fr}}.post-nav__prev,.post-nav__next{display:flex;flex-direction:column;gap:.3rem;text-decoration:none;transition:color .15s}.post-nav__prev:hover .post-nav__title,.post-nav__next:hover .post-nav__title{color:#d4a843}.post-nav__next{text-align:right;grid-column:2}@media(max-width: 480px){.post-nav__next{grid-column:1;text-align:left}}.post-nav__label{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#3f3e38;letter-spacing:.1em;text-transform:uppercase}.post-nav__title{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-size:1.0625rem;font-weight:700;color:#6e6a5e;line-height:1.3;transition:color .15s}.tag-pill{display:inline-flex;align-items:center;gap:.3em;font-family:"JetBrains Mono","Courier New",monospace;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;padding:.2em .55em;border-radius:2px;text-decoration:none;background:rgba(0,0,0,0);color:#6e6a5e;border:1px solid #6e6a5e;opacity:.8;transition:opacity .15s,color .15s,border-color .15s}.tag-pill:hover{opacity:1}.tag-pill::before{display:inline-block;line-height:1;font-style:normal}.tag-pill[data-tag=linux]{color:#4ade80;border-color:#4ade80}.tag-pill[data-tag=linux]::before{content:"🐧";font-size:.8em}.tag-pill[data-tag=openshift]{color:#f87171;border-color:#f87171}.tag-pill[data-tag=openshift]::before{content:"⬡";font-size:.9em;letter-spacing:0}.tag-filter{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tag-filter .tag-pill{font-size:.6875rem;padding:.3em .7em;opacity:.6}.tag-filter .tag-pill--active{color:#d4a843;border-color:#d4a843;opacity:1}.tag-filter .tag-pill:hover{opacity:1}.resume-page{max-width:900px;margin:0 auto;padding:2.5rem 2rem 5rem}.resume-actions{display:flex;justify-content:flex-end;margin-bottom:2.5rem}.resume-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #2c2c27}.resume-header__name{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-size:3.75rem;font-weight:900;letter-spacing:-0.025em;line-height:1.15;color:#e8e4da;margin-bottom:.4rem}@media(max-width: 768px){.resume-header__name{font-size:2.5rem}}.resume-header__title{font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;color:#6e6a5e;letter-spacing:.04em;margin-bottom:1rem}.resume-header__contact{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem}.resume-header__contact a{color:#d4a843;text-decoration:none;transition:color .15s}.resume-header__contact a:hover{color:#f0c060}.resume-contact-sep{color:#3f3e38}.resume-section{margin-bottom:3rem}.resume-section>h2{display:flex;align-items:center;gap:1rem;font-family:"JetBrains Mono","Courier New",monospace;font-size:.9375rem;font-weight:700;color:#d4a843;margin-bottom:2rem;white-space:nowrap}.resume-section>h2::after{content:"";flex:1;height:1px;background:#2c2c27}.resume-entry{display:grid;grid-template-columns:190px 1fr;gap:0 2.5rem;margin-bottom:2.25rem;padding-bottom:2.25rem;border-bottom:1px solid rgba(44,44,39,.5)}.resume-entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}@media(max-width: 768px){.resume-entry{grid-template-columns:1fr;gap:.4rem 0}}.resume-entry__left{display:flex;flex-direction:column;gap:.35rem;padding-top:.15rem}.resume-entry__company{font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;font-weight:500;color:#e8e4da;line-height:1.3}.resume-entry__subtitle{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#6e6a5e;line-height:1.7;letter-spacing:.02em}.resume-entry__dates{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#9a7a2f;letter-spacing:.04em;margin-top:auto}@media(max-width: 768px){.resume-entry__dates{margin-top:0}}.resume-entry__role{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-size:1.0625rem;font-weight:700;color:#e8e4da;line-height:1.3;margin-bottom:.875rem}.resume-entry__bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.resume-entry__bullets li{font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;color:#6e6a5e;line-height:1.85;padding-left:1.25rem;position:relative}.resume-entry__bullets li::before{content:"—";position:absolute;left:0;color:#3f3e38}.resume-platforms{font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;color:#6e6a5e;line-height:1.85;max-width:72ch}@media print{.site-header,.site-footer,.resume-actions{display:none !important}body,.resume-page{background:#fff !important;color:#000 !important}.resume-header__name{font-family:Georgia,serif;color:#000;font-size:2rem}.resume-header__title,.resume-header__contact,.resume-entry__company,.resume-entry__subtitle,.resume-entry__dates,.resume-entry__bullets li,.resume-platforms{font-family:"Courier New",monospace;color:#111}.resume-section>h2{color:#2563eb;font-family:"Courier New",monospace}.resume-section>h2::after{background:#ccc}.resume-header__contact a{color:#2563eb}.resume-entry__role{font-family:Georgia,serif;color:#000}.resume-entry__dates{color:#555}.resume-entry{border-bottom-color:#e0e0e0;page-break-inside:avoid}.resume-entry__bullets li::before{color:#999}}.highlight{background:#111110;color:#ddd8cd;padding:1.25rem 1.5rem;overflow-x:auto;font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;line-height:1.75;border-left:2px solid #d4a843}.highlight pre{margin:0;background:none;border:none;padding:0}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:#d4a843}.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{color:#a8d4a0}.highlight .c,.highlight .c1,.highlight .cm,.highlight .cp,.highlight .cs{color:#4e4e46;font-style:italic}.highlight .n,.highlight .na,.highlight .nb,.highlight .nc,.highlight .nd,.highlight .ne,.highlight .nf,.highlight .ni,.highlight .nl,.highlight .no{color:#a0c4d4}.highlight .nv,.highlight .vi{color:#ddd8cd}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#c4a0d4}.highlight .o,.highlight .ow{color:#d4c8a8}.highlight .p,.highlight .pi{color:#ddd8cd}.highlight .err{color:#f87171}.highlight .nt{color:#f87171}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;background:#d4a843;color:#0d0d0b;padding:.5rem 1rem;border-radius:0;font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;font-weight:500;z-index:9998;text-decoration:none}.skip-link:focus{top:0}.site-footer{background:#0d0d0b;border-top:1px solid #2c2c27;padding:1.5rem 0}.site-footer .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.site-footer__brand{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-size:.9rem;font-weight:700;color:#6e6a5e;text-decoration:none}.site-footer__brand .ext{font-family:"JetBrains Mono","Courier New",monospace;font-size:.8125rem;color:#3f3e38}.site-footer__links{display:flex;align-items:center;gap:1.25rem}.site-footer__link{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:#3f3e38;text-decoration:none;transition:color .15s}.site-footer__link:hover{color:#d4a843}.site-footer__year{font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;color:#3f3e38}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:"JetBrains Mono","Courier New",monospace;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;padding:.55rem 1rem;border-radius:0;border:1px solid #3d3d36;cursor:pointer;text-decoration:none;background:rgba(0,0,0,0);color:#6e6a5e;transition:color .15s,border-color .15s}.btn:hover{color:#d4a843;border-color:#d4a843}
