:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#e9e6df;--ink:#0b0b0b;--accent:#3137d8;--ink-soft:#6f6e6a;--label:#6f6e6a;--rule:#cccac3;--grain-op:.32;--glass-blur:19px;--f-display:"Gloock", system-ui, sans-serif;--f-body:"Figtree", system-ui, sans-serif;--f-mono:"Barlow Condensed", system-ui, sans-serif;--size-display:15.7vw;--w-display:900;--tr-display:-.037em;--lh-display:1.05;--case-display:none;--size-body:3.2vw;--w-body:100;--tr-body:-.071em;--lh-body:.83;--measure:46ch;--size-row:3.5vw;--size-mono:11.5px;--tr-mono:.31em;--pad:clamp(20px, 5vw, 72px);--ease-out:cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;transition:background-color .4s,color .4s;overflow-x:hidden}.defs{pointer-events:none;width:0;height:0;position:absolute}a{color:inherit;text-decoration:none}ul{list-style:none}.mono,.label,.hud,.row__n,.row__k,.row__y,.row__go,.case__meta,.plate__hint,.contact__foot{font-family:var(--f-mono);font-size:var(--size-mono);letter-spacing:var(--tr-mono);text-transform:uppercase;font-weight:400}.hud{z-index:50;padding:14px var(--pad);color:var(--label);justify-content:space-between;gap:1rem;display:flex;position:fixed;inset:0 0 auto}.hud a{color:inherit}.hud a:hover{color:var(--accent)}.hud__c{opacity:.7}@media (width<=640px){.hud__c{display:none}}body.is-glass .hud{background:color-mix(in srgb, var(--paper) 55%, transparent);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.6);border-bottom:1px solid var(--rule);padding-block:10px}.label{color:var(--label);border-bottom:1px solid var(--rule);margin-bottom:clamp(28px,5vw,60px);padding-bottom:10px;display:block}section{padding:clamp(90px, 14vh, 180px) var(--pad)}.hero{isolation:isolate;flex-direction:column;justify-content:flex-end;min-height:100svh;padding-bottom:clamp(28px,5vh,56px);display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:0;background:var(--hero-bg,url(/hero/ditherhero.webp)) center / cover no-repeat;pointer-events:none;position:absolute;inset:0}.hero.is-bg-off:before,.hero.is-bg-off:after{display:none}.hero:after{content:"";z-index:0;background:linear-gradient(to top, color-mix(in srgb, var(--paper) 92%, transparent) 0%, color-mix(in srgb, var(--paper) 55%, transparent) 42%, color-mix(in srgb, var(--paper) 18%, transparent) 72%, transparent 100%);pointer-events:none;position:absolute;inset:0}.hero__inner{z-index:1;position:relative}.hero__title{--drift:0;font-family:var(--f-display);font-size:var(--size-display);font-weight:var(--w-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);text-transform:var(--case-display)}.hero__title .l{display:block}.hero__title .l:nth-child(2){margin-left:calc(var(--drift) * 6vw)}.hero__title .l:nth-child(3){margin-left:calc(var(--drift) * -3vw)}.hero__lede{max-width:var(--measure);font-family:var(--f-body);font-size:max(1.3rem, var(--size-body));font-weight:var(--w-body);line-height:var(--lh-body);letter-spacing:var(--tr-body);margin-top:clamp(18px,3vh,32px)}.hero__scroll{right:var(--pad);font-family:var(--f-mono);font-size:var(--size-mono);letter-spacing:var(--tr-mono);color:var(--ink-soft);animation:2.4s ease-in-out infinite bob;position:absolute;bottom:clamp(28px,5vh,56px)}@keyframes bob{50%{transform:translateY(6px)}}.skills__rack{flex-wrap:wrap;align-items:baseline;gap:clamp(10px,1.6vw,20px) clamp(16px,2.5vw,36px);max-width:48rem;display:flex}.skill{cursor:default;align-items:baseline;display:inline-flex}.skill__t{font-family:var(--f-body);font-size:max(1.3rem, var(--size-body));font-weight:var(--w-body);letter-spacing:var(--tr-body);line-height:var(--lh-body);background-image:linear-gradient(currentColor,currentColor);background-position:0 92%;background-repeat:no-repeat;background-size:0% 1px;transition:color .35s,background-size .4s cubic-bezier(.22,1,.36,1)}.skill:hover .skill__t{color:var(--accent);background-size:100% 1px}.index__list{border-top:1px solid var(--rule)}.index__list>li{display:block}.row{border-bottom:1px solid var(--rule);color:inherit;grid-template-columns:3.5rem 1fr auto auto;align-items:baseline;gap:clamp(10px,3vw,40px);padding:clamp(18px,2.6vw,32px) 0;display:grid;position:relative}.row--link{cursor:pointer}.row__n,.row__k,.row__y{color:var(--ink-soft);transition:color .35s,opacity .35s}.row__aside{text-align:right;flex-direction:column;align-items:flex-end;gap:.4em;display:flex}.row__y{text-align:right}.row__main{flex-direction:column;gap:.45em;min-width:0;display:flex}.row__t{font-family:var(--f-display);font-size:max(1.35rem, var(--size-row));font-weight:var(--w-display);letter-spacing:var(--tr-display);text-transform:var(--case-display);line-height:1;transition:color .35s,letter-spacing .45s}a.row__t:after{content:"";position:absolute;inset:0}.row__x{max-width:36em;color:var(--ink-soft);font-size:clamp(.85rem,1.1vw,1rem);line-height:1.45;transition:color .35s,opacity .35s}.row__go{z-index:1;color:var(--ink-soft);transition:color .35s;position:relative}.row__go:hover,.row:hover .row__n{color:var(--accent)}.row:hover .row__t{color:var(--accent);letter-spacing:calc(var(--tr-display) + .01em)}.row:hover .row__k,.row:hover .row__y,.row:hover .row__x{opacity:.55}@media (width<=700px){.row__k{display:none}}.expedition{isolation:isolate;min-height:100svh;padding:clamp(90px, 14vh, 180px) var(--pad);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.expedition__media{z-index:0;pointer-events:none;position:absolute;inset:0}.expedition__media:after{content:"";background:linear-gradient(to top, color-mix(in srgb, var(--paper) 92%, transparent) 0%, color-mix(in srgb, var(--paper) 55%, transparent) 42%, color-mix(in srgb, var(--paper) 18%, transparent) 72%, transparent 100%), linear-gradient(to right, color-mix(in srgb, var(--paper) 70%, transparent) 0%, color-mix(in srgb, var(--paper) 25%, transparent) 38%, transparent 70%);position:absolute;inset:0}.expedition__img{object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.expedition__gl{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.expedition__copy{z-index:1;max-width:min(42rem,100%);position:relative}.expedition__title{max-width:min(22ch,100%);font-family:var(--f-display);font-size:max(2.1rem, calc(var(--size-display) * .38));font-weight:var(--w-display);letter-spacing:var(--tr-display);line-height:var(--lh-display);text-transform:var(--case-display);margin-bottom:clamp(36px,6vh,72px)}.expedition__title a{background-image:linear-gradient(currentColor,currentColor);background-position:0 92%;background-repeat:no-repeat;background-size:100% 1px;display:inline}.expedition__title a:hover{color:var(--accent)}.expedition__note{max-width:var(--measure);font-family:var(--f-body);font-size:max(1.2rem, calc(var(--size-body) * .42));font-weight:var(--w-body);letter-spacing:var(--tr-body);color:var(--ink);line-height:1.15}.expedition__note>p+p{margin-top:.85em}.expedition__note .line{display:block}.expedition__note .line__i{display:inline-block}.case{min-height:100svh;padding:clamp(120px, 18vh, 200px) var(--pad) clamp(90px, 14vh, 180px)}.case .label a:hover{color:var(--accent)}.case__title{max-width:16ch;font-family:var(--f-display);font-size:max(2.5rem, calc(var(--size-display) * .55));font-weight:var(--w-display);letter-spacing:var(--tr-display);line-height:var(--lh-display);text-transform:var(--case-display)}.case__lede{max-width:36em;color:var(--ink-soft);margin-top:clamp(18px,3vh,32px);font-size:clamp(.95rem,1.3vw,1.15rem);line-height:1.45}.case__meta{color:var(--ink-soft);gap:1.25rem;margin-top:clamp(20px,3vh,36px);display:flex}.case__go{font-family:var(--f-display);font-size:max(1.65rem, calc(var(--size-display) * .28));font-weight:var(--w-display);letter-spacing:var(--tr-display);overflow-wrap:anywhere;background-image:linear-gradient(currentColor,currentColor);background-position:0 92%;background-repeat:no-repeat;background-size:100% 1px;margin-top:clamp(36px,6vh,72px);line-height:1;display:inline-block}.case__go:hover{color:var(--accent)}.case__body{max-width:min(88rem,100%);font-family:var(--f-body);font-size:max(1.2rem, calc(var(--size-body) * .42));font-weight:var(--w-body);letter-spacing:var(--tr-body);color:var(--ink);overflow-wrap:break-word;margin-top:clamp(48px,8vh,96px);line-height:1.15}.case__band{grid-template-columns:minmax(0, var(--measure)) minmax(0, 1fr);align-items:start;column-gap:clamp(1.75rem,4.5vw,4.5rem);display:grid}.case__band+.case__band{margin-top:2.1em}.case__copy{min-width:0;max-width:var(--measure)}.case__rail{min-width:0;position:sticky;top:5.25rem}.case__copy>p,.case__copy>ul,.case__copy>ol,.case__copy>blockquote,.case__copy>h1,.case__copy>h2,.case__copy>h3,.case__copy>hr,.case__body>p,.case__body>ul,.case__body>ol,.case__body>blockquote,.case__body>h1,.case__body>h2,.case__body>h3,.case__body>hr{max-width:var(--measure)}.case__body h1,.case__body h2,.case__body h3{font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:var(--tr-display);line-height:var(--lh-display);text-transform:var(--case-display)}.case__body h2{font-size:max(1.5rem, calc(var(--size-display) * .22));margin:1.6em 0 .55em}.case__body h3{font-size:max(1.2rem, calc(var(--size-display) * .14));margin:1.4em 0 .45em}.case__body h1:first-child,.case__body h2:first-child,.case__body h3:first-child,.case__copy>h1:first-child,.case__copy>h2:first-child,.case__copy>h3:first-child{margin-top:0}.case__body p+p{margin-top:.85em}.case__body a{background-image:linear-gradient(currentColor,currentColor);background-position:0 92%;background-repeat:no-repeat;background-size:100% 1px}.case__body a:hover{color:var(--accent)}.case__body em,.case__body i{font-style:italic}.case__body strong{font-weight:inherit}.case__body ul,.case__body ol{margin:.95em 0;padding-left:1.2em}.case__body li+li{margin-top:.35em}.case__body hr{max-width:var(--measure);border:0;border-top:1px solid var(--rule);margin:2em 0}.case__body blockquote{border-left:1px solid var(--rule);color:var(--ink-soft);margin:1.2em 0;padding-left:1em}.case__media,.case__body figure,.case__pair,.case__rail>video{width:100%;margin:0;display:block}.case__rail>*+*{margin-top:.9em}.case__media--wide,.case__pair--wide{width:100%}.case__shot{border:1px solid var(--rule);width:100%;color:inherit;font:inherit;text-align:inherit;cursor:zoom-in;appearance:none;background:0 0;margin:0;padding:0;display:block}.case__shot:hover{border-color:var(--accent)}.case__shot:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.is-hover-video{cursor:pointer}.is-hover-video video::-webkit-media-controls{display:none}@media (hover:hover) and (pointer:fine){.is-hover-video:hover video,video.is-hover-video:hover{border-color:var(--accent)}}.is-hover-video.is-playing video,video.is-hover-video.is-playing{border-color:var(--accent)}.case__shot img,.case__media img,.case__media video,.case__body figure img,.case__body figure video,.case__body video,.case__body>p>img,.case__pair img,.case__pair video{width:100%;height:auto;display:block}.case__media img,.case__media video,.case__body figure img,.case__body figure video,.case__body video,.case__body>p>img,.case__pair img,.case__pair video{border:1px solid var(--rule)}.case__shot img{pointer-events:none;border:0}body.is-glass .case__shot{background:color-mix(in srgb, var(--ink) 6%, transparent);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:14px;padding:8px}.case__body figcaption,.case__media figcaption{color:var(--ink-soft);font-family:var(--f-mono);font-size:var(--size-mono);letter-spacing:var(--tr-mono);text-transform:uppercase;margin-top:10px}.case__pair{grid-template-columns:1fr 1fr;gap:clamp(8px,1.2vw,16px);display:grid}html.is-lightbox,html.is-lightbox body{overflow:hidden}.case__lightbox{border:1px solid var(--rule);background:var(--paper);width:max-content;max-width:min(92vw,80rem);max-height:92vh;color:inherit;opacity:0;transition:opacity .2s var(--ease-out), overlay .2s var(--ease-out) allow-discrete, display .2s var(--ease-out) allow-discrete;margin:auto;padding:0;overflow:hidden}.case__lightbox[open]{opacity:1}@starting-style{.case__lightbox[open]{opacity:0}}.case__lightbox::backdrop{background:color-mix(in srgb, var(--paper) 55%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.2);opacity:0;transition:opacity .2s var(--ease-out), overlay .2s var(--ease-out) allow-discrete, display .2s var(--ease-out) allow-discrete}.case__lightbox[open]::backdrop{opacity:1}@starting-style{.case__lightbox[open]::backdrop{opacity:0}}.case__lightbox img{cursor:zoom-out;width:auto;max-width:min(92vw,80rem);height:auto;max-height:92vh;display:block}.plate__stage{position:relative}.plate__canvas{border:1px solid var(--rule);touch-action:none;cursor:crosshair;width:100%;height:clamp(280px,52vh,560px);display:block}body.is-glass .plate__stage{background:color-mix(in srgb, var(--ink) 6%, transparent);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--rule);border-radius:18px;padding:12px}.plate__hint{color:var(--ink-soft);margin-top:10px}.contact{flex-direction:column;min-height:80svh;display:flex}.contact__big{max-width:100%;font-family:var(--f-display);font-size:max(1.5rem, calc(var(--size-display) * .42));font-weight:var(--w-display);letter-spacing:var(--tr-display);overflow-wrap:anywhere;align-self:flex-start;line-height:1.05;display:inline-block}.contact__links{flex-wrap:wrap;gap:10px clamp(18px,4vw,44px);margin-top:clamp(30px,6vh,70px);display:flex}.contact__links a{font-family:var(--f-body);font-size:max(1.15rem, calc(var(--size-body) * .34));font-weight:var(--w-body);display:inline-block}.contact__links a:hover{color:var(--accent)}.contact__foot{color:var(--ink-soft);margin-top:auto;padding-top:clamp(40px,10vh,120px)}.grain{z-index:40;pointer-events:none;opacity:var(--grain-op);mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='0.45'/></svg>");animation:.7s steps(2,end) infinite grain;position:fixed;inset:-5vh -5vw}@keyframes grain{0%{transform:translate(0)}50%{transform:translate(-4vw,3vh)}to{transform:translate(2vw,-2vh)}}.lab{z-index:100;color:#e8e8e8;-webkit-backdrop-filter:blur(18px)saturate(1.4);width:320px;max-height:100svh;font-family:var(--f-mono);letter-spacing:.04em;background:#101012d1;border-left:1px solid #ffffff1f;flex-direction:column;font-size:10px;display:none;position:fixed;top:0;right:0}.lab.is-open{display:flex}.lab__bar{border-bottom:1px solid #ffffff1f;align-items:center;gap:8px;padding:10px 12px;display:flex}.lab__bar strong{letter-spacing:.2em;text-transform:uppercase;opacity:.6}.lab__tabs{flex:1;gap:2px;display:flex}.lab__tabs button,.lab__x,.lab__foot button,.lab__slot-row button,.lab__toggle{font:inherit;color:inherit;cursor:pointer;background:#ffffff14;border:0;padding:4px 7px}.lab__tabs button.is-on{color:#111;background:#e8e8e8}.lab__x{opacity:.5;background:0 0;font-size:14px;line-height:1}.lab__body{padding:10px 12px 14px;overflow-y:auto}.lab__g{text-transform:uppercase;letter-spacing:.14em;opacity:.5;border-top:1px solid #ffffff1a;align-items:center;gap:8px;margin:12px 0 6px;padding-top:8px;display:flex}.lab__g:first-child{border-top:0;margin-top:0;padding-top:0}.lab__g .lab__toggle{opacity:1;margin-left:auto}.lab__row{grid-template-columns:92px 1fr 40px;align-items:center;gap:6px;margin-bottom:4px;display:grid}.lab__row--wide{grid-template-columns:92px 1fr}.lab__row>span{opacity:.65}.lab__row input[type=range]{accent-color:#e8e8e8;width:100%}.lab__row input[type=color]{background:0 0;border:0;width:100%;height:20px;padding:0}.lab__row select{font:inherit;color:inherit;background:#ffffff14;border:0;width:100%;padding:3px}.lab__row output{text-align:right;opacity:.6}.lab__toggle.is-on{color:#111;background:#7cf5d0}.lab__foot{border-top:1px solid #ffffff1f;gap:4px;padding:10px 12px;display:flex}.lab__foot button{flex:1}.lab__slot{flex-direction:column;gap:6px;padding:0 12px 10px;display:flex}.lab__json{resize:vertical;width:100%;min-height:72px;font:inherit;letter-spacing:0;color:inherit;background:#0006;border:1px solid #ffffff1f;padding:6px 7px;font-size:9px;line-height:1.35}.lab__json:focus{outline:1px solid #fff4}.lab__slot-row{gap:4px;display:flex}.lab__slot-row button{flex:1}@media (width<=960px){.case__band{flex-direction:column;gap:1.15em;display:flex}.case__band+.case__band{margin-top:1.8em}.case__copy{max-width:none}.case__rail{position:static}}@media (width<=700px){.hud{padding:12px var(--pad);gap:.65rem}section:not(.hero),.expedition{padding:clamp(40px, 6.5vh, 64px) var(--pad)}.hero__scroll{display:none}.hero__lede{line-height:1.2}.hero__lede,.expedition__title,.expedition__note{max-width:100%}.label{margin-bottom:16px;padding-bottom:8px}.skills__rack{gap:.5em .85em;max-width:none}.skill__t{line-height:1.05}.expedition__note{line-height:1.32}.row{grid-template-columns:2.2rem minmax(0,1fr);gap:8px 12px;padding:16px 0}.row__aside{text-align:left;flex-flow:wrap;grid-column:2;justify-content:flex-start;align-items:baseline;gap:.35em 1em;max-width:none}.row__y{text-align:left}.row__x{font-size:.95rem}.contact{min-height:0}.contact__big{font-size:clamp(1.45rem,7.2vw,2.1rem)}.case{padding:88px var(--pad) 64px}.case__title{max-width:100%}.case__lede{max-width:100%;font-size:1.05rem;line-height:1.4}.case__meta{flex-wrap:wrap;gap:.45rem 1rem}.case__go{margin-top:28px}.case__body{margin-top:40px;line-height:1.35}.case__copy>p,.case__copy>ul,.case__copy>ol,.case__copy>blockquote,.case__copy>h1,.case__copy>h2,.case__copy>h3,.case__copy>hr,.case__body>p,.case__body>ul,.case__body>ol,.case__body>blockquote,.case__body>h1,.case__body>h2,.case__body>h3,.case__body>hr{max-width:none}.case__media,.case__body figure,.case__pair{width:100%}.case__pair{grid-template-columns:1fr}.case__lightbox,.case__lightbox img{max-width:100vw;max-height:100vh}.contact__links{flex-direction:column;align-items:flex-start;gap:12px}.lab{border-bottom:1px solid #ffffff1f;border-left:0;width:100%}.lab__row{grid-template-columns:76px 1fr 36px}.lab__row--wide{grid-template-columns:76px 1fr}}@media (prefers-reduced-motion:reduce){.grain,.hero__scroll{animation:none}}
