:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b0e;--bg-2:#14161c;--ink:#ece8e1;--muted:#8e919b;--line:#272a33;--accent:#ffb547;--accent-ink:#0a0b0e;--display:"Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;--display-w:800;--display-track:-.045em;--display-stretch:"wdth" 78;--body:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--grain:.06}@media (prefers-color-scheme:light){:root:not([data-v=noche]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e5e6e9;--bg-2:#d9dbe0;--ink:#101218;--muted:#5a5e69;--line:#c3c6ce;--accent:#2b43e0;--accent-ink:#fff;--display:"Instrument Serif", Georgia, "Times New Roman", serif;--display-w:400;--display-track:-.03em;--display-stretch:normal;--grain:0}}:root[data-v=noche]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b0e;--bg-2:#14161c;--ink:#ece8e1;--muted:#8e919b;--line:#272a33;--accent:#ffb547;--accent-ink:#0a0b0e;--display:"Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;--display-w:800;--display-track:-.045em;--display-stretch:"wdth" 78;--grain:.06}:root[data-v=dia]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e5e6e9;--bg-2:#d9dbe0;--ink:#101218;--muted:#5a5e69;--line:#c3c6ce;--accent:#2b43e0;--accent-ink:#fff;--display:"Instrument Serif", Georgia, "Times New Roman", serif;--display-w:400;--display-track:-.03em;--display-stretch:normal;--grain:0}body{background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);transition:background-color .5s,color .5s}body:after{content:"";pointer-events:none;z-index:20;opacity:var(--grain);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{max-width:1440px;margin-inline:auto;padding-inline:clamp(16px,4vw,56px)}.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.display{font-family:var(--display);font-weight:var(--display-w);letter-spacing:var(--display-track);font-variation-settings:var(--display-stretch);text-wrap:balance;margin:0;line-height:.86}.kicker{color:var(--accent)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-height:100vh;margin:0;overflow-x:hidden}#root{min-height:100vh}a{color:inherit}button{font-family:inherit}section{scroll-margin-top:84px}.site-header{z-index:10;padding-top:env(safe-area-inset-top,0px);background:linear-gradient(var(--bg) 55%, color-mix(in srgb, var(--bg) 0%, transparent));transition:background .5s;position:fixed;top:0;left:0;right:0}.bar{justify-content:space-between;align-items:center;gap:16px;padding-block:18px;display:flex}.brand{font-family:var(--display);font-weight:var(--display-w);font-variation-settings:var(--display-stretch);letter-spacing:-.03em;font-size:1.6rem;text-decoration:none}.brand b{color:var(--accent)}nav.links{gap:28px;display:flex}nav.links a{white-space:nowrap;color:var(--muted);font-size:.92rem;text-decoration:none;transition:color .2s}nav.links a:hover{color:var(--ink)}.controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.seg{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:3px;display:inline-flex}.seg button{font:500 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.55em .8em}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.dock{display:none}@media (width<=760px){.site-header{z-index:4}nav.links{display:none}.bar{justify-content:flex-start;align-items:center}.dock{flex:none;width:38px;height:38px;display:block}html.no-webgl .dock{display:none}.controls{margin-left:auto}.seg button{justify-content:center;align-items:center;min-width:40px;height:36px;padding:0 .7em;display:inline-flex}}.hero{grid-template-rows:1fr auto;min-height:100svh;padding-top:96px;padding-bottom:28px;display:grid;position:relative}.hero .name{text-align:center;z-index:1;align-self:center;justify-items:center;display:grid;position:relative}.hero .name .display{font-size:clamp(4.2rem,19.5vw,19rem)}.hero .name .l2{font-style:normal}.o-slot{display:inline-block}.o-slot .base{vertical-align:baseline;width:0;height:0;display:inline-block}:root[data-v=dia] .hero .name .l2{font-style:italic}.hero .eyebrow{color:var(--muted);margin-bottom:1.4rem}.hero .foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.hero .lede{max-width:34ch;margin:0;font-size:clamp(1rem,1.4vw,1.2rem)}.hero .lede em{color:var(--accent);font-style:normal}.cue{color:var(--muted);align-items:center;gap:10px;display:flex}.cue i{background:linear-gradient(var(--ink), transparent);width:1px;height:36px;animation:1.8s ease-in-out infinite cue;display:block}@keyframes cue{0%,to{transform-origin:top;transform:scaleY(.4)}50%{transform:scaleY(1)}}@media (width<=760px){.hero{container-type:inline-size}.hero .name{text-align:left;justify-items:start}.hero .name .display{font-size:min(21cqw,92px)}:root[data-v=dia] .hero .name .display{font-size:min(24cqw,96px)}.hero .eyebrow{max-width:30ch}.hero .foot{flex-direction:column;align-items:flex-start;gap:18px}}@media (prefers-reduced-motion:reduce){.cue i{animation:none}}.about{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding-block:18vh;display:grid}.about .aboutcopy{grid-column:2;gap:28px;display:grid}.intro{display:contents}.hslot{display:none}.about h2{font-size:clamp(2.6rem,6.4vw,6rem)}.about p{max-width:60ch;color:color-mix(in srgb, var(--ink) 82%, var(--bg));margin:0}.stats{background:var(--line);border:1px solid var(--line);border-radius:4px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:12px;display:grid;overflow:hidden}.stats div{background:var(--bg);gap:6px;padding:18px 18px 16px;display:grid}.stats b{font-family:var(--display);font-weight:var(--display-w);font-variation-settings:var(--display-stretch);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.stats span{color:var(--muted)}@media (width<=760px){.about{grid-template-columns:minmax(0,1fr)}.about .aboutcopy{grid-column:1}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats b{font-size:clamp(1.4rem,6vw,2.1rem)}.stats span{font-size:.76rem;line-height:1.3}.intro{grid-template-columns:120px 1fr;align-items:end;gap:14px;display:grid}.hslot{aspect-ratio:1;width:100%;display:block}.intro .kicker{padding-bottom:10px}html.no-webgl .intro{display:block}html.no-webgl .hslot{display:none}}.specs{height:320vh;position:relative}.specs__pin{grid-template-rows:auto 1fr auto;height:100svh;padding-top:92px;padding-bottom:28px;display:grid;position:sticky;top:0}.specs__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.specs__heading{gap:14px;display:grid}.specs h2{font-size:clamp(2.4rem,5.6vw,5.2rem)}.specs__model{color:var(--muted);text-align:right}.specs__callouts{position:relative}.specs__callout{opacity:0;gap:4px;width:min(270px,30vw);transition:opacity .45s,transform .45s;display:grid;position:absolute;transform:translateY(10px)}.specs__callout.on{opacity:1;transform:none}.specs__callout .mono{color:var(--accent)}.specs__callout p{margin:0;font-size:1.02rem;line-height:1.35}.specs__callout.l{left:0}.specs__callout.r{text-align:right;right:0}.specs__tail{color:var(--muted);border-top:1px solid var(--line);max-width:52ch;margin:0;padding-top:24px}.specs__tail--outside,.sslot,.specs__mobile-card{display:none}@media (width<=760px){.specs__callouts,.specs__tail--inside{display:none}.specs__tail--outside{padding-top:28px;padding-bottom:12px;display:block}.sslot{grid-row:2;place-self:center;width:min(270px,34vh);height:min(270px,34vh);display:block}html.no-webgl .sslot{display:none}.specs__mobile-card{border-top:1px solid var(--line);grid-row:3;gap:8px;min-height:132px;padding-top:14px;display:grid}.specs__mobile-top{justify-content:space-between;align-items:center;display:flex}.specs__mobile-label{color:var(--accent);transition:opacity .18s}.specs__mobile-label.swap{opacity:0}.specs__mobile-count{color:var(--muted);font-variant-numeric:tabular-nums}.specs__mobile-text{margin:0;font-size:1.18rem;line-height:1.35;transition:opacity .18s}.specs__mobile-text.swap{opacity:0}.specs__mobile-bars{gap:6px;display:flex}.specs__mobile-bars i{background:var(--line);border-radius:2px;width:18px;height:3px;transition:background .3s}.specs__mobile-bars i.on{background:var(--accent)}}.work{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding-block:14vh;display:grid}.work .col{grid-column:2}.work h2{margin-bottom:48px;font-size:clamp(2.6rem,6.4vw,6rem)}.jobs{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.job{border-bottom:1px solid var(--line);opacity:.38;grid-template-columns:8.5rem minmax(0,1fr);gap:8px 24px;padding:30px 0;transition:opacity .35s;display:grid}.job.active{opacity:1}.job.active h3{color:var(--accent)}.job .yr{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.55em}.job h3{font-family:var(--display);font-weight:var(--display-w);font-variation-settings:var(--display-stretch);letter-spacing:-.02em;margin:0;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1}.job .role{color:var(--muted);margin:6px 0 10px;font-size:.92rem}.job p{max-width:58ch;margin:0}.edu{gap:14px;margin-top:64px;display:grid}.edu dl{grid-template-columns:8.5rem minmax(0,1fr);gap:12px 24px;margin:0;display:grid}.edu dt{color:var(--muted)}.edu dd{margin:0}.jrow{display:contents}.jslot{display:none}@media (width<=760px){.jrow{grid-template-columns:1fr 60px;align-items:center;gap:10px;display:grid}.jslot{width:60px;height:60px;display:block}html.no-webgl .jrow{display:block}html.no-webgl .jslot{display:none}.work{grid-template-columns:minmax(0,1fr)}.work .col{grid-column:1}.job{grid-template-columns:minmax(0,1fr)}.job .yr{padding-top:0}.edu dl{grid-template-columns:minmax(0,1fr);gap:2px}.edu dd{margin-bottom:10px}}.contact{align-content:end;gap:36px;min-height:100svh;padding-top:48vh;padding-bottom:40px;display:grid;position:relative}.contact h2{text-align:center;z-index:1;font-size:clamp(3.2rem,11vw,11rem);position:relative}.contact .rows{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:24px;display:grid}.contact .cv{position:relative}.cv-picker{z-index:1;position:absolute;top:calc(100% + 8px);left:0}.cv-picker a{font:500 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;border-radius:999px;padding:.55em .8em;text-decoration:none}.cv-picker a:hover{color:var(--ink)}.contact .rows>div{align-content:start;gap:8px;display:grid}.contact .rows .mono{color:var(--muted)}.contact .val{word-break:break-word;font-size:clamp(1rem,1.6vw,1.3rem)}.copy{font:500 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:.8em 1.1em}.cslot{display:none}.cv-desktop{display:contents}.cv-mobile{display:none}.btn{font:500 .7rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;text-decoration:none}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media (width<=760px){.contact{padding-top:16px}.cslot{justify-self:center;width:150px;height:150px;display:block}html.no-webgl .cslot{display:none}.contact .rows{border-top:none;grid-template-columns:minmax(0,1fr);gap:0}.contact .rows>div{border-top:1px solid var(--line);padding-block:16px}.row-email{order:1}.cv{order:2}.row-location{order:3}.cv-desktop{display:none}.cv-mobile{flex-wrap:wrap;gap:8px;display:flex}.copy,.btn{justify-content:center;align-items:center;height:44px;padding-inline:1.1em;display:inline-flex}}.spec-lines{z-index:6;pointer-events:none;width:100%;height:100%;position:fixed;inset:0;overflow:visible}.spec-lines path{fill:none;stroke:var(--ink);stroke-width:1px;vector-effect:non-scaling-stroke}.spec-lines circle{fill:var(--accent);stroke:var(--bg);stroke-width:2px}.speech-bubble{z-index:8;pointer-events:none;background:var(--ink);color:var(--bg);font:500 .9rem/1.25 var(--body);white-space:nowrap;opacity:0;transform-origin:0 100%;border-radius:14px 14px 14px 3px;padding:.55em .85em;transition:opacity .2s,transform .25s cubic-bezier(.3,1.6,.5,1);position:fixed;top:0;left:0;transform:translate(-10%,-100%)scale(.6)}.speech-bubble.on{opacity:1;transform:translate(-10%,-100%)scale(1)}@media (width<=760px){.speech-bubble{white-space:normal;max-width:210px;transform:translateY(-100%)scale(.6)}.speech-bubble.r{transform-origin:0 100%;border-radius:14px 14px 14px 3px}.speech-bubble.l{transform-origin:100% 100%;border-radius:14px 14px 3px}.speech-bubble.on{transform:translateY(-100%)scale(1)}}.site-footer{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:28px 40px;display:flex}
