@font-face{font-family:Satoshi;src:url(/assets/Satoshi-Regular-CAdxhaPe-CAdxhaPe.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/assets/Satoshi-Medium-GkA34YXu-GkA34YXu.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/assets/Satoshi-MediumItalic-BwwtClOB-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-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-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-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-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-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-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-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-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(/assets/logo-guillaume-zhu-Bjowixu5.svg);mask-image:url(/assets/logo-guillaume-zhu-Bjowixu5.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%}}.site-header__logo-mark--svg{background-color:transparent!important;-webkit-mask-image:none!important;mask-image:none!important}.site-header__logo-mark--svg svg{width:100%;height:100%;display:block;fill:currentColor}.contact__frame{visibility:visible!important}.contact__fallback{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important;opacity:0!important}.contact-3d-split{position:fixed;inset:0;z-index:5;display:grid;grid-template-columns:1.15fr .95fr;align-items:center;gap:clamp(24px,4vw,56px);max-width:1360px;width:100%;margin:0 auto;padding:clamp(90px,12vh,120px) clamp(24px,4vw,56px) 40px;pointer-events:none;box-sizing:border-box}.contact-3d-split__left{display:flex;flex-direction:column;justify-content:center;pointer-events:auto;user-select:text}.contact-3d-split__badge{display:inline-flex;align-items:center;gap:8px;font-family:Satoshi-Variable,Arial,sans-serif;font-size:clamp(11px,.9vw,13px);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#f5e7df;margin-bottom:clamp(14px,2vh,22px);opacity:.9}.contact-3d-split__badge-dot{width:8px;height:8px;border-radius:50%;background-color:#ff6b4a;box-shadow:0 0 12px #ff6b4a;flex-shrink:0}.contact-3d-split__title{font-family:CabinetGrotesk-Variable,Arial,sans-serif;font-size:clamp(38px,4.8vw,80px);font-weight:800;line-height:.92;letter-spacing:-.03em;color:#f5e7df;margin:0 0 clamp(16px,2.5vh,24px);text-shadow:0 4px 30px rgba(0,0,0,.45)}.contact-3d-split__title>span{display:block;width:-moz-fit-content;width:fit-content;cursor:pointer}.contact-3d-split__title .name-bend{display:inline-block!important;position:relative!important;overflow:visible!important;width:auto!important;cursor:pointer;user-select:none}.contact-3d-split__title .name-bend div{display:inline-block!important;position:relative!important;will-change:transform!important}.contact-3d-split__title-accent{color:#f5e7df;opacity:.92}.contact-3d-split__lead{font-family:Satoshi-Variable,Arial,sans-serif;font-size:clamp(14px,1.15vw,17px);line-height:1.55;color:#f5e7df;opacity:.85;max-width:520px;margin:0 0 clamp(20px,3vh,32px);text-shadow:0 2px 12px rgba(0,0,0,.4)}.contact-3d-split__meta{display:flex;flex-wrap:wrap;gap:20px 36px;padding-top:clamp(14px,2vh,20px);border-top:1px solid rgba(245,231,223,.16);max-width:480px}.contact-3d-split__meta-item{display:flex;flex-direction:column;gap:4px}.contact-3d-split__meta-label{font-family:Satoshi-Variable,Arial,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3}.contact-3d-split__meta-value{font-family:Satoshi-Variable,Arial,sans-serif;font-size:14px;font-weight:600;color:#fff}.contact-3d-split__meta-link{font-family:Satoshi-Variable,Arial,sans-serif;font-size:15px;font-weight:600;color:#fff!important;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff73;transition:opacity .2s,text-decoration-color .2s,transform .2s;display:inline-block}.contact-3d-split__meta-link:hover{opacity:.9;text-decoration-color:#fff;transform:translate(2px)}.contact-3d-split__right{display:flex;justify-content:flex-end;pointer-events:auto}.contact-3d-form-panel{width:100%;max-width:500px;background:#1e1c1cc2;background:color-mix(in srgb,#1f1d1d 72%,rgba(255,255,255,.16));-webkit-backdrop-filter:blur(36px) saturate(190%);backdrop-filter:blur(36px) saturate(190%);border:1px solid rgba(255,255,255,.38);border-radius:28px;box-shadow:0 24px 60px #00000059,0 4px 16px #00000026,inset 0 1px 1px #ffffffb3,inset 0 0 24px #ffffff1f;padding:clamp(24px,3.2vw,36px);color:#fff;box-sizing:border-box;position:relative;overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.contact-3d-form-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);pointer-events:none}.contact-3d-form-panel__header{margin-bottom:20px}.contact-3d-form-panel__tag{display:inline-block;font-family:Satoshi-Variable,Arial,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#fff;background:#fff3;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.35);margin-bottom:8px}.contact-3d-form-panel__title{font-family:CabinetGrotesk-Variable,Arial,sans-serif;font-size:clamp(22px,2vw,26px);font-weight:700;color:#fff;margin:0;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(0,0,0,.25)}@media(max-width:991px){.contact-3d-split{position:fixed;inset:0;display:flex;flex-direction:column;grid-template-columns:none;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;padding-top:calc(90px + env(safe-area-inset-top,0px));padding-bottom:max(64px,calc(36px + env(safe-area-inset-bottom,24px)));padding-left:max(20px,env(safe-area-inset-left,20px));padding-right:max(20px,env(safe-area-inset-right,20px));align-items:stretch;gap:32px;pointer-events:auto;height:100%;height:100dvh;box-sizing:border-box}.contact-3d-split__left{max-width:100%}.contact-3d-split__title{font-size:clamp(32px,8.5vw,48px);line-height:.95;word-break:break-word;overflow-wrap:break-word}.contact-3d-split__right{justify-content:stretch}.contact-3d-form-panel{max-width:100%;padding:24px 20px;border-radius:22px}.contact-3d-form__input,.contact-3d-form__textarea{font-size:16px!important}.contact-3d-service-pill{padding:9px 16px;font-size:13px;min-height:40px}.contact-3d-btn{min-height:46px;font-size:15px;padding:12px 20px}}@media(max-width:480px){.contact-3d-form__actions{flex-direction:column;align-items:stretch}.contact-3d-btn{justify-content:center;width:100%;text-align:center}}.contact-3d-form{display:flex;flex-direction:column;gap:16px}.contact-3d-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:580px){.contact-3d-form__row{grid-template-columns:1fr}}.contact-3d-form__group{display:flex;flex-direction:column;gap:6px}.contact-3d-form__label{font-family:Satoshi-Variable,Arial,sans-serif;font-size:12px;font-weight:600;color:#fff;opacity:.95;letter-spacing:.02em}.contact-3d-form__input,.contact-3d-form__textarea{width:100%;background:#ffffff24;border:1px solid rgba(255,255,255,.32);border-radius:12px;color:#fff;font-family:Satoshi-Variable,Arial,sans-serif;font-size:14px;padding:12px 16px;transition:border-color .2s,background-color .2s,box-shadow .2s;box-sizing:border-box}.contact-3d-form__input::placeholder,.contact-3d-form__textarea::placeholder{color:#fff9}.contact-3d-form__input:focus,.contact-3d-form__textarea:focus{outline:none;background:#ffffff3d;border-color:#fff;box-shadow:0 0 0 3px #ffffff40}.contact-3d-form__textarea{resize:vertical;min-height:72px}.contact-3d-service-pills{display:flex;flex-wrap:wrap;gap:8px}.contact-3d-service-pill{background:#ffffff24;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;font-family:Satoshi-Variable,Arial,sans-serif;font-size:12px;font-weight:500;padding:7px 14px;cursor:pointer;transition:all .2s ease;user-select:none}.contact-3d-service-pill:hover{background:#ffffff47;border-color:#fff9}.contact-3d-service-pill.is-active{background:#fff;color:#141416;font-weight:700;border-color:#fff;box-shadow:0 4px 14px #0003}.contact-3d-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px}.contact-3d-btn{font-family:Satoshi-Variable,Arial,sans-serif;font-size:14px;font-weight:600;padding:10px 18px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:all .25s ease;border:none}.contact-3d-btn--primary{background-color:#fff;color:#141416;font-weight:700;box-shadow:0 6px 20px #00000040}.contact-3d-btn--primary:hover{background-color:#f2f2f2;transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.contact-3d-btn--secondary{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.35)}.contact-3d-btn--secondary:hover{background:#ffffff3d;border-color:#fff;color:#fff}.contact-3d-form__status{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fff3;border:1px solid rgba(255,255,255,.35);border-radius:14px;box-sizing:border-box}.contact-3d-form__status-icon{font-size:18px;line-height:1}.contact-3d-form__status-text{font-family:Satoshi-Variable,Arial,sans-serif;font-size:13px;line-height:1.45;color:#fff}.contact-3d-form__status-text strong{display:block;font-weight:700;margin-bottom:2px}.contact-3d-form__status-text p{margin:0;opacity:.9}.contact-3d-form__status-link{color:#fff;font-weight:700;text-decoration:underline}.name-bend{display:inline-block;cursor:pointer;user-select:none}.name-bend div{display:inline-block;will-change:transform}
