:root{--blue:#1d3a8a;--paper:#f6f4ee;--tint:#a9b6dc;--deep:#173072;--serif:'EB Garamond',Garamond,Georgia,serif;--sans:'Space Grotesk',system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--paper);color:var(--blue);-webkit-text-size-adjust:100%}body{font-family:var(--serif)}a{color:inherit;text-decoration:none}a:hover{opacity:.7}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:8px;z-index:20;background:var(--paper);color:var(--blue);padding:8px 12px;font-family:var(--sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.skip:focus{left:8px}.page{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.band{position:relative;background:var(--blue);color:var(--paper);display:grid;place-items:center;padding:0 clamp(20px,4vw,56px);height:clamp(72px,10vh,104px);overflow:hidden}.foot{height:clamp(52px,8vh,64px);font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.foot small{position:relative;z-index:1;font-size:inherit;color:var(--tint);background:var(--blue);padding:4px 8px;text-align:center}.toile{position:absolute;inset:0;display:grid;grid-template-columns:repeat(auto-fill,52px);grid-auto-rows:52px;align-content:center;justify-content:center;color:var(--deep);font-size:22px;letter-spacing:-.06em;text-shadow:0 1px 0 rgba(255,255,255,.12);pointer-events:none;overflow:hidden}.toile-s{grid-template-columns:repeat(auto-fill,32px);grid-auto-rows:32px;font-size:13px}.toile i{display:grid;place-items:center;font-style:normal;line-height:1}.toile i.op::before{content:none}.toile i.ring{width:.5em;height:.5em;border:.07em solid currentColor;border-radius:50%;place-self:center}.toile i.diamond{width:.38em;height:.38em;background:currentColor;transform:rotate(45deg);place-self:center}.toile i.star{width:.62em;height:.62em;background:currentColor;place-self:center;clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%)}.chiffre{position:relative;display:block;width:1.2em;height:1em;line-height:1;font-family:var(--serif);font-weight:400;letter-spacing:0}.chiffre span{position:absolute;top:50%;transform:translate(-50%,-56%)}.chiffre span:first-child{left:40%}.chiffre span:last-child{left:58%}.chiffre-nav{z-index:1;width:1.375em;font-size:clamp(44px,6vh,64px)}.chiffre-hero{font-size:clamp(120px,min(26vmin,44vw),280px)}.hero{display:grid;place-items:center;min-height:0;padding:0 20px}.lockup{margin:0;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2.6vmin,28px);text-align:center;font-weight:400}.wordmark{margin:0;font-weight:400;font-size:clamp(24px,min(5vmin,7.5vw),56px);line-height:1;letter-spacing:.12em;padding-left:.12em;text-transform:uppercase;white-space:nowrap}.rule{width:48px;height:1px;background:var(--blue)}.slogan{margin:0;font-style:italic;font-size:clamp(16px,2.4vmin,24px);width:max-content;max-width:min(90vw,560px);text-wrap:balance}.slogan a{text-decoration:underline;text-underline-offset:3px}.intro{position:fixed;inset:0;z-index:10;background:var(--paper);overflow:hidden;transition:opacity 2.2s cubic-bezier(.65,0,.35,1)}.intro.done{opacity:0;pointer-events:none}.intro.gone{display:none}.stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform:translate(-50%,-50%) scale(var(--cover,1));overflow:hidden;background:var(--paper)}.toile-anim{position:absolute;inset:0}.toile-anim .row{position:absolute;left:0;display:flex;height:120px;animation:tick linear both}.toile-anim .cell{transition:color 1.6s ease-in-out;width:120px;height:120px;display:grid;place-items:center;color:var(--blue);flex:none}.toile-anim .cell>*{animation:pop .7s cubic-bezier(.33,1,.68,1) both;animation-delay:var(--d)}.toile-anim .cell .op{font-size:44px;letter-spacing:-.06em;line-height:1;padding-bottom:.12em}.toile-anim .cell .ring{width:22px;height:22px;border:3px solid currentColor;border-radius:50%}.toile-anim .cell .diamond{width:17px;height:17px;background:currentColor;transform:rotate(45deg)}.toile-anim .cell .star{width:27px;height:27px;background:currentColor;clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%)}.wipe{position:absolute;inset:0;background:var(--blue);opacity:0;animation:wipe 1.6s ease-in-out 3.6s both}.logo{position:absolute;inset:0;background:var(--blue);color:var(--paper);display:grid;place-items:center;opacity:0;animation:fadein .6s ease-out 5.9s both}.logo>*{position:absolute}.mono{left:50%;top:50%;width:400px;height:250px;margin:-150px 0 0 -200px;font-size:250px;line-height:1;animation:shrink .7s cubic-bezier(.65,0,.35,1) 7.7s both}.mono span{position:absolute;top:50%;transform:translate(-50%,-56%);opacity:0;animation:slide 1.1s cubic-bezier(.33,1,.68,1) 6.6s both}.mono .o{left:40%;--from:-80px}.mono .p{left:58%;--from:80px}.word{left:50%;top:50%;transform:translate(-50%,-50%);margin-top:22px;font-size:44px;line-height:1;text-transform:uppercase;white-space:nowrap;letter-spacing:.4em;padding-left:.4em;opacity:0;animation:word 1s cubic-bezier(.65,0,.35,1) 8.3s both}.lrule{left:50%;top:50%;margin:88px 0 0 -24px;width:48px;height:1px;background:var(--paper);transform:scaleX(0);animation:rule .6s cubic-bezier(.33,1,.68,1) 9s both}.tag{left:50%;top:50%;transform:translate(-50%,0);margin-top:110px;font-style:italic;font-size:20px;white-space:nowrap;opacity:0;animation:tag .6s cubic-bezier(.33,1,.68,1) 9.4s both}.skip-intro{position:absolute;right:20px;bottom:20px;z-index:11;background:transparent;border:1px solid currentColor;color:var(--blue);padding:10px 16px;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;mix-blend-mode:difference;color:#fff}@keyframes tick{from{transform:translateX(calc(-1 * var(--shift)))}to{transform:translateX(0)}}@keyframes pop{from{opacity:0;transform:scale(.4) rotate(120deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes wipe{from{opacity:0}to{opacity:1}}@keyframes fadein{to{opacity:1}}@keyframes slide{from{opacity:0;transform:translate(-50%,-56%) translateX(var(--from))}to{opacity:1;transform:translate(-50%,-56%)}}@keyframes shrink{to{transform:scale(.38) translateY(-190px)}}@keyframes word{to{opacity:1;letter-spacing:.12em;padding-left:.12em}}@keyframes rule{to{transform:scaleX(1)}}@keyframes tag{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}@media (prefers-reduced-motion:reduce){.intro{display:none}}