:root{--paper: #fbfaf7;--surface: #ffffff;--ink: #1a1c20;--body: #3c4149;--muted: #6b7280;--line: #e6e3db;--accent: #a54a08;--accent-tint: #fdf3e3;--select: rgba(180, 83, 9, .16);--font-body: "Archivo", sans-serif;--font-mono: "IBM Plex Mono", monospace;--w: 980px;--col: 840px;--measure: 100%;color-scheme:light}:root[data-theme=dark]{--paper: #131316;--surface: #1a1a1e;--ink: #f2efe9;--body: #b8b6b1;--muted: #86847f;--line: #2b2b31;--accent: #e08a44;--accent-tint: #2c1f12;--select: rgba(224, 138, 68, .22);color-scheme:dark}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}.section,.intro,.intro-block,.sub{scroll-margin-top:88px}body{background:var(--paper);color:var(--body);font-family:var(--font-body);font-size:18px;line-height:1.62;-webkit-font-smoothing:antialiased}main{max-width:var(--col);margin:0 auto;padding:0 28px 96px}h1,h2,h3,h4{color:var(--ink);line-height:1.25}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:16px;top:-60px;z-index:60;padding:10px 18px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:600;text-decoration:none;transition:top .14s ease}.skip-link:focus-visible{top:12px}::selection{background:var(--select)}.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 93%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}@supports not (backdrop-filter: blur(1px)){.nav{background:var(--paper)}}.nav-inner{display:flex;align-items:center;gap:26px;max-width:var(--col);margin:0 auto;padding:14px 28px}.nav-links{display:flex;gap:22px}.nav-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.nav-sep{width:1px;height:20px;background:var(--line);margin:0 12px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;background:none;cursor:pointer;border-radius:999px;color:var(--muted);transition:color .13s ease,background-color .13s ease}.icon-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.nav-links a{color:var(--muted);text-decoration:none;font-size:14.5px;transition:color .13s ease}.nav-links a:hover{color:var(--ink)}.nav-resume{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 16px;margin-right:8px;transition:border-color .13s ease}.nav-resume:hover{border-color:var(--muted)}.nav-cta{font-size:14px;font-weight:600;color:var(--paper);background:var(--ink);text-decoration:none;border-radius:999px;padding:8px 18px;transition:opacity .13s ease}.nav-cta:hover{opacity:.85}.side-nav{display:none}@media(min-width:1400px){.side-nav{position:fixed;top:50%;left:max(24px,calc((100vw - var(--col)) / 2 - 300px));transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-start;gap:21px;z-index:15;max-width:calc((100vw - var(--col)) / 2 - 48px)}}.side-link{display:flex;align-items:center;max-width:100%;gap:18px;text-decoration:none;padding:4px 0}.side-tick{flex:none;width:32px;height:2px;border-radius:2px;background:var(--muted);opacity:.45;transition:width .26s ease,background-color .26s ease,opacity .26s ease}.side-label{font-family:var(--font-mono);font-size:16px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);transition:color .26s ease}.side-link:hover .side-tick{width:48px;opacity:.9}.side-link:hover .side-label{color:var(--ink)}.side-link.is-active .side-tick{width:70px;background:var(--accent);opacity:1}.side-link.is-active .side-label{color:var(--ink);font-weight:500}.intro{padding:92px 0 4px}h1{font-size:clamp(2.1rem,4.4vw,3rem);font-weight:700;letter-spacing:-.015em}.intro-title{margin-top:10px;font-size:1.16rem;font-weight:500;color:var(--accent)}.intro-block{margin-top:40px}.intro-body{max-width:var(--measure);font-size:1.04rem}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:10px 20px;transition:border-color .13s ease,transform .13s ease}.btn-hint{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;color:var(--muted)}.btn:hover{border-color:var(--muted);transform:translateY(-1px)}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn.primary:hover{opacity:.88;border-color:var(--ink)}.section{padding-top:96px}.kicker{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}h2:not(.kicker){font-size:clamp(1.5rem,2.8vw,1.9rem);font-weight:600;letter-spacing:-.01em}.sub{font-size:1.12rem;font-weight:600;margin-top:44px}.case-period{margin-top:6px;font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.case-summary{max-width:var(--measure);margin-top:26px}.case-meta{display:flex;flex-direction:column;gap:11px;margin-top:32px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.meta-cell{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:baseline}.case-meta dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.case-meta dd{margin:0;font-size:14.5px;color:var(--ink);font-weight:500;line-height:1.45}.case-note{margin-top:34px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);max-width:var(--measure)}.built{margin-top:18px;display:flex;flex-direction:column}.built-item{padding:20px 0;border-bottom:1px solid var(--line)}.built-item:last-child{border-bottom:none}.built-item h4{font-size:1.02rem;font-weight:600}.built-item p{margin-top:6px;font-size:.98rem;max-width:var(--measure)}.outcomes{margin-top:18px;padding-left:0;list-style:none}.outcomes li{position:relative;padding:10px 0 10px 26px;font-size:.98rem;max-width:var(--measure)}.outcomes li:before{content:"";position:absolute;left:2px;top:19px;width:8px;height:8px;border-radius:2px;background:var(--accent);opacity:.85}.xp{margin-top:22px}.xp-row{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:24px 0;border-top:1px solid var(--line)}.xp-row:last-child{border-bottom:1px solid var(--line)}.xp-period{font-family:var(--font-mono);font-size:12.5px;color:var(--muted);padding-top:4px}.xp-row h3{font-size:1.05rem;font-weight:600}.xp-company{font-size:.92rem;color:var(--muted);margin-top:2px}.xp-row ul{margin-top:10px;padding-left:18px}.xp-row li{font-size:.96rem;margin:6px 0;max-width:var(--measure)}.skills{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;margin-top:10px}.skill-group{padding:16px 0;border-bottom:1px solid var(--line)}.skill-name{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.skill-items{margin-top:6px;font-size:.97rem;color:var(--ink)}.sub-block{margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}.sub-label{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.langs{display:flex;flex-wrap:wrap;gap:14px 56px;margin-top:16px}.lang-name{font-size:1.02rem;font-weight:600;color:var(--ink)}.lang-level{margin-top:3px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.principles{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:18px}.principle h3{font-size:1.02rem;font-weight:600}.principle p{margin-top:8px;font-size:.95rem}.avail-body{margin-top:14px}.avail-body:first-of-type{margin-top:2px}.contact-direct{display:flex;align-items:center;flex-wrap:wrap;gap:14px 16px;margin-top:32px;padding-top:26px;border-top:1px solid var(--line)}.contact-email{max-width:100%;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:clamp(1.05rem,2.6vw,1.4rem);color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:3px}.contact-email:hover{color:var(--accent)}.copy-btn{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:none;border:1px solid var(--line);border-radius:999px;padding:6px 13px;cursor:pointer;transition:color .13s ease,border-color .13s ease}.copy-btn:hover{color:var(--ink);border-color:var(--muted)}.contact-profiles{display:flex;gap:26px;margin-top:26px;padding-bottom:8px}.contact-profiles a{display:inline-flex;align-items:center;gap:9px;font-size:.95rem;font-weight:500;color:var(--muted);text-decoration:none;transition:color .13s ease}.contact-profiles a:hover{color:var(--ink)}.cats-note{margin-top:2px;color:var(--muted)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:22px}.cat-photo{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block}.footer{position:fixed;left:0;right:0;bottom:0;z-index:20;background:color-mix(in srgb,var(--paper) 93%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line)}@supports not (backdrop-filter: blur(1px)){.footer{background:var(--paper)}}.footer-inner{max-width:var(--col);margin:0 auto;padding:10px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:var(--muted)}.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none;opacity:1;transform:none}.btn,.side-tick,.side-label{transition:none}}@media(min-width:1400px){.nav-links{display:none}}@media(max-width:900px){.nav-inner{padding:10px 20px;gap:8px}.meta-cell{grid-template-columns:1fr;gap:4px}.nav-links{display:none}.nav-actions{margin:0 auto}.nav-resume{padding:7px 14px}.intro{padding-top:64px}.section{padding-top:72px}.skills,.principles{grid-template-columns:1fr}.xp-row{grid-template-columns:1fr;gap:8px}}@media(max-width:560px){main{padding:0 20px}.nav-inner{padding:10px 16px}.footer-inner{padding:8px 20px}main{padding:0 20px 88px}.nav-sep{margin:0 8px}.nav-resume{padding:7px 12px;margin-right:6px}.nav-cta{padding:8px 14px}.contact-profiles{gap:18px}.langs{gap:14px 32px}}.lang-switch{display:flex;align-items:center;gap:1px;margin-right:6px}.lang-btn{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:var(--muted);background:none;border:none;border-radius:6px;padding:5px 7px;cursor:pointer;transition:color .13s ease,background-color .13s ease}.lang-btn:hover{color:var(--ink)}.lang-btn.is-active{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}
