:root{--primary:#ececec;--on-primary:#181818;--primary-hover:#fff;--primary-focus:#ececec;--primary-deep:#d4d4d4;--ink:#ececec;--ink-muted:#b4b4b4;--ink-subtle:#8a8a8a;--ink-tertiary:#6b6b6b;--canvas:#181818;--surface-1:#1e1e1e;--surface-2:#232323;--surface-3:#282828;--surface-4:#2c2c2c;--hairline:#2a2a2a;--hairline-strong:#383838;--hairline-tertiary:#444;--inverse-canvas:#fff;--inverse-surface-1:#f5f6f6;--inverse-surface-2:#f6f7f7;--inverse-ink:#000;--semantic-success:#27a644;--semantic-success-ink:#4cc76a;--semantic-overlay:#000;--specular-highlight:inset 0 1px 0 0 #ffffff14;--specular-highlight-subtle:inset 0 1px 0 0 #ffffff0a;--specular-highlight-hover:inset 0 1px 0 0 #ffffff24;--surface-shadow:0 8px 32px -4px #0000008c;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--duration-fast:.16s;--duration-base:.24s;--font-sans:"Schibsted Grotesk", "SF Pro Display", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-xxl:24px;--radius-pill:9999px}@font-face{font-family:Schibsted Grotesk;src:url(/fonts/SchibstedGrotesk-latin.woff2)format("woff2");font-weight:400 900;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}*{caret-color:var(--primary)}::selection{color:var(--ink);background:#ffffff2e}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--ink-tertiary)}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);letter-spacing:.01em;margin:0;font-size:20px;font-weight:400;line-height:1.5;overflow-x:clip}main{max-width:1280px;margin:0 auto;padding:0 32px 96px;display:block}main>section+section{margin-top:96px}h1,h2,h3{color:var(--ink);text-wrap:balance;font-weight:600}main h1{letter-spacing:-3px;margin:48px 0 24px;font-size:5em;line-height:1.05}main h2{letter-spacing:-1px;margin:48px 0 16px;font-size:2.5em;line-height:1.15}main h3{letter-spacing:-.4px;margin:36px 0 8px;font-size:1.375em;font-weight:500;line-height:1.25}section[aria-labelledby=sobre]>p:first-of-type{letter-spacing:-.1px;color:var(--ink);max-width:62ch;margin-bottom:24px;font-size:1.125em;line-height:1.6}section[aria-labelledby=sobre] h3+p{color:var(--ink-muted);margin-top:0;margin-bottom:12px;font-size:.875em}.hero{padding-top:clamp(48px,14vh,160px)}.hero h1{color:var(--ink-tertiary);letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(1.875em,4.5vw,2.75em);font-weight:500;line-height:1.15}.hero-bio{letter-spacing:-.02em;max-width:24em;margin:0;font-size:clamp(1.5em,4.5vw,2.75em);font-weight:500;line-height:1.2}.hero-columns{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px;max-width:1040px;margin-top:56px;display:grid}main .hero-columns h2{color:var(--ink-subtle);letter-spacing:0;margin:0 0 12px;font-size:.9375em;font-weight:500}.hero-columns ul{margin:0;padding:0;font-size:1.0625em;line-height:1.5;list-style:none}.hero-columns li+li{margin-top:4px}.hero-columns .meta{color:var(--ink-subtle);white-space:nowrap}.hero-columns .period{font-variant-numeric:tabular-nums}.company-mark{border-radius:var(--radius-xs);vertical-align:-.125em;width:1em;height:1em;margin-right:.25em;display:inline-block}.badge{border-radius:var(--radius-xs);color:var(--semantic-success-ink);vertical-align:2px;background:#27a6441f;border:1px solid #27a64466;margin-left:6px;padding:1px 6px;font-size:.7059em;font-weight:500;display:inline-block}.hero-columns .more{margin:16px 0 0;font-size:1.0625em}.hero-columns a{text-decoration:none}.hero-columns a:hover{text-decoration:underline}@media (width<=640px){.hero-columns{grid-template-columns:1fr;gap:40px}}p{max-width:65ch}p,li{color:var(--ink)}.muted{color:var(--ink-muted)}.lead{letter-spacing:-.1px;color:var(--ink);max-width:62ch;margin-bottom:24px;font-size:1.125em;line-height:1.6}code,kbd,samp{font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--radius-xs);color:var(--ink);padding:2px 6px;font-size:.75em}.tabular{font-variant-numeric:tabular-nums}a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--ink-tertiary);text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-out-expo), text-decoration-color var(--duration-fast) var(--ease-out-expo);text-decoration-thickness:1px}a:hover{color:var(--primary-hover)}:focus-visible{outline:2px solid var(--primary-focus);outline-offset:3px}.skip-link{z-index:100;background:var(--primary);color:var(--on-primary);border-radius:var(--radius-sm);transition:top var(--duration-fast) var(--ease-out-expo);padding:8px 16px;font-weight:500;text-decoration:none;position:absolute;top:-999px;left:20px}.skip-link:focus{top:12px}.skip-link:hover{color:var(--on-primary);background:var(--primary-deep);text-decoration:none}.top-nav{background:var(--canvas);border-bottom:1px solid var(--hairline);align-items:center;gap:24px;max-width:1280px;min-height:56px;margin:0 auto;padding:0 32px;font-size:.875em;display:flex}.top-nav .brand{color:var(--primary-hover);letter-spacing:-.2px;transition:color var(--duration-fast) var(--ease-out-expo);margin-right:auto;font-weight:600;text-decoration:none}.top-nav .brand:hover{color:var(--ink)}.top-nav nav{align-items:center;gap:8px;display:flex}.top-nav a{min-height:44px;color:var(--ink-muted);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out-expo), background-color var(--duration-fast) var(--ease-out-expo);align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}.top-nav a:hover{color:var(--ink);background-color:var(--surface-1);text-decoration:none}.top-nav a[aria-current=page],.top-nav a.active{color:var(--ink);background-color:var(--surface-2);box-shadow:var(--specular-highlight-subtle)}.actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;box-sizing:border-box;min-height:44px;transition:background-color var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo), box-shadow var(--duration-fast) var(--ease-out-expo), transform var(--duration-fast) var(--ease-out-expo);border:1px solid #0000;justify-content:center;align-items:center;padding:8px 16px;font-size:.875em;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--specular-highlight-hover)}.btn-primary:hover{background:var(--primary-deep);color:var(--on-primary);box-shadow:var(--specular-highlight-hover);text-decoration:none}.btn-primary:active{background:var(--primary-deep);transform:scale(.99)}.btn-secondary{background:var(--surface-1);color:var(--ink);border-color:var(--hairline);box-shadow:var(--specular-highlight-subtle)}.btn-secondary:hover{background:var(--surface-2);color:var(--ink);border-color:var(--hairline-strong);box-shadow:var(--specular-highlight);text-decoration:none}.btn-secondary:active{background:var(--surface-3);transform:scale(.99)}.btn-tertiary{background:var(--canvas);color:var(--ink);border-color:var(--ink-subtle)}.btn-inverse{background:var(--inverse-canvas);color:var(--inverse-ink)}.text-input{background:var(--surface-1);color:var(--ink);border:1px solid var(--ink-subtle);border-radius:var(--radius-md);min-height:44px;font-family:var(--font-sans);letter-spacing:-.05px;padding:8px 12px;font-size:1em;font-weight:400;line-height:1.5}.contact{background:var(--surface-1);border:1px solid var(--hairline);box-shadow:var(--specular-highlight), var(--surface-shadow);border-radius:var(--radius-lg);margin-top:96px;padding:48px;position:relative}.contact h2{letter-spacing:-.6px;margin:0 0 16px;font-size:1.75em;line-height:1.2}.contact p{color:var(--ink-muted);margin:0 0 8px}.project-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 0;padding:0;list-style:none;display:grid}.project-card{background:var(--surface-1);border:1px solid var(--hairline);box-shadow:var(--specular-highlight);border-radius:var(--radius-lg);transition:background-color var(--duration-base) var(--ease-out-expo), border-color var(--duration-base) var(--ease-out-expo), box-shadow var(--duration-base) var(--ease-out-expo), transform var(--duration-base) var(--ease-out-expo);flex-direction:column;margin:0;padding:24px;display:flex;position:relative}.project-card:hover{background:var(--surface-2);border-color:var(--hairline-strong);box-shadow:var(--specular-highlight-hover), var(--surface-shadow);transform:translateY(-2px)}.project-card:focus-within{border-color:var(--primary-focus)}.project-card h3{letter-spacing:-.4px;margin:0 0 8px;font-size:1.375em;font-weight:600}.project-card p{color:var(--ink-muted);margin:0 0 20px;font-size:.875em;line-height:1.55}.project-card .project-meta{justify-content:space-between;align-items:center;gap:12px;margin:auto 0 0;font-size:.875em;display:flex}.project-status{background:var(--surface-2);color:var(--ink-muted);border:1px solid var(--hairline-strong);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:var(--radius-pill);box-shadow:var(--specular-highlight-subtle);z-index:2;align-items:center;gap:6px;padding:2px 10px;font-size:.8571em;line-height:1.4;display:inline-flex;position:relative}.project-status:before{content:"";background:var(--ink-subtle);border-radius:50%;width:6px;height:6px;display:inline-block}.project-card .project-link{min-height:44px;color:var(--ink-muted);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out-expo), background-color var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo);border:1px solid #0000;align-items:center;gap:4px;padding:8px 12px;font-size:.875em;font-weight:500;text-decoration:none;display:inline-flex}.project-card .project-link:after{content:"";border-radius:var(--radius-lg);cursor:pointer;position:absolute;inset:0}.project-card:hover .project-link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--primary);text-underline-offset:3px}@media (width<=1024px){.project-grid{grid-template-columns:repeat(2,1fr)}}.site-footer{background:var(--canvas);color:var(--ink-subtle);border-top:1px solid var(--hairline);max-width:1280px;margin:0 auto;padding:64px 32px;font-size:.75em;line-height:1.4}ul{padding-left:20px}li+li{margin-top:8px}@media (width<=768px){main{padding:0 20px 64px}main h1{letter-spacing:-1px;font-size:2.375em}main h2{font-size:1.875em}.top-nav{gap:8px;padding:0 20px}.contact{padding:32px 24px}.project-grid{grid-template-columns:1fr}.site-footer{padding:48px 20px}}.top-nav,.project-card p,.project-status,.site-footer{letter-spacing:.02em}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;transform:none!important}}.experience{grid-template-columns:56px minmax(0,1fr);gap:24px;margin-top:40px;display:grid}.experience h3{margin-top:0}.company-logo{border-radius:var(--radius-sm);display:block}
