:root{--main-color:#dc143c;--main-rgb:220, 20, 60;--secondary-color:orange;--secondary-rgb:255, 165, 0;--info-color:#20b2aa;--info-rgb:32, 178, 170;--background:#0a0a0f;--background-rgb:10, 10, 15;--text-white:#ccc;--grid-width:3px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Source Sans Pro,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--text-white);overflow-x:hidden}body:before{content:"";z-index:-3;pointer-events:none;background:linear-gradient(180deg, rgba(var(--background-rgb), .86), var(--background));position:fixed;inset:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--info-color);text-decoration:none;transition:color .18s,text-shadow .18s}a:hover,a:focus-visible{color:var(--main-color);text-shadow:0 0 10px rgba(var(--main-rgb), .6)}button:focus-visible,a:focus-visible{outline:2px solid var(--secondary-color);outline-offset:4px}@media (prefers-reduced-motion:no-preference){html.js-reveal .profile-container>.profile-photo-wrapper:not([data-reveal-ready]),html.js-reveal .profile-container>.profile-name:not([data-reveal-ready]),html.js-reveal .profile-container>.profile-role:not([data-reveal-ready]),html.js-reveal .profile-container>.profile-divider:not([data-reveal-ready]),html.js-reveal .profile-container>.profile-description:not([data-reveal-ready]),html.js-reveal .profile-container>.profile-actions:not([data-reveal-ready]),html.js-reveal .site-nav:not([data-reveal-ready]),html.js-reveal .reveal-section>.section-title:not([data-reveal-ready]),html.js-reveal .reveal-section>.description-text:not([data-reveal-ready]),html.js-reveal .timeline-card:not([data-reveal-ready]),html.js-reveal .info-card:not([data-reveal-ready]),html.js-reveal .blog-cta-copy:not([data-reveal-ready]),html.js-reveal .blog-cta-action:not([data-reveal-ready]),html.js-reveal .contact-grid>.contact-item:not([data-reveal-ready]),html.js-reveal .blog-hero .eyebrow:not([data-reveal-ready]),html.js-reveal .blog-hero .blog-title:not([data-reveal-ready]),html.js-reveal .blog-hero .blog-summary:not([data-reveal-ready]),html.js-reveal .blog-card:not([data-reveal-ready]),html.js-reveal .article-header>.article-eyebrow:not([data-reveal-ready]),html.js-reveal .article-header>.article-title:not([data-reveal-ready]),html.js-reveal .article-header>.article-meta:not([data-reveal-ready]),html.js-reveal .article-header>.article-summary:not([data-reveal-ready]),html.js-reveal .article-header>.blog-tags:not([data-reveal-ready]),html.js-reveal .article-panel:not([data-reveal-ready]),html.js-reveal .article-section:not([data-reveal-ready]){visibility:hidden;opacity:0}}p{margin-top:0}.page-shell{min-height:100svh;position:relative;overflow:hidden}.portfolio-grid{z-index:1;grid-template-columns:100vw 0;gap:0;width:100vw;min-height:100svh;margin:0;padding:0;transition:grid-template-columns 1s cubic-bezier(.65,0,.35,1);display:grid;position:relative;overflow:hidden}.portfolio-grid.revealed{grid-template-columns:400px 1fr;overflow:visible}.profile-sidebar{flex-direction:column;justify-content:center;align-items:center;height:100svh;margin:0;padding:10rem 0 9rem;transition:all 1s cubic-bezier(.65,0,.35,1);display:flex;position:sticky;top:0;overflow:hidden}.profile-sidebar.revealed{align-items:flex-start;margin-left:50px;overflow-y:auto}.profile-container{flex-direction:column;align-items:center;width:100%;max-width:350px;height:100%;margin:0 auto;padding:0 2rem;display:flex}.profile-photo-wrapper{margin-bottom:1rem;position:relative}.profile-photo-button{cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:block}.profile-photo-button:disabled{cursor:default}.profile-photo{border:3px solid var(--main-color);object-fit:cover;width:180px;height:180px;box-shadow:0 0 10px rgba(var(--main-rgb), .2), 0 0 25px rgba(var(--info-rgb), .2);border-radius:50%}.profile-photo:not(.revealed):hover{animation:.575s ease-in-out forwards arcadeBlink}.profile-name{color:var(--main-color);letter-spacing:0;text-align:center;text-shadow:0 0 10px rgba(var(--main-rgb), .5);margin:0;font-size:2rem;font-weight:800}.profile-role{color:var(--info-color);text-align:center;text-shadow:0 0 8px rgba(var(--info-rgb), .4);margin:0;font-size:1.1rem}.profile-divider{background:linear-gradient(90deg, transparent, var(--info-color) 50%, transparent);width:80%;height:2px;box-shadow:0 0 10px rgba(var(--info-rgb), .5);margin:.8rem 0}.profile-description{color:#ffffffe6;text-align:center;font-size:1rem;line-height:1.6}.profile-actions{flex-direction:column;align-items:center;gap:.75rem;width:100%;margin-top:2rem;display:flex}.reveal-button,.toggle-button,.button-link{border:1px solid var(--info-color);background:rgba(var(--info-rgb), .1);min-height:42px;color:var(--info-color);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:1rem;font-weight:700;transition:background .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s;display:inline-flex}.button-link{text-decoration:none}.reveal-button:hover,.toggle-button:hover,.button-link:hover,.reveal-button:focus-visible,.toggle-button:focus-visible,.button-link:focus-visible{border-color:var(--secondary-color);background:rgba(var(--info-rgb), .2);color:var(--secondary-color);box-shadow:0 0 15px rgba(var(--info-rgb), .4);text-shadow:rgba(var(--secondary-rgb), .4) 0 4px 4px, rgba(var(--secondary-rgb), .4) 0 0 2px, var(--secondary-color) 0 0 4px, rgba(var(--secondary-rgb), .4) 0 0 10px}.content-area{opacity:0;pointer-events:none;width:0;min-width:0;height:100svh;margin:0;padding:3rem 4rem;transition:all 1s cubic-bezier(.65,0,.35,1);overflow:hidden auto;transform:translate(100px)}.content-area.revealed{opacity:1;pointer-events:auto;width:auto;min-width:auto;transform:translate(0)}.site-nav{z-index:8;justify-content:flex-start;align-items:center;gap:1rem;margin:1.25rem 0 3rem;padding:1rem 0;display:flex;position:relative}.site-mark{color:var(--text-white);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;font-weight:800;display:none}.nav-links{align-items:center;gap:.75rem;margin-left:auto;display:flex}.nav-link{color:#ffffffb8;border:1px solid #ffffff1f;border-radius:5px;padding:.45rem .75rem;font-size:.9rem;font-weight:800}.nav-link.active{border-color:rgba(var(--info-rgb), .54);color:var(--info-color);background:rgba(var(--info-rgb), .1)}.content-section{margin-bottom:4rem}.content-section.tight{margin-bottom:2.5rem}.section-title{color:var(--secondary-color);letter-spacing:0;text-shadow:0 0 15px rgba(var(--secondary-rgb), .4);margin:0 0 2rem;font-size:2.5rem;font-weight:800}.description-text{color:#ffffffe6;max-width:980px;margin-bottom:1.25rem;font-size:1rem;line-height:1.65}.blog-cta{border-left:2px solid var(--info-color);background:linear-gradient(90deg, rgba(var(--info-rgb), .12), rgba(var(--secondary-rgb), .04)), rgba(var(--background-rgb), .35);box-shadow:0 0 22px rgba(var(--info-rgb), .14);border-radius:0 8px 8px 0;justify-content:space-between;align-items:center;gap:1.5rem;margin:-1rem 0 4rem;padding:1.2rem 1.5rem;display:flex}.blog-cta-copy{max-width:720px}.blog-cta-eyebrow{color:var(--info-color);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 12px rgba(var(--info-rgb), .42);margin:0 0 .35rem;font-size:.76rem;font-weight:900}.blog-cta h2{color:var(--secondary-color);letter-spacing:0;text-shadow:0 0 12px rgba(var(--secondary-rgb), .32);margin:0;font-size:1.45rem;font-weight:900}.blog-cta p:last-child{color:#ffffffd1;margin:.4rem 0 0;line-height:1.55}.blog-cta-action{flex:none}.timeline,.card-grid,.contact-grid{gap:2rem;display:grid}.timeline{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.blog-list{flex-direction:column;gap:1.25rem;display:flex}.timeline-card,.info-card,.contact-item,.blog-card,.article-panel{border-radius:0 8px 8px 0;padding:1.5rem;transition:background .22s,border-left-width .22s,box-shadow .22s,transform .22s}.timeline-card,.contact-item,.article-panel{border-left:2px solid var(--main-color);background:rgba(var(--main-rgb), .05)}.info-card,.blog-card{border-left:2px solid var(--info-color);background:rgba(var(--info-rgb), .05)}.timeline-card:hover,.contact-item:hover,.article-panel:hover{background:rgba(var(--main-rgb), .1);box-shadow:0 0 20px rgba(var(--main-rgb), .2);border-left-width:3px}.info-card:hover,.blog-card:hover{background:rgba(var(--info-rgb), .1);box-shadow:0 0 20px rgba(var(--info-rgb), .26);border-left-width:3px}.job-header,.card-header,.blog-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.company-name,.card-title,.blog-card-title{color:var(--main-color);letter-spacing:0;margin:0;font-size:1.3rem;font-weight:800}.job-period,.blog-meta{color:var(--info-color);white-space:nowrap;margin:0;font-size:.9rem;font-weight:700}.article-meta{max-width:760px;color:var(--main-color);white-space:normal;text-shadow:0 0 10px rgba(var(--main-rgb), .38);margin:.8rem 0 0;font-size:.9rem;font-weight:700;line-height:1.5}.article-reading-time{color:var(--info-color);text-shadow:0 0 10px rgba(var(--info-rgb), .38)}.job-role,.card-subtitle{color:var(--secondary-color);margin:0 0 1rem;font-size:1.05rem;font-weight:700}.job-description,.article-list{margin:0;padding:0;list-style:none}.job-description li,.article-list li{color:#ffffffe6;margin-bottom:.75rem;padding-left:1.5rem;line-height:1.55;position:relative}.job-description li:before,.article-list li:before{content:">";color:var(--info-color);font-weight:800;position:absolute;left:0}.inline-links{flex-wrap:wrap;gap:.35rem;display:inline-flex}.info-card,.blog-card{flex-direction:column;height:100%;display:flex}.card-description,.blog-card-summary,.article-panel p,.article-section p{color:#ffffffd9;font-size:.96rem;line-height:1.65}.card-highlight,.blog-tags{color:var(--secondary-color);border-top:1px solid #ffffff1a;margin-top:auto;padding-top:.85rem;font-size:.9rem;font-weight:700}.blog-tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag{border:1px solid rgba(var(--secondary-rgb), .34);background:rgba(var(--secondary-rgb), .08);color:var(--secondary-color);border-radius:5px;padding:.25rem .5rem;font-size:.8rem;font-weight:800}.toggle-button{gap:.5rem;width:100%;margin-top:1.5rem}.toggle-button .arrow{font-size:.8rem;transition:transform .22s}.toggle-button.expanded .arrow{transform:rotate(180deg)}.contact-item{flex-direction:column;gap:.5rem;display:flex}.contact-label{color:var(--secondary-color);letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:800}.contact-value,.contact-link{font-size:1rem}.blog-page{z-index:1;width:100%;min-height:100svh;margin:0;padding:clamp(9.5rem,18svh,11.5rem) 0 clamp(10rem,18svh,12rem);position:relative}.blog-page>.site-nav,.blog-page>.content-section{width:min(1120px,100% - 2rem);margin-left:auto;margin-right:auto}.blog-hero{place-items:center start;width:100%;margin-bottom:3rem;padding:.5rem 0 0;display:grid}.blog-hero-copy{max-width:820px}.eyebrow,.article-eyebrow{color:var(--info-color);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 18px rgba(var(--info-rgb), .46);margin:0 0 1rem;font-size:.82rem;font-weight:900}.blog-title{max-width:760px;color:var(--secondary-color);letter-spacing:0;text-shadow:0 0 15px rgba(var(--secondary-rgb), .4);margin:0;font-size:clamp(2.35rem,6.5vw,4.35rem);font-weight:900;line-height:1}.blog-summary{color:#ffffffc2;max-width:720px;margin-top:1.35rem;font-size:clamp(1.05rem,2vw,1.32rem);line-height:1.48}@media (width>=1025px){.lead-section,.blog-hero,.article-header{margin-top:-2rem}}.blog-card{height:auto;color:inherit;grid-template-columns:1fr;align-items:stretch;gap:1.25rem;text-decoration:none;display:grid}.blog-card-content{flex-direction:column;min-width:0;display:flex}.blog-card-summary{max-width:720px;margin-bottom:0}.blog-card .blog-tags{border-top:1px solid #ffffff1a;flex-wrap:nowrap;margin-top:.85rem;padding-top:.75rem;overflow-x:auto}.blog-card .tag{white-space:nowrap;flex:none;padding:.2rem .42rem;font-size:.72rem}.blog-card:hover,.blog-card:focus-visible{color:inherit;text-shadow:none;transform:translateY(-2px)}.article-page{z-index:1;width:100%;min-height:100svh;margin:0;padding:clamp(9.5rem,18svh,11.5rem) 0 clamp(10rem,18svh,12rem);position:relative}.article-header,.article-panel,.article-section{width:100%;max-width:920px}.article-header{margin-bottom:2rem;padding:.5rem 0 0}.article-title{max-width:820px;color:var(--secondary-color);letter-spacing:0;text-shadow:0 0 15px rgba(var(--secondary-rgb), .4);overflow-wrap:anywhere;margin:0;font-size:clamp(2.35rem,6.5vw,4.35rem);font-weight:900;line-height:1}.article-summary{color:#ffffffc7;overflow-wrap:anywhere;max-width:760px;margin-top:1.35rem;font-size:1.15rem;line-height:1.6}.article-panel{max-width:920px;margin-bottom:2rem}.article-section{margin-bottom:3.1rem}.article-section:last-of-type{margin-bottom:2rem}.article-panel h2,.article-section h2{color:var(--secondary-color);letter-spacing:0;margin:0 0 1rem;font-size:1.7rem}.article-section p{overflow-wrap:anywhere;max-width:760px}.article-section p:last-child{margin-bottom:0}.showcase-links{gap:.75rem;max-width:760px;display:grid}.showcase-links a{border-left:2px solid var(--info-color);background:rgba(var(--info-rgb), .04);color:inherit;gap:.25rem;padding:.7rem 0 .7rem 1rem;text-decoration:none;display:grid}.showcase-links a:hover,.showcase-links a:focus-visible{color:inherit;text-shadow:none}.showcase-links span{color:var(--info-color);font-weight:900}.showcase-links p{margin:0}.article-actions{justify-content:center;width:100%;max-width:760px;margin-top:3rem;margin-bottom:3rem;display:flex}.article-back{width:fit-content;display:flex}.persistent-sidebar-grid .site-mark{display:none}.footer-container{z-index:10;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));opacity:1;flex-direction:column;justify-content:space-around;gap:.5rem;transition:opacity 1s ease-in-out;display:flex;position:fixed;bottom:0;left:0;right:0}.footer-container.revealed{opacity:0;pointer-events:none}.footer-text{color:var(--info-color);text-shadow:rgba(var(--info-rgb), .4) 0 4px 4px, rgba(var(--info-rgb), .4) 0 0 2px, var(--info-color) 0 0 4px, rgba(var(--info-rgb), .4) 0 0 10px;justify-content:center;padding:.75rem .25rem 1rem;font-size:.875rem;display:flex}.footer-text p{margin:0}.scanlines{z-index:9999;pointer-events:none;position:fixed;inset:0;overflow:hidden}.scanlines:before{content:"";z-index:10000;opacity:.75;background:#0000004d;width:100%;height:1px;animation:6s linear infinite scanline;position:absolute}.scanlines:after{content:"";z-index:9999;background:linear-gradient(#0000 50%,#0000004d 51%) 0 0/100% 2px;animation:1s steps(25,end) infinite scanlines;position:absolute;inset:0}.road-holder{z-index:0;perspective:200px;pointer-events:none;width:100%;height:150px;position:fixed;overflow:hidden}.road-holder-top{top:0}.road-holder-bottom{bottom:0}.grid-road{background-image:linear-gradient(90deg, rgba(var(--main-rgb), .4) var(--grid-width), transparent var(--grid-width)), linear-gradient(rgba(var(--main-rgb), .4) var(--grid-width), transparent var(--grid-width));background-size:75px 75px;width:200%;height:250px;position:absolute;left:-50%}.grid-road.grid-top{animation:1s linear infinite gridMoveTop;top:-80px;transform:rotateX(-60deg)}.grid-road.grid-bottom{animation:1s linear infinite gridMoveBottom;bottom:-75px;transform:rotateX(60deg)}.grid-gradient{width:100%;height:50px;position:absolute}.grid-gradient-top{background:linear-gradient(0deg, rgba(var(--background-rgb), 1) 0%, rgba(var(--main-rgb), 0) 100%);bottom:50px}.grid-gradient-bottom{background:linear-gradient(0deg, rgba(var(--main-rgb), 0) 0%, rgba(var(--background-rgb), 1) 100%);top:50px}.particles{z-index:0;pointer-events:none;position:fixed;inset:10% 0}.particle{width:var(--size);height:var(--size);border:1px solid rgba(var(--info-rgb), .82);clip-path:polygon(50% 0,100% 100%,0 100%);background:rgba(var(--main-rgb), .26);opacity:.78;box-shadow:0 0 8px rgba(var(--info-rgb), .34), 0 0 16px rgba(var(--main-rgb), .2);animation:particleFloat var(--duration) linear infinite;animation-delay:var(--delay);position:absolute;transform:translate(0,0)}@keyframes arcadeBlink{0%,14%,33%,49%,67%,83%{border-color:var(--main-color);box-shadow:0 0 10px rgba(var(--main-rgb), .5), 0 0 25px rgba(var(--info-rgb), .3)}15%,32%,50%,66%,84%,to{border-color:var(--info-color);box-shadow:0 0 10px rgba(var(--info-rgb), .8), 0 0 25px rgba(var(--info-rgb), .6)}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100svh)}}@keyframes scanlines{0%{background-position:0}}@keyframes gridMoveTop{0%{background-position:0 0}to{background-position:0 -75px}}@keyframes gridMoveBottom{0%{background-position:0 0}to{background-position:0 75px}}@keyframes particleFloat{0%{opacity:0;transform:translateY(16px)rotate(0)}15%,82%{opacity:.82}to{opacity:0;transform:translate(36px,-74px)rotate(180deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1024px){.portfolio-grid,.portfolio-grid:not(.revealed){grid-template-columns:100vw 0}.portfolio-grid.revealed{grid-template-columns:0 100vw}.profile-sidebar{border-bottom:1px solid rgba(var(--main-rgb), .2);height:auto;position:relative}.profile-sidebar:not(.revealed){width:100%;min-height:100svh}.profile-sidebar.revealed{opacity:0;pointer-events:none;margin-left:0;transform:translate(-100%)}.profile-photo{width:120px;height:120px}.profile-name{font-size:1.5rem}.profile-role{font-size:1rem}.content-area{padding:2rem 1rem calc(4rem + env(safe-area-inset-bottom,0px))}.content-area:not(.revealed){width:auto;min-width:0}.content-area.revealed{width:100vw;min-width:100vw;min-height:100svh}.site-nav{margin:1.25rem 0 2rem}.site-mark{display:inline-block}.section-title{font-size:2rem}.blog-cta{flex-direction:column;align-items:flex-start;margin-bottom:3rem;padding:1rem}.timeline-card,.info-card,.contact-item,.blog-card,.article-panel{padding:1rem}.job-header,.card-header,.blog-card-header{flex-direction:column;gap:.25rem}.job-period,.blog-meta,.article-meta{white-space:normal}.company-name,.card-title,.blog-card-title{font-size:1.12rem}.card-grid,.contact-grid{grid-template-columns:1fr;gap:1.5rem}.blog-page,.article-page{padding-top:9.5rem;padding-bottom:10rem}.blog-hero{min-height:auto}.blog-title{max-width:100%;font-size:clamp(2.1rem,7vw,3.25rem)}.article-title{font-size:clamp(2.1rem,7vw,3.25rem)}}@media (width>=721px) and (width<=1024px){.persistent-sidebar-grid.revealed{grid-template-columns:minmax(150px,30vw) minmax(0,1fr)}.persistent-sidebar-grid .profile-sidebar.revealed{opacity:1;pointer-events:auto;border-bottom:0;height:100svh;margin-left:0;position:sticky;top:0;transform:none}.persistent-sidebar-grid .profile-container{justify-content:center;padding:2rem .75rem}.persistent-sidebar-grid .profile-photo{width:96px;height:96px}.persistent-sidebar-grid .profile-name{font-size:1.15rem}.persistent-sidebar-grid .profile-role{font-size:.88rem}.persistent-sidebar-grid .profile-description{font-size:.82rem;line-height:1.35}.persistent-sidebar-grid .content-area.revealed{width:auto;min-width:0}}@media (width<=720px){.persistent-sidebar-grid .site-mark{display:inline-block}.blog-card{flex-direction:column;gap:0;display:flex}.blog-card .blog-tags{border-top:1px solid #ffffff1a;flex-wrap:wrap;padding-top:.85rem;overflow-x:visible}}@media (width<=560px){.blog-summary,.article-summary{font-size:1rem}.blog-title,.article-title{font-size:2.1rem}.article-back{width:100%;margin-left:0}.nav-links{gap:.5rem}.nav-link{padding:.42rem .58rem;font-size:.82rem}.site-mark{font-size:.72rem}}
