@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/caa77eaf0c6cae2c-s.31vfkycla13v0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/6260001f568fa40d-s.0c4siir8-ephk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/2aa781f449db21e3-s.p.1pg2nifvadz06.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_fae02c0f-module__38T9RG__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_fae02c0f-module__38T9RG__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
:root{--bg:#fff;--bg-2:#f6f6f7;--frame:#ebebee;--text:#0e0e0f;--text-dim:#56565a;--text-ghost:#c8c8cc;--line:#0e0e1021;--line-strong:#0e0e104d;--accent:#ba2c13;--accent-ink:#fff;--font-body:var(--font-display);--r-sm:12px;--r-md:18px;--r-lg:26px;--r-pill:999px;--fs-hero:clamp(2.4rem, 8vw, 8.5rem);--fs-wordmark:clamp(3rem, 15.5vw, 14rem);--fs-statement:clamp(1.9rem, 6vw, 5.5rem);--fs-h2:clamp(1.7rem, 5vw, 4.5rem);--fs-work:clamp(1.9rem, 5.6vw, 5rem);--fs-stat:clamp(4.5rem, 13vw, 12rem);--fs-index:clamp(1rem, 2.2vw, 1.7rem);--fs-lead:clamp(1.35rem, 2.7vw, 2.4rem);--fs-body:clamp(1rem, .7rem + .8vw, 1.15rem);--fs-label:.76rem;--pad-x:clamp(1.25rem, 5vw, 5.5rem);--section-y:clamp(6rem, 13vh, 11rem);--maxw:1920px;--ease:cubic-bezier(.22, 1, .36, 1);--dur:.5s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body), system-ui, sans-serif;font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}.hero__statement,.section__title,.section__num,.work__title,.work__index,.stat__num,.wordmark,.contact__cta,.contact__email,.principle__text,.principle__num,.statement,.process__label,.cover__name,.about__lead,.marquee__item{font-family:var(--font-display), system-ui, sans-serif;font-optical-sizing:auto}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--pad-x);margin-inline:auto}.section{padding-block:var(--section-y)}.label{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.16em;color:var(--text-dim);font-weight:600}.section__head{align-items:baseline;gap:1rem;margin-bottom:clamp(2.5rem,6vw,5rem);display:flex}.section__num{font-size:var(--fs-index);letter-spacing:-.02em;color:var(--accent);font-weight:400}.section__title{font-size:var(--fs-h2);letter-spacing:-.025em;font-weight:400;line-height:.98}.word-mask,.word-rise{display:inline}.reveal{display:block}.frame{background:var(--frame);border:1px solid var(--line);border-radius:6px;align-items:flex-end;display:flex;position:relative;overflow:hidden}.frame>img,.frame>video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.frame__label{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim);margin:.85rem;font-weight:600;position:relative}.btn{background:var(--text);color:var(--bg);font-family:var(--font-body), system-ui, sans-serif;letter-spacing:-.01em;border:1px solid var(--text);border-radius:var(--r-pill);transition:background var(--dur) var(--ease), color var(--dur) var(--ease), transform .2s var(--ease);align-items:center;gap:.55rem;padding:.95rem 1.6rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{color:var(--text);background:0 0;transform:scale(1.04)}.btn:active{transform:scale(.98)}.btn--sm{padding:.6rem 1.05rem;font-size:.82rem}.brandmark{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-pill);font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.01em;text-transform:none;align-items:center;padding:.32em .85em;font-size:.95rem;font-weight:600;line-height:1.2;display:inline-flex;transform:rotate(-2deg)}.nav{display:contents}.nav__brand{top:clamp(.9rem,1.8vw,1.35rem);left:var(--pad-x);z-index:50;height:2.3rem;font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.04em;color:#fff;mix-blend-mode:difference;transition:opacity var(--dur) var(--ease);align-items:center;font-size:1.45rem;font-weight:350;display:inline-flex;position:fixed}.nav__brand:hover{opacity:.6}.nav__actions{top:clamp(.9rem,1.8vw,1.35rem);right:var(--pad-x);z-index:50;align-items:center;gap:clamp(.65rem,1.2vw,1rem);display:flex;position:fixed}.nav__social{color:var(--text);transition:opacity var(--dur) var(--ease);justify-content:center;align-items:center;display:inline-flex}.nav__social:hover{opacity:.6}.nav__links{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.14em;gap:1.75rem;font-weight:600;display:none}.nav__link{color:var(--text-dim);transition:color var(--dur) var(--ease)}.nav__link:hover{color:var(--text)}@media (min-width:800px){.nav__links{display:flex}}.hero{min-height:100svh;padding:clamp(7rem, 16vh, 10rem) var(--pad-x) clamp(3rem, 7vh, 5rem);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow-x:clip}.hero__content{position:relative}.hero__portrait{pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;height:clamp(680px,118vh,1440px);position:absolute;bottom:clamp(-22rem,-26vh,-8rem);right:clamp(-3rem,-1vw,1.5rem)}@media (min-width:961px) and (max-width:1300px){.hero__portrait{height:clamp(560px,92vh,1000px)}}@media (max-width:960px){.hero{justify-content:start;padding-bottom:clamp(7rem,20vh,10rem)}.hero__portrait{width:clamp(280px,82vw,460px);height:auto;bottom:clamp(-7rem,-12vh,-2rem);right:clamp(-5rem,-12vw,-1rem)}}@media (max-width:600px){.hero{min-height:auto;padding-bottom:clamp(1rem,2.5vh,1.75rem)}.hero__content{order:1}.hero__portrait{order:2;width:clamp(300px,86vw,460px);height:auto;margin-top:clamp(1.25rem,4vh,2.25rem);margin-left:auto;margin-right:clamp(-1.5rem,-4vw,0rem);position:static;bottom:auto;right:auto}}.hero__greeting{letter-spacing:-.02em;color:var(--text);margin-bottom:clamp(2.25rem,4.5vw,4.25rem);font-size:clamp(1.3rem,1rem + 1vw,2.1rem);font-weight:400;line-height:1.08}.hero__greeting span{display:block}.hero__wave{vertical-align:-.18em;width:auto;height:1em;margin-left:.3em;display:inline-block}.hero__title{font-family:var(--font-display), system-ui, sans-serif;font-optical-sizing:none;letter-spacing:-.03em;color:#fff;mix-blend-mode:difference;font-size:clamp(2.6rem,8vw,8.5rem);font-weight:350;line-height:.5}.hero__line{margin-block:-.34em;padding-block:.34em;display:block;overflow:hidden}.hero__line>span{white-space:nowrap;will-change:transform;display:inline-block}.hero__highlight{font-weight:400}.hero__foot{flex-wrap:wrap;align-items:center;gap:clamp(1.25rem,3vw,2rem);margin-top:clamp(2.25rem,4.5vw,3.5rem);display:flex}.hero__link{letter-spacing:-.01em;padding-bottom:2px;font-size:.96rem;font-weight:400;position:relative}.hero__link:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform var(--dur) var(--ease);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.hero__link:hover:after{transform:scaleX(1)}.hero__audit{color:var(--text-dim);margin-top:clamp(1.5rem,3vw,2.25rem);font-size:.95rem}.hero__doodle{width:clamp(70px,7vw,120px);color:var(--accent);pointer-events:none;position:absolute;bottom:clamp(4.5rem,11vh,8rem);left:clamp(28rem,53vw,64rem)}.hero__doodle svg{width:100%;height:auto;display:block;transform:scaleX(-1)}@media (max-width:999px){.hero__doodle{display:none}}.hero__audit a{color:var(--text-dim);transition:color var(--dur) var(--ease);align-items:center;gap:.4rem;display:inline-flex}.hero__audit a:hover{color:var(--text)}@media (max-width:760px){.hero__title{font-size:clamp(1.85rem,9.6vw,3.1rem)}}.techstack{align-items:center;display:inline-flex}.techstack__chip{background:var(--bg-2);border:1px solid var(--line-strong);width:54px;height:54px;transition:transform var(--dur) var(--ease), margin var(--dur) var(--ease);border-radius:13px;place-items:center;margin-left:-14px;display:grid;box-shadow:0 6px 18px #0e0e100f}.techstack__chip:first-child{margin-left:0}.techstack__chip:nth-child(odd){transform:rotate(-4deg)translateY(4px)}.techstack__chip:nth-child(2n){transform:rotate(4deg)translateY(-4px)}.techstack:hover .techstack__chip{margin-left:7px;transform:none}.techstack:hover .techstack__chip:first-child{margin-left:0}.marquee{border-block:1px solid var(--line);white-space:nowrap;padding-block:clamp(.9rem,2.2vw,1.5rem);display:flex;overflow:hidden}.marquee__track{will-change:transform;flex:none;align-items:center;gap:3rem;padding-right:3rem;display:inline-flex}.marquee__item{letter-spacing:-.02em;align-items:center;gap:3rem;font-size:clamp(1.1rem,2.4vw,2rem);font-weight:400;display:inline-flex}.marquee__item:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.statement{letter-spacing:-.025em;font-size:clamp(1.35rem,2.5vw,2.5rem);font-weight:400;line-height:1.25}.statement p{margin-block:.08em}@media (min-width:961px){.statement-sec{padding-top:clamp(8rem,28vh,18rem)}}@media (max-width:960px){.statement-sec{padding-top:clamp(10rem,22vh,13rem);padding-bottom:clamp(2rem,5vh,3.5rem)}}@media (max-width:600px){.statement-sec{padding-top:clamp(1.5rem,4vh,2.5rem)}}.covers{cursor:grab;width:100vw;margin-left:calc(50% - 50vw);padding-block:clamp(2rem,4vw,3.25rem);overflow:hidden}.covers:active{cursor:grabbing}.covers__track{padding-inline:var(--pad-x);will-change:transform;gap:clamp(1rem,2vw,1.75rem);display:inline-flex}.cover{-webkit-user-select:none;user-select:none;flex:none;width:clamp(290px,33vw,470px)}.cover__card{aspect-ratio:3/2.05;background:var(--text);color:#fff;transition:transform var(--dur) var(--ease);border-radius:14px;flex-direction:column;justify-content:space-between;gap:1.25rem;padding:clamp(1.4rem,2vw,2rem);display:flex;position:relative;overflow:hidden}.cover:hover .cover__card{transform:translateY(-6px)}.cover__head{justify-content:space-between;align-items:center;display:flex}.cover__cat{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.14em;color:#ffffff94}.cover__dot{background:var(--accent);border-radius:50%;width:9px;height:9px}.cover__name{letter-spacing:-.025em;font-size:clamp(1.5rem,2.2vw,2.1rem);font-weight:400;line-height:.98}.cover__one{color:#ffffffb8;margin-top:.65rem;font-size:.98rem;line-height:1.32}.cover__foot{flex-direction:column;gap:.55rem;display:flex}.cover__metric{color:var(--accent);font-size:1.05rem;font-weight:600}.cover__stack{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.1em;color:#ffffff73}.work__list{border-bottom:1px solid var(--line)}.work__row{border:none;border-top:1px solid var(--line);cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--text-dim);transition:color var(--dur) var(--ease), padding-left var(--dur) var(--ease);background:0 0;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(1rem,3vw,2.5rem);padding-block:clamp(1.2rem,2.4vw,1.8rem);display:grid}.work__row:hover{color:var(--text);padding-left:clamp(.5rem,1.5vw,1.25rem)}.work__index{font-size:var(--fs-index);letter-spacing:-.02em;color:var(--text-dim);transition:color var(--dur) var(--ease);font-weight:400}.work__row:hover .work__index{color:var(--accent)}.work__title{font-size:var(--fs-work);letter-spacing:-.03em;font-variation-settings:"wght" 400;transition:font-variation-settings var(--dur) var(--ease);font-weight:400;line-height:1}.work__row:hover .work__title{font-variation-settings:"wght" 560}.work__tagline{max-width:26ch;font-size:var(--fs-body);color:var(--text-dim);text-align:right;font-weight:400}.work__arrow{color:var(--accent);opacity:0;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);transform:translate(-8px)}.work__row:hover .work__arrow{opacity:1;transform:translate(0)}@media (max-width:820px){.work__row{grid-template-columns:auto 1fr;row-gap:.4rem}.work__tagline{text-align:left;grid-column:2}.work__arrow{display:none}}.process__title{margin-bottom:clamp(2.5rem,6vw,5rem)}.timeline{flex-direction:column;display:flex}.tstep{position:relative}.tstep__rule{background:var(--line-strong);transform-origin:0;width:100%;height:1px;display:block}.tstep__row{grid-template-columns:auto minmax(6rem,.8fr) minmax(0,1.5fr);align-items:baseline;gap:clamp(1.25rem,4vw,4rem);padding:clamp(1.5rem,3.2vw,2.6rem) clamp(.6rem,1.4vw,1.3rem);display:grid;position:relative}.tstep__fill{background:var(--text);transform-origin:0;transition:transform var(--dur) var(--ease);pointer-events:none;position:absolute;inset:0;transform:scaleX(0)}.tstep:hover .tstep__fill{transform:scaleX(1)}.tstep__num,.tstep__label,.tstep__desc{color:#fff;mix-blend-mode:difference;position:relative}.tstep__num{letter-spacing:-.02em;font-size:clamp(1.2rem,2.2vw,2.1rem);font-weight:400}.tstep__label{letter-spacing:-.025em;font-size:clamp(1.9rem,4.2vw,3.6rem);font-weight:400;line-height:.9}.tstep__desc{color:#a0a0a4;max-width:42ch;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.32}@media (max-width:760px){.tstep__row{grid-template-columns:auto 1fr;row-gap:.9rem}.tstep__desc{grid-column:1/-1}}.about{gap:clamp(2.5rem,6vw,4.5rem);display:grid}.about__top{grid-template-columns:1fr;align-items:end;gap:clamp(2rem,5vw,4rem);display:grid}.about__lead{font-size:var(--fs-statement);letter-spacing:-.03em;max-width:18ch;font-weight:400;line-height:1.04}.about__note{max-width:44ch;font-size:var(--fs-lead);color:var(--text-dim);font-weight:400;line-height:1.25}.about__portrait{aspect-ratio:4/5;width:100%;max-width:360px}.stats{grid-template-columns:repeat(2,1fr);gap:clamp(.5rem,1vw,.85rem);display:grid}.stat{background:var(--bg-2);border-radius:var(--r-md);padding:clamp(1.5rem,3vw,2.5rem)}.stat__num{font-size:var(--fs-stat);letter-spacing:-.045em;font-weight:400;line-height:.84}.stat__label{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);max-width:22ch;margin-top:1rem;font-weight:600}@media (min-width:820px){.about__top{grid-template-columns:1.4fr .7fr}.about__portrait{justify-self:end}.stats{grid-template-columns:repeat(4,1fr)}}.principle{border-top:1px solid var(--line);grid-template-columns:4rem 1fr;align-items:start;gap:1.5rem;padding-block:clamp(1.5rem,3.5vw,2.4rem);display:grid}.principle:last-child{border-bottom:1px solid var(--line)}.principle__num{font-size:var(--fs-index);color:var(--text-dim);font-weight:400}.principle__text{letter-spacing:-.02em;font-size:clamp(1.5rem,3.4vw,2.7rem);font-weight:400;line-height:1.08}.contact{padding-block:clamp(7rem,16vh,12rem)}.contact__cta{letter-spacing:-.04em;max-width:14ch;font-size:clamp(2.4rem,9vw,8rem);font-weight:400;line-height:.92}.contact__email{letter-spacing:-.03em;transition:color var(--dur) var(--ease);margin-top:clamp(2rem,5vw,3.5rem);font-size:clamp(1.5rem,4.5vw,3.5rem);font-weight:400;display:inline-block}.contact__email:hover{color:var(--accent)}.contact__actions{flex-direction:column;align-items:flex-start;gap:clamp(1.75rem,4vw,2.75rem);margin-top:clamp(2.25rem,5vw,3.5rem);display:flex}.contact__actions .contact__email{margin-top:0}.contact__alt{max-width:46ch;color:var(--text-dim);font-size:clamp(.9rem,1vw,1rem);line-height:1.55}.contact__alt-link{color:var(--text);text-underline-offset:3px;transition:color var(--dur) var(--ease);text-decoration:underline;text-decoration-thickness:1px}.contact__alt-link:hover{color:var(--accent)}.contact__socials{gap:1.5rem;margin-top:clamp(2.5rem,6vw,4rem);display:flex}.contact__social{color:var(--text);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.14em;transition:color var(--dur) var(--ease);align-items:center;gap:.55rem;font-weight:600;display:inline-flex}.contact__social:hover{color:var(--accent)}.footer{padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(1.5rem,3vw,2.5rem);container-type:inline-size}.footer__bar{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(1.5rem,4vw,3rem);font-weight:600;display:flex}.footer__social{transition:color var(--dur) var(--ease);align-items:center;gap:.55rem;display:inline-flex}.footer__social:hover{color:var(--text)}.footer__name{overflow:hidden}.footer__name>span{transform-origin:0 100%;white-space:nowrap;font-family:var(--font-display), system-ui, sans-serif;font-optical-sizing:none;letter-spacing:-.04em;text-transform:uppercase;font-size:27.5cqw;font-weight:800;line-height:.9;display:block}.work__title{color:var(--text)}.work__main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.work__cat{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim)}.work__metric{font-size:var(--fs-body);color:var(--text-dim);text-align:right;transition:color var(--dur) var(--ease);font-weight:500}.work__row:hover .work__metric{color:var(--accent)}@media (max-width:820px){.work__metric{text-align:left;grid-column:2}}.chips{align-items:center;display:inline-flex}.chip{border-radius:var(--r-sm);background:var(--bg-2);border:1px solid var(--line-strong);width:34px;height:34px;color:var(--text);place-items:center;margin-left:-10px;display:grid}.chip:first-child{margin-left:0}.chip{box-shadow:0 4px 12px #0e0e101a}.chips--dark .chip{color:#fff;background:#26262b;border-color:#36363c;box-shadow:0 4px 14px #00000059}.preview{z-index:60;pointer-events:none;position:fixed;top:0;left:0}.preview__pos{transform:translate(28px,-50%)}.preview__card{background:var(--text);color:#fff;border-radius:var(--r-lg);width:300px;overflow:hidden;box-shadow:0 30px 70px #0e0e1061}.preview__media{aspect-ratio:16/10;background:linear-gradient(135deg,#1c1c20,#0e0e0f);border-bottom:1px solid #ffffff14}.preview__info{flex-direction:column;gap:.7rem;padding:1.1rem 1.25rem 1.3rem;display:flex}.preview__top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.preview__cat{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.14em;color:#ffffff8c}.preview__name{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.025em;font-size:1.45rem;font-weight:400;line-height:1.02}.preview__view{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);align-items:center;gap:.35rem;display:inline-flex}@media (hover:none){.preview{display:none}}.work__reveal{z-index:40;pointer-events:none;position:fixed;top:0;left:0}.work__reveal-pos{transform:translate(30px,-50%)}.work__reveal-img{aspect-ratio:16/10;border-radius:var(--r-md);background:#141416;width:300px;overflow:hidden;box-shadow:0 30px 70px #0e0e1052}@media (hover:none){.work__reveal{display:none}}.steps{grid-template-columns:repeat(4,1fr);gap:clamp(1.25rem,3vw,3rem);list-style:none;display:grid}.step{border-top:1px solid var(--text);padding-top:1.4rem;position:relative}.step:before{content:"";background:var(--text);border-radius:50%;width:9px;height:9px;position:absolute;top:-5px;left:0}.step__n{font-size:var(--fs-label);letter-spacing:.04em;color:var(--text-dim)}.step__l{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.025em;margin:.5rem 0 .85rem;font-size:clamp(1.5rem,2.6vw,2.3rem);font-weight:400;display:block}.step__d{color:var(--text-dim);font-size:.98rem;line-height:1.45}@media (max-width:760px){.steps{grid-template-columns:1fr}}.catgroup{margin-bottom:clamp(2.5rem,5vw,4.5rem)}.catgroup__head{border-bottom:2px solid var(--text);justify-content:space-between;align-items:baseline;margin-bottom:clamp(1.5rem,2.5vw,2.25rem);padding-bottom:.85rem;display:flex}.catgroup__label{font-family:var(--font-display), system-ui, sans-serif;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(1.1rem,2vw,1.7rem);font-weight:400}.catgroup__count{font-size:var(--fs-label);letter-spacing:.14em;color:var(--text-dim);font-weight:600}.bento{gap:clamp(.85rem,1.6vw,1.4rem);display:grid}.bento[data-n="1"]{grid-template-columns:1fr}.bento[data-n="2"]{grid-template-columns:repeat(2,1fr)}.bento[data-n="3"]{grid-template-columns:repeat(3,1fr)}.bento[data-n="4"]{grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.bento[data-n="3"],.bento[data-n="4"]{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.bento{grid-template-columns:1fr!important}}.bcard{background:var(--bg-2);border-radius:var(--r-lg);min-height:clamp(200px,20vw,260px);transition:transform .3s var(--ease);flex-direction:column;gap:1rem;padding:clamp(1.5rem,2.2vw,2rem);display:flex;position:relative}.bcard:hover{transform:translateY(-4px)}.bcard__mark{background:var(--accent);width:12px;height:12px;position:absolute;top:clamp(1.4rem,2.2vw,2rem);right:clamp(1.4rem,2.2vw,2rem)}.bcard__name{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.03em;max-width:14ch;font-size:clamp(1.5rem,2.3vw,2.2rem);font-weight:400;line-height:.98}.bcard__metric{color:var(--text-dim);max-width:26ch;margin-top:.85rem;font-size:.95rem;font-weight:600;line-height:1.35;display:block}.bcard__foot{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.bcard__stack{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.bcard--step{justify-content:flex-start;gap:1.25rem}.bcard--step .bcard__step{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.03em;font-size:clamp(2rem,3vw,3rem);font-weight:400;line-height:1}.bcard--step .bcard__text{color:var(--text-dim);margin-top:.6rem;font-size:.95rem;line-height:1.45}.work-sec{padding-block:var(--section-y);padding-inline:clamp(1rem,3vw,3rem)}.work-grid{grid-template-columns:1fr;gap:clamp(2rem,4vw,3.5rem);display:grid}.work-aside__line{max-width:34ch;color:var(--text-dim);margin-top:clamp(1rem,2vw,1.5rem);line-height:1.45}.work-tags{flex-wrap:wrap;gap:.6rem;margin-top:clamp(1.5rem,3vw,2.25rem);display:flex}.tag{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text);padding:.55rem 1.05rem}.tiles{grid-template-columns:repeat(2,1fr);gap:clamp(.85rem,1.5vw,1.25rem);display:grid}.tile{aspect-ratio:5/4;border-radius:var(--r-lg);border:1px solid var(--line);cursor:default;outline:none;flex-direction:column;justify-content:space-between;padding:clamp(1.4rem,2vw,1.9rem);display:flex;position:relative;overflow:hidden}.tile__head{justify-content:space-between;align-items:center;display:flex}.tile__tag{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em}.tile__arrow{display:inline-flex}.tile__body{flex-direction:column;gap:.9rem;display:flex}.tile__name{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.03em;font-size:clamp(1.5rem,2.2vw,2.3rem);font-weight:400;line-height:.98}.tile__detail{flex-direction:column;gap:.85rem;display:flex}.tile__metric{color:#ffffffb8;max-width:30ch;font-size:.92rem;line-height:1.35}@media (min-width:900px){.work-grid{grid-template-columns:.85fr 2.15fr;align-items:start}.work-aside{position:sticky;top:clamp(5rem,12vh,8rem)}}@media (max-width:560px){.tiles{grid-template-columns:1fr}}.work-layout{grid-template-columns:1fr;gap:clamp(2rem,4vw,3rem);display:grid}.work-aside .section__title{font-size:clamp(1.7rem,2.4vw,2.8rem)}.work-aside__title{display:inline-block;position:relative}.work-aside__spark{width:clamp(22px,2.2vw,32px);height:auto;color:var(--accent);pointer-events:none;position:absolute;top:-.5em;right:-1.5em}.work-aside__tags{flex-wrap:wrap;gap:.6rem;margin-top:clamp(1.25rem,2vw,1.75rem);display:flex}.work-tag{color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-pill);letter-spacing:-.01em;cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;padding:.55em 1.1em;font-family:inherit;font-size:.92rem;display:inline-block}.work-tag:hover{border-color:var(--text)}.work-tag.is-active{background:var(--text);color:var(--bg);border-color:var(--text)}@media (min-width:1000px){.work-layout{grid-template-columns:minmax(12rem,15rem) 1fr;align-items:start;gap:clamp(1.75rem,3vw,3.5rem)}.work-aside{position:sticky;top:clamp(6rem,16vh,9rem)}}.works-grid{grid-template-columns:repeat(3,1fr);gap:clamp(.6rem,.9vw,1rem);display:grid}.works-grid__item{display:flex}.works-grid__link{perspective:1000px;border-radius:16px;flex:auto;display:flex}.work-card{aspect-ratio:1;background:var(--bg-2);will-change:transform;border-radius:16px;flex-direction:column;flex:auto;justify-content:space-between;padding:clamp(1.2rem,1.5vw,1.7rem);display:flex;position:relative;overflow:hidden}.work-card__top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.work-card__idx{font-size:var(--fs-label);letter-spacing:.04em;color:var(--text-ghost)}.work-card__cat{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--r-pill);font-size:var(--fs-label);text-transform:lowercase;color:var(--text-dim);background:#ebebee99;padding:.4em .85em;display:inline-block}.work-card__bottom{flex-direction:column;display:flex}.work-card__name{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.025em;font-size:clamp(1.45rem,1.9vw,2.2rem);font-weight:400;line-height:1}.work-card__metric{color:var(--text-dim);margin-top:.55rem;font-size:.9rem;line-height:1.35}.work-card__foot{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.work-card__tools{align-items:center;display:inline-flex}.work-card__tool{background:var(--bg);border:1px solid var(--line);width:34px;height:34px;transition:margin-left var(--dur) var(--ease);border-radius:9px;place-items:center;margin-left:-9px;display:grid}.work-card__tool:first-child{margin-left:0}.work-card__tool img{width:18px;height:18px;display:block}.work-card__tool-text{text-transform:uppercase;letter-spacing:.02em;color:var(--text-dim);font-size:.62rem;font-weight:600}.work-card:hover .work-card__tool{margin-left:3px}.work-card:hover .work-card__tool:first-child{margin-left:0}.work-card__arrow{color:var(--text);opacity:0;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);flex:none;transform:translate(-5px,5px)}.work-card:hover .work-card__arrow{opacity:1;transform:translate(0)}@media (hover:none){.work-card__arrow{opacity:1;transform:none}.works-grid__link:active{transform:scale(.985)}}@media (min-width:1500px){.works-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1000px){.works-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.works-grid{grid-template-columns:1fr}.work-card{aspect-ratio:auto;min-height:200px}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.word-rise{transform:none!important}}
.cursor-dot{z-index:9999;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.cursor-dot__inner{background:var(--text);min-width:12px;height:12px;color:var(--bg);white-space:nowrap;transition:height .32s var(--ease), padding .32s var(--ease), transform .32s var(--ease);border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;left:0;overflow:hidden;transform:translateY(-50%)}.cursor-dot__text{opacity:0;max-width:0;font-family:var(--font-display), system-ui, sans-serif;letter-spacing:.02em;text-transform:uppercase;transition:max-width .32s var(--ease), opacity .22s var(--ease);font-size:1rem;font-weight:700;display:block}.cursor-dot__inner.is-label{height:42px;padding:0 1.2rem;transform:translateY(-50%)rotate(-5deg)}.cursor-dot__inner.is-label .cursor-dot__text{opacity:1;max-width:200px}@media (hover:none),(pointer:coarse){.cursor-dot{display:none!important}}
