:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;color:#f2f2ee;background:#080909;font-family:Manrope Variable,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#080909}body{background:#080909;min-height:100dvh;margin:0}button,input,textarea,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline-offset:4px;outline:2px solid #c9ff28}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.directory-page{--directory-bg:#080909;--directory-surface:#0e0f0f;--directory-ink:#f2f2ee;--directory-muted:#9d9f98;--directory-line:#f2f2ee38;--directory-accent:#c9ff28;background:var(--directory-bg);min-height:100dvh;color:var(--directory-ink);overflow:clip}.directory-skip-link{z-index:100;background:var(--directory-accent);color:var(--directory-bg);padding:11px 15px;font-size:13px;font-weight:760;position:fixed;top:10px;left:10px;transform:translateY(-180%)}.directory-skip-link:focus{outline-color:var(--directory-bg);transform:translateY(0)}.directory-hero{border-bottom:1px solid var(--directory-line);align-items:end;min-height:clamp(420px,58vw,760px);padding:clamp(72px,10vw,144px) clamp(20px,4vw,68px);display:grid}.directory-hero__copy{grid-template-columns:minmax(0,8fr) minmax(280px,4fr);align-items:end;gap:clamp(36px,6vw,96px);display:grid}.directory-hero h1,.contact-intro h1{letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(62px,10vw,170px);font-weight:780;line-height:.84}.directory-hero p{max-width:34ch;color:var(--directory-muted);letter-spacing:-.03em;margin:0 0 .2em;font-size:clamp(18px,1.8vw,28px);line-height:1.42}.directory-projects{display:grid}.directory-motion-ready .directory-hero [data-directory-reveal]{opacity:.01;clip-path:inset(0 14% 0 0);transition:opacity .65s cubic-bezier(.16,1,.3,1),clip-path .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translate(-28px)}.directory-motion-ready .directory-hero [data-directory-reveal].is-visible{opacity:1;clip-path:inset(0);transform:translate(0)}@keyframes app-detail-copy-enter{0%{opacity:.01;clip-path:inset(0 14% 0 0);transform:translate(-28px)}to{opacity:1;clip-path:inset(0);transform:translate(0)}}@keyframes app-detail-media-enter{0%{opacity:.01;clip-path:inset(0 0 0 14%);transform:scale(1.018)}to{opacity:1;clip-path:inset(0);transform:scale(1)}}@keyframes contact-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.contact-enter--primary{animation:.65s cubic-bezier(.16,1,.3,1) both contact-enter}.contact-enter--note{animation:.6s cubic-bezier(.16,1,.3,1) 80ms both contact-enter}.app-detail-enter--copy{animation:.78s cubic-bezier(.16,1,.3,1) both app-detail-copy-enter}.app-detail-enter--media{animation:.92s cubic-bezier(.16,1,.3,1) 80ms both app-detail-media-enter}.directory-project{border-bottom:1px solid var(--directory-line);grid-template-columns:minmax(320px,5fr) minmax(0,7fr);height:clamp(320px,38vw,620px);display:grid}.directory-project:focus-visible{outline-offset:-4px}.directory-project__copy{flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(30px,5vw,80px);display:flex}.directory-project__number{color:var(--directory-muted);letter-spacing:.08em;font-size:11px;font-weight:700}.directory-project__name{letter-spacing:-.04em;text-wrap:balance;max-width:10ch;margin-top:auto;font-size:clamp(42px,5.7vw,92px);font-weight:740;line-height:.92}.directory-project__description{max-width:30ch;color:var(--directory-muted);margin-top:22px;font-size:clamp(16px,1.4vw,21px);line-height:1.48}.directory-page .action-label{min-height:48px;color:var(--directory-accent);align-items:center;gap:12px;margin-top:34px;font-size:16px;font-weight:680;display:inline-flex}.directory-page .action-line{transform-origin:100%;background:currentColor;width:clamp(24px,3vw,48px);height:1px;transition:transform .24s cubic-bezier(.16,1,.3,1)}.directory-page .action-label svg{flex:none;transition:transform .24s cubic-bezier(.16,1,.3,1)}.directory-project:hover .action-line,.directory-project:focus-visible .action-line,.contact-submit button:hover .action-line,.contact-submit button:focus-visible .action-line,.contact-gallery a:hover .action-line,.contact-gallery a:focus-visible .action-line{transform:scaleX(1.18)}.directory-project:hover .action-label svg,.directory-project:focus-visible .action-label svg,.contact-submit button:hover .action-label svg,.contact-submit button:focus-visible .action-label svg,.contact-gallery a:hover .action-label svg,.contact-gallery a:focus-visible .action-label svg{transform:translate(5px)}.directory-project__media{border-left:1px solid var(--directory-line);background:#050606;min-width:0;position:relative;overflow:hidden}.directory-project__media img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.directory-motion-ready .directory-project[data-directory-reveal] .directory-project__copy{opacity:.01;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .76s cubic-bezier(.16,1,.3,1);transition-delay:var(--directory-reveal-delay,0s);transform:translate(-28px)}.directory-motion-ready .directory-project[data-directory-reveal] .directory-project__media{clip-path:inset(0 0 0 14%);transition:clip-path .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--directory-reveal-delay,0s)}.directory-motion-ready .directory-project[data-directory-reveal] .directory-project__media img{transition:transform .9s cubic-bezier(.16,1,.3,1);transform:scale(1.035)}.directory-motion-ready .directory-project[data-directory-reveal].is-visible .directory-project__copy{opacity:1;transform:translate(0)}.directory-motion-ready .directory-project[data-directory-reveal].is-visible .directory-project__media{clip-path:inset(0)}.directory-motion-ready .directory-project[data-directory-reveal].is-visible .directory-project__media img{transform:scale(1)}.directory-project__media--contain img{object-fit:contain}.directory-project__media--phone{place-items:center;min-height:0;display:grid}.directory-project__media--phone img{width:auto;height:min(480px,100% - 80px)}.directory-project:hover .directory-project__media img,.directory-project:focus-visible .directory-project__media img,.directory-motion-ready .directory-project[data-directory-reveal].is-visible:hover .directory-project__media img,.directory-motion-ready .directory-project[data-directory-reveal].is-visible:focus-visible .directory-project__media img{transform:scale(1.018)}.directory-closing{color:var(--directory-muted);margin:0;padding:clamp(48px,7vw,104px) clamp(20px,4vw,68px);font-size:15px}.app-detail-hero{border-bottom:1px solid var(--directory-line);grid-template-columns:minmax(360px,5fr) minmax(0,7fr);min-height:calc(100dvh - 76px);display:grid}.app-detail-hero__copy{flex-direction:column;justify-content:flex-end;min-width:0;padding:clamp(44px,5vw,80px);display:flex}.app-detail-back{border-bottom:1px solid var(--directory-line);min-height:44px;color:var(--directory-muted);align-self:flex-start;font-size:14px;font-weight:650;line-height:44px;transition:border-color .18s,color .18s}.app-detail-back:hover,.app-detail-back:focus-visible{border-bottom-color:var(--directory-accent);color:var(--directory-ink)}.app-detail-hero h1{letter-spacing:-.04em;text-wrap:balance;max-width:10ch;margin:auto 0 0;font-size:clamp(58px,7vw,112px);font-weight:760;line-height:.88}.app-detail-hero__copy>p{max-width:36ch;color:var(--directory-muted);margin:28px 0 0;font-size:clamp(17px,1.4vw,21px);line-height:1.5}.app-detail-action{align-self:flex-start}.app-detail-action .action-label{margin-top:32px}.app-detail-action:hover .action-line,.app-detail-action:focus-visible .action-line{transform:scaleX(1.18)}.app-detail-action:hover .action-label svg,.app-detail-action:focus-visible .action-label svg{transform:translate(5px)}.app-detail-hero__media{border-left:1px solid var(--directory-line);background:#050606;min-width:0;position:relative;overflow:hidden}.app-detail-hero__media img{object-fit:cover;width:100%;height:100%}.app-detail-hero__media--contain{padding:clamp(30px,5vw,80px)}.app-detail-hero__media--contain img{object-fit:contain}.app-detail-hero__media--phone{place-items:center;min-height:0;display:grid}.app-detail-hero__media--phone img{width:auto;height:min(680px,100dvh - 180px)}.app-detail-hero__credit{color:#f2f2ee9e;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:11px;font-weight:650;position:absolute;bottom:clamp(14px,2vw,24px);right:clamp(16px,2vw,28px)}.app-legal{border-bottom:1px solid var(--directory-line);grid-template-columns:minmax(280px,5fr) minmax(0,7fr);display:grid}.app-legal__heading{padding:clamp(52px,6vw,96px) clamp(20px,4vw,68px)}.app-legal__heading h2{letter-spacing:-.04em;max-width:8ch;margin:0;font-size:clamp(40px,5vw,76px);font-weight:730;line-height:.94}.app-legal__heading p{max-width:32ch;color:var(--directory-muted);margin:24px 0 0;font-size:16px;line-height:1.55}.app-legal__links{border-left:1px solid var(--directory-line);display:grid}.app-legal__resource-note{border-top:1px solid var(--directory-line);color:var(--directory-muted);margin:0;padding:24px clamp(28px,4vw,60px);font-size:13px;line-height:1.55}.app-legal__pending{border-left:1px solid var(--directory-line);background:var(--directory-surface);align-items:center;min-height:300px;padding:clamp(36px,5vw,72px);display:flex}.app-legal__pending p{max-width:36ch;color:var(--directory-muted);letter-spacing:-.03em;margin:0;font-size:clamp(18px,2vw,28px);line-height:1.45}.app-legal-link{border-bottom:1px solid var(--directory-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;min-height:190px;padding:clamp(28px,4vw,60px);transition:background-color .18s;display:grid}.app-legal-link:last-child{border-bottom:0}.app-legal-link:hover,.app-legal-link:focus-visible{background:var(--directory-surface)}.app-legal-link>span:first-child{gap:12px;display:grid}.app-legal-link strong{letter-spacing:-.04em;font-size:clamp(24px,2.4vw,38px);font-weight:680}.app-legal-link span span{max-width:44ch;color:var(--directory-muted);font-size:15px;line-height:1.5}.app-legal-link>span[aria-hidden=true]{color:var(--directory-accent);font-size:24px;transition:transform .18s}.app-legal-link:hover>span[aria-hidden=true],.app-legal-link:focus-visible>span[aria-hidden=true]{transform:translate(3px,-3px)}.contact-page{min-height:calc(100dvh - 76px)}.contact-intro{border-bottom:1px solid var(--directory-line);grid-template-columns:minmax(0,8fr) minmax(300px,4fr);align-items:end;gap:clamp(36px,6vw,96px);min-height:clamp(520px,67vw,900px);padding:clamp(72px,10vw,144px) clamp(20px,4vw,68px);display:grid}.contact-intro__location{color:var(--directory-muted);margin:0 0 clamp(34px,5vw,72px);font-size:14px;font-weight:620}.contact-intro__note{padding-bottom:.35em}.contact-intro__note p{letter-spacing:-.03em;max-width:24ch;margin:0;font-size:clamp(19px,2vw,30px);font-weight:540;line-height:1.35}.contact-intro__note a{border-bottom:2px solid var(--directory-accent);align-items:center;min-height:48px;margin-top:24px;font-size:clamp(14px,1.2vw,18px);font-weight:680;display:inline-flex}.contact-workspace{grid-template-columns:minmax(0,8fr) minmax(320px,4fr);display:grid}.contact-form{padding:clamp(60px,8vw,126px) clamp(20px,4vw,68px)}.contact-form fieldset{border:0;min-width:0;margin:0;padding:0}.contact-form legend{letter-spacing:-.04em;margin:0 0 28px;font-size:clamp(24px,2.6vw,42px);font-weight:680}.contact-topics{border-top:1px solid var(--directory-line);border-left:1px solid var(--directory-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.contact-topic{border-right:1px solid var(--directory-line);border-bottom:1px solid var(--directory-line);min-height:84px;color:var(--directory-muted);cursor:pointer;align-items:center;padding:18px 20px;font-size:clamp(15px,1.3vw,18px);font-weight:650;transition:background-color .18s,color .18s;display:flex;position:relative}.contact-topic:hover,.contact-topic.is-selected{background:var(--directory-surface);color:var(--directory-ink)}.contact-topic.is-selected{box-shadow:inset 0 -4px var(--directory-accent)}.contact-topic input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.contact-topic:has(input:focus-visible){outline:2px solid var(--directory-accent);outline-offset:4px}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:clamp(48px,6vw,84px);display:grid}.contact-fields label{gap:12px;min-width:0;display:grid}.contact-fields label>span{color:var(--directory-muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:700}.contact-fields input,.contact-fields textarea{border:0;border-bottom:1px solid var(--directory-line);width:100%;color:var(--directory-ink);background:0 0;border-radius:0;padding:13px 0;font-size:17px;line-height:1.5}.contact-fields textarea{resize:vertical;min-height:180px}.contact-fields input:focus,.contact-fields textarea:focus{border-bottom-color:var(--directory-accent);outline:0}.contact-fields input:focus-visible,.contact-fields textarea:focus-visible{outline:2px solid var(--directory-accent);outline-offset:4px}.contact-fields__message{grid-column:1/-1}.contact-submit{justify-content:space-between;align-items:center;gap:28px;margin-top:36px;display:flex}.contact-submit button{cursor:pointer;background:0 0;border:0;padding:0}.contact-submit button .action-label{margin-top:0}.contact-submit p{max-width:36ch;color:var(--directory-muted);text-align:right;margin:0;font-size:12px;line-height:1.5}.contact-gallery{border-left:1px solid var(--directory-line);background:var(--directory-surface);flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(60px,6vw,96px) clamp(28px,4vw,64px);display:flex}.contact-gallery h2{letter-spacing:-.04em;max-width:8ch;margin:0;font-size:clamp(42px,4.8vw,76px);font-weight:730;line-height:.92}.contact-gallery p{max-width:28ch;color:var(--directory-muted);margin:24px 0 0;font-size:16px;line-height:1.55}.contact-gallery a{align-self:flex-start}@media (max-width:820px){.directory-hero{min-height:480px;padding:72px 20px 58px}.directory-hero__copy,.contact-intro{grid-template-columns:1fr}.directory-hero__copy{gap:32px}.directory-hero h1,.contact-intro h1{font-size:clamp(58px,15vw,92px)}.directory-project{grid-template-columns:1fr;height:auto;min-height:0}.directory-project__copy{height:360px;min-height:0;padding:30px 20px}.directory-project__media{aspect-ratio:1200/630;border-top:1px solid var(--directory-line);border-left:0}.directory-project__media--contain{padding:28px 20px}.directory-closing{padding:54px 20px}.app-detail-hero{grid-template-columns:1fr;min-height:auto}.app-detail-hero__copy{min-height:560px;padding:40px 20px 54px}.app-detail-hero--phone .app-detail-hero__copy{min-height:440px}.app-detail-hero__media{aspect-ratio:1200/630;border-top:1px solid var(--directory-line);border-left:0}.app-detail-hero__media--contain{aspect-ratio:auto;min-height:600px;padding:32px 20px}.directory-project__media--phone{min-height:0}.directory-project__media--phone img{height:min(410px,100% - 56px)}.app-detail-hero__media--phone{place-items:start center;height:460px;min-height:0;padding:32px 20px 0}.app-detail-hero__media--phone img{height:min(400px,100% - 32px)}.app-legal{grid-template-columns:1fr}.app-legal__links{border-top:1px solid var(--directory-line);border-left:0}.app-legal__pending{border-top:1px solid var(--directory-line);border-left:0;min-height:260px;padding:48px 20px}.contact-intro{gap:48px;min-height:650px;padding:72px 20px 64px}.contact-intro__note{padding-bottom:0}.contact-workspace{grid-template-columns:1fr}.contact-form{padding:64px 20px 76px}.contact-gallery{border-top:1px solid var(--directory-line);border-left:0;gap:72px;min-height:420px;padding:64px 20px}}@media (max-width:560px){.directory-hero h1,.contact-intro h1{font-size:clamp(48px,16vw,70px)}.directory-project__name{font-size:clamp(42px,13vw,62px)}.contact-topics{grid-template-columns:1fr}.contact-topic{min-height:64px}.contact-fields{grid-template-columns:1fr;gap:28px}.contact-submit{flex-direction:column;align-items:flex-start}.contact-submit p{text-align:left}}@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}}
