@import"https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";:root{--bg: #dcc8a5;--bg-rail: transparent;--text: #2a1d13;--text-muted: #745f45;--border: #b99a6e;--accent: #d95c16;--mono: "Share Tech Mono", "Courier New", monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max-width: 42rem;--sidebar-width: 9.5rem;--header-height: 3.25rem;--radius: 0}*,*:before,*:after{box-sizing:border-box;border-radius:0!important}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--mono);font-size:.9375rem;line-height:1.7;-webkit-font-smoothing:antialiased;min-height:100vh}body.has-sidebar{display:block}.ascii-loader{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.7rem;background:var(--bg);color:var(--text);font-family:var(--mono);opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease,visibility 0s linear 0s}body.site-ready:not(.site-leaving) .ascii-loader{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s linear .18s}.ascii-loader-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.ascii-loader-bar{position:relative;display:block;width:2rem;height:1.4em;color:var(--accent);font-size:1.15rem;line-height:1.2;text-align:center;white-space:nowrap}.ascii-loader-bar:before{content:"|";animation:ascii-spin .55s steps(1,end) infinite}.ascii-loader-bar:after{content:none}@keyframes ascii-spin{0%{content:"|"}25%{content:"/"}50%{content:"\2014"}75%{content:"\\"}}@media (prefers-reduced-motion: reduce){.ascii-loader,body.site-ready:not(.site-leaving) .ascii-loader{transition:none}.ascii-loader-bar:before{content:"*";animation:none}}.ascii-field{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.ascii-field-canvas{display:block;width:100%;height:100%}body:not(.page-home) .site-sidebar,body:not(.page-home) .site-content{position:relative;z-index:1}h1,h2,h3{font-family:var(--mono);font-weight:500;line-height:1.25;letter-spacing:-.01em}h1{position:relative;font-size:1.5rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1.75rem;padding:0 0 .75rem;border-bottom:1px solid var(--border)}h1:before{content:none}body.page-inner h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a{color:var(--text);text-decoration:none;border-bottom:1px solid currentColor}a:hover{color:var(--text)}.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}.site-sidebar{position:fixed;top:1.5rem;left:1.35rem;bottom:1.5rem;z-index:100;width:var(--sidebar-width);display:flex;flex-direction:column;padding:.25rem;border:none;pointer-events:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;mix-blend-mode:normal}.site-sidebar>*{pointer-events:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1.75rem}.site-mark{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;min-width:2rem;min-height:2rem;padding:.35rem .4rem;border:1px solid transparent;text-decoration:none;color:var(--text);background:transparent;font-family:var(--mono);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.site-mark:hover,.site-mark:focus-visible{background:var(--bg);border-color:var(--text)}.site-mark:hover .nav-glyph,.site-mark:focus-visible .nav-glyph{transform:translate(0)!important}.site-mark-glyph{font-family:var(--mono);font-size:.8125rem;font-weight:500;letter-spacing:.08em;line-height:1}.sidebar-toggle{display:none;width:2rem;height:2rem;padding:0;border:1px solid transparent;background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:var(--text);transition:background .2s ease,border-color .2s ease}.sidebar-toggle:hover,.sidebar-toggle:focus-visible,body.nav-open .sidebar-toggle{background:var(--bg);border-color:var(--text)}.sidebar-toggle-bar{display:block;width:11px;height:1px;background:currentColor}.site-nav{display:flex;flex-direction:column;gap:.35rem;flex:1;align-items:flex-start}.site-nav a{position:relative;display:inline-block;font-family:var(--mono);font-size:1.0625rem;font-weight:500;letter-spacing:.06em;line-height:1.15;color:var(--text);text-decoration:none;border:1px solid transparent;border-bottom:1px solid transparent;padding:.45rem .6rem;opacity:.82;text-shadow:0 0 1px var(--bg),0 0 10px rgba(220,200,165,.95),1px 0 0 rgba(220,200,165,.6),-1px 0 0 rgba(220,200,165,.6);background:transparent;transition:background .18s ease,border-color .18s ease,opacity .18s ease,box-shadow .18s ease,text-shadow .18s ease}.site-nav a .nav-glyph,.site-mark .nav-glyph{display:inline-block;will-change:transform}.sidebar-footer .social-links a{will-change:transform}.site-nav a:hover,.site-nav a:focus-visible{opacity:1;background:var(--bg);border-color:var(--text);text-shadow:none;box-shadow:3px 3px #1111111f}.site-nav a:hover .nav-glyph,.site-nav a:focus-visible .nav-glyph,.site-nav a[aria-current=page] .nav-glyph{transform:translate(0)!important}.site-nav a[aria-current=page]{opacity:1;background:var(--bg);border-color:var(--text);text-shadow:none;box-shadow:3px 3px #1111111a}.site-nav a[aria-current=page]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}.sidebar-footer{margin-top:auto;padding-top:1rem}.sidebar-footer .social-links{justify-content:flex-start;gap:.35rem}.sidebar-footer .social-links a{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;font-size:.8rem;border:1px solid transparent;border-bottom:1px solid transparent;color:var(--text);opacity:.7;text-shadow:0 0 8px rgba(220,200,165,.85);background:transparent;will-change:transform;transition:background .18s ease,border-color .18s ease,opacity .18s ease,text-shadow .18s ease}.sidebar-footer .social-links a:hover,.sidebar-footer .social-links a:focus-visible{opacity:1;color:var(--text);background:var(--bg);border-color:var(--text);text-shadow:none;transform:translate(0)!important}body.ascii-nav-embedded .site-sidebar{position:fixed;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}body.page-home .site-sidebar{display:none!important}body.page-inner.ascii-nav-embedded .ascii-field{pointer-events:auto}@media (min-width: 1101px){body.ascii-nav-embedded .site-sidebar{position:fixed;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}body.ascii-nav-embedded .site-sidebar:focus-within{top:1.5rem;left:1.35rem;bottom:1.5rem;width:var(--sidebar-width);height:auto;padding:.25rem;margin:0;overflow:visible;clip:auto;white-space:normal}body.page-inner.ascii-nav-embedded .ascii-field{pointer-events:auto}body.page-inner.ascii-nav-embedded .site-content{padding-left:0;pointer-events:none}body.page-inner.ascii-nav-embedded main{padding:2.5rem 2rem 4rem clamp(27rem,48vw,42rem)}body.page-inner.ascii-nav-embedded .page{pointer-events:auto}}.site-content{margin-left:0;min-height:100vh;display:flex;flex-direction:column;background:transparent}body:not(.page-home) .site-content{padding-left:calc(var(--sidebar-width) + 2.5rem);background:transparent}main{flex:1;padding:2.5rem 1.5rem 4rem}.main-home{display:block;width:100%;max-width:none;margin:0;padding:0}.page{width:100%;max-width:48rem;margin:0;padding:1.5rem 1.75rem 2rem;background:linear-gradient(90deg,rgba(220,200,165,.94),rgba(220,200,165,.76));border-left:1px solid rgba(221,208,189,.72);box-shadow:-12px 0 24px #dcc8a557}body.page-inner .page{text-shadow:0 0 8px rgba(220,200,165,.78)}.page:before{content:"[ " attr(data-page) " ]";display:block;font-family:var(--mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.25rem;opacity:.75}.ascii-hero{position:relative;width:100%;height:100vh;height:100svh;height:100dvh;min-height:28rem;overflow:hidden}.ascii-portrait{width:100%;height:100%;background:var(--bg)}.ascii-canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.ascii-portrait.ascii-failed:after{content:"Portrait unavailable";display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-family:var(--mono);font-size:.875rem}.ascii-media{position:relative;overflow:hidden;background:transparent;border:none}.ascii-media-source{position:absolute;inset:0;width:100%;height:100%;opacity:.22;pointer-events:none;object-fit:contain;filter:grayscale(1) contrast(1.15);z-index:0;transition:opacity .4s ease,filter .4s ease}.ascii-media video.ascii-media-source{pointer-events:none;opacity:.2;object-fit:cover;filter:grayscale(1) contrast(1.2)}.ascii-media-native-video video.ascii-media-source{position:relative;inset:auto;z-index:1;opacity:1;pointer-events:auto;object-fit:cover;filter:none}.ascii-media-canvas{display:block;width:100%;height:100%;position:relative;z-index:1;mix-blend-mode:multiply;opacity:.95;transition:opacity .4s ease}.ascii-media:hover .ascii-media-source,.ascii-media:focus-within .ascii-media-source{opacity:1;filter:grayscale(0) contrast(1)}.ascii-media:hover .ascii-media-canvas,.ascii-media:focus-within .ascii-media-canvas{opacity:0}.ascii-media-logo{width:6.5rem;height:6.5rem;flex-shrink:0;background:transparent;border:none}.ascii-media-logo .ascii-media-source{opacity:.28;padding:6px}.ascii-media-logo .ascii-media-canvas{mix-blend-mode:multiply;opacity:1}.ascii-media-logo .experience-logo,.ascii-media-logo .education-logo{width:100%;height:100%;object-fit:contain;padding:6px;border:none;background:transparent}.ascii-media.media{aspect-ratio:16 / 9;background:transparent}.ascii-media.media .ascii-media-canvas{opacity:.9}section{padding:0}.page>section{counter-reset:ascii-card}h2{font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .5rem;padding-bottom:0;border-bottom:none}h3{font-size:.95rem;letter-spacing:.03em;margin:0 0 .5rem}p{margin:0 0 1rem;color:var(--text)}p:last-child{margin-bottom:0}strong{font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:.8em;color:var(--accent)}.education-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 6.5rem;align-items:flex-start;gap:1.5rem;padding:1.35rem 1.2rem 1.25rem;border:1px dashed var(--border);background:repeating-linear-gradient(0deg,rgba(220,200,165,.68) 0,rgba(220,200,165,.68) 8px,rgba(214,156,92,.06) 8px,rgba(214,156,92,.06) 9px)}.education-header:before{content:"[ 00 / education ]"}.education-header:before,.project:before,.experience-card:before{position:absolute;top:-.72rem;left:.8rem;z-index:2;padding:0 .45rem;background:var(--bg);color:var(--accent);font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;text-shadow:none}.education-header:after,.project:after,.experience-card:after{content:"";position:absolute;top:.35rem;right:-.4rem;bottom:-.4rem;left:.35rem;border-right:1px dashed rgba(96,44,52,.42);border-bottom:1px dashed rgba(96,44,52,.42);pointer-events:none;transition:border-color .2s ease,transform .2s ease}.education-header:hover:after,.education-header:focus-within:after,.project:hover:after,.project:focus-within:after,.experience-card:hover:after,.experience-card:focus-within:after{border-color:var(--accent);transform:translate(2px,2px)}.education-text{width:100%;min-width:0}.education-text p:first-child{font-size:1.05rem;letter-spacing:.02em}.education-text p:first-child:before{content:none}body.page-education strong{color:var(--text)}.education-logo{flex-shrink:0;width:64px;height:auto}.project,.experience-card{scroll-margin-top:1.5rem;content-visibility:auto;contain-intrinsic-size:auto 28rem}.project{position:relative;counter-increment:ascii-card;margin-bottom:2rem;padding:1.45rem 1.2rem 1.35rem;border:1px dashed var(--border);background:repeating-linear-gradient(0deg,rgba(220,200,165,.68) 0,rgba(220,200,165,.68) 8px,rgba(214,156,92,.06) 8px,rgba(214,156,92,.06) 9px);transition:border-color .2s ease,background .2s ease,transform .2s ease}.project:hover,.project:focus-within{border-color:var(--text);background:rgba(220,200,165,.86);transform:translate(-2px,-2px)}.project:before{content:"[ " counter(ascii-card,decimal-leading-zero) " / project ]"}.project h2:before{content:"> ";color:var(--accent)}.project:last-child{margin-bottom:0}.project-meta{display:inline-block;font-weight:400;color:var(--text-muted);font-size:.75rem;letter-spacing:.04em;text-transform:none}.project-links{margin-bottom:.65rem}.project-links a{margin-right:1rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;border-bottom-style:dashed}.project-links i{font-size:.75em}.project-stack{font-size:.75rem;color:var(--text-muted);margin-bottom:1rem;font-family:var(--mono);letter-spacing:.04em}.project-stack:before{content:"> ";color:var(--accent)}.media{margin:1.25rem 0;aspect-ratio:16 / 9}.media-embed{border:none;background:transparent;filter:none;mix-blend-mode:normal;opacity:1}.media iframe,.media video{display:block;width:100%;height:100%;border:none;background:transparent}.ascii-media.media{aspect-ratio:16 / 9;border:none}.experience-card{position:relative;counter-increment:ascii-card;display:grid;grid-template-columns:minmax(0,1fr) 6.5rem;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding:1.45rem 1.2rem 1.35rem;border:1px dashed var(--border);background:repeating-linear-gradient(0deg,rgba(220,200,165,.68) 0,rgba(220,200,165,.68) 8px,rgba(214,156,92,.06) 8px,rgba(214,156,92,.06) 9px);transition:border-color .2s ease,background .2s ease,transform .2s ease}.experience-card:hover,.experience-card:focus-within{border-color:var(--text);background:rgba(220,200,165,.86);transform:translate(-2px,-2px)}.experience-card:before{content:"[ " counter(ascii-card,decimal-leading-zero) " / experience ]"}.experience-text h3:before{content:"> ";color:var(--accent)}.experience-card:last-child{margin-bottom:0}.experience-text{width:100%;min-width:0}.experience-text h3{margin-bottom:.25rem}.role{font-family:var(--mono);font-size:.8rem;letter-spacing:.04em;color:var(--text-muted);margin-bottom:1rem}.role:before{content:"> ";color:var(--accent)}.experience-logo{flex-shrink:0;width:72px;height:72px;object-fit:contain;border:none;padding:4px;background:transparent}.skill-block{position:relative;margin-bottom:1.35rem;padding:1rem 1.1rem 1.05rem;border:1px dashed var(--border);background:repeating-linear-gradient(0deg,rgba(220,200,165,.62) 0,rgba(220,200,165,.62) 8px,rgba(214,156,92,.05) 8px,rgba(214,156,92,.05) 9px);transition:border-color .2s ease,background .2s ease}.skill-block:last-child{margin-bottom:0;padding-bottom:1.05rem;border-bottom:1px dashed var(--border)}.skill-block:hover,.skill-block:focus-within{border-color:var(--text);background:rgba(220,200,165,.86)}.skill-label{display:block;font-size:1.05rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin-bottom:.5rem}.skill-label:before{content:"// ";opacity:.7}.skill-values{margin:0;color:var(--text);letter-spacing:.02em}.social-links{display:flex;justify-content:center;gap:1.5rem}.social-links a{color:var(--text-muted);font-size:1.25rem;text-decoration:none;border-bottom:none}.social-links a:hover,.social-links a[aria-label=Email],.contact-list a[href^=mailto] i{color:var(--accent)}.social-links a[aria-label=LinkedIn],.contact-list a[href*=linkedin] i{color:#0a66c2}.social-links a[aria-label=GitHub],.contact-list a[href*=github] i{color:#8957e5}.contact-intro{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.contact-list{position:relative;list-style:none;padding:1.25rem 1.1rem .5rem;margin:0;border:1px dashed var(--border);background:repeating-linear-gradient(0deg,rgba(220,200,165,.62) 0,rgba(220,200,165,.62) 8px,rgba(214,156,92,.05) 8px,rgba(214,156,92,.05) 9px)}.contact-list:before{content:"[ contact / channels ]";position:absolute;top:-.72rem;left:.8rem;padding:0 .45rem;background:var(--bg);color:var(--accent);font-size:.65rem;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;text-shadow:none}.contact-list li{margin-bottom:.75rem}.contact-list a{display:inline-flex;align-items:center;gap:.65rem;font-size:.9rem;letter-spacing:.02em;padding:.45rem .65rem;border:1px solid transparent;border-bottom:1px solid transparent;transition:background .15s ease,border-color .15s ease}.contact-list a:hover{background:var(--bg);border-color:var(--text);color:var(--text);text-decoration:none}.contact-list i{width:1.25rem;text-align:center;color:var(--text-muted)}.page{padding:1.5rem 0 2rem;background:transparent;border:0;box-shadow:none}.education-header,.project,.experience-card,.skill-block,.contact-list{border:0;background:transparent;box-shadow:none}.education-header,.project,.experience-card{padding:2.25rem 0 2rem}.skill-block{margin-bottom:2rem;padding:0}.skill-block:last-child{padding-bottom:0;border:0}.contact-list{padding:2rem 0 0}.education-header:hover,.education-header:focus-within,.project:hover,.project:focus-within,.experience-card:hover,.experience-card:focus-within,.skill-block:hover,.skill-block:focus-within{border-color:transparent;background:transparent;transform:none}.education-header:before,.project:before,.experience-card:before,.contact-list:before{position:absolute;top:0;left:0;display:block;width:fit-content;margin:0;padding:0;background:transparent}.education-header:after,.project:after,.experience-card:after,.skill-block:after{content:"\b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7   \b7";position:static;display:block;width:100%;height:1em;margin-top:1.5rem;overflow:hidden;border:0;color:#b25c2e7a;font-family:var(--mono);font-size:.65rem;line-height:1;letter-spacing:.08em;white-space:nowrap;pointer-events:none;transform:none}.education-header:hover:after,.education-header:focus-within:after,.project:hover:after,.project:focus-within:after,.experience-card:hover:after,.experience-card:focus-within:after{border-color:transparent;color:var(--accent);transform:none}.project h2,.experience-text h3,.skill-label{transition:color .18s ease,transform .18s ease}.project:hover h2,.project:focus-within h2,.experience-card:hover .experience-text h3,.experience-card:focus-within .experience-text h3{color:var(--text);transform:none}.skill-block:hover .skill-label,.skill-block:focus-within .skill-label{color:var(--text);transform:none}.page:before,.education-header:before,.education-header:after,.project:before,.project:after,.project h2:before,.project-stack:before,.experience-card:before,.experience-card:after,.experience-text h3:before,.role:before,.skill-block:after,.skill-label:before,.contact-list:before{content:none}.education-header,.project,.experience-card,.skill-block,.contact-list{font-family:var(--mono)}.education-header,.project,.experience-card,.contact-list{padding-top:0}.contact-list i,.contact-list a[href^=mailto] i,.contact-list a[href*=linkedin] i,.contact-list a[href*=github] i{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px dashed currentColor;color:var(--text-muted);font-size:.75rem;text-shadow:0 0 8px rgba(220,200,165,.9);transition:color .18s ease,border-color .18s ease}.contact-list a:hover i,.contact-list a:focus-visible i{color:var(--accent)}@media (max-width: 1100px){:root{--sidebar-width: 0px}.site-sidebar{top:.75rem;left:.75rem;right:.75rem;bottom:auto;width:auto;height:auto;flex-direction:column;padding:.5rem;mix-blend-mode:normal;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none}body.page-home .site-sidebar,body.page-home.nav-open .site-sidebar{mix-blend-mode:normal;background:transparent;border:none}body.nav-open .site-sidebar{background:rgba(220,200,165,.94);border:1px solid var(--text);padding:.65rem .75rem;max-height:calc(100dvh - 1.5rem);overflow-y:auto}body.nav-open .site-nav a{text-shadow:none}.sidebar-header{margin-bottom:0}.sidebar-toggle{display:inline-flex}.site-nav,.sidebar-footer{display:none}body.nav-open .site-nav{display:flex;margin-top:.75rem;padding-bottom:.25rem}body.nav-open .sidebar-footer{display:block;padding-top:.5rem;padding-bottom:.25rem}body.nav-open .site-content{pointer-events:none;opacity:.4}.site-content{margin-left:0;padding-left:0;padding-top:calc(var(--header-height) + .5rem)}body.page-inner.ascii-nav-embedded .site-content{padding-top:20rem;pointer-events:none}body.page-inner.ascii-nav-embedded .page{pointer-events:auto}body.page-home .site-content{padding-top:0}.ascii-hero{height:100vh;height:100svh;height:100dvh;min-height:22rem}main{padding:1.5rem 1rem 3rem}.page{width:100%;padding:1.25rem 1rem 1.75rem;background:transparent;border-left:0;box-shadow:none}.main-home{padding:0}.experience-card,.education-header{display:flex;flex-direction:column-reverse;align-items:stretch;text-align:left}.experience-card .ascii-media-logo,.education-header .ascii-media-logo{align-self:center}.contact-list a{max-width:100%;overflow-wrap:anywhere}}@media (max-width: 1100px) and (orientation: landscape) and (max-height: 600px){.ascii-hero{min-height:100dvh}body.nav-open .site-nav{margin-top:.35rem}.site-nav{gap:.1rem}.site-nav a{padding-top:.25rem;padding-bottom:.25rem;font-size:.9rem}body.nav-open .sidebar-footer{padding-top:.25rem;padding-bottom:0}}
