@font-face{font-family:Satoshi;src:url(/assets/Satoshi-Regular-CAdxhaPe.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/assets/Satoshi-Medium-GkA34YXu.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/assets/Satoshi-MediumItalic-BwwtClOB.woff2)format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Satoshi;src:url(/assets/Satoshi-Bold-CT_TuBnL.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Satoshi-Variable;src:url(/assets/Satoshi-Variable-ChAXbpFa.ttf)format("truetype");font-weight:300 900;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-VariableItalic;src:url(/assets/Satoshi-VariableItalic-Bb7sdEFv.ttf)format("truetype");font-weight:300 900;font-display:swap;font-style:italic}@font-face{font-family:CabinetGrotesk-Thin;src:url(/assets/CabinetGrotesk-Thin-D4W8aEVO.woff2)format("woff2");font-weight:100;font-display:swap;font-style:normal}@font-face{font-family:CabinetGrotesk-Regular;src:url(/assets/CabinetGrotesk-Regular-BLnZls-E.woff2)format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:CabinetGrotesk-Medium;src:url(/assets/CabinetGrotesk-Medium-eM6zIJLo.woff2)format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:CabinetGrotesk-Bold;src:url(/assets/CabinetGrotesk-Bold-ChXdH3YW.woff2)format("woff2");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:CabinetGrotesk-Variable;src:url(/assets/CabinetGrotesk-Variable-BZl-SSEF.woff2)format("woff2");font-weight:100 900;font-display:swap;font-style:normal}body{font-family:CabinetGrotesk-Bold,Arial,Helvetica,sans-serif}.text-manifesto{font-size:9.375rem;font-weight:700;line-height:1}.text-manifesto-secondary{font-size:6.25rem;font-weight:700;line-height:1}.text-title{font-size:7.8125rem;font-weight:700;line-height:.9}.text-subtitle{font-size:2.5rem;font-weight:400;line-height:1}.text-project{font-size:5rem;font-style:italic;font-weight:500;line-height:1}.text-body{font-size:1.25rem;font-weight:500;line-height:1.5}.text-button{font-size:1.25rem;font-weight:700;line-height:1.5}.text-nav{font-size:1.5rem;font-weight:500;line-height:1}:root{--color-cream:#f5e7df;--color-dark:#1f1d1d;--border-radius-block:40px;--border-radius-card:15px;--padding-min:1rem;--letter-spacing-display:-.025em}.site-header{z-index:1000;width:100%;color:var(--current-interface-color,var(--color-dark));pointer-events:none;will-change:transform;justify-content:space-between;align-items:center;padding:26px 32px;transition:color .4s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;left:0}.site-header__logo,.site-header__nav,.site-header__link{pointer-events:auto}.site-header__logo{width:clamp(36px,4vw,48px);height:clamp(36px,4vw,48px);color:inherit;display:block}.site-header__logo:focus-visible{outline-offset:4px;outline:2px solid}.site-header__logo-mark{background-color:currentColor;width:100%;height:100%;display:block;-webkit-mask-image:url(/brand/logo-guillaume-zhu.svg);mask-image:url(/brand/logo-guillaume-zhu.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.site-header__nav{border:1px solid color-mix(in srgb, var(--header-capsule-color,#fff) 10%, transparent);background-color:color-mix(in srgb, var(--header-capsule-color,#fff) 20%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:999px;align-items:center;gap:clamp(12px,2.8vw,40px);height:clamp(56px,5vw,72px);padding-inline:clamp(7px,2.5vw,36px);transition:background-color .35s cubic-bezier(.22,1,.36,1);display:flex}body[data-header-capsule-variant=soft-white] .site-header__nav{background-color:#ffffff0d;border-color:#ffffff14}.site-header__link{color:inherit;font-family:Satoshi-Variable,Arial,Helvetica,sans-serif;font-size:clamp(15px,1.1vw,18px);font-weight:500;line-height:1;text-decoration:none;position:relative}.site-header__link:focus-visible{outline-offset:4px;outline:2px solid}.site-header__language-switch{color:inherit;white-space:nowrap;cursor:pointer;pointer-events:auto;background:0 0;border:0;flex-shrink:0;align-items:center;gap:.3em;padding:0;font-family:Satoshi-Variable,Arial,Helvetica,sans-serif;font-size:clamp(15px,1.1vw,18px);font-weight:500;line-height:1;display:inline-flex}.site-header__language-switch span{opacity:.45;transition:opacity .25s}.site-header__language-switch span.is-active{opacity:1}.site-header__language-switch span:first-child,.site-header__language-switch span:last-child{position:relative}.site-header__language-switch span:first-child:after,.site-header__language-switch span:last-child:after{content:"";transform-origin:0;background-color:currentColor;width:100%;height:1px;transition:transform .35s;position:absolute;bottom:-.3em;left:0;transform:scaleX(0)}.site-header__language-switch:hover span:first-child:not(.is-active),.site-header__language-switch:hover span:last-child:not(.is-active),.site-header__language-switch:focus-visible span:first-child:not(.is-active),.site-header__language-switch:focus-visible span:last-child:not(.is-active){opacity:1}.site-header__language-switch:hover span:first-child:not(.is-active):after,.site-header__language-switch:hover span:last-child:not(.is-active):after,.site-header__language-switch:focus-visible span:first-child:not(.is-active):after,.site-header__language-switch:focus-visible span:last-child:not(.is-active):after{transform:scaleX(1)}.site-header__language-switch:focus-visible{outline-offset:4px;outline:2px solid}@media (width>=700px){.site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.site-header__logo{grid-column:1;justify-self:start}.site-header__nav{grid-column:2}}@media (width<=600px){.site-header{padding:24px clamp(12px,4vw,24px)}.site-header__nav{gap:clamp(6px,2vw,12px);height:52px;padding-inline:clamp(9px,2.7vw,16px)}.site-header__link--secondary{display:none}}@media (width<=380px){.site-header__nav{gap:6px;height:48px;padding-inline:14px}.site-header__link,.site-header__language-switch{font-size:clamp(13px,3.9vw,14px)}}:where(.site-header__link:not(.site-header__link--playground),.text-link,.project-context__link,.credits-page__back,.credits-list__license,.credits-resource__links a){width:fit-content;display:inline-block;position:relative}:where(.site-header__link:not(.site-header__link--playground),.text-link,.project-context__link,.credits-page__back,.credits-list__license,.credits-resource__links a):after{content:"";transform-origin:0;pointer-events:none;background-color:currentColor;width:100%;height:1px;transition:transform .35s;position:absolute;bottom:-.2em;left:0;transform:scaleX(0)}:where(.site-header__link:not(.site-header__link--playground),.text-link,.project-context__link,.credits-page__back,.credits-list__license,.credits-resource__links a):hover:after,:where(.site-header__link:not(.site-header__link--playground),.text-link,.project-context__link,.credits-page__back,.credits-list__license,.credits-resource__links a):focus-visible:after{transform:scaleX(1)}.playground-link__word,.playground-link__letter{display:inline-block}.page-transition{--page-transition-radius-x:min(60vh, 42vw);--page-transition-radius-y:60vh;z-index:9999;background-color:var(--color-cream);border-top-left-radius:var(--page-transition-radius-x) var(--page-transition-radius-y);border-bottom-left-radius:var(--page-transition-radius-x) var(--page-transition-radius-y);pointer-events:none;will-change:transform, border-radius;width:140vw;height:120vh;display:block;position:fixed;top:-10vh;left:-20vw}.page-transition--cream{background-color:var(--color-cream)}.page-transition--dark{background-color:var(--color-dark)}html,body{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}.contact-page{--contact-frame-inset:clamp(8px, calc(2.5vw - 8px), 16px);--contact-frame-radius:18px;--current-interface-color:var(--color-cream);background-color:var(--color-cream);min-height:100dvh;color:var(--color-cream);font-family:Satoshi-Variable,Arial,Helvetica,sans-serif}.site-header{z-index:3}.contact{isolation:isolate;position:fixed;inset:0}.contact__frame{inset:var(--contact-frame-inset);z-index:0;background-color:var(--color-dark);border-radius:var(--contact-frame-radius);visibility:hidden;position:fixed}.contact__canvas{z-index:1;visibility:hidden;opacity:0;pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}.contact.is-webgl-ready .contact__frame,.contact.is-webgl-fallback .contact__frame{visibility:visible}.contact.is-webgl-ready .contact__canvas{visibility:visible;opacity:1}.contact__fallback{inset:var(--contact-frame-inset);z-index:2;visibility:hidden;pointer-events:none;grid-template-rows:1fr auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:end;row-gap:clamp(18px,1.5vw,24px);padding:clamp(96px,8vw,152px) clamp(24px,4vw,72px) clamp(28px,4vw,64px);display:grid;position:fixed}.contact.is-webgl-ready .contact__fallback,.contact.is-webgl-fallback .contact__fallback{visibility:visible}.contact__heading{width:min(86vw,1100px);letter-spacing:var(--letter-spacing-display);text-align:center;margin:0;font-family:CabinetGrotesk-Variable,Arial,Helvetica,sans-serif;font-size:clamp(64px,9.4vw,180px);font-weight:700;line-height:.82;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)}.contact__heading span{display:block}.contact__availability{text-align:center;position:absolute;top:69%;left:50%;transform:translate(-50%)}.contact__availability p,.contact__services ul{margin:0}.contact__availability p:first-child{font-size:clamp(16px,1.35vw,24px);font-weight:500}.contact__availability p:last-child{opacity:.65;margin-top:5px;font-size:clamp(13px,1vw,17px)}.contact__services{grid-area:2/1}.contact__services ul{padding:0;font-size:clamp(13px,1vw,16px);line-height:1.35;list-style:none}.contact__email{color:inherit;pointer-events:auto;grid-area:3/1;justify-self:start;font-size:clamp(13px,1vw,16px);line-height:1.35;text-decoration:none}.contact__email:focus-visible{outline-offset:4px;outline:2px solid}.contact.is-webgl-ready .contact__fallback>:not(.contact__email){clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:fixed;overflow:hidden}.contact.is-webgl-ready .contact__email{--contact-email-hit-padding:8px;top:calc(var(--contact-email-top) - var(--contact-email-hit-padding));left:calc(var(--contact-email-left) - var(--contact-email-hit-padding));z-index:1;width:calc(var(--contact-email-width) + var(--contact-email-hit-padding) * 2);height:calc(var(--contact-email-height) + var(--contact-email-hit-padding) * 2);clip:auto;clip-path:none;color:#0000;white-space:nowrap;cursor:pointer;pointer-events:auto;background:0 0;border:0;margin:0;padding:0;position:fixed;overflow:hidden}.contact.is-webgl-ready .contact__email:focus-visible{top:auto;left:50%;right:auto;bottom:max(24px, env(safe-area-inset-bottom));z-index:1;clip:auto;clip-path:none;width:max-content;max-width:calc(100vw - 32px);height:auto;color:var(--color-dark);background:var(--color-cream);outline:2px solid var(--color-dark);outline-offset:3px;white-space:normal;text-align:center;pointer-events:auto;border-radius:999px;margin:0;padding:12px 18px;position:fixed;overflow:visible;transform:translate(-50%)}@media (width<=700px){.contact__fallback{grid-template-rows:1fr auto auto;grid-template-columns:1fr;gap:18px;padding:88px 24px 32px}.contact__heading{width:calc(100% - 40px);font-size:clamp(48px,16vw,78px);line-height:.88;top:42%;transform:translate(-50%,-50%)}.contact__availability{width:calc(100% - 48px);top:64%}.contact__services{grid-area:2/1}.contact__email{grid-area:3/1;justify-self:start}}@media (orientation:landscape) and (height<=500px){.contact__fallback{padding:72px 28px 24px}.contact__heading{font-size:clamp(44px,10vw,78px);line-height:.84;top:46%}.contact__availability{top:70%}}
