@font-face{font-family:Inter;src:url('/experience/fonts/Inter-5.3.0-latin-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#100e17;--panel:#191622;--ink:#f3f0f7;--muted:#b3aabc;--line:#39313f;--accent:#ff86a1}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 Inter,system-ui,sans-serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{font:inherit}img{display:block;max-width:100%;height:auto}[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--accent);color:#17101b;padding:10px 18px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header,.site-footer{max-width:1180px;margin:auto;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-header{border-bottom:1px solid var(--line)}.site-header nav{display:flex;gap:24px;font-size:13px}.wordmark{text-decoration:none;font-size:14px;font-weight:700;display:flex;align-items:center;gap:12px}.wordmark span{display:grid;place-items:center;width:38px;height:38px;background:#61233f;border:1px solid #a65878;border-radius:8px}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:13px;margin-top:80px;flex-wrap:wrap}
.reading{max-width:910px;margin:auto;padding:56px 32px}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--accent);margin:0 0 16px}h1,h2,h3{line-height:1.15;letter-spacing:-.04em}h1{font-size:clamp(36px,6vw,64px);margin:14px 0 20px;max-width:850px}h2{font-size:27px;margin:0 0 22px}h3{font-size:19px}.lede{font-size:clamp(18px,2.4vw,23px);line-height:1.6;color:#d9d1df;max-width:760px}.stack{font-size:13px;letter-spacing:.01em;color:var(--muted)}.back-link{display:inline-block;font-size:13px;color:var(--muted);margin-bottom:40px}.proof-list{display:flex;gap:9px;flex-wrap:wrap;list-style:none;padding:0;margin:25px 0}.proof-list li{border:1px solid #544252;border-radius:6px;padding:6px 11px;font-size:12px;color:#f4cad6}.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.action{padding:10px 17px;border:1px solid #b75978;background:#69243e;border-radius:7px;text-decoration:none;font-size:13px;font-weight:650}.action.is-quiet{background:transparent;border-color:#615263}.project-figure{margin:42px 0 55px}.project-figure img{border:1px solid var(--line);border-radius:10px;background:var(--panel)}figcaption{font-size:12px;color:var(--muted);margin-top:12px}.case-section{padding:35px 0;border-top:1px solid var(--line)}.case-section>p:not(.eyebrow){color:#d0c7d6;max-width:76ch}.architecture{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0;counter-reset:flow}.architecture li{counter-increment:flow;border:1px solid #594458;background:var(--panel);border-radius:8px;padding:20px;display:flex;flex-direction:column;justify-content:center;min-height:116px;font-size:14px;overflow-wrap:anywhere}.architecture li:before{content:'0' counter(flow);font-size:10px;color:var(--accent);letter-spacing:.12em;margin-bottom:13px}.decision-list{padding-left:22px;color:#d7cddb}.decision-list li{padding:0 0 17px 12px}.evidence{background:linear-gradient(100deg,#251727,transparent);padding:28px;border:1px solid #52374c;border-radius:10px;margin:24px -28px}.evidence a{font-size:13px}.project-index article{display:grid;grid-template-columns:45px 1fr;gap:20px;border-top:1px solid var(--line);padding:30px 0}.index-number{font:12px/2 monospace;color:var(--muted)}.project-index h2{font-size:26px;margin-bottom:12px}.project-index h2 a{text-decoration:none}.project-index p{color:#cfc4d6}
.text-portfolio .resume-experience{max-width:1100px;margin:35px auto 0;padding:0 32px}.resume-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.resume-location{font-size:12px;color:var(--muted)}.resume-hero-grid{display:grid;grid-template-columns:1fr 260px;gap:45px;padding:24px 0 34px;align-items:center}.resume-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.resume-name{font-size:52px;margin:15px 0}.resume-name span{color:var(--accent)}.resume-summary{color:#d5cbdc;font-size:18px;max-width:650px}.resume-links{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin-top:24px}.resume-links a{border:1px solid #62465a;border-radius:6px;padding:8px 11px;text-decoration:none}.resume-links .is-primary{background:#67283f}.resume-proof-grid{margin:0;display:grid;gap:20px}.resume-proof-grid>div{border-left:2px solid #785267;padding-left:18px}.resume-proof-grid dt{font-size:29px;font-weight:750;line-height:1.25}.resume-proof-grid dd{margin:3px 0 0;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.resume-section-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:16px 0;border-block:1px solid var(--line);font-size:13px}.resume-section-nav a{text-decoration:none;padding:8px 0}.resume-section-nav span{font-size:10px;color:var(--accent);margin-right:8px}.resume-section{padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:25px}.resume-section-heading>p{color:var(--accent);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.resume-section-heading>span{font-size:14px;color:var(--muted)}.resume-section-heading{margin-bottom:28px}.resume-entry{padding:24px 0;border-top:1px solid #332c3c}.resume-entry-heading{display:flex;justify-content:space-between;gap:24px}.resume-company{color:var(--muted);font-size:11px;letter-spacing:.04em;margin:0}.resume-entry h3{margin:8px 0 0;font-size:20px}.resume-entry time{white-space:nowrap;font-size:12px;color:var(--muted)}.resume-entry li{font-size:15px;color:#d8cedf;padding-left:4px;margin:8px 0}.resume-tags,.resume-skill-list,.resume-coursework{display:flex;flex-wrap:wrap;gap:7px}.resume-tags span,.resume-skill-list span,.resume-coursework span{font-size:11px;border:1px solid var(--line);padding:3px 8px;border-radius:4px;color:#d3c4dc}.resume-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.resume-project{border:1px solid var(--line);padding:24px;border-radius:9px;background:var(--panel)}.resume-project h3{font-size:24px}.resume-project>p{font-size:14px;color:#cbbfd4}.resume-project-topline{display:flex;gap:12px;font-size:10px;color:var(--muted)}.resume-project-topline p{margin:0}.resume-project-proof{padding-left:17px;color:#e9b9ca;font-size:12px}.resume-project-links{display:flex;flex-wrap:wrap;gap:16px;font-size:12px}.resume-skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.resume-skills-grid h3{font-size:13px;letter-spacing:0}.resume-additional{font-size:12px;color:var(--muted);margin-top:24px}.resume-education-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:20px}.resume-education-card p{font-size:13px;color:var(--muted)}.resume-honors{line-height:1.8}.resume-contact{padding:48px 0}.resume-contact>p{font-size:11px;color:var(--muted)}.resume-contact h2{font-size:34px}.resume-contact a{color:var(--accent)}
@media(max-width:680px){.site-header,.site-footer{padding:20px}.site-header{align-items:flex-start;flex-direction:column;gap:15px}.site-header nav{gap:20px;font-size:12px}.reading{padding:34px 20px}.architecture{grid-template-columns:1fr}.architecture li{min-height:80px}.evidence{margin:20px 0;padding:22px}.back-link{margin-bottom:25px}.text-portfolio .resume-experience{padding:0 20px;margin-top:20px}.resume-hero-grid{grid-template-columns:1fr;gap:20px}.resume-name{font-size:42px}.resume-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.resume-proof-grid>div{padding-left:10px}.resume-proof-grid dt{font-size:24px}.resume-proof-grid dd{font-size:9px;overflow-wrap:anywhere}.resume-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-entry-heading{flex-direction:column;gap:9px}.resume-project-grid,.resume-skills-grid{grid-template-columns:1fr}.resume-education-card>div:first-child{display:block}.resume-section{padding:30px 0}.resume-project{padding:20px}.resume-entry ul{padding-left:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{overflow-wrap:anywhere}.reading,.resume-project,.resume-entry-heading>div{min-width:0}.action{max-width:100%}
