:root{--bg:#f5f5f1;--surface:#ffffffa3;--surface-strong:#fff;--ink:#161a18;--muted:#68716c;--line:#161a1824;--line-soft:#161a1812;--accent:#4f6b60;--accent-line:#4f6b606b;--focus:#4f6b6057;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--sans);color:var(--ink);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111412;--surface:#eae7dc0f;--surface-strong:#eae7dc1a;--ink:#eeece3;--muted:#a7aea8;--line:#eae7dc2e;--line-soft:#eae7dc14;--accent:#9bb7aa;--accent-line:#9bb7aa80;--focus:#9bb7aa5c}}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{min-width:320px;min-height:100svh;margin:0}button,a{font:inherit}#root{min-height:100svh}.site-shell{isolation:isolate;place-items:center;min-height:100svh;padding:48px 24px;display:grid;position:relative;overflow:hidden}.site-shell:before,.site-shell:after{content:"";z-index:-1;pointer-events:none;position:absolute}.site-shell:before{border:1px solid var(--line);inset:24px}.site-shell:after{background:var(--line-soft);width:1px;height:100%;top:0;left:50%}.intro{text-align:center;width:min(100%,780px);animation:.7s ease-out both rise-in}.experience-view{gap:40px;width:min(100%,780px);animation:.7s ease-out both rise-in;display:grid}.eyebrow{color:var(--muted);margin:0 0 18px;font-size:.95rem;font-weight:500}.intro h1{color:var(--ink);letter-spacing:0;margin:0;font-size:5rem;font-weight:520;line-height:.96}.role{color:var(--accent);margin:22px 0 0;font-size:1.05rem;font-weight:500}.section-nav{flex-wrap:wrap;justify-content:center;gap:16px 22px;margin-top:30px;display:flex}.section-link,.back-link{color:var(--muted);border:0;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:10px;padding:0 0 6px;text-decoration:none;transition:border-color .18s,color .18s,transform .18s,opacity .18s;display:inline-flex}.section-link{letter-spacing:.08em;text-transform:uppercase;font-size:.9rem}.section-link:hover,.back-link:hover{color:var(--accent);border-color:var(--accent-line);transform:translateY(-1px)}.section-link:focus-visible,.back-link:focus-visible{outline:3px solid var(--focus);outline-offset:6px}.text-action__mark{color:var(--accent);font-size:.92em;line-height:1}.contact-links{justify-content:center;gap:12px;margin-top:36px;display:flex}.contact-link{width:56px;height:56px;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:50%;place-items:center;padding:0;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-grid}.contact-link svg{fill:currentColor;width:22px;height:22px;display:block}.contact-link span{white-space:nowrap;clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-link--mobile-only,.linkedin-qr-panel{display:none}.contact-link:hover{color:var(--accent);background:var(--surface-strong);border-color:var(--accent-line);transform:translateY(-3px)}.contact-link:focus-visible{outline:3px solid var(--focus);outline-offset:5px;color:var(--accent)}.qr-close,.linkedin-direct-link{color:var(--ink)}.qr-close{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;top:8px;right:8px}.qr-close svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:18px;height:18px;display:block}.qr-close:hover,.linkedin-direct-link:hover{color:var(--accent)}.qr-close:focus-visible,.linkedin-direct-link:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.linkedin-qr-code{background:#fff;border:1px solid #161a181f;border-radius:6px;justify-self:center;width:min(100%,220px);height:auto;padding:8px;display:block}.linkedin-direct-link{background:var(--surface-strong);border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 16px;text-decoration:none;transition:border-color .18s,color .18s,transform .18s;display:inline-flex}.linkedin-direct-link svg{fill:currentColor;flex:none;width:18px;height:18px;display:block}.linkedin-direct-link span{white-space:nowrap;line-height:1}.linkedin-direct-link:hover{border-color:var(--accent-line);transform:translateY(-2px)}.back-link{letter-spacing:.08em;text-transform:uppercase;justify-self:start;width:fit-content;font-size:.88rem}.experience-copy{gap:10px;max-width:520px;display:grid}.experience-copy h2{letter-spacing:-.02em;margin:0;font-size:clamp(2.6rem,7vw,4.4rem);font-weight:520;line-height:.98}.experience-intro{color:var(--muted);margin:0;font-size:.98rem;line-height:1.7}.experience-placeholder{border-top:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:18px;max-width:560px;padding-top:18px;display:grid}.experience-chapters{gap:32px;width:min(100%,680px);display:grid}.support-block{border-top:1px solid var(--line);grid-template-columns:1fr;gap:26px;width:min(100%,680px);padding-top:22px;display:grid}.education-block{gap:16px;display:grid}.education-list{gap:0;display:grid}.education-item{border-top:1px solid var(--line-soft);gap:8px;padding:16px 0;display:grid}.education-item:first-child{border-top:0;padding-top:0}.education-item p,.education-item span{margin:0}.education-item p{color:var(--ink);font-size:1.08rem}.education-item__link{width:fit-content;color:var(--ink);-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:4px;align-items:baseline;gap:8px;font-size:1.08rem;text-decoration-thickness:1px;transition:color .18s,text-decoration-color .18s;display:inline-flex}.education-item__link span{color:var(--accent);font-size:.8em}.education-item__link:hover{color:var(--accent);text-decoration-color:currentColor}.education-item__link:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.education-item span{color:var(--muted);font-size:.96rem;line-height:1.6}.support-toggle{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:1fr auto;align-items:start;gap:16px;padding:0;display:grid}.support-toggle:hover .support-toggle__copy p,.support-toggle:hover .experience-chapter__indicator{color:var(--accent)}.support-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:6px}.support-toggle__copy,.support-column{gap:12px;display:grid}.support-toggle__copy p,.support-toggle__copy span{margin:0}.support-toggle__copy p{color:var(--ink);font-size:1rem}.support-toggle__copy span{color:var(--muted);font-size:.9rem}.support-panel{gap:14px;display:grid}.support-list{gap:0;display:grid}.support-item{border-top:1px solid var(--line-soft);gap:4px;padding:10px 0;display:grid}.support-item:first-child{border-top:0;padding-top:0}.support-item p{color:var(--ink);margin:0;font-size:.98rem}.support-item__link{width:fit-content;color:var(--ink);-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:4px;align-items:baseline;gap:8px;font-size:.98rem;text-decoration-thickness:1px;transition:color .18s,text-decoration-color .18s;display:inline-flex}.support-item__link span{color:var(--accent);font-size:.8em}.support-item__link:hover{color:var(--accent);text-decoration-color:currentColor}.support-item__link:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.experience-chapter{border-top:1px solid var(--line);gap:12px;padding-top:14px;display:grid}.experience-chapter__toggle{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:1fr auto;align-items:start;gap:16px;padding:0;display:grid}.experience-chapter__toggle:hover .experience-chapter__copy p,.experience-chapter__toggle:hover .experience-chapter__indicator{color:var(--accent)}.experience-chapter__toggle:focus-visible{outline:3px solid var(--focus);outline-offset:6px}.experience-chapter__copy,.project-row__headline{gap:6px;display:grid}.experience-chapter__copy p,.experience-chapter__copy span,.experience-chapter__note,.project-row__headline p,.project-row__headline span{margin:0}.experience-chapter__copy p,.project-row__headline p{color:var(--ink);font-size:1.08rem}.project-row__link{width:fit-content;color:var(--ink);-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:4px;align-items:baseline;gap:8px;font-size:1.08rem;text-decoration-thickness:1px;transition:color .18s,text-decoration-color .18s;display:inline-flex}.project-row__link span{color:var(--accent);font-size:.8em}.project-row__link:hover{color:var(--accent);text-decoration-color:currentColor}.project-row__link:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.experience-chapter__copy span,.experience-chapter__note,.project-row__headline span{color:var(--muted)}.experience-chapter__note{max-width:52ch;font-size:.96rem;line-height:1.65}.experience-chapter__indicator{color:var(--muted);font-size:1.4rem;line-height:1;transition:color .18s;transform:translateY(2px)}.project-group{border-left:1px solid var(--line-soft);gap:10px;margin-left:26px;padding-left:18px;display:grid}.project-group__label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.78rem}.project-list{gap:0;display:grid}.project-row{border-top:1px solid var(--line-soft);padding:12px 0;display:block}.project-row:first-child{border-top:0;padding-top:0}.project-row__body{gap:8px;display:grid}.project-stack{flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;display:flex}.project-stack li{color:var(--accent);font-size:.88rem}.placeholder-index{color:var(--muted);letter-spacing:.18em;font-size:.88rem}.placeholder-copy{gap:6px;display:grid}.placeholder-copy p,.placeholder-copy span{margin:0}.placeholder-copy p{color:var(--ink);font-size:1.15rem}.placeholder-copy span{color:var(--muted)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.site-shell{padding:40px 20px}.site-shell:before{inset:16px}.intro h1{font-size:3rem;line-height:1.02}.contact-links{margin-top:32px}.section-nav{gap:14px 18px}.experience-view{gap:28px}.experience-copy h2{font-size:2.8rem;line-height:1.02}.support-block{gap:22px}.experience-placeholder{grid-template-columns:1fr;gap:10px}.experience-chapter__toggle{gap:12px}.project-row{padding:14px 0}.project-group{margin-left:0;padding-left:14px}.contact-link--desktop-only{display:none}.contact-link--mobile-only{display:inline-grid}.linkedin-qr-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:14px;width:min(100%,286px);margin:24px auto 0;padding:18px;display:grid;position:relative;box-shadow:0 24px 56px #161a181a}.linkedin-qr-panel .qr-close{justify-self:end;margin:-8px -8px -6px 0;position:static}}@media (width<=420px){.intro h1{font-size:2.2rem}.contact-link{width:52px;height:52px}}@media (width<=360px){.intro h1{font-size:2rem}}@media (prefers-reduced-motion:reduce){.intro{animation:none}.contact-link,.linkedin-direct-link{transition:none}.contact-link:hover,.linkedin-direct-link:hover{transform:none}}
