:root{--black: #000000;--white: #ffffff;--grey: #8c8c8c;--line: #333333;--line-strong: #6b6b6b;--error: #ff8a80;--ease: cubic-bezier(.22, .61, .36, 1);--font: "Jost", "Futura", "Century Gothic", "Avenir Next", system-ui, sans-serif;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--black);color:var(--white);font-family:var(--font);font-weight:300;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}img{max-width:100%;height:auto;display:block}:focus-visible{outline:1px solid var(--white);outline-offset:4px}.app{min-height:100%;display:flex;flex-direction:column}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:var(--black);animation:fade 1.4s var(--ease) both}.bg-media{width:100%;height:100%;object-fit:cover}.bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.bg-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1.8s var(--ease)}.bg-slide.is-on{opacity:1}.bg-slide.kb{transform:scale(1.06);transition:opacity 1.8s var(--ease),transform 0s linear 1.8s}.bg-slide.kb.is-on{transform:scale(1);transition:opacity 1.8s var(--ease),transform var(--slide-ms) linear}.reel iframe{width:100%;height:100%;border:0;display:block}.reel .close{z-index:2}@keyframes fade{0%{opacity:0}to{opacity:1}}.header,.stage,.footer{position:relative;z-index:1}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 28px}.header{transition:opacity .6s var(--ease)}.header.is-hidden{opacity:0;pointer-events:none}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;padding-bottom:24px}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:48px;width:100%;max-width:1200px;margin:0 auto;padding:32px 24px 24px;transition:opacity .6s var(--ease),transform .6s var(--ease)}.stage.is-hidden{opacity:0;transform:scale(.98);pointer-events:none}.swap{display:grid;place-items:center;width:100%}.swap-item{grid-area:1 / 1;width:100%;display:flex;justify-content:center;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .45s var(--ease),transform .45s var(--ease),visibility 0s .45s}.swap-item.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .45s var(--ease) .1s,transform .45s var(--ease) .1s,visibility 0s}.logo{margin:0;width:clamp(140px,22vw,240px)}.logo img{animation:rise 1.2s var(--ease) both}.actions{animation:rise 1.2s var(--ease) .25s both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.btn{min-width:148px;padding:11px 26px;border:1px solid var(--line-strong);border-radius:0;font-size:15px;font-weight:400;letter-spacing:.02em;transition:background-color .25s,color .25s,border-color .25s}.btn:hover,.btn.is-active{border-color:var(--white)}.btn.is-active{background:var(--white);color:var(--black)}.btn-solid{background:var(--white);color:var(--black);border-color:var(--white);width:100%;margin-top:8px}.btn-solid:hover{background:transparent;color:var(--white)}.btn-sm{min-width:0;padding:8px 18px;font-size:14px}.btn:disabled{opacity:.5;cursor:default}.link{color:var(--grey);font-size:14px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.link:hover{color:var(--white);border-bottom-color:var(--white)}.muted{color:var(--grey);margin:0}.small{font-size:14px}.form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:4px}.field span{font-size:13px;color:var(--grey)}.field input,.field textarea{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;font-size:16px;font-weight:400;outline:none;transition:border-color .2s}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field textarea:focus{border-bottom-color:var(--white)}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.error{color:var(--error);font-size:14px;margin:0}.sent{text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}.sent-title{font-size:24px;margin:0;font-weight:400}.sent .link{margin-top:16px}.footer{padding:20px 0;font-size:14px;color:var(--grey);transition:opacity .6s var(--ease)}.footer.is-hidden{opacity:0;pointer-events:none}.reel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--black);opacity:0;visibility:hidden;transition:opacity .7s var(--ease),visibility 0s .7s}.reel.is-on{opacity:1;visibility:visible;transition:opacity .7s var(--ease) .2s,visibility 0s}.reel video{width:100%;height:100%;object-fit:contain;background:var(--black)}.close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;width:48px;height:48px;display:grid;place-items:center;border-radius:0;color:var(--white);background:#00000073;transition:background-color .2s}.close:hover{background:#ffffff24}.close-sm{top:10px;right:10px;width:40px;height:40px;background:transparent}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#000000db;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s .35s}.modal.is-on{opacity:1;visibility:visible;transition:opacity .35s var(--ease),visibility 0s}.dialog{position:relative;width:100%;max-width:420px;padding:40px 36px 36px;background:var(--black);border:1px solid var(--line);border-radius:0;display:flex;flex-direction:column;gap:8px}.dialog .form{margin-top:20px;max-width:none}.dialog-title{margin:0;font-size:24px;font-weight:400}.profile{flex:1;display:flex;flex-direction:column}.logo-sm{width:84px}.profile-main{flex:1;padding-top:8vh;padding-bottom:48px}.profile-name{font-size:clamp(32px,6vw,56px);font-weight:400;line-height:1.1;margin:0 0 16px}.projects{margin-top:56px}.section-title{font-size:14px;font-weight:400;color:var(--grey);margin:0 0 16px;letter-spacing:.02em}.project-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.project{display:flex;flex-direction:column;background:var(--black);border:1px solid var(--line);transition:border-color .25s}.project:hover{border-color:var(--line-strong)}.project-media{aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--line)}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.project:hover .project-media img{transform:scale(1.03)}.project-body{flex:1;display:flex;flex-direction:column;gap:4px;padding:24px}.project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-name{font-size:22px;font-weight:400;line-height:1.25}.project-label{flex-shrink:0;margin-top:4px;padding:2px 8px;border:1px solid var(--white);font-size:12px;font-weight:400;letter-spacing:.04em;line-height:1.4}.project-host{font-size:14px;color:var(--grey)}.project-desc{font-size:15px;color:var(--grey);margin:8px 0 0;white-space:pre-line;overflow-wrap:anywhere}.project-desc a{color:var(--white);text-underline-offset:3px}.project-desc a:hover{text-decoration-thickness:2px}.project-foot{margin-top:auto;padding-top:24px;display:flex;flex-wrap:wrap;gap:8px}.project-go{flex:1 1 0;min-width:max-content;padding:8px 14px;color:var(--white);text-decoration:none;text-align:center;white-space:nowrap}.project-go:hover{border-color:var(--white)}.project-go.is-primary{background:var(--white);color:var(--black);border-color:var(--white)}.project-go.is-primary:hover{background:transparent;color:var(--white)}@media (max-width: 520px){.stage{gap:36px}.actions .btn{min-width:0;flex:1 1 140px}.actions{width:100%;max-width:340px}.container{padding:0 20px}.header-inner{padding-top:16px;padding-bottom:16px}.logo-sm{width:72px}.dialog{padding:36px 24px 28px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}
