*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f0f0;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#root{justify-content:center;align-items:flex-start;height:100%;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;background:0 0;border:none}img{display:block}.app{background:#fff;width:390px;height:100dvh;position:relative;overflow:hidden}.page{flex-direction:column;width:390px;height:100dvh;display:flex;position:relative;overflow:hidden}@media (width>=900px){.app,.page{width:100vw;overflow:visible}}.page-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;padding-bottom:80px;overflow:hidden auto}.page-scroll::-webkit-scrollbar{display:none}.page-title{letter-spacing:-.825px;color:#000;margin-bottom:8px;padding:36px 20px 0;font-size:75px;font-weight:900;line-height:.92}.page-subtitle{letter-spacing:-.323px;color:#000;padding:0 20px;font-size:17px;font-weight:500;line-height:1.5}@media (width>=900px){.page-scroll{padding-bottom:100px}.page-title{padding:60px 60px 0;font-size:120px}.page-subtitle{padding:0 60px;font-size:24px}}.home-page{background:#111;height:100dvh;overflow:hidden}.home-bg{background-color:#0d0d0d;background-image:radial-gradient(at 60% 55%,#b4783259 0%,#0000 60%),radial-gradient(at 30% 70%,#ffb43226 0%,#0000 50%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:absolute;inset:0}.home-bg:after{content:"";opacity:.6;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");background-size:200px 200px;position:absolute;inset:0}.home-content{z-index:1;padding:36px 20px 0;position:relative}.home-title{letter-spacing:-.825px;color:#fff;margin-bottom:16px;font-size:75px;font-weight:900;line-height:.92}.home-subtitle{letter-spacing:-.323px;color:#ffffffe6;margin-top:12px;font-size:17px;font-weight:500;line-height:1.5}@media (width>=900px){.home-content{padding:60px 60px 0}.home-title{white-space:nowrap;margin-bottom:24px;font-size:160px}.home-subtitle{margin-top:20px;font-size:28px}}.bottom-nav{bottom:max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);z-index:100;background:#ffffffd1;border:1px solid #fff9;border-radius:100px;justify-content:space-between;align-items:center;width:370px;height:46px;padding:0 16px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0000001f}.nav-item{letter-spacing:-.475px;color:#0006;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:0;font-family:Geist,sans-serif;font-size:25px;font-weight:600;line-height:1;transition:color .15s}.nav-item--logo{font-size:25px;font-weight:900}.nav-item--active{color:#000}.nav-item:active{opacity:.6}@media (width>=900px){.bottom-nav{width:733px;height:60px;padding:0 32px}.nav-item,.nav-item--logo{font-size:32px}}.creations-page{background:#fff}.creations-canvas{height:520px;position:relative;overflow:hidden}.creation-item{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;position:absolute}.creation-item:active{opacity:.8}.creation-item img{object-fit:cover;border-radius:10px;display:block}.creation-item--sign{width:120px;top:30px;right:30px;transform:rotate(-27deg)}.creation-item--sign img{width:120px;height:154px}.creation-item--fan{bottom:30px;left:36px;transform:rotate(-30deg)}.creation-item--fan img{width:178px;height:130px}@media (width>=900px){.creations-canvas{height:680px}.creation-item--sign{width:200px;top:80px;right:calc(25% - 100px)}.creation-item--sign img{width:200px;height:257px}.creation-item--fan{bottom:60px;left:calc(25% - 150px)}.creation-item--fan img{width:300px;height:220px}}.skills-page{background:#fff}.skill-section{margin-bottom:32px;padding:0 20px}.skill-title{letter-spacing:-.44px;color:#000;margin-bottom:4px;font-size:40px;font-weight:700;line-height:1.5}.skill-body{letter-spacing:-.285px;color:#000;margin-bottom:8px;font-size:15px;font-weight:500;line-height:1.5}.skill-meta{letter-spacing:-.285px;color:#000;margin-bottom:12px;font-size:15px;font-weight:500;line-height:1.5}.skill-image-full{border-radius:10px;margin-top:12px;overflow:hidden}.skill-image-full img{object-fit:cover;border-radius:10px;width:100%;height:263px}.skill-image-pair{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.skill-image-pair img{object-fit:cover;border-radius:10px;width:100%;height:200px}.skills-grid{display:block}@media (width>=900px){.skills-page .page-scroll{padding-bottom:120px}.skills-page>.page-scroll>.skill-section{margin-bottom:40px;padding:0 60px}.skills-grid{grid-template-columns:1fr 1fr;gap:0;padding:0 60px;display:grid}.skills-col{padding-right:40px}.skills-col:last-child{border-left:1px solid #00000014;padding-left:40px;padding-right:0}.skills-col .skill-section{margin-bottom:56px;padding:0}.skill-title{font-size:56px}.skill-body,.skill-meta{font-size:18px}.skill-image-full img{height:440px}.skill-image-pair img{height:300px}}.about-page{background:#fff}.about-bio{letter-spacing:-.391px;color:#000;margin-bottom:32px;padding:0 20px;font-size:17px;font-weight:500;line-height:1.5}.about-timeline{align-items:flex-start;gap:0;padding:0 0 24px;display:flex}.about-portrait{flex-shrink:0;width:158px;margin-left:13px}.about-portrait img{object-fit:cover;filter:blur(8px);border-radius:10px;width:158px;height:211px;transform:scale(1.02)}.about-entries{flex-direction:column;flex:1;gap:20px;padding-left:16px;display:flex}.about-entry{align-items:flex-start;gap:8px;display:flex}.about-year{flex-shrink:0;justify-content:center;align-items:center;width:26px;height:70px;display:flex}.about-year span{letter-spacing:1px;color:#000;writing-mode:vertical-rl;text-orientation:mixed;font-family:Geist Mono,monospace;font-size:12px;font-weight:500;transform:rotate(180deg)}.about-entry-content{flex:1}.about-entry-logos{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.about-entry-text{letter-spacing:-.2px;color:#000;font-size:14px;font-weight:500;line-height:1.5}.logo-ucb,.logo-atlas{object-fit:contain;width:auto;height:16px}.logo-braun,.logo-tu{object-fit:contain;width:auto;height:18px}.logo-flag{object-fit:cover;border-radius:2px;width:24px;height:16px}@media (width>=900px){.about-page .page-scroll{padding:0 60px 120px;position:relative}.about-bio{max-width:58%;margin-bottom:80px;padding:28px 0 0;font-size:24px}.about-portrait{width:360px;margin:0;position:absolute;top:60px;right:0}.about-portrait img{filter:none;border-radius:12px;width:360px;height:480px;transform:none}.about-timeline{align-items:flex-start;gap:0;padding:0}.about-entries{flex-direction:row;flex:1;justify-content:space-between;gap:0;padding:0}.about-entry{flex-direction:column;flex:1;gap:10px;max-width:380px}.about-year{justify-content:flex-start;width:auto;height:auto}.about-year span{writing-mode:horizontal-tb;letter-spacing:3px;font-size:14px;transform:none}.about-entry-text{font-size:18px}.about-entry-logos{margin-bottom:8px}.logo-ucb,.logo-atlas,.logo-braun,.logo-tu{height:22px}.logo-flag{width:30px;height:20px}}.proj-page{background:#fff}.proj-scroll{padding-bottom:80px}.proj-content{padding:0 20px}.proj-main-title{letter-spacing:-.825px;color:#000;margin-bottom:32px;padding-top:36px;font-size:75px;font-weight:900;line-height:.92}.proj-section-title{letter-spacing:-.44px;color:#000;margin-top:24px;margin-bottom:6px;font-size:40px;font-weight:700;line-height:1.5}.proj-sub-title{letter-spacing:-.275px;color:#000;margin-top:16px;margin-bottom:4px;font-size:25px;font-weight:600;line-height:1.5}.proj-body{letter-spacing:-.187px;color:#000;font-size:17px;font-weight:500;line-height:1.5}.proj-intro{margin-bottom:24px;font-size:17px}.proj-image{border-radius:10px;margin-top:16px;overflow:hidden}.proj-image img{object-fit:cover;border-radius:10px;width:100%;height:467px;display:block}.proj-context-cols{display:block}@media (width>=900px){.proj-content{padding:0 60px}.proj-main-title{margin-bottom:40px;padding-top:60px;font-size:120px}.proj-section-title{margin-top:32px;font-size:60px}.proj-sub-title{font-size:32px}.proj-body{font-size:22px}.proj-image img{height:600px}.proj-context-cols{grid-template-columns:1fr 1fr;gap:80px;margin-top:0;display:grid}.proj-context-cols .proj-section-title:first-child{margin-top:0}}.project-nav{bottom:max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);z-index:100;background:#ffffffd1;border:1px solid #fff9;border-radius:100px;justify-content:space-between;align-items:center;width:370px;height:46px;padding:0 12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0000001f}.project-nav__close{color:#00000080;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:0 4px;font-size:18px;font-weight:400;line-height:1;transition:color .15s}.project-nav__close:active{opacity:.5}.project-nav__item{letter-spacing:-.4px;color:#0006;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:0;font-family:Geist,sans-serif;font-size:22px;font-weight:600;line-height:1;transition:color .15s}.project-nav__item--active{color:#000}.project-nav__item:active{opacity:.6}@media (width>=900px){.project-nav{width:900px;height:60px;padding:0 24px}.project-nav__item{font-size:28px}.project-nav__close{font-size:22px}}.proj-image-pair{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.proj-image-pair img{object-fit:cover;border-radius:10px;width:100%;height:165px}.proj-image-side-by-side{grid-template-columns:1fr 1fr;align-items:flex-start;gap:12px;margin-top:8px;display:grid}.proj-image-small img{object-fit:cover;border-radius:10px;width:100%;height:178px}.proj-mono{font-family:Geist Mono,monospace;font-weight:500}.proj-caption{color:#00000080;margin-bottom:4px;font-size:13px}
