﻿:root{--color-primary: #18181b;--color-primary-hover: #3f3f46;--color-accent: #b45309;--color-link: #b45309;--color-background: #fafafa;--color-surface: #f4f4f5;--color-surface-elevated: #ffffff;--color-text-primary: #18181b;--color-text-secondary: #3f3f46;--color-text-muted: #6b6b74;--color-text-inverse: #fafafa;--color-border: #e4e4e7;--color-border-hover: #d4d4d8;--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 0.75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--text-xs: 0.75rem;--text-sm: 0.875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--radius-sm: 0.25rem;--radius-md: 0.375rem;--radius-lg: 0.5rem;--radius-full: 9999px;--transition-fast: 150ms ease-out;--transition-base: 250ms ease-out;--z-sticky: 1020}[data-theme=dark]{--color-primary: #fafafa;--color-primary-hover: #d4d4d8;--color-accent: #f59e0b;--color-link: #f59e0b;--color-background: #0c0c0e;--color-surface: #18181b;--color-surface-elevated: #27272a;--color-text-primary: #f4f4f5;--color-text-secondary: #d4d4d8;--color-text-muted: #a1a1aa;--color-text-inverse: #0c0c0e;--color-border: #27272a;--color-border-hover: #3f3f46;--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.4)}@media(prefers-color-scheme: dark){:root:not([data-theme]){--color-primary: #fafafa;--color-primary-hover: #d4d4d8;--color-accent: #f59e0b;--color-link: #f59e0b;--color-background: #0c0c0e;--color-surface: #18181b;--color-surface-elevated: #27272a;--color-text-primary: #f4f4f5;--color-text-secondary: #d4d4d8;--color-text-muted: #a1a1aa;--color-text-inverse: #0c0c0e;--color-border: #27272a;--color-border-hover: #3f3f46;--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.4)}}@media(prefers-reduced-motion: reduce){:root{--transition-fast: 0s;--transition-base: 0s}}@keyframes fade-in-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}*,*::before,*::after{box-sizing:border-box}*{margin:0}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:var(--leading-normal);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a:not([class]){text-decoration-skip-ink:auto}[hidden]{display:none !important}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}button{border:none;background:none;cursor:pointer}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}::selection{background:color-mix(in srgb, var(--color-link) 25%, transparent);color:var(--color-text-primary)}:root{--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: var(--font-sans);--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--font-medium: 500;--font-semibold: 600}h1,h2,h3,h4{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-text-primary);text-wrap:balance}p{line-height:var(--leading-relaxed);color:var(--color-text-secondary);text-wrap:pretty}a{color:var(--color-link)}a:not([class]){text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}a:not([class]):hover{text-decoration-thickness:2px}.hidden{display:none}.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}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:calc(var(--z-sticky) + 2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.motion-ok .reveal{opacity:0;transform:translateY(16px);transition:opacity 600ms ease-out,transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1)}.motion-ok .reveal.is-visible{opacity:1;transform:none}.motion-ok .reveal [data-stagger]>*{opacity:0;transform:translateY(12px);transition:opacity 500ms ease-out,transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1),background-color var(--transition-base);transition-delay:calc(var(--i, 0)*70ms + 120ms)}.motion-ok .reveal.is-visible [data-stagger]>*{opacity:1;transform:none}.motion-ok .reveal.is-visible [data-stagger].is-settled>*{transition-delay:0s}.motion-ok .section-title::after{transform:scaleX(0);transform-origin:left;transition:transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1) 150ms}.motion-ok .reveal.is-visible .section-title::after{transform:scaleX(1)}body,.sidebar,.nav-bar,.site-footer{transition:background-color var(--transition-base),color var(--transition-base)}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.layout{max-width:76rem;margin:0 auto;padding:0 var(--space-6)}@media(min-width: 1024px){.layout{display:grid;grid-template-columns:minmax(0, 25rem) minmax(0, 1fr);gap:var(--space-16);padding:0 var(--space-10)}}@media(max-width: 1023px){.layout{padding:0 var(--space-5)}}@media(min-width: 1024px){.sidebar{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-12) 0 var(--space-8);overflow-y:auto;scrollbar-width:none}}@media(max-width: 1023px){.sidebar{display:contents}}@media(max-width: 1023px){html{scroll-padding-top:72px}}@media(min-width: 1024px){.nav-bar .theme-toggle-btn{position:absolute;top:var(--space-12);right:0}}@media(max-width: 1023px){.nav-bar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-2);margin:0 calc(-1*var(--space-5));padding:var(--space-2) var(--space-3) var(--space-2) 0;background:color-mix(in srgb, var(--color-background) 88%, transparent);border-bottom:1px solid var(--color-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-bar .navigation{flex:1;min-width:0}}.content{min-width:0}@media(min-width: 1024px){.content{padding:var(--space-16) 0 var(--space-10)}}.site-footer{padding:var(--space-8) 0 var(--space-12);border-top:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--color-text-muted)}.site-footer p{margin:0 0 var(--space-2);max-width:60ch}.site-footer a{color:var(--color-link)}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;border-radius:var(--radius-md);background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);color:var(--color-text-secondary);text-decoration:none;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.icon-button:hover{color:var(--color-link);border-color:var(--color-border);background:var(--color-surface)}.icon-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.theme-toggle-btn .theme-icon-moon{display:none}[data-theme=dark] .theme-toggle-btn .theme-icon-sun{display:none}[data-theme=dark] .theme-toggle-btn .theme-icon-moon{display:block}html:not(.js-ready) .theme-toggle-btn{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);font-weight:var(--font-medium);text-decoration:none;cursor:pointer;transition:var(--transition-base);position:relative;overflow:hidden}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.btn{padding:var(--space-3) var(--space-6);font-size:var(--text-base);line-height:var(--leading-tight)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);font-weight:var(--font-medium);text-decoration:none;cursor:pointer;transition:var(--transition-base);position:relative;overflow:hidden}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);font-weight:var(--font-medium);text-decoration:none;cursor:pointer;transition:var(--transition-base);position:relative;overflow:hidden}.btn-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-elevated);border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:active{transform:translateY(0)}.btn-download{gap:var(--space-2)}.btn-download .btn-glyph{transition:transform var(--transition-base)}.btn-download:hover .btn-glyph{transform:translateY(2px)}@media(max-width: 1023px){.navigation{overflow-x:auto;scrollbar-width:none;padding-left:var(--space-5);mask-image:linear-gradient(to right, #000 calc(100% - 40px), transparent)}.navigation::-webkit-scrollbar{display:none}}.nav-list{list-style:none;margin:0;padding:0}@media(min-width: 1024px){.nav-list{display:grid}}@media(max-width: 1023px){.nav-list{display:flex;gap:var(--space-1)}}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:6px 0;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);text-decoration:none;white-space:nowrap;transition:color var(--transition-fast)}.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.nav-link .nav-index{font-family:var(--font-mono);font-weight:var(--font-medium);letter-spacing:0;transition:color var(--transition-fast)}.nav-link .nav-line{display:block;width:2rem;height:1px;background:currentColor;transition:width var(--transition-base),background-color var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--color-text-primary)}.nav-link:hover .nav-line,.nav-link.active .nav-line{width:4rem}.nav-link.active .nav-index{color:var(--color-link)}@media(max-width: 1023px){.nav-link{position:relative;gap:var(--space-1);padding:var(--space-2) var(--space-2)}.nav-link .nav-line{display:none}.nav-link::after{content:"";position:absolute;left:var(--space-2);right:var(--space-2);bottom:0;height:2px;background:var(--color-link);transform:scaleX(0);transition:transform var(--transition-base)}.nav-link.active::after{transform:scaleX(1)}}@media(min-width: 1024px)and (max-height: 799px){.nav-link{padding:4px 0}}.intro{position:relative;isolation:isolate}@media(max-width: 1023px){.intro{padding:var(--space-12) 0 var(--space-8)}}.intro-portrait{width:72px;height:72px;margin-bottom:var(--space-5);border-radius:var(--radius-full);object-fit:cover;box-shadow:0 0 0 3px var(--color-background),0 0 0 4px var(--color-border)}@media(min-width: 1024px)and (max-height: 959px){.intro-portrait{display:none}}.intro-name{margin:0;font-family:var(--font-display);font-size:clamp(2.5rem,5vw,3.25rem);font-weight:var(--font-semibold);line-height:1;letter-spacing:-0.045em;color:var(--color-text-primary)}.intro-role{margin:var(--space-3) 0 0;font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-text-primary)}.intro-org{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.query{margin:var(--space-6) 0 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-surface) 85%, transparent);font-family:var(--font-mono);font-size:.8125rem;line-height:1.6;color:var(--color-text-secondary)}.query-sql{margin:0;white-space:pre-wrap;font:inherit}.query-sql::before{content:"SQL> ";color:var(--color-text-muted)}.query-sql .sql-keyword{color:var(--color-link);font-weight:var(--font-medium)}.query-sql .sql-string{color:var(--color-text-primary)}.query-sql .ghost{color:rgba(0,0,0,0)}.query-sql .caret{display:inline-block;width:.55em;height:1.1em;margin-bottom:-0.2em;background:var(--color-link);animation:caret-blink 1s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.query-result{margin-top:var(--space-3);border-collapse:collapse;font:inherit}.query-result th{padding:0 var(--space-6) 2px 0;text-align:left;font-weight:var(--font-medium);color:var(--color-text-muted);border-bottom:1px dashed var(--color-border-hover)}.query-result td{padding:2px var(--space-6) 0 0;color:var(--color-text-primary)}.query-caption{margin-top:var(--space-2);color:var(--color-text-muted)}.motion-ok .query:not(.is-run) .query-result tbody tr,.motion-ok .query:not(.is-run) .query-caption{opacity:0}.motion-ok .query.is-run .query-result tbody tr,.motion-ok .query.is-run .query-caption{animation:fade-in 300ms ease-out both;animation-delay:calc(var(--i, 0)*90ms)}.motion-ok .query.is-run .query-caption{animation-delay:300ms}.intro-contact{position:relative;display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-5);font-family:var(--font-mono);font-size:var(--text-sm)}.intro-email{color:var(--color-text-secondary);text-decoration:none;overflow-wrap:anywhere}.intro-email:hover{color:var(--color-link)}.intro-email:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.copy-button{width:30px;height:30px}.copy-button .check-icon{display:none}.copy-button.is-copied{color:var(--color-accent)}.copy-button.is-copied .copy-icon{display:none}.copy-button.is-copied .check-icon{display:block}.copy-status{font-size:var(--text-xs);color:var(--color-accent)}.intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-top:var(--space-5)}.profile-links{display:flex;list-style:none;margin:0;padding:0;gap:var(--space-1)}@media(min-width: 1024px)and (max-height: 799px){.query-result,.query-caption{display:none}.query{margin-top:var(--space-4)}.intro-contact,.intro-actions{margin-top:var(--space-4)}}.motion-ok .intro>*{animation:fade-in-up 700ms cubic-bezier(0.2, 0.7, 0.2, 1) both;animation-delay:calc(var(--i, 0)*80ms + 60ms)}.motion-ok .intro-name{animation-name:name-wipe;animation-duration:900ms}@keyframes name-wipe{from{clip-path:inset(0 100% 0 0);transform:translateX(-8px)}to{clip-path:inset(0 -2% 0 0);transform:none}}.section{padding-bottom:var(--space-24);scroll-margin-top:var(--space-16)}@media(max-width: 1023px){.section{padding:var(--space-12) 0;scroll-margin-top:56px}}.section-title{margin:0 0 var(--space-8);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.08em;text-transform:uppercase;line-height:var(--leading-normal);color:var(--color-text-primary)}.section-title .section-index{color:var(--color-link)}.section-title{display:flex;align-items:center;gap:var(--space-2)}.section-title::after{content:"";flex:1;height:1px;margin-left:var(--space-3);background:var(--color-border)}.section-body{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.section-body p{margin:0}.section-body-paragraph>p{max-width:62ch;font-size:var(--text-lg)}@media(max-width: 767px){.section-body-paragraph>p{font-size:var(--text-base)}}.stats{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--space-4);margin:var(--space-10) 0 0}@media(max-width: 479px){.stats{grid-template-columns:1fr;gap:var(--space-3)}}.stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:var(--space-1);padding-left:var(--space-4);border-left:2px solid var(--color-border)}.stat dd{margin:0;font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;letter-spacing:-0.03em;line-height:1;color:var(--color-text-primary)}.stat dt{font-size:var(--text-sm);color:var(--color-text-muted)}.section-body-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-10)}.list-item-header{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--color-text-primary)}.list-item-caption,.list-item-date{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.list-item-caption{margin-top:var(--space-1)}.list-item-subheader{margin:var(--space-1) 0 0;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-link)}.list-item-main{margin-top:var(--space-2);max-width:62ch}.list-item-bullets{list-style:disc;margin:var(--space-3) 0 0;padding-left:var(--space-5);max-width:62ch}.list-item-bullets li{padding-left:var(--space-1)}.list-item-bullets li::marker{color:var(--color-text-muted)}.list-item-bullets li+li{margin-top:var(--space-2)}.list-item-link{display:inline-flex;gap:var(--space-1);margin-top:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-link);text-decoration:none}.list-item-link::after{content:"→";transition:transform var(--transition-fast)}.list-item-link:hover::after{transform:translateX(3px)}.list-item-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.rows{gap:var(--space-2)}.rows .section-list-item{display:grid;grid-template-columns:7.5rem minmax(0, 1fr);gap:var(--space-4);margin:0 calc(-1*var(--space-4));padding:var(--space-4);border-radius:var(--radius-lg);transition:background-color var(--transition-base)}.rows .section-list-item .list-item-header,.rows .section-list-item .list-item-subheader,.rows .section-list-item .list-item-main{transition:color var(--transition-base)}@media(max-width: 599px){.rows .section-list-item{grid-template-columns:1fr;gap:var(--space-1)}}.rows .list-item-date{padding-top:.3rem}@media(hover: hover){.rows:hover .section-list-item:not(:hover) .list-item-header,.rows:hover .section-list-item:not(:hover) .list-item-subheader,.rows:hover .section-list-item:not(:hover) .list-item-main{color:var(--color-text-muted)}.rows .section-list-item:hover{background:var(--color-surface)}}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.chips>li{display:flex}.list-item-role .chips{margin-top:var(--space-3)}.chip{display:inline-flex;align-items:center;min-height:24px;padding:2px var(--space-2);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6;color:var(--color-text-secondary);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border);transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-base),transform var(--transition-fast)}.chip[role=button]{cursor:pointer;user-select:none}.chip[role=button]:hover{color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-border-hover)}.chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.chip.is-linked{transform:translateY(-1px);color:var(--color-link);background:color-mix(in srgb, var(--color-link) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-link) 55%, transparent)}.is-linking .chip:not(.is-linked){color:var(--color-text-muted);background:rgba(0,0,0,0)}.is-linking .list-item-role:not(.is-linked) .list-item-role-title,.is-linking .list-item-role:not(.is-linked) .list-item-bullets{color:var(--color-text-muted)}.is-linking .list-item-role.is-linked .list-item-role-title{color:var(--color-link)}.skills-table{width:100%;border-collapse:collapse}.skills-table thead th{padding:0 var(--space-4) var(--space-2) 0;text-align:left;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-muted);border-bottom:1px dashed var(--color-border-hover)}.skills-table tbody th,.skills-table tbody td{padding:var(--space-4) var(--space-4) var(--space-4) 0;vertical-align:top;border-bottom:1px solid var(--color-border)}.skills-table tbody th{width:11rem;text-align:left;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);padding-top:calc(var(--space-4) + 2px)}@media(max-width: 599px){.skills-table thead{display:none}.skills-table tbody tr,.skills-table tbody th,.skills-table tbody td{display:block;width:auto}.skills-table tbody th{padding-bottom:var(--space-2);border-bottom:0}.skills-table tbody td{padding-top:0}}.skills-status{min-height:1.6em;margin-top:var(--space-4) !important;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.resume-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.resume-preview-container{margin-top:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.resume-preview-container.hidden{display:none}.resume-preview-container iframe{display:block;width:100%;height:80vh;border:0}#experience .section-body-list{gap:var(--space-12)}.roles{margin-top:var(--space-2)}.list-item-role{--dot: 11px;--title-mid: calc(var(--space-5) + 0.8em);position:relative;padding:var(--space-5) 0 0 var(--space-8)}.list-item-role .list-item-bullets{transition:color var(--transition-base)}.list-item-role:not(:last-child)::before{content:"";position:absolute;left:calc(var(--dot)/2 - 1px);top:var(--title-mid);bottom:calc(-1*var(--title-mid));width:2px;background:var(--color-border);transform-origin:top}.list-item-role::after{content:"";position:absolute;left:0;top:calc(var(--title-mid) - var(--dot)/2);width:var(--dot);height:var(--dot);border-radius:var(--radius-full);background:var(--color-background);border:2px solid var(--color-text-muted)}.list-item-role.is-current::after{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-accent) 25%, transparent)}.list-item-role .list-item-date{margin-top:2px}.list-item-role-title{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1.6;color:var(--color-text-primary);transition:color var(--transition-fast)}.motion-ok #experience .list-item-role::before{transform:scaleY(0);transition:transform 500ms cubic-bezier(0.2, 0.7, 0.2, 1);transition-delay:calc(var(--i, 0)*120ms + 150ms)}.motion-ok #experience .list-item-role::after{transform:scale(0);transition:transform 350ms cubic-bezier(0.34, 1.56, 0.64, 1);transition-delay:calc(var(--i, 0)*120ms)}.motion-ok #experience.is-visible .list-item-role::before{transform:scaleY(1)}.motion-ok #experience.is-visible .list-item-role::after{transform:scale(1)}.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(100deg, #000 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.3) 100%)}.backdrop-grid,.backdrop-glow{position:absolute;will-change:transform}.backdrop-grid{inset:0 0 -120vh;background-image:radial-gradient(color-mix(in srgb, var(--color-text-muted) 38%, transparent) 1px, transparent 1.5px);background-size:24px 24px;transform:translate3d(0, calc(var(--scroll-y, 0) * -0.06px), 0)}.backdrop-glow{width:46rem;height:46rem;border-radius:50%;background:radial-gradient(closest-side, color-mix(in srgb, var(--color-link) 20%, transparent), transparent);opacity:.55}[data-theme=dark] .backdrop-glow{opacity:.4}.glow-1{top:-18rem;left:-14rem;transform:translate3d(0, calc(var(--scroll-y, 0) * -0.12px), 0)}.glow-2{top:85vh;right:-18rem;transform:translate3d(0, calc(var(--scroll-y, 0) * -0.3px), 0)}.glow-3{top:190vh;left:30%;transform:translate3d(0, calc(var(--scroll-y, 0) * -0.42px), 0)}.scroll-progress{position:fixed;top:0;left:0;right:0;z-index:calc(var(--z-sticky) + 1);height:2px;background:var(--color-link);transform-origin:left;transform:scaleX(var(--progress, 0))}html:not(.js-ready) .scroll-progress{display:none}@media print{.nav-bar,.backdrop,.scroll-progress,.intro-actions,.copy-button,.resume-actions,.skip-link{display:none !important}.reveal,[data-stagger]>*{opacity:1 !important;transform:none !important}.section{break-inside:avoid;padding:var(--space-6) 0}.sidebar{position:static !important;height:auto !important}}
