@import"https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;700;900&family=JetBrains+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap";*{box-sizing:border-box;margin:0;padding:0;font-family:Outfit,Arial,Helvetica,sans-serif}*{margin:0;padding:0;box-sizing:border-box}:root{--bedrock: #121417;--chalk: #EBEEF1;--ember: #DA6B38}html{scroll-behavior:smooth}body{background-color:var(--bedrock);color:var(--chalk);line-height:1.6;overflow-x:hidden;font-family:Archivo,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{text-decoration:none;color:inherit}ul{list-style:none}img{display:block;max-width:100%}button{font-family:inherit}section.about,section.experience,section.projects,section.education,section.contact{min-height:0;height:auto;display:block;justify-content:initial;align-items:initial}#navbar{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.2rem clamp(1.5rem,5vw,4rem);z-index:1000;font-family:Archivo,system-ui,sans-serif;background:#12141799;-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);border-bottom:1px solid transparent;transition:background .3s ease,padding .3s ease,border-color .3s ease}#navbar.scrolled{background:#121417e6;padding-top:.8rem;padding-bottom:.8rem;border-bottom-color:var(--line)}.logo{display:inline-flex;align-items:center;gap:.45rem;font-weight:900;font-size:1.4rem;letter-spacing:-.04em;color:var(--chalk);text-decoration:none;transition:color .25s ease;z-index:1100}.logo:after{content:"";width:7px;height:7px;background:var(--ember);transition:transform .3s ease}.logo:hover{color:var(--ember)}.logo:hover:after{transform:rotate(45deg)}.nav-links{display:flex;align-items:center;gap:clamp(1.2rem,3vw,2.2rem);list-style:none;margin:0;padding:0}.nav-links a{position:relative;font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fog);text-decoration:none;padding:.3rem 0;transition:color .25s ease}.nav-links a:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--ember);transition:width .25s ease}.nav-links a:hover{color:var(--chalk)}.nav-links a:hover:after{width:100%}.nav-links a.active{color:var(--ember)}.nav-links a.active:after{width:100%}.menu-toggle{display:none;flex-direction:column;justify-content:space-between;width:26px;height:18px;padding:0;background:none;border:none;cursor:pointer;z-index:1100}.menu-toggle span{display:block;width:100%;height:2px;background:var(--chalk);transition:transform .3s ease,opacity .3s ease,background .3s ease}.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg);background:var(--ember)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);background:var(--ember)}@media screen and (max-width: 820px){.menu-toggle{display:flex}.nav-links{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;flex-direction:column;justify-content:center;gap:1.6rem;background:#121417f7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translate(-100%);transition:transform .35s cubic-bezier(.16,1,.3,1);z-index:1050}.nav-links.active{transform:none}.nav-links li{opacity:0;transform:translateY(14px);transition:opacity .4s ease,transform .4s cubic-bezier(.16,1,.3,1)}.nav-links.active li{opacity:1;transform:none}.nav-links.active li:nth-child(1){transition-delay:.08s}.nav-links.active li:nth-child(2){transition-delay:.13s}.nav-links.active li:nth-child(3){transition-delay:.18s}.nav-links.active li:nth-child(4){transition-delay:.23s}.nav-links.active li:nth-child(5){transition-delay:.28s}.nav-links.active li:nth-child(6){transition-delay:.33s}.nav-links a{font-size:1.35rem;letter-spacing:.22em}.nav-links a:after{bottom:-5px}}@media (prefers-reduced-motion: reduce){#navbar,#navbar *,.nav-links,.nav-links li,.menu-toggle span{transition:none!important;animation:none!important}.nav-links li{opacity:1;transform:none}}:root{--bedrock: #121417;--slate: #181C21;--vein: rgba(126, 140, 154, .07);--vein-2: rgba(126, 140, 154, .13);--fog: #79838E;--chalk: #EBEEF1;--ember: #DA6B38;--ember-soft: rgba(218, 107, 56, .16)}header{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;color:var(--chalk);font-family:Archivo,system-ui,sans-serif;padding:clamp(1.5rem,5vw,4rem);background:radial-gradient(120% 90% at 50% 30%,transparent 0%,rgba(0,0,0,.55) 100%),linear-gradient(var(--vein) 1px,transparent 1px) 0 0 / 100% 76px,linear-gradient(90deg,var(--vein) 1px,transparent 1px) 0 0 / 76px 100%,var(--bedrock)}header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(106deg,transparent 0 49.85%,var(--vein-2) 49.85% 50.05%,transparent 50.05% 100%);pointer-events:none}.frame{position:absolute;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.22em;color:var(--fog);text-transform:uppercase;z-index:3}.frame.tl{top:clamp(1.5rem,5vw,4rem)}.frame.br{right:clamp(1.5rem,5vw,4rem);bottom:clamp(1.5rem,5vw,4rem);text-align:right}.frame.br b{color:var(--chalk);font-weight:700}.content{position:relative;z-index:2;max-width:1100px}.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-family:JetBrains Mono,monospace;font-size:clamp(.72rem,1.4vw,.85rem);letter-spacing:.34em;text-transform:uppercase;color:var(--fog);margin-bottom:clamp(1rem,2.5vw,1.6rem);opacity:0;animation:fade .7s ease-out .1s forwards}.dot{width:8px;height:8px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 0 var(--ember-soft);animation:pulse 2.4s ease-in-out infinite}.name{font-weight:900;line-height:.9;letter-spacing:-.035em;text-transform:uppercase;font-size:clamp(3rem,13vw,10.5rem)}.name .line{display:block;overflow:hidden}.name .line-inner{display:block;transform:translateY(112%);animation:rise .95s cubic-bezier(.16,1,.3,1) forwards}.name .line:nth-child(1) .line-inner{animation-delay:.22s}.name .line:nth-child(2) .line-inner{animation-delay:.36s;color:transparent;-webkit-text-stroke:1.5px var(--chalk)}.beam{height:6px;width:min(440px,60%);margin:clamp(1.4rem,3vw,2.2rem) 0 clamp(1.6rem,3.5vw,2.6rem);background:var(--slate);overflow:hidden;border-radius:2px}.beam span{display:block;height:100%;width:0;background:var(--ember);box-shadow:0 0 22px var(--ember-soft);animation:lock 1.1s cubic-bezier(.16,1,.3,1) .95s forwards}.status{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem 1.1rem;max-width:560px;font-family:JetBrains Mono,monospace;opacity:0;animation:fade .8s ease-out 1.25s forwards}.status .key{font-size:.72rem;letter-spacing:.28em;color:var(--fog);text-transform:uppercase}.status .val{font-size:clamp(.82rem,1.7vw,1rem);font-weight:700;letter-spacing:.06em;color:var(--chalk);text-transform:uppercase;justify-self:start}.status .val:after{content:"_";color:var(--ember);animation:blink 1.1s steps(1) infinite}.track{grid-column:1 / -1;height:4px;background:var(--slate);border-radius:2px;overflow:hidden}.track span{display:block;height:100%;width:0;background:var(--ember);animation:build 1.4s cubic-bezier(.22,1,.36,1) 1.4s forwards}.scroll{position:absolute;left:50%;bottom:clamp(1.4rem,4vw,2.4rem);transform:translate(-50%);display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;font-family:JetBrains Mono,monospace;font-size:.66rem;letter-spacing:.32em;color:var(--fog);text-transform:uppercase;opacity:0;z-index:3;animation:fade .8s ease-out 1.6s forwards;transition:color .25s ease}.scroll:hover,.scroll:focus-visible{color:var(--ember);outline:none}.scroll:focus-visible{text-decoration:underline;text-underline-offset:6px}.scroll .arrow{font-size:1rem;animation:nudge 2.2s ease-in-out infinite}@keyframes rise{to{transform:translateY(0)}}@keyframes lock{to{width:100%}}@keyframes build{to{width:68%}}@keyframes fade{to{opacity:1}}@keyframes blink{50%{opacity:0}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.eyebrow,.status,.scroll{opacity:1}.name .line-inner{transform:none}.beam span{width:100%}.track span{width:68%}}.about{color:var(--chalk);font-family:Archivo,system-ui,sans-serif;padding:clamp(4rem,10vw,8rem) clamp(1.5rem,5vw,4rem);background:linear-gradient(var(--vein) 1px,transparent 1px) 0 0 / 100% 76px,linear-gradient(90deg,var(--vein) 1px,transparent 1px) 0 0 / 76px 100%,var(--bedrock)}.about-inner{max-width:1160px;margin:0 auto}.about-head{margin-bottom:clamp(2.5rem,6vw,4rem)}.about-content{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}.about-left{max-width:460px}.about-image{margin:0;width:100%}.about-image .plate{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:3px;background:var(--slate)}.about-image img{width:100%;display:block;filter:grayscale(100%) contrast(1.05);transition:filter .6s ease,transform .6s cubic-bezier(.16,1,.3,1)}.about-image .plate:hover img{filter:grayscale(0%) contrast(1);transform:scale(1.04)}.about-image .plate:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(150deg,transparent 55%,var(--ember-soft) 100%);opacity:0;transition:opacity .6s ease;pointer-events:none}.about-image .plate:hover:after{opacity:1}.about-image .tick{position:absolute;width:16px;height:16px;z-index:2;pointer-events:none}.about-image .tick.tl{top:10px;left:10px;border-top:2px solid var(--ember);border-left:2px solid var(--ember)}.about-image .tick.br{bottom:10px;right:10px;border-bottom:2px solid var(--ember);border-right:2px solid var(--ember)}.about-image figcaption{margin-top:.9rem;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fog)}.about-image figcaption b{color:var(--chalk);font-weight:500}.about-text p{margin:0 0 1.3rem;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.65;color:#c3cad2;max-width:56ch}.about-text p:first-of-type{color:var(--chalk);font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.55}.stack{margin-top:clamp(1.6rem,3vw,2.2rem);border-top:1px solid var(--line)}.stack-row{display:grid;grid-template-columns:92px 1fr;gap:1rem;align-items:baseline;padding:.95rem 0;border-bottom:1px solid var(--line)}.stack-key{font-family:JetBrains Mono,monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fog);padding-top:.3rem}.stack-items{display:flex;flex-wrap:wrap;gap:.55rem}.chip{font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.02em;padding:.42rem .8rem;color:#cbd2d9;background:var(--stone);border:1px solid transparent;border-radius:3px;cursor:default;transition:color .25s ease,border-color .25s ease,transform .25s ease,background .25s ease}.chip:hover{color:var(--chalk);background:var(--slate);border-color:var(--ember);transform:translateY(-2px)}.about .eyebrow,.about .section-title,.about .about-image,.about .about-text p,.about .stack-row{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}.about.in-view .eyebrow{opacity:1;transform:none;transition-delay:.05s}.about.in-view .section-title{opacity:1;transform:none;transition-delay:.12s}.about.in-view .about-image{opacity:1;transform:none;transition-delay:.18s}.about.in-view .about-text p:nth-of-type(1){opacity:1;transform:none;transition-delay:.24s}.about.in-view .about-text p:nth-of-type(2){opacity:1;transform:none;transition-delay:.32s}.about.in-view .about-text p:nth-of-type(3){opacity:1;transform:none;transition-delay:.4s}.about.in-view .stack-row:nth-child(1){opacity:1;transform:none;transition-delay:.3s}.about.in-view .stack-row:nth-child(2){opacity:1;transform:none;transition-delay:.36s}.about.in-view .stack-row:nth-child(3){opacity:1;transform:none;transition-delay:.42s}.about.in-view .stack-row:nth-child(4){opacity:1;transform:none;transition-delay:.48s}.about.in-view .stack-row:nth-child(5){opacity:1;transform:none;transition-delay:.54s}@media screen and (max-width: 860px){.about-content{grid-template-columns:1fr;gap:clamp(2rem,8vw,3rem)}.about-left{max-width:none}.about-image{max-width:340px}.stack{max-width:540px}}@media screen and (max-width: 520px){.stack-row{grid-template-columns:1fr;gap:.7rem}.stack-key{padding-top:0}.chip{font-size:.76rem}}@media (prefers-reduced-motion: reduce){.about *,.about *:before,.about *:after{animation:none!important;transition:none!important}.about .eyebrow,.about .section-title,.about .about-image,.about .about-text p,.about .stack-row{opacity:1;transform:none}}.projects{color:var(--chalk);font-family:Archivo,system-ui,sans-serif;padding:clamp(4rem,10vw,8rem) clamp(1.5rem,5vw,4rem);background:linear-gradient(var(--vein) 1px,transparent 1px) 0 0 / 100% 76px,linear-gradient(90deg,var(--vein) 1px,transparent 1px) 0 0 / 76px 100%,var(--bedrock)}.projects-inner{max-width:1040px;margin:0 auto}.projects-head{margin-bottom:clamp(2.5rem,6vw,4rem)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.2rem,3vw,1.8rem)}.project-card{position:relative;display:flex;flex-direction:column;padding:clamp(1.5rem,3vw,2.1rem);background:var(--slate);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s ease,background .35s ease}.project-card:before{content:"";position:absolute;top:0;left:0;height:3px;width:100%;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}.project-card:hover,.project-card:focus-within{transform:translateY(-4px);border-color:var(--ember);background:#1b2026}.project-card:hover:before,.project-card:focus-within:before{transform:scaleX(1)}.project-meta{display:flex;align-items:center;gap:.7rem;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fog);margin-bottom:1.1rem}.project-meta .idx{color:var(--ember);font-weight:700}.project-meta .sep{width:14px;height:1px;background:var(--line)}.project-title{font-weight:800;font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.15;letter-spacing:-.01em;margin:0 0 .7rem;transition:color .3s ease}.project-card:hover .project-title,.project-card:focus-within .project-title{color:var(--ember)}.project-blurb{font-size:.96rem;line-height:1.6;color:#c3cad2;margin:0 0 1.1rem}.project-features{list-style:none;margin:0 0 1.3rem;padding:0}.project-features li{position:relative;padding-left:1.4rem;font-size:.88rem;line-height:1.5;color:var(--fog);margin-bottom:.5rem}.project-features li:before{content:"→";position:absolute;left:0;color:var(--ember)}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-tag{font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.02em;padding:.35rem .7rem;color:#cbd2d9;background:var(--stone);border:1px solid transparent;border-radius:3px;transition:border-color .25s ease,color .25s ease}.project-card:hover .project-tag,.project-card:focus-within .project-tag{border-color:var(--line)}.project-foot{margin-top:auto}.project-link{display:inline-flex;align-items:center;gap:.5rem;font-family:JetBrains Mono,monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--chalk);text-decoration:none;transition:color .25s ease}.project-link .arrow{color:var(--ember);transition:transform .25s ease}.project-link:hover,.project-link:focus-visible{color:var(--ember);outline:none}.project-link:hover .arrow,.project-link:focus-visible .arrow{transform:translate(4px)}.projects .eyebrow,.projects .section-title,.projects .project-card{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}.projects.in-view .eyebrow{opacity:1;transform:none;transition-delay:.05s}.projects.in-view .section-title{opacity:1;transform:none;transition-delay:.12s}.projects.in-view .project-card:nth-child(1){opacity:1;transform:none;transition-delay:.22s}.projects.in-view .project-card:nth-child(2){opacity:1;transform:none;transition-delay:.3s}.projects.in-view .project-card:nth-child(3){opacity:1;transform:none;transition-delay:.38s}.projects.in-view .project-card:nth-child(4){opacity:1;transform:none;transition-delay:.46s}@media screen and (max-width: 720px){.projects-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.projects *,.projects *:before,.projects *:after{animation:none!important;transition:none!important}.projects .eyebrow,.projects .section-title,.projects .project-card{opacity:1;transform:none}}.contact{color:var(--chalk);font-family:Archivo,system-ui,sans-serif;padding:clamp(4rem,10vw,8rem) clamp(1.5rem,5vw,4rem);background:linear-gradient(var(--vein) 1px,transparent 1px) 0 0 / 100% 76px,linear-gradient(90deg,var(--vein) 1px,transparent 1px) 0 0 / 76px 100%,var(--bedrock)}.contact-inner{max-width:1100px;margin:0 auto}.contact-head{margin-bottom:clamp(2.5rem,6vw,4rem)}.contact-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}.contact-lede .lede-line{font-size:clamp(1.2rem,2.4vw,1.6rem);line-height:1.4;color:var(--chalk);max-width:28ch;margin:0 0 1.8rem}.status{display:inline-flex;align-items:center;gap:.65rem;font-family:JetBrains Mono,monospace;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--fog);margin-bottom:2rem}.status .pulse{width:8px;height:8px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 0 var(--ember-soft);animation:pulse 2.4s ease-in-out infinite}.cta{display:inline-flex;align-items:center;gap:.6rem;background:var(--ember);color:var(--bedrock);font-weight:700;font-size:1rem;letter-spacing:.01em;padding:.95rem 1.5rem;border-radius:3px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.cta:hover,.cta:focus-visible{transform:translateY(-2px);box-shadow:0 10px 26px var(--ember-soft);outline:none}.cta:focus-visible{box-shadow:0 0 0 3px var(--bedrock),0 0 0 5px var(--ember)}.cta .arrow{transition:transform .25s ease}.cta:hover .arrow,.cta:focus-visible .arrow{transform:translate(4px)}.channels{display:flex;flex-direction:column;gap:.8rem}.channel{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:1rem;padding:1.1rem 1.2rem 1.1rem 1.4rem;background:var(--slate);border:1px solid var(--line);border-radius:3px;position:relative;overflow:hidden;text-decoration:none;color:inherit;transition:transform .3s ease,border-color .3s ease,background .3s ease}.channel:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--ember);transform:translate(-4px);transition:transform .3s ease}a.channel:hover,a.channel:focus-visible{transform:translate(6px);border-color:var(--ember);background:var(--stone);outline:none}a.channel:hover:before,a.channel:focus-visible:before{transform:translate(0)}.channel .ch-label{font-family:JetBrains Mono,monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fog)}.channel .ch-value{font-family:JetBrains Mono,monospace;font-size:clamp(.82rem,1.6vw,.95rem);color:var(--chalk);word-break:break-word;transition:color .3s ease}.channel .ch-arrow{color:var(--ember);font-size:1rem;opacity:0;transform:translate(-6px);transition:opacity .3s ease,transform .3s ease}a.channel:hover .ch-arrow,a.channel:focus-visible .ch-arrow{opacity:1;transform:translate(0)}.contact .eyebrow,.contact .section-title,.contact .contact-lede,.contact .channel{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}.contact.in-view .eyebrow{opacity:1;transform:none;transition-delay:.05s}.contact.in-view .section-title{opacity:1;transform:none;transition-delay:.12s}.contact.in-view .contact-lede{opacity:1;transform:none;transition-delay:.2s}.contact.in-view .channel:nth-child(1){opacity:1;transform:none;transition-delay:.28s}.contact.in-view .channel:nth-child(2){opacity:1;transform:none;transition-delay:.36s}.contact.in-view .channel:nth-child(3){opacity:1;transform:none;transition-delay:.44s}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--ember-soft)}70%{box-shadow:0 0 0 9px transparent}to{box-shadow:0 0 0 0 transparent}}@media screen and (max-width: 760px){.contact-container{grid-template-columns:1fr;gap:clamp(2rem,8vw,3rem)}}@media screen and (max-width: 460px){.channel{grid-template-columns:1fr;gap:.35rem}.channel .ch-arrow{display:none}}@media (prefers-reduced-motion: reduce){.contact *,.contact *:before,.contact *:after{animation:none!important;transition:none!important}.contact .eyebrow,.contact .section-title,.contact .contact-lede,.contact .channel{opacity:1;transform:none}}:root{--bedrock: #121417;--slate: #181C21;--stone: #20252B;--line: rgba(126, 140, 154, .16);--fog: #79838E;--chalk: #EBEEF1;--ember: #DA6B38;--ember-soft: rgba(218, 107, 56, .16)}.site-footer{background:var(--bedrock);border-top:1px solid var(--line);font-family:Archivo,system-ui,sans-serif;padding:clamp(2.5rem,5vw,3.5rem) clamp(1.5rem,5vw,4rem)}.footer-inner{max-width:1160px;margin:0 auto}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.footer-mark{display:inline-flex;align-items:center;gap:.45rem;font-weight:900;font-size:1.3rem;letter-spacing:-.04em;color:var(--chalk);text-decoration:none;transition:color .25s ease}.footer-mark .mark-dot{width:7px;height:7px;background:var(--ember);transition:transform .3s ease}.footer-mark:hover{color:var(--ember)}.footer-mark:hover .mark-dot{transform:rotate(45deg)}.social-links{display:flex;gap:.7rem}.social-link{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--slate);border:1px solid var(--line);border-radius:3px;transition:transform .3s ease,border-color .3s ease,background .3s ease,box-shadow .3s ease}.social-link img{width:18px;height:18px;object-fit:contain;opacity:.78;transition:opacity .3s ease}.social-link:hover,.social-link:focus-visible{transform:translateY(-3px);border-color:var(--ember);background:var(--stone);box-shadow:0 6px 18px var(--ember-soft);outline:none}.social-link:hover img,.social-link:focus-visible img{opacity:1}.footer-divider{height:1px;background:var(--line);margin:clamp(1.5rem,3vw,2rem) 0}.copyright{font-family:JetBrains Mono,monospace;font-size:.74rem;letter-spacing:.12em;color:var(--fog);text-align:center}@media screen and (max-width: 560px){.footer-top{flex-direction:column;justify-content:center}}@media (prefers-reduced-motion: reduce){.site-footer *,.site-footer *:before,.site-footer *:after{transition:none!important;animation:none!important}}.education{color:var(--chalk);font-family:Archivo,system-ui,sans-serif;padding:clamp(4rem,10vw,8rem) clamp(1.5rem,5vw,4rem);background:linear-gradient(var(--vein) 1px,transparent 1px) 0 0 / 100% 76px,linear-gradient(90deg,var(--vein) 1px,transparent 1px) 0 0 / 76px 100%,var(--bedrock)}.education-inner{max-width:860px;margin:0 auto}.education-head{margin-bottom:clamp(2.5rem,6vw,4rem)}.education-grid{display:flex;flex-direction:column;gap:clamp(1.2rem,3vw,1.6rem)}.education-card{position:relative;padding:clamp(1.6rem,3.5vw,2.4rem);background:var(--slate);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s ease,background .35s ease}.education-card:before{content:"";position:absolute;top:0;left:0;height:3px;width:100%;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}.education-card:hover,.education-card:focus-within{transform:translateY(-3px);border-color:var(--ember);background:#1b2026}.education-card:hover:before,.education-card:focus-within:before{transform:scaleX(1)}.education-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.education-period{font-family:JetBrains Mono,monospace;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fog);padding-top:.45rem}.education-gpa{flex-shrink:0;text-align:right;border-left:2px solid var(--ember);padding-left:.8rem}.education-gpa .gpa-label{display:block;font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--fog)}.education-gpa .gpa-value{font-weight:800;font-size:1.2rem;color:var(--chalk)}.education-title{font-weight:800;font-size:clamp(1.4rem,3vw,2rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 .5rem;transition:color .3s ease}.education-card:hover .education-title,.education-card:focus-within .education-title{color:var(--ember)}.education-inst{display:block;font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin-bottom:1.1rem}.education-blurb{font-size:.98rem;line-height:1.6;color:#c3cad2;margin:0 0 1.2rem;max-width:60ch}.education-highlights{list-style:none;margin:0;padding:0}.education-highlights li{position:relative;padding-left:1.4rem;font-size:.9rem;line-height:1.5;color:var(--fog);margin-bottom:.5rem}.education-highlights li:before{content:"→";position:absolute;left:0;color:var(--ember)}.education .eyebrow,.education .section-title,.education .education-card{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}.education.in-view .eyebrow{opacity:1;transform:none;transition-delay:.05s}.education.in-view .section-title{opacity:1;transform:none;transition-delay:.12s}.education.in-view .education-card:nth-child(1){opacity:1;transform:none;transition-delay:.22s}.education.in-view .education-card:nth-child(2){opacity:1;transform:none;transition-delay:.32s}.education.in-view .education-card:nth-child(3){opacity:1;transform:none;transition-delay:.42s}@media screen and (max-width: 520px){.education-top{flex-direction:column-reverse;align-items:flex-start;gap:.8rem}.education-gpa{text-align:left;border-left:none;border-top:2px solid var(--ember);padding-left:0;padding-top:.5rem}.education-period{padding-top:0}}@media (prefers-reduced-motion: reduce){.education *,.education *:before,.education *:after{animation:none!important;transition:none!important}.education .eyebrow,.education .section-title,.education .education-card{opacity:1;transform:none}}.publications{color:var(--chalk);font-family:Archivo,system-ui,sans-serif;padding:clamp(4rem,10vw,8rem) clamp(1.5rem,5vw,4rem);background:linear-gradient(var(--vein) 1px,transparent 1px) 0 0 / 100% 76px,linear-gradient(90deg,var(--vein) 1px,transparent 1px) 0 0 / 76px 100%,var(--bedrock)}.pub-inner{max-width:900px;margin:0 auto}.pub-head{margin-bottom:clamp(2.5rem,6vw,4rem)}.pub-grid{display:flex;flex-direction:column;gap:clamp(1.2rem,3vw,1.6rem)}.pub-card{position:relative;padding:clamp(1.6rem,3.5vw,2.4rem);background:var(--slate);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s ease,background .35s ease}.pub-card:before{content:"";position:absolute;top:0;left:0;height:3px;width:100%;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}.pub-card:hover,.pub-card:focus-within{transform:translateY(-3px);border-color:var(--ember);background:#1b2026}.pub-card:hover:before,.pub-card:focus-within:before{transform:scaleX(1)}.pub-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.pub-meta{display:flex;align-items:baseline;gap:.9rem;font-family:JetBrains Mono,monospace;padding-top:.4rem}.pub-ref{font-size:.78rem;letter-spacing:.12em;color:var(--ember);font-weight:700}.pub-date{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fog)}.pub-stat{flex-shrink:0;text-align:right;border-left:2px solid var(--ember);padding-left:.8rem}.pub-stat .stat-value{display:block;font-weight:800;font-size:1.25rem;line-height:1;color:var(--chalk)}.pub-stat .stat-label{font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--fog)}.pub-title{font-weight:800;font-size:clamp(1.25rem,2.6vw,1.7rem);line-height:1.18;letter-spacing:-.015em;margin:0 0 .5rem;transition:color .3s ease}.pub-card:hover .pub-title,.pub-card:focus-within .pub-title{color:var(--ember)}.pub-venue{display:block;font-family:JetBrains Mono,monospace;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin-bottom:1.1rem}.pub-blurb{font-size:.98rem;line-height:1.6;color:#c3cad2;margin:0 0 1.2rem;max-width:62ch}.pub-points{list-style:none;margin:0 0 1.4rem;padding:0}.pub-points li{position:relative;padding-left:1.4rem;font-size:.9rem;line-height:1.55;color:var(--fog);margin-bottom:.55rem}.pub-points li:before{content:"→";position:absolute;left:0;color:var(--ember)}.pub-tags{display:flex;flex-wrap:wrap;gap:.5rem}.pub-tag{font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.02em;padding:.35rem .7rem;color:#cbd2d9;background:var(--stone);border:1px solid transparent;border-radius:3px;transition:border-color .25s ease}.pub-card:hover .pub-tag,.pub-card:focus-within .pub-tag{border-color:var(--line)}.pub-foot{margin-top:1.3rem}.pub-link{display:inline-flex;align-items:center;gap:.5rem;font-family:JetBrains Mono,monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--chalk);text-decoration:none;transition:color .25s ease}.pub-link .arrow{color:var(--ember);transition:transform .25s ease}.pub-link:hover,.pub-link:focus-visible{color:var(--ember);outline:none}.pub-link:hover .arrow,.pub-link:focus-visible .arrow{transform:translate(4px)}.publications .eyebrow,.publications .section-title,.publications .pub-card{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}.publications.in-view .eyebrow{opacity:1;transform:none;transition-delay:.05s}.publications.in-view .section-title{opacity:1;transform:none;transition-delay:.12s}.publications.in-view .pub-card:nth-child(1){opacity:1;transform:none;transition-delay:.22s}.publications.in-view .pub-card:nth-child(2){opacity:1;transform:none;transition-delay:.32s}.publications.in-view .pub-card:nth-child(3){opacity:1;transform:none;transition-delay:.42s}@media screen and (max-width: 520px){.pub-top{flex-direction:column-reverse;align-items:flex-start;gap:.8rem}.pub-stat{text-align:left;border-left:none;border-top:2px solid var(--ember);padding-left:0;padding-top:.5rem}.pub-meta{padding-top:0}}@media (prefers-reduced-motion: reduce){.publications *,.publications *:before,.publications *:after{animation:none!important;transition:none!important}.publications .eyebrow,.publications .section-title,.publications .pub-card{opacity:1;transform:none}}:root{--bedrock: #121417;--slate: #181C21;--stone: #20252B;--vein: rgba(126, 140, 154, .07);--line: rgba(126, 140, 154, .16);--fog: #79838E;--chalk: #EBEEF1;--ember: #DA6B38;--ember-soft: rgba(218, 107, 56, .16)}.experience{color:var(--chalk);font-family:Archivo,system-ui,sans-serif;padding:clamp(4rem,10vw,8rem) clamp(1.5rem,5vw,4rem);background:linear-gradient(var(--vein) 1px,transparent 1px) 0 0 / 100% 76px,linear-gradient(90deg,var(--vein) 1px,transparent 1px) 0 0 / 76px 100%,var(--bedrock)}.experience-inner{max-width:920px;margin:0 auto}.experience-head{margin-bottom:clamp(3rem,7vw,5rem)}.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-family:JetBrains Mono,monospace;font-size:.78rem;letter-spacing:.34em;text-transform:uppercase;color:var(--fog);margin-bottom:1rem}.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--ember)}.section-title{font-weight:900;font-size:clamp(2.4rem,7vw,4.5rem);line-height:.95;letter-spacing:-.03em;text-transform:uppercase}.section-title:after{content:"";display:block;width:64px;height:5px;margin-top:1.2rem;background:var(--ember);box-shadow:0 0 18px var(--ember-soft)}.timeline{list-style:none;position:relative;margin:0;padding:0}.timeline:before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:var(--line)}.timeline .rail-fill{position:absolute;left:11px;top:8px;height:calc(100% - 16px);width:2px;background:var(--ember);box-shadow:0 0 14px var(--ember-soft);transform:scaleY(0);transform-origin:top;transition:transform 1.3s cubic-bezier(.16,1,.3,1) .1s}.experience.in-view .timeline .rail-fill{transform:scaleY(1)}.tl-item{position:relative;padding:0 0 clamp(2.4rem,5vw,3.6rem) clamp(3rem,6vw,4rem)}.tl-item:last-child{padding-bottom:0}.tl-node{position:absolute;left:4px;top:6px;width:16px;height:16px;background:var(--bedrock);border:2px solid var(--fog);z-index:2;transition:border-color .3s ease,background .3s ease,transform .3s ease}.tl-item:after{content:"";position:absolute;left:22px;top:13px;width:clamp(1rem,3vw,1.6rem);height:2px;background:var(--line);transition:background .3s ease}.tl-title{font-weight:800;font-size:clamp(1.35rem,3.2vw,2.1rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 .5rem;transition:color .3s ease}.tl-company{font-family:JetBrains Mono,monospace;font-size:clamp(.74rem,1.6vw,.85rem);letter-spacing:.24em;text-transform:uppercase;color:var(--fog)}.tl-company .note{color:var(--ember)}.tl-company .note:before{content:"·";margin:0 .5em;color:var(--fog)}.tl-item:hover .tl-node,.tl-item:focus-within .tl-node{border-color:var(--ember);background:var(--ember);transform:rotate(45deg)}.tl-item:hover:after,.tl-item:focus-within:after{background:var(--ember)}.tl-item:hover .tl-title,.tl-item:focus-within .tl-title{color:var(--ember)}.experience .eyebrow,.experience .section-title,.experience .tl-item{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}.experience.in-view .eyebrow{opacity:1;transform:none;transition-delay:.05s}.experience.in-view .section-title{opacity:1;transform:none;transition-delay:.12s}.experience.in-view .tl-item:nth-child(1){opacity:1;transform:none;transition-delay:.35s}.experience.in-view .tl-item:nth-child(2){opacity:1;transform:none;transition-delay:.6s}.experience.in-view .tl-item:nth-child(3){opacity:1;transform:none;transition-delay:.85s}.experience.in-view .tl-item:nth-child(4){opacity:1;transform:none;transition-delay:1.1s}.experience.in-view .tl-item:nth-child(5){opacity:1;transform:none;transition-delay:1.35s}@media screen and (max-width: 520px){.tl-item{padding-left:2.4rem}}@media (prefers-reduced-motion: reduce){.experience *,.experience *:before,.experience *:after{animation:none!important;transition:none!important}.experience .eyebrow,.experience .section-title,.experience .tl-item{opacity:1;transform:none}.timeline .rail-fill{transform:scaleY(1)}}
