:root{--bg:#fff;--ink:#0b0b0c;--muted:#6e6c78;--line:#ebe9f1;--lav:#b9a8ff;--lav-ink:#6a4fe0;--lav-soft:#f4f1ff;--display:"Archivo", system-ui, sans-serif;--text:"Inter Tight", system-ui, sans-serif;--gutter:clamp(16px, 4vw, 48px);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--text);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}img,video{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.01em;margin:0;font-weight:800;font-stretch:118%;line-height:1.05}p{margin:0}.top{z-index:10;height:56px;padding:0 var(--gutter);backdrop-filter:blur(12px);color:#fff;background:#0b0b0ceb;border-bottom:1px solid #25242b;align-items:center;gap:24px;display:flex;position:sticky;top:0}.mark{font:800 15px var(--display);text-transform:uppercase;letter-spacing:.02em;font-stretch:118%;text-decoration:none}.top nav{gap:22px;margin-left:auto;font-size:13px;display:flex}.top nav a{color:#9b99a6;text-decoration:none}.top nav a:hover{color:var(--lav)}.top-cta{color:var(--ink);background:#fff;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none}.top-cta:hover{background:var(--lav)}@media (width<=900px){.top nav{display:none}.top-cta{margin-left:auto}}.hero{padding:28px var(--gutter) 24px;border-bottom:1px solid var(--line)}.hero h1{font-size:clamp(24px,2.6vw,34px)}.role{text-transform:uppercase;letter-spacing:.12em;color:var(--lav-ink);margin-top:6px;font-size:11px;font-weight:600}.intro{color:#2d2c33;max-width:60ch;margin-top:8px;font-size:14px}.stats{border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(4,1fr);margin:0;display:grid;overflow:hidden}.stats div{border-left:1px solid var(--line);padding:16px}.stats div:first-child{background:var(--lav-soft);border-left:0}.stats dd{font:800 clamp(20px, 2vw, 28px)/1 var(--display);margin:0;font-stretch:112%}.stats dt{color:var(--muted);margin-top:6px;font-size:12px}@media (width<=520px){.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(3){border-left:0}.stats div:nth-child(n+3){border-top:1px solid var(--line)}}.sec{--sec-bg:var(--bg);padding:36px var(--gutter);border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:18px;display:grid}.rail{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.num{font:600 11px var(--text);color:var(--lav-ink);background:var(--lav-soft);border-radius:6px;align-self:center;padding:3px 7px;display:inline-block}.rail h2{text-transform:uppercase;font-size:20px;font-stretch:105%}.count{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.rail>p:not(.count):not(.links){color:var(--muted);margin-left:auto;font-size:13px}.content{min-width:0}@media (width<=700px){.rail>p:not(.count):not(.links){flex-basis:100%;margin-left:0}}main>.sec:nth-of-type(2n){--sec-bg:var(--ink);background:var(--ink);color:#fff;--line:#25242b;--muted:#9b99a6;--lav-soft:#1d1a2b;border-bottom-color:#0000}main>.sec:nth-of-type(2n) .num{color:var(--lav)}main>.sec:nth-of-type(2n) .card{background:#141317}main>.sec:nth-of-type(2n) .card h3,main>.sec:nth-of-type(2n) .mini h3,main>.sec:nth-of-type(2n) .project .sub{color:#fff}.sub{font-size:13px;font-family:var(--text);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:40px 0 14px;font-weight:600;font-stretch:100%}.content>.sub:first-child,.project:first-child .sub{margin-top:0}.project .sub{color:var(--ink);font:800 20px var(--display);letter-spacing:0;text-transform:none;font-stretch:118%}.project .desc{margin:4px 0 16px}.project+.project{margin-top:48px}.mwrap{position:relative;container-type:inline-size}.mwrap.collapsed{max-height:640px;overflow:hidden}.mwrap.collapsed:after{content:"";pointer-events:none;background:linear-gradient(to bottom, transparent, var(--sec-bg));height:140px;position:absolute;inset:auto 0 0}.mason{grid-template-columns:repeat(var(--cols), 1fr);height:calc((100cqw - (var(--cols) - 1) * 12px) / var(--cols) * var(--units) + var(--gaps));gap:12px;display:grid}.mcol{flex-direction:column;gap:12px;min-height:0;display:flex}.mcol .mfill{aspect-ratio:9/16;flex:none}.mcol .r11{aspect-ratio:auto;flex:1 1 0;min-height:0}@media (width<=700px){.mason{grid-template-columns:1fr 1fr;height:auto}.mcol .r11{aspect-ratio:1;flex:none}}.grid{gap:12px;display:grid}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.g6{grid-template-columns:repeat(6,1fr)}.g7{grid-template-columns:repeat(7,1fr)}@media (width<=1100px){.g5,.g6,.g7{grid-template-columns:repeat(4,1fr)}}@media (width<=700px){.g3,.g4,.g5,.g6,.g7{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}}.span2{grid-column:span 2}.span-all{grid-column:1/-1}.motion-grid{grid-template-columns:repeat(6,1fr)}.motion-grid>*{grid-column:span 2}.motion-grid>.half{grid-column:span 3}.motion-grid>.span2{grid-column:1/-1}@media (width<=700px){.motion-grid>*,.motion-grid>.half{grid-column:1/-1}}.r31{aspect-ratio:3}.grid .media.contain{object-fit:contain;padding:12px}@media (width<=700px){.g2 .span2{grid-column:auto}}.media{object-fit:cover;background:var(--lav-soft);border-radius:10px;width:100%}.r11{aspect-ratio:1}.r43{aspect-ratio:4/3}.r34{aspect-ratio:3/4}.r169{aspect-ratio:16/9}.r916{aspect-ratio:9/16}.r21{aspect-ratio:2}figure{margin:0}figcaption{color:var(--muted);padding-top:8px;font-size:13px}figcaption strong{color:var(--ink);margin-right:6px;font-weight:600}main>.sec:nth-of-type(2n) figcaption strong{color:#fff}.cards{grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:16px;display:grid}.cards .card:not(.playing) .frame{aspect-ratio:4/5}@media (width<=1100px){.cards{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.cards{grid-template-columns:1fr}}.card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}@media (width<=1100px){.mini{grid-template-columns:1fr 1fr}}@media (width<=520px){.mini{grid-template-columns:1fr}}.frame{aspect-ratio:16/10;background:var(--lav-soft);place-items:center;display:grid;overflow:hidden}.frame>.media{background:0 0;border-radius:0;width:100%;height:100%}.frame>.media.contain{object-fit:contain;padding:16px}.frame-icon{border-radius:22px;width:96px;box-shadow:0 10px 30px #5032c833}.card-body{flex-direction:column;flex:1;gap:10px;padding:18px 20px 20px;display:flex}.card-head{align-items:center;gap:12px;display:flex}.card-head>div{flex:1;min-width:0}.icon{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:40px;height:40px}.card h3{font-size:18px}.tag{color:var(--muted);font-size:13px}.desc{color:#3a3942;font-size:14px}main>.sec:nth-of-type(2n) .desc{color:#cfcdd8}.meta{color:var(--muted);margin-top:auto;font-size:12px}.pill{font:600 10px var(--text);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:99px;padding:4px 8px}.pill.on{background:var(--lav);border-color:var(--lav);color:var(--ink)}.links{flex-wrap:wrap;gap:16px;font-size:13px;font-weight:600;display:flex}.links a{color:var(--lav-ink);text-decoration:none}.links a:hover{text-decoration:underline}.embed{background:linear-gradient(100deg,#efeef3 30%,#f8f7fb 50%,#efeef3 70%) 0 0/300% 100%;width:100%;height:100%;animation:1.4s linear infinite shimmer;position:relative}.embed.ready{animation:none}.embed iframe{opacity:0;transition:opacity .5s}.embed.ready iframe{opacity:1}@keyframes shimmer{to{background-position:-150% 0}}.embed img,.embed iframe{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.embed-start{z-index:1;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.embed-pill{font:600 13px var(--text);color:var(--ink);background:var(--lav);white-space:nowrap;border-radius:99px;align-items:center;gap:8px;padding:10px 16px;transition:transform .2s;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.embed-start:hover .embed-pill{transform:translate(-50%)scale(1.06)}.embed img[hidden],.embed-start[hidden],.embed-tools[hidden]{display:none}.embed-tools{z-index:2;gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.embed-tools button{backdrop-filter:blur(8px);color:#fff;height:34px;font:600 13px var(--text);cursor:pointer;background:#0b0b0cb3;border:0;border-radius:10px;padding:0 12px}.embed-tools button:hover{background:var(--lav);color:var(--ink)}.embed-full{font-size:16px}.strip{background:linear-gradient(#fff 0%,#fde9ef 100%);width:100%;height:100%;overflow:hidden}.strip-track{gap:14px;width:max-content;height:100%;padding:18px 0;animation:40s linear infinite strip;display:flex}.strip-track img{border-radius:12px;width:auto;height:100%;box-shadow:0 8px 24px #7828501f}.card:hover .strip-track{animation-play-state:paused}.mag-grid{grid-template-columns:repeat(5,1fr)}.mag-tile{aspect-ratio:467/600;background:var(--lav-soft);transition:transform .35s ease, box-shadow .35s ease, opacity .6s ease calc(var(--i) * 60ms), translate .6s cubic-bezier(.2,.7,.2,1) calc(var(--i) * 60ms);border-radius:8px;position:relative}.mag-grid:not(.shown) .mag-tile{opacity:0;translate:0 28px}.mag-tile:hover{z-index:1;transform:translateY(-6px)rotate(-1deg);box-shadow:0 14px 30px #00000059}.mag-tile img{object-fit:cover;backface-visibility:hidden;border-radius:8px;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1),filter .6s;position:absolute;inset:0}.mag-tile img,.mason.flips img.r11{backface-visibility:hidden;transition:transform .6s cubic-bezier(.4,0,.2,1),filter .6s;transform:perspective(1200px)rotateY(0)}.mag-tile img.flip-out,.mason.flips img.flip-out{filter:brightness(.6);transform:perspective(1200px)rotateY(90deg);transition-timing-function:ease-in!important}.mag-tile img.flip-in,.mason.flips img.flip-in{filter:brightness(.6);transform:perspective(1200px)rotateY(-90deg);transition:none!important}@media (width<=700px){.mag-grid{grid-template-columns:repeat(3,1fr)}.mag-tile:nth-child(n+7){display:none}}@keyframes strip{to{transform:translate(calc(-50% - 7px))}}@media (prefers-reduced-motion:reduce){.strip-track{animation:none}}.mini{grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.mini li{border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:12px;padding:14px;display:flex}.mini img,.mini-blank{object-fit:cover;border:1px solid var(--line);background:var(--lav-soft);border-radius:9px;flex:none;width:36px;height:36px}.mini h3{font-size:14px}.mini p{color:var(--muted);margin-top:2px;font-size:12.5px}.mini .meta{margin-top:6px;font-size:11px}@media (width<=1100px){.mini{grid-template-columns:1fr 1fr}}@media (width<=520px){.mini{grid-template-columns:1fr}}#dev{padding-top:28px;padding-bottom:28px}.card.wide{grid-column:1/-1}.card.wide .frame{aspect-ratio:21/9}.card.wide .card-body{grid-template-columns:1fr auto;align-items:center;gap:6px 24px;padding:14px 20px 16px;display:grid}.card.wide .card-body .desc{grid-column:1/-1;max-width:90ch}.card.wide .card-body .meta{grid-column:1/-1;margin-top:0}.card.wide .card-body .links{grid-area:1/2}@media (width<=900px){.card.wide .frame{aspect-ratio:16/10}}.card.playing{grid-column:1/-1}.play-cta{font:inherit;color:var(--lav-ink);cursor:pointer;background:0 0;border:0;padding:0}.play-cta:hover{text-decoration:underline}.card.playing .play-cta{display:none}.embed iframe{width:calc(100% / var(--s));height:calc(100% / var(--s));transform:scale(var(--s));transform-origin:0 0}.card:not(.playing) .embed[data-title=nine11] iframe{height:calc(180% / var(--s));top:-25%}.card.playing .frame{aspect-ratio:auto;height:min(78vh,760px)}@media (width<=700px){.card.wide .frame{aspect-ratio:4/5}}.table{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.table li{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1.2fr;align-items:baseline;gap:16px;padding:14px 0;font-size:14px;display:grid}.table strong{font:800 17px var(--display);font-stretch:118%}.table span{color:var(--muted)}.table em{color:var(--lav);text-align:right;font-style:normal;font-weight:600}.table.edu li{color:#3a3942;grid-template-columns:1fr}@media (width<=700px){.table li{grid-template-columns:1fr;gap:2px}.table em{text-align:left}}.gifs.collapsed>img:nth-child(n+11){display:none}@media (width<=1100px){.gifs.collapsed>img:nth-child(n+9){display:none}}@media (width<=700px){.gifs.collapsed>img:nth-child(n+5){display:none}}.more{font:600 13px var(--text);color:inherit;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:99px;margin:16px auto 0;padding:9px 18px;display:block}.more:hover{border-color:var(--lav-ink);color:var(--lav-ink)}.gifs img{aspect-ratio:1;object-fit:cover;background:var(--lav-soft);border-radius:10px;width:100%}.cv{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.cv li{border-bottom:1px solid var(--line);grid-template-columns:100px 1fr;gap:20px;padding:18px 0;display:grid}.yr{font:600 13px var(--text);color:var(--lav-ink);padding-top:2px}.cv h4{font-size:17px}.org{color:var(--muted);margin:2px 0 6px;font-size:13px}.cv p:last-child{color:#3a3942;max-width:70ch;font-size:14px}@media (width<=600px){.cv li{grid-template-columns:1fr;gap:4px}}.foot{background:var(--ink);color:#fff;padding:72px var(--gutter)}.foot .role{color:var(--lav)}.mail{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:14px 0 24px;padding:0;display:flex}.mail-text{font:800 clamp(22px, 3.2vw, 40px)/1.1 var(--display);word-break:break-word;font-stretch:112%}.mail-hint{font:600 12px var(--text);color:#9b99a6;text-transform:uppercase;letter-spacing:.1em}.mail:hover .mail-hint,.mail.copied .mail-hint,.mail:hover,.foot .links a{color:var(--lav)}
