.jw-hero{z-index:1;align-items:center;min-height:100svh;display:flex;position:relative}.jw-hero__knot{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.jw-hero__knot path{fill:none;stroke:var(--jw-ink);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.jw-hero__loader{opacity:0;white-space:nowrap;font-family:var(--jw-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--jw-muted);font-variant-numeric:tabular-nums;margin:0;font-size:11px;position:absolute;transform:translate(-50%)}.jw-hero__inner{gap:30px;width:100%;padding-block:72px 40px;display:grid}.jw-page--intro .jw-hero__inner{visibility:hidden}.jw-hero__name{letter-spacing:-.065em;margin:0;font-size:clamp(68px,13.5vw,212px);font-weight:500;line-height:.9}.jw-hero__line{letter-spacing:-.035em;max-width:26ch;margin:0;font-size:clamp(22px,2.7vw,36px);line-height:1.12}.jw-hero__row{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.jw-hero__row>span{display:inline-block}.jw-hero__row+.jw-hero__row{color:var(--jw-muted)}.jw-hero__foot{flex-wrap:wrap;align-items:center;gap:14px 32px;margin-top:18px;display:flex}.jw-hero__status{font-family:var(--jw-font-mono);color:var(--jw-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.jw-hero__dot{background:var(--jw-ink);border-radius:50%;width:6px;height:6px}.jw-hero__cue{font-family:var(--jw-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--jw-muted);align-items:center;gap:12px;margin-left:auto;font-size:11px;display:flex}.jw-hero__cue-line{background:var(--jw-ink);transform-origin:top;width:1px;height:30px;animation:jw-cue 2.4s var(--jw-ease-pen) infinite}@keyframes jw-cue{0%{opacity:1;transform:scaleY(0)}60%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media (width<=759px){.jw-hero__cue{display:none}}.jw-tangle{z-index:2;position:relative}.jw-tangle__stage{background:var(--jw-bg);height:100svh;transition:background-color .4s;position:relative;overflow:hidden}.jw-tangle__svg{width:100%;height:100%;position:absolute;top:0;left:0}.jw-tangle__pen{fill:none;stroke:var(--jw-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.jw-tangle__tip{fill:var(--jw-ink);opacity:0}.jw-tangle__hub{z-index:2;background:var(--jw-bg);white-space:nowrap;letter-spacing:-.04em;color:var(--jw-muted);margin:0;padding:6px 16px;font-size:clamp(22px,2.4vw,34px);font-weight:500;line-height:1.15;transition:background-color .4s,color .6s;position:absolute;top:clamp(56px,9svh,84px);left:50%;translate:-50% -50%}.jw-tangle__hub--on{color:var(--jw-fg)}.jw-tangle__q,.jw-tangle__col{white-space:nowrap;will-change:transform;position:absolute;top:0;left:0}.jw-tangle__q-hand{font-family:var(--jw-font-hand);text-transform:uppercase;font-size:calc(24px * var(--jw-hand-scale));text-shadow:0 0 10px var(--jw-bg), 0 0 4px var(--jw-bg), 0 0 2px var(--jw-bg);line-height:1.1;display:block}.jw-tangle__q-type{letter-spacing:-.015em;opacity:0;font-size:17px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.jw-tangle__q--hot .jw-tangle__q-hand,.jw-tangle__q--hot .jw-tangle__q-type{color:var(--jw-ink)}.jw-tangle__col{font-family:var(--jw-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--jw-muted);opacity:0;font-size:11px}.jw-tangle__caption{text-align:center;color:var(--jw-muted);opacity:0;margin:0;font-size:15px;position:absolute;bottom:7svh;left:0;right:0;transform:translateY(12px)}@media (width<=759px){.jw-tangle__hub{padding-inline:12px;font-size:19px;top:52px}.jw-tangle__q-type{font-size:15px}.jw-tangle__q-hand{font-size:calc(18px * var(--jw-hand-scale))}}.jw-statement{z-index:2;position:relative}.jw-statement__stage{background:var(--jw-bg);align-items:center;height:100svh;transition:background-color .4s;display:flex;position:relative;overflow:hidden}.jw-statement__svg{width:100%;height:100%;position:absolute;top:0;left:0}.jw-statement__pen{fill:none;stroke:var(--jw-ink);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.jw-statement__tip{fill:var(--jw-ink);opacity:0}.jw-statement__lines{z-index:1;gap:clamp(6px,1vw,14px);width:100%;display:grid;position:relative}.jw-statement__line{letter-spacing:-.05em;max-width:22ch;margin:0;font-size:clamp(30px,4.9vw,70px);font-weight:500;line-height:1.06}.jw-statement__line--gap{margin-top:clamp(18px,3vw,40px)}.jw-statement__key{--jw-hl:0;color:color-mix(in srgb, var(--jw-ink) calc(var(--jw-hl) * 100%), var(--jw-fg));font-weight:500}.jw-stitch{z-index:2;position:relative}.jw-stitch__stage{background:var(--jw-bg);align-items:center;height:100svh;transition:background-color .4s;display:flex;position:relative;overflow:hidden}.jw-stitch__svg{width:100%;height:100%;position:absolute;top:0;left:0}.jw-stitch__pen{fill:none;stroke:var(--jw-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.jw-stitch__tip{fill:var(--jw-ink);opacity:0}.jw-stitch__holes circle{fill:var(--jw-muted);opacity:.55}.jw-stitch__inner{z-index:1;width:100%;position:relative}.jw-stitch__head{text-align:center;justify-items:center;gap:16px;margin-bottom:clamp(20px,5vh,56px);display:grid}.jw-stitch__pair{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);align-items:center;padding-block:clamp(12px,2.6vh,28px);display:grid}.jw-stitch__why,.jw-stitch__how{will-change:transform}.jw-stitch__why{text-align:right;grid-column:1}.jw-stitch__how{grid-column:3}.jw-stitch__tag{font-family:var(--jw-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--jw-muted);margin-bottom:8px;font-size:11px;display:block}.jw-stitch__text{letter-spacing:-.025em;margin:0;font-size:clamp(18px,1.9vw,24px);line-height:1.25}.jw-stitch__equals{text-align:center;letter-spacing:-.04em;margin:clamp(24px,6vh,64px) 0 0;font-size:clamp(28px,3.6vw,46px);font-weight:500}.jw-stitch__sign{color:var(--jw-muted)}@media (width<=759px){.jw-stitch__head{gap:8px;margin-bottom:12px}.jw-stitch__head .jw-h2{font-size:28px}.jw-stitch__pair{grid-template-columns:minmax(0,1fr);gap:6px;padding:6px 0 6px 22px}.jw-stitch__why{text-align:left}.jw-stitch__how{grid-column:1}.jw-stitch__text{font-size:16px}.jw-stitch__tag{margin-bottom:2px}.jw-stitch__equals{margin-top:14px;font-size:24px}}.jw-latest{z-index:2;position:relative}.jw-latest__stage{background:var(--jw-bg);height:100svh;transition:background-color .4s;position:relative;overflow:hidden}.jw-latest__svg{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.jw-latest__pen{fill:none;stroke:var(--jw-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.jw-latest__tip{fill:var(--jw-ink);opacity:0}.jw-latest__year{right:max(16px, env(safe-area-inset-right,0px));z-index:0;pointer-events:none;font-family:var(--jw-font-mono);letter-spacing:-.07em;color:#0000;-webkit-text-stroke:1px color-mix(in srgb, var(--jw-muted) 35%, transparent);margin:0;font-size:clamp(120px,22vw,340px);line-height:1;position:absolute;bottom:-.16em;overflow:hidden}.jw-latest__year span{display:inline-block}.jw-latest__grid{z-index:1;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:48px;height:100%;display:grid;position:relative}.jw-latest__head{align-content:center;gap:18px;display:grid}.jw-latest__cats{font-family:var(--jw-font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--jw-muted);flex-wrap:wrap;gap:8px 18px;margin:2px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.jw-latest__cats b{color:var(--jw-fg);font-weight:500}.jw-latest__links{flex-wrap:wrap;gap:10px 28px;margin:0;display:flex}.jw-latest__view{height:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 24% 76%,#0000);mask-image:linear-gradient(#0000,#000 24% 76%,#0000)}.jw-latest__list{will-change:transform;margin:0;padding:0 0 0 44px;list-style:none;position:absolute;top:0;left:0;right:0}.jw-latest__entry{transform-origin:0;will-change:transform, opacity;padding-block:18px}.jw-latest__link{gap:8px;text-decoration:none;display:grid}.jw-latest__meta{font-family:var(--jw-font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--jw-muted);font-size:12px;transition:color .3s}.jw-latest__entry--on .jw-latest__meta{color:var(--jw-ink)}.jw-latest__title{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(26px,3.4vw,46px);font-weight:500;line-height:1.05}.jw-latest__go{color:var(--jw-muted);opacity:0;transition:opacity .4s, transform .4s var(--jw-ease), color .3s;font-size:14px;transform:translate(-6px)}.jw-latest__entry--on .jw-latest__go{opacity:1;transform:none}.jw-latest__link:hover .jw-latest__go{color:var(--jw-ink)}@media (width<=759px){.jw-latest__grid{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-items:stretch;gap:6px;padding-block:24px 0}.jw-latest__head{gap:10px}.jw-latest__head .jw-sub,.jw-latest__cats,.jw-latest__year{display:none}.jw-latest__list{padding-left:32px}.jw-latest__title{font-size:24px}}.jw-frames{z-index:2;position:relative}.jw-frames__stage{--jw-pw:min(40vw, 620px);--jw-ph:calc(var(--jw-pw) * .5625);background:var(--jw-bg);height:100svh;transition:background-color .4s;position:relative;overflow:hidden}.jw-frames__svg{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.jw-frames__pen{fill:none;stroke:var(--jw-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.jw-frames__tip{fill:var(--jw-ink);opacity:0}.jw-frames__head{z-index:2;gap:16px;display:grid;position:absolute;top:clamp(56px,9vh,100px);left:0;right:0}.jw-frames__window{z-index:1;width:var(--jw-pw);height:var(--jw-ph);position:absolute;top:57%;left:50%;transform:translate(-50%,-50%)}.jw-frames__track{will-change:transform;width:100%;position:absolute;top:0;left:0}.jw-frames__item{width:100%;height:var(--jw-ph);background:var(--jw-surface);filter:grayscale();margin:0;transition:filter .9s;position:absolute;left:0;overflow:hidden}.jw-frames__item--landed{filter:grayscale(0)}.jw-frames__img{object-fit:cover;width:100%;max-width:none;height:120%;position:absolute;top:-10%;left:0}.jw-frames__cta{z-index:2;background:var(--jw-ink);color:var(--jw-bg);white-space:nowrap;font-family:var(--jw-font-mono);letter-spacing:.06em;text-transform:uppercase;padding:10px 16px;font-size:12px;text-decoration:none;transition:filter .3s;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.jw-frames__cta:hover{filter:brightness(1.12)}.jw-frames__list{z-index:2;width:min(24vw,300px);margin:0;padding:0;list-style:none;position:absolute;top:57%;left:max(64px,6vw);transform:translateY(-50%)}.jw-frames__pick{cursor:pointer;text-align:left;width:100%;font-family:var(--jw-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--jw-muted);background:0 0;border:0;justify-content:space-between;gap:24px;padding:7px 0;font-size:12px;transition:color .3s;display:flex}.jw-frames__pick:hover{color:var(--jw-fg)}.jw-frames__pick--on{color:var(--jw-ink)}.jw-frames__caption{z-index:2;width:min(22vw,290px);position:absolute;top:57%;right:max(64px,6vw);transform:translateY(-50%)}.jw-frames__mask{overflow:hidden}.jw-frames__text{font-family:var(--jw-font-mono);letter-spacing:.05em;text-transform:uppercase;margin:10px 0 0;font-size:12.5px;line-height:1.9}.jw-frames__ruler{z-index:2;background:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--jw-muted) 45%, transparent) 0 1px, transparent 1px 9px);width:22px;height:min(40vh,320px);position:absolute;top:57%;transform:translateY(-50%)}.jw-frames__ruler--left{left:max(18px, env(safe-area-inset-left,0px))}.jw-frames__ruler--right{right:max(18px, env(safe-area-inset-right,0px))}.jw-frames__mark{background:var(--jw-ink);width:36px;height:2px;position:absolute;top:0;left:0}.jw-frames__ruler--right .jw-frames__mark{left:auto;right:0}@media (width<=759px){.jw-frames__stage{--jw-pw:calc(100vw - 48px)}.jw-frames__list,.jw-frames__ruler{display:none}.jw-frames__window{top:48%}.jw-frames__head{top:24px}.jw-frames__caption{background:color-mix(in srgb, var(--jw-bg) 88%, transparent);width:auto;padding-block:12px;inset:auto 24px 5svh;transform:none}.jw-frames__cta{padding:13px 18px}}.jw-work{z-index:2;position:relative}.jw-work__stage{background:var(--jw-bg);align-items:center;height:100svh;transition:background-color .4s;display:flex;position:relative;overflow:hidden}.jw-work__svg{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.jw-work__pen{fill:none;stroke:var(--jw-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.jw-work__tip{fill:var(--jw-ink);opacity:0}.jw-work__inner{z-index:1;width:100%;position:relative}.jw-work__head{gap:16px;margin-bottom:clamp(28px,6vh,72px);display:grid}.jw-work__rows{margin:0;padding:0;list-style:none}.jw-work__link{transition:opacity .4s var(--jw-ease);grid-template-columns:minmax(0,6fr) minmax(0,3fr) 200px;align-items:center;gap:clamp(20px,3vw,44px);padding-block:clamp(14px,2.4vh,26px);text-decoration:none;display:grid}@media (hover:hover){.jw-work__rows:has(.jw-work__link:hover) .jw-work__link:not(:hover){opacity:.3}}.jw-work__left{justify-items:start;gap:8px;display:grid}.jw-work__kind{font-family:var(--jw-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--jw-muted);font-size:11px}.jw-work__name{letter-spacing:-.05em;transition:transform .5s var(--jw-ease);padding-right:calc(.62em + 24px);font-size:clamp(36px,4.4vw,64px);font-weight:500;line-height:1.02}.jw-work__mid{align-content:center;gap:10px;display:grid}.jw-work__what{color:var(--jw-muted);font-size:15px;line-height:1.5}.jw-work__url{font-family:var(--jw-font-mono);letter-spacing:.04em;font-size:12px}.jw-work__thumb{aspect-ratio:16/9;background:var(--jw-surface);position:relative;overflow:hidden}.jw-work__thumb img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--jw-ease)}.jw-work__link:hover .jw-work__name{transform:translate(8px)}.jw-work__link:hover .jw-work__thumb img{transform:scale(1.05)}@media (width<=759px){.jw-work__link{grid-template-columns:minmax(0,1fr);gap:8px;padding-block:10px 16px}.jw-work__thumb,.jw-work__head .jw-sub{display:none}.jw-work__name{font-size:32px}.jw-work__what{font-size:14px}}.jw-contact{z-index:1;padding-block:clamp(110px,15vw,200px) 110px;position:relative}.jw-contact__kicker{margin-bottom:22px}.jw-contact__title{letter-spacing:-.065em;margin:0 0 30px;font-size:clamp(50px,9.4vw,150px);font-weight:500;line-height:.95}.jw-contact__sub{max-width:42ch;color:var(--jw-muted);margin:0 0 28px;font-size:18px}.jw-contact__chips{flex-wrap:wrap;gap:14px 16px;margin-bottom:34px;display:flex}.jw-contact__note{gap:10px;max-width:560px;margin:-8px 0 32px;display:grid}.jw-contact__input{font:inherit;letter-spacing:-.01em;color:var(--jw-fg);background:linear-gradient(var(--jw-ink), var(--jw-ink)) left bottom / 0% 1.6px no-repeat, linear-gradient(var(--jw-line), var(--jw-line)) left bottom / 100% 1px no-repeat;transition:background-size .7s var(--jw-ease-pen);border:0;outline:none;padding:10px 0;font-size:19px}.jw-contact__input:focus{background-size:100% 1.6px,100% 1px}.jw-contact__input:focus-visible{outline:none}.jw-contact__input::placeholder{color:var(--jw-muted);opacity:.55}.jw-contact__actions{flex-wrap:wrap;align-items:center;gap:16px 28px;margin-bottom:28px;display:flex}.jw-button{background:var(--jw-ink);color:var(--jw-bg);letter-spacing:-.01em;align-items:center;gap:12px;padding:16px 24px;font-size:16px;font-weight:500;text-decoration:none;transition:filter .3s;display:inline-flex}.jw-button__arrow{transition:transform .4s var(--jw-ease)}.jw-button:hover{filter:brightness(1.1)}.jw-button:hover .jw-button__arrow{transform:translate(6px)}.jw-contact__now{font-family:var(--jw-font-mono);letter-spacing:.04em;color:var(--jw-muted);flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font-size:12px;display:flex}.jw-contact__pulse{background:var(--jw-ink);border-radius:50%;width:6px;height:6px;animation:2.4s ease-out infinite jw-pulse}@keyframes jw-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--jw-ink) 55%, transparent)}70%,to{box-shadow:0 0 0 8px #0000}}@media (width<=759px){.jw-chip{padding:12px 18px}}.jw-thread{z-index:0;pointer-events:none;position:absolute;top:0;left:0;overflow:hidden}.jw-thread__ghost{fill:none;stroke:var(--jw-line);stroke-width:1.2px;stroke-linejoin:round;transition:opacity 1.2s}.jw-thread__ink{fill:none;stroke:var(--jw-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.jw-thread__tip{fill:var(--jw-ink);opacity:0}.jw-thread__stop{fill:var(--jw-ink);transform-box:fill-box;transform-origin:50%;transition:transform .7s cubic-bezier(.34,1.8,.64,1);transform:scale(0)}.jw-thread__stop--on{transform:scale(1)}.jw-dock__roll{height:1.35em;line-height:1.35em;display:inline-block;overflow:hidden}.jw-dock__num,.jw-dock__name{display:inline-block}.jw-dock__num{color:var(--jw-ink)}.jw-dock__name{color:var(--jw-fg)}
