:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0e13;--bg-raised:#101720;--surface:#111923;--surface-hover:#16202c;--border:#1e2a37;--border-strong:#2c3c4e;--text:#e3ebf3;--text-muted:#93a4b6;--text-faint:#62758a;--accent:#4aa0ff;--accent-strong:#84c2ff;--accent-soft:#4aa0ff24;--accent-contrast:#04101d;--secondary:#ffb132;--secondary-soft:#ffb13224;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 8px 28px #00000073}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--bg-raised:#fff;--surface:#fff;--surface-hover:#eef4fc;--border:#dae3ee;--border-strong:#b9c8da;--text:#0d151f;--text-muted:#4d5f73;--text-faint:#74869a;--accent:#0954ff;--accent-strong:#033cf2;--accent-soft:#0954ff17;--accent-contrast:#fff;--secondary:#cc5c02;--secondary-soft:#cc5c021a;--shadow-sm:0 1px 2px #10203814;--shadow-md:0 8px 28px #1020381a}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--bg-raised:#fff;--surface:#fff;--surface-hover:#eef4fc;--border:#dae3ee;--border-strong:#b9c8da;--text:#0d151f;--text-muted:#4d5f73;--text-faint:#74869a;--accent:#0954ff;--accent-strong:#033cf2;--accent-soft:#0954ff17;--accent-contrast:#fff;--secondary:#cc5c02;--secondary-soft:#cc5c021a}}:root{--font-mono:"Roboto Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-sans:"Istok Web", system-ui, -apple-system, sans-serif;--fs-xs:1.1rem;--fs-sm:1.3rem;--fs-base:1.4rem;--fs-md:1.6rem;--fs-lg:1.8rem;--fs-xl:2.2rem;--fs-2xl:2.8rem;--fs-3xl:3.2rem;--fs-4xl:4.4rem;--lh-tight:1.15;--lh-snug:1.4;--lh-prose:1.7;--tracking-label:.12em;--space-1:.4rem;--space-2:.8rem;--space-3:1.2rem;--space-4:1.6rem;--space-5:2rem;--space-6:2.8rem;--space-7:4rem;--space-8:6rem;--radius-sm:4px;--radius-md:8px;--radius-pill:100px;--ease:cubic-bezier(.4, 0, .2, 1);--dur-fast:.12s;--dur:.2s;--dur-slow:.32s;--measure:68ch}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease) var(--reveal-delay,0s), transform var(--dur-slow) var(--ease) var(--reveal-delay,0s);transform:translateY(16px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal,.reveal.is-visible{opacity:1;transition:none;transform:none}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:62.5%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-prose);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);font-style:normal;font-weight:400}h1,h2,h3,h4{font-family:var(--font-mono);line-height:var(--lh-tight);font-weight:700}code{font-family:var(--font-mono)}ul{list-style:none}a{color:var(--text);text-decoration:none}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.container{width:100%;max-width:920px;padding:var(--space-5);margin-inline:auto}section.container{padding-block:var(--space-7)}.consent{left:var(--space-4);bottom:var(--space-4);z-index:5;gap:var(--space-3);width:min(400px, 100vw - var(--space-4) * 2);padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--bg-raised);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:fixed}.consent .consent-text{font-size:var(--fs-sm);line-height:var(--lh-prose);color:var(--text-muted)}.consent .consent-actions{gap:var(--space-2);display:flex}.consent .consent-actions button{padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-pill);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);background-color:#0000;flex:1}.consent .consent-actions button:hover{border-color:var(--accent);color:var(--accent)}@media (width<=730px){.consent{left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-4) + 46px);width:auto}}.float-footer{float:right;right:var(--space-6);bottom:var(--space-6);gap:var(--space-5);flex-direction:column;display:flex;position:sticky}.float-footer a{color:var(--text-faint);transition:color var(--dur) var(--ease)}.float-footer a svg{font-size:20px}.float-footer a:hover{color:var(--accent)}@media (width<=730px){.float-footer{right:var(--space-4);bottom:var(--space-4);gap:var(--space-4)}}header{z-index:2;background-color:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;left:0}header .container{padding-block:var(--space-3);justify-content:space-between;align-items:center;display:flex}header nav{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;display:flex;position:relative}header nav .title-container .title{font-family:var(--font-mono);font-size:var(--fs-md);letter-spacing:-.02em;color:var(--text);font-weight:700}header nav .title-container .subtitle{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--secondary);font-weight:400}header nav .nav-actions{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}header nav ul{gap:var(--space-5);font-family:var(--font-mono);font-weight:500;font-size:var(--fs-sm);letter-spacing:.02em;text-transform:uppercase;transition:max-height .3s ease-in-out;display:flex}header nav ul a{color:var(--text-muted);transition:color var(--dur) var(--ease);position:relative}header nav ul a:after{content:"";background-color:var(--accent);width:0;height:2px;transition:width .3s ease-in-out;position:absolute;bottom:-4px;left:0}header nav ul a:hover{color:var(--text)}header nav ul a:hover:after{width:100%}@media (width<=820px){header nav .menu-bars{order:3;display:inline}header nav .nav-actions{order:2;margin-left:auto}header nav ul{top:62px;left:calc(var(--space-5) * -1);width:calc(100% + var(--space-5) * 2);background-color:var(--bg-raised);border-bottom:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:0;max-height:0;position:absolute;overflow:hidden}header nav ul li{margin-block:var(--space-3)}header nav ul.open{border-bottom-color:var(--border);max-height:400px;display:flex}}.menu-bars{aspect-ratio:1.2;height:22px;display:none;position:relative}.menu-bars input[type=checkbox]{z-index:4;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute}.menu-bars input[type=checkbox]+.line{background-color:var(--secondary);border-radius:3px;width:100%;height:3px;transition:background-color .3s ease-in-out;position:absolute;top:50%;transform:translateY(-50%)}.menu-bars input[type=checkbox]+.line:before{content:"";transform-origin:1.1px 2px;background-color:var(--secondary);border-radius:3px;width:100%;height:3px;transition:transform .3s ease-in-out;position:absolute;bottom:9.5px}.menu-bars input[type=checkbox]+.line:after{content:"";transform-origin:1.1px calc(100% - 2px);background-color:var(--secondary);border-radius:3px;width:100%;height:3px;transition:transform .3s ease-in-out;position:absolute;top:9.5px}.menu-bars input[type=checkbox]:checked~.line{background-color:#0000}.menu-bars input[type=checkbox]:checked~.line:before{transform:rotate(39deg)scaleX(1.25)}.menu-bars input[type=checkbox]:checked~.line:after{transform:rotate(-39deg)scaleX(1.25)}.theme-toggle{cursor:pointer;width:34px;height:34px;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);background-color:#0000;justify-content:center;align-items:center;display:inline-flex}.theme-toggle svg{font-size:14px}.theme-toggle:hover{color:var(--secondary);border-color:var(--border-strong);background-color:var(--surface-hover)}.site-footer{margin-top:var(--space-8);padding-block:var(--space-8) var(--space-6);border-top:1px solid var(--border);background-color:var(--bg-raised)}.site-footer .foot-main{justify-content:space-between;gap:var(--space-7);flex-wrap:wrap;display:flex}.site-footer .foot-lead{max-width:var(--measure)}.site-footer .foot-lead h2{font-family:var(--font-mono);font-size:var(--fs-2xl);color:var(--text)}.site-footer .foot-lead .foot-availability{margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-md);line-height:var(--lh-snug);color:var(--text)}.site-footer .foot-lead .foot-location{margin-top:var(--space-1);font-size:var(--fs-sm);color:var(--text-faint)}.site-footer .foot-resume{align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-5);margin-top:var(--space-5);font-family:var(--font-mono);font-weight:700;font-size:var(--fs-xs);letter-spacing:var(--tracking-label);color:var(--accent-contrast);background-color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease);display:inline-flex}.site-footer .foot-resume:hover{color:var(--accent);background-color:#0000}.site-footer .foot-links{gap:var(--space-3);flex-direction:column;display:flex}.site-footer .foot-links li{flex-direction:column;gap:2px;display:flex}.site-footer .foot-links .foot-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.site-footer .foot-links a{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--text);transition:color var(--dur) var(--ease)}.site-footer .foot-links a:hover{color:var(--accent);text-decoration:underline}.site-footer .foot-small{justify-content:space-between;gap:var(--space-2) var(--space-4);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-faint);flex-wrap:wrap;display:flex}.site-footer .foot-small button{font-family:inherit;font-size:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.site-footer .foot-small button:hover{color:var(--accent)}@media (width<=730px){.site-footer .foot-main{gap:var(--space-6)}.site-footer .foot-lead h2{font-size:var(--fs-xl)}}.title-section{margin-bottom:var(--space-7);padding-bottom:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-2xl);letter-spacing:-.01em;text-align:center;color:var(--text);font-weight:700;position:relative}.title-section:after{content:"";border-radius:var(--radius-pill);background-color:var(--accent);width:56px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.edu-card{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);color:var(--text);transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), opacity var(--dur-slow) var(--ease) var(--reveal-delay,0s), transform var(--dur-slow) var(--ease) var(--reveal-delay,0s);border:1px solid #0000;display:flex}.edu-card:hover{border-color:var(--border);background-color:var(--surface)}.edu-card .edu-date{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);flex:0 0 160px}.edu-card .edu-main{width:100%;font-size:var(--fs-base)}.edu-card .edu-main .edu-title{font-family:var(--font-mono);font-size:var(--fs-lg);color:var(--text)}.edu-card .edu-main .edu-subtitle{margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--secondary)}.edu-card .edu-main .edu-institute,.edu-card .edu-main .edu-address{margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted)}.edu-card .edu-main .edu-institute a{color:var(--text-muted);transition:color var(--dur) var(--ease)}.edu-card .edu-main .edu-institute a svg{margin-bottom:1px;margin-left:var(--space-1);font-size:var(--fs-xs);transition:transform var(--dur) var(--ease);transform:rotate(35deg)}.edu-card .edu-main .edu-institute a:hover{color:var(--accent)}.edu-card .edu-main .edu-institute a:hover svg{transform:rotate(35deg)translate(3px)}.edu-card .edu-main .edu-works{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;display:flex}.edu-card .edu-main .edu-works li{max-width:var(--measure);padding-left:var(--space-3);border-left:2px solid var(--border)}.edu-card .edu-main .edu-works .edu-work-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);margin-bottom:2px;font-weight:700;display:block}.edu-card .edu-main .edu-works .edu-work-title{line-height:var(--lh-snug);color:var(--text-muted);display:block}.edu-card .edu-main .edu-works a.edu-work-title{transition:color var(--dur) var(--ease)}.edu-card .edu-main .edu-works a.edu-work-title svg{margin-bottom:1px;margin-left:var(--space-1);font-size:var(--fs-xs);transition:transform var(--dur) var(--ease);transform:rotate(35deg)}.edu-card .edu-main .edu-works a.edu-work-title:hover{color:var(--accent);text-decoration:underline}.edu-card .edu-main .edu-works a.edu-work-title:hover svg{transform:rotate(35deg)translate(3px)}.edu-card .edu-main .edu-tags{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.edu-card .edu-main .edu-tags .edu-tag{padding:3px var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--bg-raised)}@media (width<=730px){.edu-card{gap:var(--space-2);padding:var(--space-4);flex-direction:column}}.edu-section{gap:var(--space-5);flex-direction:column;display:flex}.exp-card{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);color:var(--text);transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), opacity var(--dur-slow) var(--ease) var(--reveal-delay,0s), transform var(--dur-slow) var(--ease) var(--reveal-delay,0s);border:1px solid #0000;display:flex}.exp-card:hover{border-color:var(--border);background-color:var(--surface)}.exp-card .exp-date{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);flex:0 0 160px}.exp-card .exp-main{width:100%;font-size:var(--fs-base)}.exp-card .exp-main .exp-title{font-family:var(--font-mono);font-size:var(--fs-lg);color:var(--text)}.exp-card .exp-main .exp-company,.exp-card .exp-main .exp-address{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted)}.exp-card .exp-main .exp-company{margin-top:var(--space-1)}.exp-card .exp-main .exp-company a{color:var(--text-muted);transition:color var(--dur) var(--ease)}.exp-card .exp-main .exp-company a svg{margin-bottom:1px;margin-left:var(--space-1);font-size:var(--fs-xs);transition:transform var(--dur) var(--ease);transform:rotate(35deg)}.exp-card .exp-main .exp-company a:hover{color:var(--accent)}.exp-card .exp-main .exp-company a:hover svg{transform:rotate(35deg)translate(3px)}.exp-card .exp-main .exp-about{max-width:var(--measure);margin-top:var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--border);font-size:var(--fs-sm);line-height:var(--lh-prose);color:var(--text-faint)}.exp-card .exp-main .exp-info{margin-top:var(--space-3);line-height:var(--lh-prose);color:var(--text-muted);padding-left:18px;list-style:outside}.exp-card .exp-main .exp-info li{max-width:var(--measure);margin-bottom:var(--space-1)}.exp-card .exp-main .exp-info li::marker{color:var(--text-faint)}.exp-card .exp-main .exp-tags{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.exp-card .exp-main .exp-tags .exp-tag{padding:3px var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--bg-raised)}@media (width<=730px){.exp-card{gap:var(--space-2);padding:var(--space-4);flex-direction:column}}.exp-section{gap:var(--space-5);flex-direction:column;display:flex}.timeline{--rail-width:2px;--node-size:11px;--rail-column:22px;margin:0;padding:0;list-style:none}.timeline-item{grid-template-columns:var(--rail-column) 1fr;gap:var(--space-4);padding-bottom:var(--space-6);display:grid}.timeline-rail{display:block;position:relative}.timeline-rail:before{content:"";top:0;bottom:calc(var(--space-6) * -1);left:calc((var(--rail-column) - var(--rail-width)) / 2);width:var(--rail-width);background-color:var(--border);position:absolute}.timeline-item:last-child .timeline-rail:before{height:10px;bottom:auto}.timeline-node{top:7px;left:calc((var(--rail-column) - var(--node-size)) / 2);z-index:1;width:var(--node-size);height:var(--node-size);border:var(--rail-width) solid var(--accent);background-color:var(--bg);border-radius:50%;position:absolute}.timeline-meta{align-items:baseline;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.timeline-date{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);font-weight:700}.timeline-location{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint)}.timeline-title{margin-top:var(--space-1);font-size:var(--fs-md);color:var(--text)}.timeline-org{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.timeline-body{margin-top:var(--space-2);max-width:var(--measure);font-size:var(--fs-base);line-height:var(--lh-prose);color:var(--text-muted)}.timeline-tags{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.timeline-tag{padding:3px var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--surface)}.timeline-item--move{padding-bottom:var(--space-5)}.timeline-item--move .timeline-node{border-color:var(--border-strong);background-color:var(--bg)}.timeline-item--move .timeline-title{font-size:var(--fs-base);color:var(--text-faint);font-weight:400}.timeline-item--move .timeline-date{color:var(--text-faint)}.timeline-item--education .timeline-node{border-color:var(--secondary)}.timeline-item--project .timeline-node{background-color:var(--accent)}.timeline-item--now .timeline-node{background-color:var(--secondary);border-color:var(--secondary);box-shadow:0 0 0 4px var(--secondary-soft)}.timeline-item--now .timeline-date,.timeline-item--now .timeline-title{color:var(--secondary)}.timeline-rail:before{transform-origin:top;transition:transform .52s var(--ease);transform:scaleY(0)}.timeline-node{opacity:0;transition:opacity .26s var(--ease) .17s, transform .26s var(--ease) .17s;transform:scale(.4)}.timeline-content{opacity:0;transition:opacity var(--dur-slow) var(--ease) .13s, transform var(--dur-slow) var(--ease) .13s;transform:translateY(12px)}.timeline-item.is-revealed .timeline-rail:before{transform:scaleY(1)}.timeline-item.is-revealed .timeline-node{opacity:1;transform:scale(1)}.timeline-item.is-revealed .timeline-content{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.timeline-rail:before,.timeline-node,.timeline-content{opacity:1;transition:none;transform:none}}@media (width<=560px){.timeline-item{gap:var(--space-3)}.timeline-body{font-size:var(--fs-sm)}}.journey-intro{max-width:var(--measure);margin:0 auto var(--space-7);font-size:var(--fs-md);line-height:var(--lh-prose);color:var(--text-muted);text-align:center;text-wrap:balance}@keyframes hero-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}main{justify-content:space-between;align-items:center;gap:var(--space-6);padding-block:var(--space-8) var(--space-7);display:flex}main .left-column{justify-content:flex-start;align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}main .left-column>*{animation:hero-rise .6s var(--ease) both}main .left-column .hero-status{animation-delay:40ms}main .left-column h1{animation-delay:.11s}main .left-column .hero-role{animation-delay:.18s}main .left-column .hero-intro{animation-delay:.24s}main .left-column .hero-availability{animation-delay:.3s}main .left-column .hero-metrics{animation-delay:.36s}main .left-column .hero-status{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-pill);background-color:var(--surface);display:inline-flex}main .left-column .hero-dot{background-color:var(--secondary);width:7px;height:7px;box-shadow:0 0 0 3px var(--secondary-soft);border-radius:50%}main .left-column h1{font-size:var(--fs-4xl);line-height:var(--lh-tight);letter-spacing:-.03em;color:var(--text)}main .left-column h1 .hero-line{display:block}main .left-column .hero-role{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--secondary);font-weight:400}main .left-column .hero-intro{max-width:var(--measure);font-size:var(--fs-base);line-height:var(--lh-prose);color:var(--text-muted)}main .left-column .hero-availability{max-width:var(--measure);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--text)}main .left-column .hero-metrics{gap:var(--space-6);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}main .left-column .hero-metrics li{gap:var(--space-1);flex-direction:column;max-width:170px;display:flex}main .left-column .hero-metrics .metric-value{font-family:var(--font-mono);font-size:var(--fs-2xl);color:var(--accent);font-weight:700;line-height:1}main .left-column .hero-metrics .metric-label{font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--text-faint)}main .right-column{animation:hero-rise .6s var(--ease) .2s both;display:inline-block}main .right-column img{border-radius:var(--radius-md);max-width:280px}main .right-column a{justify-content:center;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-5);margin-top:var(--space-4);font-family:var(--font-mono);font-weight:700;font-size:var(--fs-xs);letter-spacing:var(--tracking-label);color:var(--accent-contrast);background-color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);transition:color .3s ease-in,background-color .3s ease-in;display:flex}main .right-column a:hover{color:var(--accent);background-color:#0000}@media (prefers-reduced-motion:reduce){main .left-column>*,main .right-column{animation:none}}@media (width<=730px){main{flex-direction:column;align-items:flex-start}main .left-column h1{font-size:var(--fs-3xl)}main .left-column .hero-metrics{gap:var(--space-4)}main .right-column{align-self:center}}.pro-card{padding:var(--space-5) var(--space-5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);transition:border-color var(--dur) var(--ease), opacity var(--dur-slow) var(--ease) var(--reveal-delay,0s), transform var(--dur-slow) var(--ease) var(--reveal-delay,0s)}.pro-card:hover{border-color:var(--border-strong)}.pro-card .pro-head{margin-bottom:var(--space-4)}.pro-card .pro-meta{align-items:center;gap:var(--space-3);margin-bottom:var(--space-1);display:flex}.pro-card .pro-year{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);color:var(--text-faint)}.pro-card .pro-status{padding:2px var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--secondary);border:1px solid var(--secondary);border-radius:var(--radius-pill);background-color:var(--secondary-soft)}.pro-card .pro-title{font-family:var(--font-mono);font-size:var(--fs-lg);line-height:var(--lh-snug);color:var(--text)}.pro-card .pro-org{margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted)}.pro-card .pro-body{gap:var(--space-3);flex-direction:column;display:flex}.pro-card .pro-body .pro-row{gap:var(--space-4);grid-template-columns:92px 1fr;align-items:baseline;display:grid}.pro-card .pro-body dt{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);font-weight:700}.pro-card .pro-body dd{max-width:var(--measure);font-size:var(--fs-base);line-height:var(--lh-prose);color:var(--text-muted)}.pro-card .pro-body .pro-row--outcome dt{color:var(--secondary)}.pro-card .pro-body .pro-row--outcome dd{color:var(--text)}.pro-card .pro-links{gap:var(--space-2) var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.pro-card .pro-links a{align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted);transition:color var(--dur) var(--ease);display:inline-flex}.pro-card .pro-links a svg{font-size:var(--fs-xs);transition:transform var(--dur) var(--ease);transform:rotate(35deg)}.pro-card .pro-links a:hover{color:var(--accent);text-decoration:underline}.pro-card .pro-links a:hover svg{transform:rotate(35deg)translate(3px)}.pro-card .pro-links a.is-primary{padding:var(--space-1) var(--space-3);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill)}.pro-card .pro-links a.is-primary:hover{color:var(--accent-contrast);background-color:var(--accent);text-decoration:none}.pro-card .pro-tags{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.pro-card .pro-tags .pro-tag{padding:3px var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--bg-raised)}@media (width<=730px){.pro-card{padding:var(--space-4)}.pro-card .pro-body .pro-row{gap:var(--space-1);grid-template-columns:1fr}}.arc-card{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), opacity var(--dur-slow) var(--ease) var(--reveal-delay,0s), transform var(--dur-slow) var(--ease) var(--reveal-delay,0s);border:1px solid #0000;display:flex}.arc-card:hover{border-color:var(--border);background-color:var(--surface)}.arc-card .arc-img{flex:0 0 84px}.arc-card .arc-img img{aspect-ratio:1;object-fit:contain;width:100%;display:block}.arc-card .arc-main{min-width:0}.arc-card .arc-year{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);color:var(--text-faint)}.arc-card .arc-title{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text);margin-top:2px}.arc-card .arc-title a{color:inherit;transition:color var(--dur) var(--ease)}.arc-card .arc-title a svg{margin-left:var(--space-1);font-size:var(--fs-xs);transform:rotate(35deg)}.arc-card .arc-title a:hover{color:var(--accent)}.arc-card .arc-info{margin-top:var(--space-2);max-width:var(--measure);font-size:var(--fs-sm);line-height:var(--lh-prose);color:var(--text-muted)}.arc-card .arc-tags{gap:var(--space-1) var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.arc-card .arc-tags .arc-tag{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint)}.arc-card .arc-tags .arc-tag:before{content:"#";opacity:.6}@media (width<=730px){.arc-card .arc-img{flex-basis:56px}}.pro-intro{max-width:var(--measure);margin:0 auto var(--space-7);font-size:var(--fs-md);line-height:var(--lh-prose);color:var(--text-muted);text-align:center;text-wrap:balance}.pro-section{gap:var(--space-5);flex-direction:column;display:flex}.arc-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border)}.arc-section .arc-heading{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--secondary);font-weight:700}.arc-section .arc-note{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--text-faint)}.arc-section .arc-grid{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));display:grid}@media (width<=730px){.arc-section .arc-grid{grid-template-columns:1fr}}.skills-section{gap:var(--space-6) var(--space-7);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.skills-section .skills-group-title{padding-bottom:var(--space-2);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--secondary);font-weight:700}.skills-section .skills-row{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.skills-section .skill{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background-color:var(--surface);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);display:inline-flex}.skills-section .skill img{aspect-ratio:1;object-fit:contain;width:16px;height:16px}.skills-section .skill:hover{border-color:var(--border-strong);color:var(--text)}.lang-block{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--border)}.lang-block .lang-heading{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--secondary);font-weight:700}.lang-block .lang-list{gap:var(--space-3) var(--space-7);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.lang-block .lang-list li{gap:var(--space-1);flex-direction:column;display:flex}.lang-block .lang-list .lang-name{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text)}.lang-block .lang-list .lang-level{font-size:var(--fs-sm);color:var(--text-muted)}@media (width<=730px){.skills-section{gap:var(--space-6);grid-template-columns:1fr}}.str-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.str-card{padding:var(--space-5);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--radius-md);background-color:var(--surface)}.str-card h3{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text)}.str-card p{margin-top:var(--space-2);font-size:var(--fs-base);line-height:var(--lh-prose);color:var(--text-muted)}
