@font-face{font-family:ABC Whyte;src:url(/fonts/ABCWhyte-Book.woff2) format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2-variations");font-weight:100 900;font-display:swap;font-style:normal}:root{--bg: #dedede;--ink: #000000;--bar: #ffffff;--bar-ink: #000000;--projects-wash: linear-gradient(180deg, #0088ff 0%, #80c4ff 100%);--font-sans: "ABC Whyte", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--weight-book: 400;--pad: 8px;--gap: 4px;--r-card: 11.74cqw;--r-bar: 11.74cqw;--bar-size: 3.756cqw;--bar-pad-x: 3.76cqw;--bar-pad-y: 7.51cqw;--sp: 0;--mark-h: 7.377cqw;--mark-h-end: calc(var(--mark-h) * .5);--head-pad-y: 8px;--head-pad-x: 8px;--stmt-size: 4.157cqw;--stmt-drop: 21.31cqw;--stmt-w: 49.79cqw;--lower-drop: 2.81cqw;--footer-pad-x: 1.873cqw}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-weight:var(--weight-book);background:var(--bg);color:var(--ink);overflow-x:hidden}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}.page{min-height:100dvh;display:flex;flex-direction:column;padding:var(--pad);container-type:inline-size}.masthead:before{content:"";position:absolute;inset:calc(var(--pad) * -1) calc(var(--pad) * -1) auto;height:calc(var(--mark-h) * 1.9 + var(--pad) * 2);background:linear-gradient(to bottom,var(--bg) 0%,var(--bg) 52%,color-mix(in srgb,var(--bg) 60%,transparent) 76%,transparent 100%);z-index:-1;pointer-events:none}.masthead{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--gap);width:100%;padding:var(--head-pad-y) var(--head-pad-x)}.mark{height:calc(var(--mark-h) + var(--sp) * (var(--mark-h-end) - var(--mark-h)));width:auto;aspect-ratio:140 / 126;display:block;flex:none;color:var(--ink)}.masthead__links{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:10px;line-height:.74;letter-spacing:.04em;flex:none}.masthead__links a{transition:opacity .2s ease}.masthead__links a:hover{opacity:.4}.statement{font-size:var(--stmt-size);line-height:.95;width:var(--stmt-w);margin-top:var(--stmt-drop);margin-bottom:var(--lower-drop);text-box:trim-both cap alphabetic;overflow-wrap:normal}.lower{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:auto;container-type:inline-size}.projects{display:flex;gap:var(--gap);width:100%;justify-content:center;--card-w: calc((100% - var(--gap)) / 2)}.project{flex:0 1 var(--card-w);min-width:0;container-type:inline-size;display:flex;flex-direction:column;gap:var(--gap)}.project__media{position:relative;aspect-ratio:852 / 471;width:100%;border-radius:var(--r-card);overflow:clip}.project__media img{width:100%;height:100%;object-fit:cover}.project__media--projects{background:var(--projects-wash)}.showcase{position:absolute;left:7.687cqw;top:6.221cqw;width:84.624cqw;aspect-ratio:721 / 540;height:auto}.project__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--bar-pad-x);background:var(--bar);color:var(--bar-ink);border-radius:var(--r-bar);padding:var(--bar-pad-y) var(--bar-pad-x);font-size:var(--bar-size);line-height:1}.project__name,.project__desc{text-box:trim-both cap alphabetic;white-space:nowrap}.project__desc{opacity:.4;min-width:0;overflow:hidden;text-overflow:ellipsis;padding-block:.22em;margin-block:-.22em}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px var(--footer-pad-x);font-family:var(--font-mono);font-size:12px;line-height:.74;letter-spacing:.04em;white-space:nowrap}@media(min-width:768px)and (max-width:1439px){:root{--mark-h: 8.544cqw;--stmt-size: 4.114cqw;--stmt-drop: 20.57cqw;--lower-drop: 2.53cqw;--footer-pad-x: 1.899cqw}}@media(max-width:767px){:root{--pad: 4px;--gap: 8px;--r-card: 15.87cqw;--mark-h: 18.274cqw;--mark-h-end: 45px}.page{padding:env(safe-area-inset-top) var(--pad) 0}.masthead{gap:4px;--head-pad-y: calc(8px + var(--sp) * 8px);--head-pad-x: calc(var(--sp) * 4px)}.lower{gap:0}.project{gap:4px}.statement{font-size:12.183cqw;width:auto;margin-top:38.07cqw;margin-bottom:0;padding:16px 0;white-space:pre-wrap}.projects{flex-direction:column;align-items:center;gap:16px;--card-w: 100%}.project{flex:0 0 auto;width:var(--card-w)}.project__bar{padding:6.09cqw 4.06cqw;font-size:4.061cqw}.footer{font-size:10px;padding:14px;gap:12px}}@keyframes rise-in{0%{opacity:0;transform:translateY(var(--rise, 48px))}to{opacity:1;transform:none}}@keyframes settle-in{0%{opacity:0}to{opacity:1}}.js .statement,.js .project,.js .footer{animation:rise-in var(--rise-dur, 1.4s) cubic-bezier(.16,1,.3,1) backwards}.js .statement{--rise: 36px;animation-delay:.42s}.js .project{animation-delay:calc(.7s + var(--i, 0) * .16s)}.js .footer{--rise: 28px;--rise-dur: 1.2s;animation-delay:1.12s}.js .masthead__links{animation:settle-in .9s ease backwards;animation-delay:.9s}@media(prefers-reduced-motion:reduce){.js .statement,.js .project,.js .footer,.js .masthead__links{animation:none}}@media(max-width:389px){.footer{padding-inline:0}}@media(max-width:359px){.footer__copyright{display:none}}
