:root{--bg: #f7f5f0;--surface: #ffffff;--ink: #14213d;--muted: #5b6475;--line: #e2ddd2;--accent: #c2571a;--tag: #eeeae1;--logo-tile: #ffffff;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1522;--surface: #161e2e;--ink: #e8e4da;--muted: #9aa3b5;--line: #263046;--accent: #f08a4b;--tag: #1f2940;--logo-tile: #f4f1ea;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 IBM Plex Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Archivo,Helvetica Neue,Arial,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0}h2{font-size:1.75rem;margin-bottom:1.5rem}h3{font-size:1.15rem}a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:.2em}ul,ol{margin:0;padding:0;list-style:none}.muted{color:var(--muted)}.eyebrow{font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--accent);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1.5rem;padding:.9rem max(1rem,calc((100vw - 64rem)/2));background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border-bottom:.0625rem solid var(--line)}.brand{font-family:Archivo,Helvetica Neue,Arial,sans-serif;font-weight:600;font-size:1.2rem;text-decoration:none}.topnav{display:flex;gap:1.25rem;margin-right:auto;font-size:.9rem}.topnav a{color:var(--muted);text-decoration:none}.topnav a:hover{color:var(--ink)}.locales{display:flex;border:.0625rem solid var(--line);border-radius:999rem;padding:.15rem}.locales button{font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--muted);background:none;border:0;border-radius:999rem;padding:.25rem .7rem;cursor:pointer}.locales button[aria-pressed=true]{background:var(--ink);color:var(--bg)}main{max-width:64rem;margin:0 auto;padding:0 1rem}.section{padding:4rem 0 1rem}.lead{color:var(--muted);margin:-.75rem 0 1.75rem;max-width:40rem}.hero{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:3rem;align-items:center;padding:4.5rem 0 3rem}.portrait{width:15rem;height:15rem;border-radius:50%;object-fit:cover;border:.375rem solid var(--surface);box-shadow:0 1.25rem 2.5rem -1.5rem #14213d73}.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.035em;margin:.4rem 0 .5rem}.role{font-size:1.15rem;font-weight:500;margin:0 0 1.25rem}.summary{color:var(--muted);max-width:40rem;margin:0 0 1.75rem}.links{display:flex;flex-wrap:wrap;gap:.75rem}.button{display:inline-block;padding:.6rem 1.2rem;border-radius:.5rem;border:.0625rem solid var(--line);background:var(--surface);text-decoration:none;font-weight:500;font-size:.95rem}.button.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}button.button{font:inherit;font-weight:500;font-size:.95rem;color:inherit;cursor:pointer}.cv-dialog{width:min(56rem,100% - 2rem);height:min(90vh,75rem);padding:0;border:.0625rem solid var(--line);border-radius:.8rem;background:var(--surface);color:var(--ink);overflow:hidden}.cv-dialog[open]{display:flex;flex-direction:column}.cv-dialog::backdrop{background:#080c14b3;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.cv-dialog header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:.0625rem solid var(--line)}.cv-dialog header strong{margin-right:auto}.cv-status{margin:auto;color:var(--muted)}.cv-dialog iframe{flex:1;width:100%;border:0;background:#525659}.clients{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem 1.5rem;padding:1.25rem 0;border-top:.0625rem solid var(--line);border-bottom:.0625rem solid var(--line)}.clients ul{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;color:var(--muted);font-weight:500}.timeline{display:grid;gap:2.5rem}.role-item{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1.5rem}.logo{display:flex;align-items:center;justify-content:center;width:7rem;height:3.5rem;padding:.5rem .6rem;border-radius:.6rem;background:var(--logo-tile);border:.0625rem solid var(--line)}.logo img{width:100%;height:100%;object-fit:contain}.logo.dark{background:#14213d}.wordmark{font-family:Archivo,Helvetica Neue,Arial,sans-serif;font-size:1rem;font-weight:600;color:#14213d}.period{font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--accent);font-size:.8rem;font-weight:500;margin:0 0 .2rem}.company{margin:.15rem 0 .75rem;font-weight:500}.highlights{list-style:disc;padding-left:1.1rem;color:var(--muted);display:grid;gap:.35rem;margin-bottom:.9rem}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.tags li{font-family:IBM Plex Mono,ui-monospace,monospace;background:var(--tag);border-radius:999rem;padding:.15rem .65rem;font-size:.78rem;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(18rem,100%),1fr));gap:1rem}.card{display:flex;flex-direction:column;gap:.6rem;padding:1.4rem;border-radius:.8rem;background:var(--surface);border:.0625rem solid var(--line)}.card p{margin:0 0 auto;color:var(--muted);font-size:.95rem}.skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(26rem,100%),1fr));gap:1rem 2.5rem;margin:0}.skill{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:.75rem 0;border-bottom:.0625rem solid var(--line)}.skill dt{font-weight:600}.skill dd{margin:0;color:var(--muted)}.background{display:grid;grid-template-columns:3fr 2fr;gap:3rem}.background h2+*{margin-bottom:2.5rem}.schools{display:grid;gap:1.25rem}.schools li{display:flex;gap:1rem;align-items:center}.schools strong{display:block}.languages{display:grid;gap:.4rem}.languages li{display:flex;justify-content:space-between;border-bottom:.0625rem solid var(--line);padding:.35rem 0}.contact{padding-bottom:4rem}.footer{text-align:center;color:var(--muted);font-size:.85rem;padding:2rem 1rem 3rem;border-top:.0625rem solid var(--line)}@media(max-width:48rem){.topnav{display:none}.topbar{justify-content:space-between}.hero{grid-template-columns:1fr;gap:1.75rem;padding-top:2.5rem}.portrait{width:9rem;height:9rem}.role-item{grid-template-columns:1fr;gap:.75rem}.skills{grid-template-columns:1fr}.skill{grid-template-columns:1fr;gap:.2rem}.background{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
