:root{--color-bg: #f7f3ea;--color-surface: #fffdf8;--color-surface-2: #f2ede2;--color-accent: #0b2a6f;--color-accent-soft: #dde6fb;--color-text: #111827;--color-muted: #4b5563;--color-border: #8f887e;--color-border-subtle: rgba(17, 24, 39, .08);--color-focus-ring: #7aa2ff;--color-text-primary: var(--color-text);--color-text-muted: var(--color-muted);--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--content-max: 1040px;--section-pad-y: clamp(var(--space-10), 6vw, var(--space-16));--section-pad-x: clamp(var(--space-4), 4vw, var(--space-12));--stack-gap: var(--space-12);--heading-gap: var(--space-3);--heading-mb: var(--space-6);--lede-max: 62ch;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-pill: 999px;--shadow-soft: 0 18px 40px rgba(17, 24, 39, .1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}html{scroll-behavior:smooth;scroll-padding-top:4.5rem}body{font-family:var(--font-sans);line-height:1.55;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}h1,h2{line-height:1.12;letter-spacing:-.02em}.page{min-height:100vh}.skip-link{position:absolute;left:-999px;top:0;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-surface);border-radius:var(--radius-pill);z-index:20;text-decoration:none;font-size:var(--font-size-sm)}.skip-link:focus,.skip-link:focus-visible{left:var(--space-4);top:var(--space-4)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 20%,transparent)}.page-header{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(to bottom,color-mix(in srgb,var(--color-surface) 94%,transparent),color-mix(in srgb,var(--color-surface) 86%,transparent),color-mix(in srgb,var(--color-surface) 72%,transparent),transparent);border-bottom:1px solid var(--color-border-subtle)}.page-header-inner{max-width:var(--content-max);margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.logo{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);font-size:var(--font-size-sm);text-decoration:none;color:var(--color-text)}.page-nav{display:flex;gap:var(--space-4);font-size:var(--font-size-sm)}.page-nav a{color:var(--color-text-muted);text-decoration:none}.page-nav a:hover{color:var(--color-text-primary)}.section{max-width:var(--content-max);margin-inline:auto;padding:var(--section-pad-y) var(--section-pad-x)}.section+.section{border-top:1px solid var(--color-border-subtle);margin-top:0;padding-top:var(--space-10)}.section h2{margin:0 0 var(--heading-mb);line-height:1.12;letter-spacing:-.02em}.section h3{margin:0 0 var(--heading-gap);line-height:1.2}.section>.container,.section .container,.container{max-width:var(--content-max);margin-inline:auto}.section h2+p{margin:0 0 var(--space-8);max-width:var(--lede-max);color:var(--color-muted)}.section p{margin:0 0 var(--space-3)}.section p+p{margin-top:var(--space-2)}.card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.section-hero{padding-block-start:var(--space-16);padding-block-end:var(--space-12)}.hero-eyebrow{font-size:var(--font-size-sm);color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-2)}.hero-title{font-size:var(--font-size-3xl);margin:0 0 var(--space-2)}.hero-tagline{font-size:var(--font-size-lg);color:var(--color-text-muted);margin:0 0 var(--space-4)}.hero-intro{max-width:40rem;font-size:var(--font-size-base);line-height:1.6;margin:0 0 var(--space-6)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-size:var(--font-size-sm);text-decoration:none;border:1px solid transparent}.button-primary{background:var(--color-accent);color:var(--color-surface)}.button-secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.hero-highlights{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-muted)}.hero{display:flex;flex-direction:column;gap:var(--space-8)}.hero-main{flex:1;max-width:36rem}.hero--avatar,.hero--image{align-items:center}.hero-side{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.hero-avatar{width:10rem;height:10rem;border-radius:50%;object-fit:cover;border:2px solid var(--color-border);box-shadow:0 10px 32px #1a243d29}.hero-image{width:min(24rem,70vw);max-height:16rem;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:0 14px 40px #1a243d29}.timeline-org,.timeline-meta,.timeline-highlights,.project-tagline,.project-tech,.learning-status,.contact-intro{color:var(--color-text-muted)}@media(min-width:768px){.hero.hero--avatar,.hero.hero--image{flex-direction:row;align-items:center;gap:var(--space-10)}.hero-main{max-width:40rem}}.timeline h2{margin:0 0 var(--heading-mb)}.timeline-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-10)}.timeline-item{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-4)}.timeline-card,.project-card,.learning-item{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft)}.timeline-media{display:flex;justify-content:stretch}.timeline-media img{width:100%;max-width:24rem;height:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);padding:var(--space-4)}.timeline-item-header{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline;margin-bottom:var(--space-1)}.timeline-item-header h3{margin:0;font-size:var(--font-size-lg)}.timeline-org{font-size:var(--font-size-sm);color:var(--color-muted)}.timeline-meta{font-size:var(--font-size-xs);display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.timeline-summary{font-size:var(--font-size-sm);margin:0 0 var(--space-2)}.timeline-highlights{list-style:disc;padding-left:1.25rem;margin:0;font-size:var(--font-size-sm);color:var(--color-muted)}.section-heading{display:flex;align-items:center;gap:var(--space-2)}.pill{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-2);height:1.5rem;border-radius:var(--radius-pill);border:1px solid var(--color-accent);font-size:var(--font-size-xs);color:var(--color-accent);background:var(--color-accent-soft)}.projects-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:var(--space-4)}.project-card{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft)}.project-tagline{margin:0 0 var(--space-2);color:var(--color-muted)}.project-summary{margin:0 0 var(--space-2);line-height:1.5}.project-meta{display:flex;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-muted);margin-bottom:var(--space-2)}.project-tech{margin:0 0 var(--space-2);color:var(--color-muted)}.project-links{display:flex;gap:var(--space-2);flex-wrap:wrap}.project-link{color:var(--color-accent);text-decoration:none;font-weight:600}.skills-groups{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.skills-group h3{margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-size-sm);color:var(--color-muted)}.skills-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.skills-group ul li{padding-block:var(--space-2);border-bottom:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:var(--space-1)}.skill-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-2)}.skill-name{font-weight:600}.skill-level{display:inline-flex;align-items:center;gap:var(--space-1);padding:calc(var(--space-1) * .5) var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);background:var(--color-surface-2);color:var(--color-text);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;justify-self:start;width:fit-content;max-width:100%;white-space:nowrap;flex:0 0 auto}.skill-level[data-level=working]{opacity:.85}.skill-level[data-level=strong]{border-color:var(--color-border)}.skill-level[data-level=expert]{border-color:var(--color-accent)}.skill-keywords{color:var(--color-muted);font-size:var(--font-size-sm);display:block}@media(max-width:420px){.skill-row{grid-template-columns:1fr;align-items:flex-start;gap:var(--space-1)}.skill-level{justify-self:start;width:fit-content;inline-size:max-content;margin-top:var(--space-1)}}.learning-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}.learning-item{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.learning-item-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.learning-description{margin:0 0 var(--space-2);color:var(--color-muted)}.learning-link{color:var(--color-accent);text-decoration:none}.contact-intro{max-width:38rem;line-height:1.6}.contact-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}@media(max-width:480px){.section-timeline{padding-inline:var(--space-4);padding-block:var(--space-8)}.timeline h2{margin-bottom:var(--heading-gap)}.timeline-list{gap:calc(var(--space-6) + var(--space-2))}.timeline-item{gap:var(--space-4)}.timeline-card{padding:calc(var(--space-3) + var(--space-1))}.timeline-meta{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.timeline-media img{padding:var(--space-3);border-radius:var(--radius-md);max-width:88%;margin-inline:auto}}@media(max-width:767px){.timeline-item{grid-template-columns:minmax(0,1fr)}.timeline-media{order:-1}.timeline-media img{max-width:none}}@media(min-width:768px){.timeline-list{gap:var(--space-10)}.timeline-item{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:var(--space-6)}.timeline-media{justify-content:center}.timeline-item:nth-child(2n) .timeline-card{order:2}.timeline-item:nth-child(2n) .timeline-media{order:1}}@media(min-width:1024px){.timeline-list{gap:var(--space-12)}.timeline-item{grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);gap:var(--space-8)}.timeline-media img{max-width:28rem}}@media(max-width:640px){.page-header-inner{flex-direction:column;align-items:flex-start}.page-nav{flex-wrap:wrap;gap:var(--space-2)}.section{padding-block:var(--space-8);padding-inline:var(--space-4)}.section p{line-height:1.6}.hero-title{font-size:var(--font-size-2xl)}.hero-tagline{font-size:var(--font-size-base)}}:root{font-family:var(--font-sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit}
