:root{--bg:#f2e7d2;--bg-raise:#faf3e5;--bg-sunk:#e6d9bf;--paper:#f5f0e6;--fg:#1d1d21;--fg-dim:rgba(29,29,33,.68);--muted:#7d7768;--line:rgba(29,29,33,.12);--line-strong:rgba(29,29,33,.24);--accent:#1f3a8a;--accent-2:#c8233f;--font-display:var(--font-hand);--font-body:var(--font-hand);--font-mono:var(--font-hand);--paint-1:#2b3f9e;--paint-2:#eba42c;--paint-3:#3f7d3a;--paint-4:#cf3f2c;--paint-5:#5a3a8e;--grid-unit:24px;--grid-line-major:rgba(20,22,26,.09);--shadow-md:0 2px 6px rgba(20,22,26,.06),0 12px 32px rgba(20,22,26,.07);--gutter:clamp(20px,4.4vw,76px);--max:1680px;--radius:3px;--radius-lg:8px;--step-label:18px;--ease-out:cubic-bezier(0.16,1,0.3,1)}.sheet__title{position:relative;text-decoration:underline;text-decoration-thickness:max(1.5px,.03em);text-underline-offset:.14em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}html.is-locked,html.is-locked body{overflow:hidden}body{background-color:var(--bg);color:var(--fg);font-family:var(--font-body),system-ui,sans-serif;font-size:clamp(20px,.5vw + 17px,23px);font-weight:500;line-height:1.62;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--paper);pointer-events:none}body:has([data-electronics]):before,body:has([data-learn]):before{display:none}body:has([data-electronics]){background:#1d3a96}html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}html.has-custom-cursor :is(input[type=search],input[type=text],textarea,pre,pre *){cursor:text!important}canvas,img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{background:none;border:0;cursor:pointer}button,input,select,textarea{font:inherit;color:inherit}ol,ul{list-style:none}::selection{background:var(--accent);color:#05050a}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:100px}.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}.skip-link{position:fixed;top:12px;left:12px;z-index:100001;padding:10px 18px;background:var(--accent);color:#05050a;font-family:var(--font-mono),monospace;font-size:17px;border-radius:100px;transform:translateY(-160%);transition:transform .3s var(--ease-out)}.skip-link:focus{transform:translateY(0)}.mono-label{display:inline-block;font-family:var(--font-mono),monospace;font-size:var(--step-label);font-weight:400;color:var(--muted);line-height:1.4}em{font-style:italic}code{font-family:var(--font-mono),monospace;font-size:.88em;color:var(--accent);background:rgba(31,58,138,.07);padding:.1em .36em;border-radius:2px}.grain{z-index:9998;opacity:.038;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}.cursor-wash,.grain{position:fixed;inset:0;pointer-events:none}.cursor-wash{width:100vw;height:100vh;z-index:99999;mix-blend-mode:multiply}.cursor-cord{position:fixed;inset:0;z-index:10000;pointer-events:none;mix-blend-mode:difference;opacity:0;transition:opacity .25s}.cursor-cord.is-visible{opacity:1}.cursor-cord.is-away{opacity:0}.cursor-cord__follow,.cursor-cord__knot{position:absolute;top:0;left:0}.cursor-cord__knot{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff}.cursor-cord__body{display:block;width:30px;height:30px;margin:-15px 0 0 -15px;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.cursor-cord__body svg{display:block;width:100%;height:100%;overflow:visible}.cursor-cord__body path{fill:none;stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.cursor-cord__body circle{fill:#fff}.cursor-cord.is-active .cursor-cord__body{transform:scale(2)}.cursor-cord.is-pressed .cursor-cord__body{transform:scale(1.5)}.cursor-cord__label{position:absolute;left:100%;top:50%;margin-left:10px;transform:translateY(-50%) scale(.5);transform-origin:left center;font:500 13px/1 var(--pg-mono),ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#fff;white-space:nowrap;opacity:0;transition:opacity .2s}.cursor-cord.is-labelled .cursor-cord__label{opacity:1}.cursor-brush{position:fixed;top:0;left:0;z-index:100000;pointer-events:none;opacity:0;will-change:transform}.cursor-brush__lean{position:absolute;left:0;top:0;transform-origin:0 0;transition:opacity .15s}.cursor-brush__body{position:absolute;left:-4px;top:-46px;width:76px;height:50px;max-width:none;transform-origin:4px 46px;transition:transform .35s var(--ease-out);filter:drop-shadow(2px 3px 2px rgba(60,45,20,.18))}.cursor-brush.is-active .cursor-brush__body{transform:rotate(-12deg) scale(1.1)}.cursor-brush.is-away .cursor-brush__label,.cursor-brush.is-away .cursor-brush__lean{opacity:0}.cursor-brush.is-pressed .cursor-brush__body{transform:rotate(-4deg) scale(.94);transition-duration:.12s}.cursor-brush__label{position:absolute;left:14px;top:10px;white-space:nowrap;font-family:var(--font-hand),cursive;font-size:21px;line-height:1;color:var(--fg);padding:0 2px 3px;background:hsla(42,56%,96%,.92);border-radius:3px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .3s var(--ease-out)}.cursor-brush.is-labelled .cursor-brush__label{opacity:1;transform:none}.loader{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:var(--gutter);pointer-events:none}.loader__figure{margin:0;display:grid;justify-items:center;grid-gap:4px;gap:4px}.loader__drawing{display:block;width:min(200px,42vw,30vh);aspect-ratio:1;overflow:visible}.loader__cord{fill:none;stroke:var(--paint-1);stroke-width:1.4;stroke-linejoin:round;transition:stroke-dashoffset .15s linear}.loader__knot{fill:var(--fg);transition:opacity .2s}.loader__peg{fill:var(--paint-1);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.loader__name{margin-top:26px;font-family:var(--font-studio),Georgia,serif;font-weight:300;font-size:clamp(36px,3.6vw,56px);line-height:1.15;letter-spacing:-.01em;color:var(--fg);white-space:nowrap;-webkit-clip-path:inset(-.2em calc((1 - var(--p, 1)) * 100%) -.3em 0);clip-path:inset(-.2em calc((1 - var(--p, 1)) * 100%) -.3em 0);transition:-webkit-clip-path .15s linear;transition:clip-path .15s linear;transition:clip-path .15s linear,-webkit-clip-path .15s linear}.loader__count{position:absolute;right:var(--gutter);bottom:var(--gutter);font:500 15px/1 var(--pg-mono),ui-monospace,monospace;letter-spacing:.16em;color:var(--fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.loader__of{color:var(--muted)}.curtain,.preloader{position:fixed;inset:0;pointer-events:none}.preloader{z-index:20000;color:var(--fg);pointer-events:auto}html:not(.is-loading) .preloader{display:none}.curtain{z-index:19000}.curtain__sheet,.preloader__sheet{position:absolute;inset:0;background:var(--paper)}.curtain__sheet{-webkit-clip-path:polygon(101% 0,101% 0,101% 100%,101% 100%);clip-path:polygon(101% 0,101% 0,101% 100%,101% 100%)}.curtain__edge,.preloader__edge{position:absolute;top:-5vh;left:0;width:140px;height:110vh;margin-left:-70px;opacity:0;pointer-events:none;background:linear-gradient(90deg,rgba(60,45,20,0),rgba(60,45,20,.16) 44%,hsla(42,37%,86%,.95) 50%,hsla(42,56%,96%,.6) 62%,hsla(42,56%,96%,0))}.curtain__mark{position:absolute;inset:0;opacity:0}.nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px var(--gutter);will-change:transform}.nav:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,hsla(40,43%,93%,.92) 0,hsla(40,43%,93%,.6) 55%,transparent);opacity:0;transition:opacity .5s;pointer-events:none;z-index:-1}.nav.is-scrolled:before{opacity:1}.nav__mark{flex:none;color:var(--fg)}.nav__mark,.studio-mark{display:inline-flex;align-items:center}.studio-mark{gap:12px}.studio-mark__cord{display:block;overflow:visible}.studio-mark__cord path{fill:none;stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:var(--len);stroke-dashoffset:0}.studio-mark__peg{fill:currentColor}.studio-mark__word{font-family:var(--font-studio),Georgia,serif;font-weight:300;font-size:clamp(19px,1.5vw,23px);line-height:1;letter-spacing:-.005em;white-space:nowrap}.nav__logo{color:var(--paint-1)}.nav__logo .studio-mark__cord{flex:none;width:clamp(30px,2.4vw,36px);height:auto;aspect-ratio:1}.nav__logo .studio-mark__word{color:var(--fg)}@keyframes studio-relay{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}.nav__mark:hover .studio-mark__cord path{animation:studio-relay .9s cubic-bezier(.55,0,.25,1)}@media (max-width:560px){.nav__logo .studio-mark__word{display:none}}.nav__menu{--pill:var(--fg);--pill-ink:var(--paper);position:relative;flex:none;display:inline-flex;align-items:center;gap:14px;height:46px;padding:0 18px 0 22px;border-radius:999px;background:var(--pill);color:var(--pill-ink);font:600 13px/1 var(--pg-mono),ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:background .5s var(--ease-out),color .5s var(--ease-out),transform .4s var(--ease-out)}.nav__menu:hover{transform:scale(1.04)}.nav__menu:active{transform:scale(.97)}.nav__menu:focus-visible{outline:2px solid var(--pill);outline-offset:4px}.nav__menu-label{position:relative;display:grid;height:1em;overflow:hidden}.nav__menu-label span{grid-area:1/1;transition:transform .6s cubic-bezier(.76,0,.24,1)}.nav__menu-label span:last-child{transform:translateY(110%)}.nav__menu-icon{position:relative;width:20px;height:12px}.nav__menu-icon i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .6s cubic-bezier(.76,0,.24,1),top .6s cubic-bezier(.76,0,.24,1)}.nav__menu-icon i:first-child{top:0}.nav__menu-icon i:last-child{top:10px;transform-origin:center}.nav__menu:hover .nav__menu-icon i:last-child{transform:scaleX(.6)}.nav.is-open .nav__menu{--pill:#ffc62e;--pill-ink:#0d0d12}.nav.is-open .nav__menu-label span:first-child{transform:translateY(-110%)}.nav.is-open .nav__menu-label span:last-child{transform:none}.nav.is-open .nav__menu-icon i{top:5px}.nav.is-open .nav__menu-icon i:first-child{transform:rotate(45deg)}.nav.is-open .nav__menu-icon i:last-child,.nav.is-open .nav__menu:hover .nav__menu-icon i:last-child{transform:rotate(-45deg)}.nav.is-open:before{opacity:0}.nav.is-open .nav__logo,.nav.is-open .nav__logo .studio-mark__word{color:#f4f3ee}body:has([data-electronics]) .nav,body:has([data-learn]) .nav{padding-top:18px;padding-bottom:18px}body:has([data-learn]) .nav:before{background:linear-gradient(180deg,hsla(48,22%,95%,.9),hsla(48,22%,95%,0))}body:has([data-learn]) .nav__logo{color:#5b3fe0}body:has([data-learn]) .nav__logo .studio-mark__word{color:#12131a}body:has([data-learn]) .nav__menu{--pill:#0e1433;--pill-ink:#fff}body:has([data-electronics]) .nav:before{background:linear-gradient(180deg,rgba(29,58,150,.94),rgba(29,58,150,0))}body:has([data-electronics]) .nav__logo,body:has([data-electronics]) .nav__logo .studio-mark__word{color:#f5f7ff}body:has([data-electronics]) .nav__menu{--pill:#f5f7ff;--pill-ink:#1d3a96}.menu{position:fixed;inset:0;z-index:490;visibility:hidden;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;color:#f4f3ee;outline:none}.menu:target{visibility:visible}.menu__ground,.menu__wash{position:fixed;inset:0}.menu__wash{background:#2d43d4}.menu__ground{background:#0d0d12}.menu__inner{position:relative;min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;grid-column-gap:clamp(24px,5vw,96px);column-gap:clamp(24px,5vw,96px);grid-row-gap:40px;row-gap:40px;padding:clamp(96px,12vh,140px) var(--gutter) clamp(22px,3.5vh,36px)}.menu__list{list-style:none;margin:0;padding:0;align-self:center}.menu__link{position:relative;display:grid;grid-template-columns:clamp(36px,4vw,64px) minmax(0,1fr);align-items:baseline;padding:clamp(8px,1.4vh,14px) 0 clamp(14px,2vh,22px);color:inherit;text-decoration:none;transition:opacity .45s var(--ease-out)}.menu__mask{overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}.menu__mask,.menu__rise{display:block}.menu__num{font:500 clamp(13px,1vw,15px) /1 var(--pg-mono),ui-monospace,monospace;letter-spacing:.14em;color:hsla(50,21%,95%,.5);transition:color .3s}.menu__title{font:700 clamp(36px,min(7.4vw,8.4vh),116px) /.98 var(--pg-mono),ui-monospace,monospace;letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;transition:transform .6s var(--ease-out),color .3s}.menu__note-mask{grid-column:2}.menu__note{margin-top:8px;font:400 clamp(13px,1.05vw,16px) /1.4 var(--pg-mono),ui-monospace,monospace;color:hsla(50,21%,95%,.55)}.menu__link.is-here .menu__num{color:#ffc62e}.menu__link.is-here .menu__num:after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:50%;background:#ffc62e;vertical-align:.1em}.menu__list:hover .menu__link:not(:hover){opacity:.32}.menu__link:focus-visible .menu__title,.menu__link:hover .menu__title{transform:translateX(clamp(8px,1.2vw,20px));color:#ffc62e}.menu__link:focus-visible .menu__num,.menu__link:hover .menu__num{color:#ffc62e}.menu__link:focus-visible{outline:none}.menu__rule{position:absolute;left:clamp(36px,4vw,64px);right:0;bottom:4px;height:6px}.menu__rule:before{content:"";left:3px;right:3px;top:2px;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.65,0,.35,1)}.menu__rule i,.menu__rule:before{position:absolute;background:#ffc62e}.menu__rule i{top:0;width:6px;height:6px;border-radius:50%;transform:scale(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.menu__rule i:first-child{left:0}.menu__rule i:last-child{right:0}.menu__link:focus-visible .menu__rule i,.menu__link:focus-visible .menu__rule:before,.menu__link:hover .menu__rule i,.menu__link:hover .menu__rule:before{transform:none}.menu__link:focus-visible .menu__rule i:last-child,.menu__link:hover .menu__rule i:last-child{transition-delay:.42s}.menu__cord{align-self:center;width:clamp(200px,26vw,420px);height:auto;overflow:visible}.menu__cord path{fill:none;stroke:hsla(50,21%,95%,.85);stroke-width:.45;stroke-linejoin:round;stroke-dasharray:var(--len)}.menu__cord circle{fill:#ffc62e}.menu__foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-top:22px;border-top:1px solid hsla(50,21%,95%,.14)}.menu__small{font:500 12px/1.4 var(--pg-mono),ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:hsla(50,21%,95%,.72);text-decoration:none;transition:color .3s}a.menu__small:focus-visible,a.menu__small:hover{color:#ffc62e}.menu__legal{display:contents}.menu__year{margin-left:auto;color:hsla(50,21%,95%,.4)}@media (max-width:860px){.menu__inner{grid-template-columns:minmax(0,1fr)}.menu__cord{display:none}}@media (max-width:560px){.nav{padding-left:14px;padding-right:14px}.nav__logo .studio-mark__cord{width:28px}.nav__menu{height:42px;padding:0 14px 0 18px;gap:12px}.menu__inner{padding-left:18px;padding-right:18px}.menu__year{margin-left:0}}body:has([data-app]),body:has([data-film]),html:has([data-app]),html:has([data-film]){height:100%;overflow:hidden}body:has([data-app]) .endpaper,body:has([data-electronics]) .endpaper,body:has([data-film]) .endpaper,body:has([data-learn]) .endpaper{display:none}body:has([data-film-dark]) .nav:not(.is-scrolled) .nav__logo,body:has([data-film-dark]) .nav:not(.is-scrolled) .nav__logo .studio-mark__word,body:has([data-film-dark]) .nav:not(.is-scrolled) .nav__mark{color:#f3eee2}body:has([data-film-dark]) .nav:not(.is-open) .nav__menu{--pill:#f3eee2;--pill-ink:#0d0d12}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.08s!important;scroll-behavior:auto!important}.curtain{display:none}}@media (max-width:700px){body,html{overflow-x:clip}}.endpaper{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;padding:28px var(--gutter) 32px;border-top:1px solid var(--line);color:var(--muted)}.endpaper__year{font-family:var(--font-hand),cursive;font-size:18px}.endpaper__legal{display:flex;flex-wrap:wrap;gap:6px 20px}.endpaper__legal a{color:var(--muted);font-family:var(--font-hand),cursive;font-size:18px}.endpaper__legal a:hover{color:var(--fg)}.sheet{position:relative;min-height:78svh;padding:clamp(120px,18vh,190px) var(--gutter) clamp(60px,10vh,110px)}.sheet:before{content:none;position:absolute;top:0;bottom:0;left:calc(var(--gutter) * .55);width:1px;background:var(--accent-2);opacity:.25}.sheet__head{display:grid;grid-gap:12px;gap:12px;max-width:62rem}.sheet__back{justify-self:start;display:inline-flex;align-items:center;gap:8px;margin-bottom:4px;font-family:var(--font-hand),cursive;font-size:clamp(20px,1.6vw,24px);color:var(--fg-dim);transition:color .2s}.sheet__back svg{width:34px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease-out)}.sheet__back:focus-visible,.sheet__back:hover{color:var(--fg)}.sheet__back:focus-visible svg,.sheet__back:hover svg{transform:translateX(-4px)}.sheet__kicker{font-family:var(--font-hand),cursive;font-weight:600;font-size:clamp(24px,2vw,32px);color:var(--fg);opacity:.75}.sheet__title{justify-self:start;font-family:var(--font-display),cursive;font-weight:700;font-size:clamp(56px,calc(7vw + 26px),156px);line-height:.88;color:var(--fg);text-wrap:balance}.sheet__lead{display:flex;align-items:flex-start;gap:10px;max-width:min(34ch,100%);margin-top:6px;font-family:var(--font-hand),cursive;font-size:clamp(27px,2.6vw,40px);line-height:1.12;color:var(--fg);opacity:.75;transform-origin:left center}.sheet__lead>div{min-width:0}.sheet__lead p{margin:0}.sheet__arrow{display:none;flex:none;width:clamp(46px,4.6vw,70px);height:clamp(40px,4vw,60px);margin-top:.35em;overflow:visible}.sheet__arrow path{fill:none;stroke:var(--paint-4);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sheet__actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 26px;margin-top:clamp(30px,5vh,56px);font-family:var(--font-hand),cursive;font-size:26px}.sheet__actions a{color:var(--fg)}.sheet__primary{font-family:var(--font-display),sans-serif;font-weight:700;font-size:clamp(24px,2vw,32px);color:var(--fg)!important;text-decoration:underline;-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor;text-decoration-thickness:1.5px;text-underline-offset:7px}