:root{--ink:#0a0a0a;--white:#fff;--paper:#f5f3f0;--accent:#d42400;--accent-complement:#2bdbff;--accent-ghost:#d4240059;--accent-bright:#ff4a2b;--cyan-ghost:#2bdbff59;--accent-graphic:#e5231b;--accent-ux:#1f44e0;--dim:#0000008c;--dim-inverse:#ffffff8c;--radius:4px;--nav-h:clamp(76px, 9vh, 108px);--nav-pad-x:clamp(28px, 5.5vw, 96px);--nav-link-size:13px;--nav-link-tracking:.2em;--font-display:"Afacad Flux", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;--ease:cubic-bezier(.76, 0, .24, 1);--dur-fast:.3s;--dur:.6s;--margin:clamp(20px, 4vw, 64px);--rhythm:clamp(96px, 14vh, 200px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:var(--nav-h)}body{background:var(--white);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;overflow-x:hidden}@media (pointer:fine){body,a,button,[data-cursor]{cursor:none}}::selection{background:var(--accent);color:var(--white)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:0 0;border:0}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:11px;font-weight:400}.page{min-height:100vh;position:relative}.title-face{font-weight:900;font-size:inherit;letter-spacing:-.03em;text-transform:lowercase;margin:0;line-height:.9}.band{padding:calc(var(--rhythm) * .7) var(--margin)}.band--paper{background:var(--paper)}.band--ink{background:var(--ink);color:var(--white)}.u-link{display:inline-block;position:relative}.u-link:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform var(--dur-fast) var(--ease);position:absolute;bottom:-.15em;left:0;transform:scaleX(0)}.u-link:hover:after,.u-link:focus-visible:after{transform:scaleX(1)}.u-link:hover{text-shadow:1px 0 var(--accent-ghost), -1px 0 var(--cyan-ghost)}.nav{z-index:50;height:var(--nav-h);padding:0 var(--nav-pad-x);transition:transform var(--dur-fast) var(--ease);pointer-events:none;mix-blend-mode:difference;align-items:center;display:flex;position:fixed;inset:0 0 auto}.nav>*{pointer-events:auto}.nav--hidden{transform:translateY(-110%)}.nav--scrolled{-webkit-backdrop-filter:blur(10px)}.blend{color:#fff}.nav .u-link:after{background:var(--accent-complement)}.nav .u-link:hover{text-shadow:1px 0 var(--cyan-ghost), -1px 0 var(--accent-ghost)}.nav__right .mono,.nav__menu-btn{font-size:var(--nav-link-size);letter-spacing:var(--nav-link-tracking)}.nav__link{transition:opacity var(--dur-fast) var(--ease)}:is(.nav__right:has(.nav__link:hover) .nav__link:not(:hover),.nav__right:has(.nav__link:focus-visible) .nav__link:not(:focus-visible)){opacity:.35}.nav__idx{transition:color var(--dur-fast) var(--ease)}.nav__link:hover .nav__idx,.nav__link:focus-visible .nav__idx{color:var(--accent-complement)}.nav__logo{transition:transform .8s var(--ease);line-height:0;display:inline-block}.nav__logo:hover{transform:rotate(180deg)}.nav__right{align-items:baseline;gap:clamp(20px,3.4vw,48px);margin-left:auto;display:flex}.nav__link{align-items:baseline;gap:.7em;display:inline-flex}.nav__idx--active{color:var(--accent-complement)}.nav__menu-btn{display:none}@media (width<=820px){.nav__right{display:none}.nav__menu-btn{margin-left:auto;display:inline}}.menu{z-index:60;background:var(--ink);color:var(--white);padding:0 var(--margin);flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0}.menu__mask{display:block;overflow:hidden}.menu__link{color:var(--white);letter-spacing:-.03em;text-transform:lowercase;font-size:clamp(48px,13vw,110px);font-weight:900;line-height:1.04;display:inline-block}.menu__meta{bottom:24px;left:var(--margin);right:var(--margin);color:#ffffffb8;justify-content:space-between;display:flex;position:absolute}.menu__logo{top:20px;left:var(--margin);color:var(--white);position:absolute}.wipe{background:var(--ink);z-index:70;pointer-events:none;position:fixed;inset:0}.cursor{z-index:80;pointer-events:none;position:fixed;top:0;left:0}.cursor__inner{background:var(--accent);width:8px;height:8px;transition:width var(--dur-fast) var(--ease), height var(--dur-fast) var(--ease), border-radius var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;transform:translate(-50%,-50%)}.cursor--link .cursor__inner{width:26px;height:26px}.cursor--view .cursor__inner,.cursor--drag .cursor__inner{background:var(--ink);border-radius:2px;width:auto;height:auto;padding:6px 10px}.cursor__label{color:var(--white);font-size:9px;display:none}.cursor--view .cursor__label,.cursor--drag .cursor__label{display:block}.cursor--dark.cursor--view .cursor__inner,.cursor--dark.cursor--drag .cursor__inner{background:var(--white)}.cursor--graphic{--disc:var(--accent-graphic)}.cursor--ux{--disc:var(--accent-ux)}.cursor--graphic .cursor__inner,.cursor--ux .cursor__inner{background:var(--disc)}.cursor--graphic .cursor__label,.cursor--ux .cursor__label{color:var(--white)}.cursor--dark .cursor__label{color:var(--ink)}.hero{height:100svh;position:relative}.hero__tagline{left:var(--margin);max-width:34ch;font-size:clamp(17px,1.8vw,26px);font-weight:500;line-height:1.45;position:absolute;top:52%;transform:translateY(-100%)}.hero__wordmark{bottom:0;left:calc(var(--margin) * .5);white-space:nowrap;line-height:0;position:absolute}.wordmark-static{letter-spacing:-.03em;white-space:nowrap;font-size:1em;font-weight:900;line-height:1}.hero__fluid{z-index:0;aspect-ratio:1;pointer-events:none;opacity:0;width:min(92svh,80vw);transition:opacity .9s var(--ease);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero__fluid.is-ready{opacity:1}@media (width<=899px){.hero__fluid{display:none}}@media (prefers-reduced-motion:reduce){.hero__fluid{display:none}}.work-band{min-height:100vh;padding-bottom:calc(var(--rhythm) * .4);position:relative;overflow:hidden}.work-top{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.filter{padding-bottom:calc(var(--rhythm) * .3);gap:18px;display:flex}.filter button{color:var(--dim);transition:color var(--dur-fast) var(--ease)}.filter button:hover,.filter button.is-active{color:var(--ink)}.filter button[data-f=graphic].is-active{color:var(--accent-graphic)}.filter button[data-f=ux].is-active{color:var(--accent-ux)}@media (width<=1023px){.work-top{flex-direction:column;align-items:stretch;gap:20px}.filter{justify-content:space-between;width:100%;padding-bottom:28px}}.archive{height:max(66vh,100vh - 400px);margin-top:calc(var(--rhythm) * -.55);position:relative}.cluster{z-index:0;pointer-events:none;transform-origin:0 0;transition:transform var(--dur) var(--ease), color var(--dur) var(--ease), opacity var(--dur) var(--ease);flex-direction:column;gap:10px;display:flex;position:absolute}.cluster--graphic{--disc:var(--accent-graphic)}.cluster--ux{--disc:var(--accent-ux);text-align:right;transform-origin:100% 0;align-items:flex-end}.cluster__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:#0a0a0a33;font-size:clamp(40px,8vw,132px);font-weight:500;line-height:.86}.cluster__count{color:var(--dim)}.cluster.is-active{transform:scale(1.06)}.cluster.is-active .cluster__label,.cluster.is-active .cluster__count{color:var(--disc)}.cluster.is-recede{opacity:.4;transform:scale(.94)}.polaroid-anchor{will-change:transform;width:clamp(150px,17vw,220px);position:absolute}.polaroid{z-index:1;--disc:var(--accent-graphic);background:var(--white);border-radius:var(--radius);touch-action:none;-webkit-user-select:none;user-select:none;outline:none;width:100%;padding:9px 9px 0;position:relative;box-shadow:0 6px 22px #0000001f}.polaroid--graphic{--disc:var(--accent-graphic)}.polaroid--ux{--disc:var(--accent-ux)}.polaroid:hover,.polaroid.is-active,.polaroid:focus-visible{outline:2px solid var(--disc);outline-offset:3px}.polaroid__img{aspect-ratio:1;pointer-events:none;border-radius:calc(var(--radius) / 2);position:relative;overflow:hidden}.polaroid__cover{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.polaroid__caption{pointer-events:none;padding:14px 2px 12px;font-size:9px}.polaroid__peek{text-align:center;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);flex-direction:column;align-items:center;gap:3px;margin-top:9px;display:flex;position:absolute;top:100%;left:0;right:0;transform:translateY(-4px)}.polaroid__peek.is-shown{opacity:1;transform:translateY(0)}.polaroid__peek-title{letter-spacing:.08em;font-size:11px}.polaroid__peek-disc{color:var(--dim);font-size:9px}.archive__hint{color:var(--dim);position:absolute;bottom:0;left:0}@media (width<=1023px){.archive--stack{height:auto;margin-top:calc(var(--rhythm) * -.2);flex-direction:column;gap:clamp(48px,11vw,88px);padding:12px 0 40px;display:flex}.stack-cluster{transition:opacity var(--dur) var(--ease);flex-direction:column;align-items:center;gap:clamp(28px,6vw,48px);display:flex}.stack-cluster--ux,.stack-cluster.cluster--ux{--disc:var(--accent-ux)}.stack-cluster.cluster--graphic{--disc:var(--accent-graphic)}.stack-cluster.is-recede{opacity:.4}.stack-cluster__head{text-align:center;flex-direction:column;gap:8px;display:flex}.stack-cluster .cluster__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);font-size:clamp(28px,9vw,46px);font-weight:500;line-height:1}.stack-cluster.is-active .cluster__label{color:var(--disc)}.stack-cluster .cluster__count{color:var(--dim)}.polaroid-anchor{width:min(72vw,340px);position:static}}.panel{z-index:40;background:var(--white);overscroll-behavior:contain;width:50vw;padding:calc(var(--margin) * 1.6) var(--margin) var(--margin);position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@media (width<=1023px){.panel{width:100vw}}.panel__backdrop{z-index:39;background:0 0;position:fixed;inset:0}.panel__close{z-index:3;cursor:pointer;background:var(--ink);width:fit-content;min-height:44px;color:var(--white);transition:background var(--dur-fast) var(--ease);border-radius:999px;align-items:center;gap:10px;margin:0 0 10px auto;padding:10px 20px;display:flex;position:sticky;top:0}.panel__close:hover{background:var(--disc,var(--accent))}.panel__close-x{font-size:15px;line-height:1}.panel .meta-row--disc dd{color:var(--disc,var(--dim))}.panel__next .u-link:hover{color:var(--disc,var(--accent))}.panel__title{letter-spacing:-.03em;text-transform:lowercase;margin:26px 0 34px;font-size:clamp(34px,4.4vw,72px);font-weight:900;line-height:.95}.panel__meta{margin-bottom:48px}.meta-row{justify-content:space-between;gap:16px;padding:9px 0;display:flex}.meta-row dd{color:var(--dim)}.panel__body{max-width:52ch;margin-bottom:44px;font-size:16px;font-weight:500;line-height:1.55}.panel__section{margin-bottom:44px}.panel__section .mono{color:var(--dim);margin-bottom:14px;display:block}.panel__next{justify-content:space-between;align-items:baseline;margin-top:clamp(40px,8vh,72px);display:flex}.palette-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:44px;display:grid}.palette-swatch{aspect-ratio:4/3;border-radius:var(--radius);flex-direction:column;justify-content:space-between;padding:16px;display:flex}.palette-swatch__hex{opacity:.7}.palette-swatch__name{letter-spacing:-.01em;font-size:16px;font-weight:800}.palette-swatch__desc{opacity:.7;max-width:22ch;font-size:13px;line-height:1.4}.layout-demo__title{letter-spacing:-.01em;margin-bottom:12px;font-size:20px;font-weight:800}.layout-archetypes{color:var(--dim);margin-bottom:28px;font-size:14px;line-height:1.6;list-style:none}.layout-archetypes li{padding-left:1.1em;position:relative}.layout-archetypes li:before{content:"—";position:absolute;left:0}.layout-demo{border-radius:var(--radius);color:var(--white);padding:clamp(20px,3vw,32px);overflow:hidden}.layout-demo__header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:clamp(28px,6vw,56px);display:flex}.layout-demo__left{font-size:18px;font-style:italic}.layout-demo__right{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800}.layout-demo__repeat{letter-spacing:-.01em;color:#ffffff29;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:clamp(24px,5vw,48px);font-size:clamp(14px,2vw,22px);font-weight:800;display:flex}.layout-demo__footer{color:#ffffff80;justify-content:space-between;gap:12px;font-size:10px;display:flex}@media (width<=480px){.palette-grid{grid-template-columns:1fr 1fr}}.media{margin:0 0 12px;position:relative}.media__ph{border-radius:var(--radius);width:100%}.media__ph--img{object-fit:cover;display:block}.media__ph--video{object-fit:cover;border-radius:var(--radius);width:100%;display:block}.media figcaption{color:var(--dim);margin-top:8px}.panel__embed-frame{border-radius:var(--radius);background:var(--paper);border:0;width:100%;display:block}.about-band{padding-bottom:clamp(24px,3.5vh,52px)}.about-head{grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:end;gap:clamp(24px,4vw,64px);display:grid}@media (width<=820px){.about-head{grid-template-columns:1fr}.about-head .media{max-width:62vw}}.flow-root{width:100%;overflow-x:hidden}.flow-section{width:100%;min-height:100vh;position:relative;overflow:hidden}.flow-art-container{width:100%;min-height:100vh;padding:clamp(2rem, 8vw, 4vw) var(--margin) 4vw;transform-origin:0 100%;will-change:transform;flex-direction:column;justify-content:space-between;gap:clamp(14px,2.2vh,26px);display:flex;position:relative}.flow-inner--bare{gap:0;padding:0;display:block}.flow-label{opacity:.55;display:block}.flow-rule{opacity:.24;border:0;border-top:1px solid;margin:clamp(12px,1.8vw,24px) 0}.flow-title{font-family:var(--font-display);letter-spacing:-.03em;text-transform:lowercase;margin:0;font-size:clamp(2.5rem,12vw,12rem);font-weight:900;line-height:.9}.flow-lead{max-width:50ch;margin:0;font-size:clamp(1rem,2.2vw,1.9rem);font-weight:500;line-height:1.45}.flow-title__line{display:block}.flow-title--accent{color:var(--accent-bright)}.flow-lead--end{text-align:right;margin-left:auto}.flow-lead--push{margin-top:auto}.flow-note{opacity:.55;max-width:54ch;margin:0;font-size:clamp(.85rem,1.3vw,1.05rem);line-height:1.6}.resonant{color:inherit}.is-resonant .resonant{animation:resonate 1.5s var(--ease) both}@keyframes resonate{0%,to{color:var(--resonant-rest)}38%,58%{color:var(--resonant-hit)}}.xp{color:var(--white);padding:clamp(52px, 8vh, 116px) var(--margin) clamp(72px, 12vh, 160px);background:#111;position:relative;overflow:hidden}.xp-display{font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;margin:0 calc(var(--margin) * -1) clamp(38px, 6.5vh, 92px);font-size:clamp(72px,17vw,260px);font-weight:500;line-height:.9}.xp-marquee{display:block}.xp-marquee__track{will-change:transform;width:max-content;animation:22s linear infinite xp-marquee;display:flex}.xp-marquee__word{white-space:nowrap;padding-right:.14em;display:block}@keyframes xp-marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.xp-marquee__track{animation:none}}.xp-body{grid-template-columns:minmax(0,.72fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,64px);display:grid}.xp-arrow{opacity:0;transition:opacity var(--dur-fast) var(--ease);justify-content:center;padding-top:clamp(12px,1.8vw,30px);display:flex}.xp-arrow.is-shown{opacity:1}.xp-arrow svg{width:clamp(56px,6.6vw,132px);height:auto;display:block}.xp-arrow path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--dur) var(--ease)}.xp-arrow.is-shown path{stroke-dashoffset:0}.xp-arrow.is-shown .xp-arrow__head{transition-delay:.26s}.xp-list{--xp-idx:clamp(40px, 4.2vw, 76px);--xp-gap:clamp(14px, 2.2vw, 44px);list-style:none}.xp-item{transition:opacity var(--dur-fast) var(--ease);border-bottom:1px solid #ffffff38;position:relative}.xp-item:after{content:"";background:var(--accent-bright);transform-origin:0;height:1px;transition:transform var(--dur) var(--ease);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.xp-item:hover:after{transform:scaleX(1)}.xp-item:has(.xp-row:focus-visible):after{transform:scaleX(1)}.xp-item:has(.xp-row[aria-expanded=true]):after{transform:scaleX(1)}:is(.xp-list:has(.xp-row:hover) .xp-item:not(:hover),.xp-list:has(.xp-row:focus-visible) .xp-item:not(:focus-within)){opacity:.38}.xp-row{grid-template-columns:var(--xp-idx) 1fr auto;gap:var(--xp-gap);text-align:left;cursor:pointer;width:100%;color:inherit;align-items:baseline;padding:clamp(18px,2.2vw,34px) 0;display:grid}.xp-idx{color:var(--dim-inverse);transition:color var(--dur-fast) var(--ease)}.xp-row:hover .xp-idx,.xp-row:focus-visible .xp-idx{color:var(--accent-bright)}.xp-title{letter-spacing:-.02em;transition:transform var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);font-size:clamp(24px,3vw,44px);font-weight:500;line-height:1.05}.xp-row:hover .xp-title,.xp-row:focus-visible .xp-title{transform:translate(clamp(6px,.9vw,18px))}.xp-row[aria-expanded=true] .xp-title{color:var(--accent-bright)}.xp-sign{width:clamp(14px,1.5vw,22px);height:clamp(14px,1.5vw,22px);transition:transform var(--dur-fast) var(--ease);align-self:center;display:block;position:relative}.xp-sign i{width:100%;height:2px;transition:transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:currentColor;margin-top:-1px;position:absolute;top:50%;left:0}.xp-sign i:last-child,.xp-row[aria-expanded=false]:hover .xp-sign,.xp-row[aria-expanded=false]:focus-visible .xp-sign{transform:rotate(90deg)}.xp-row[aria-expanded=true] .xp-sign i{background:var(--accent-bright)}.xp-row[aria-expanded=true] .xp-sign i:last-child{transform:rotate(90deg)scaleX(0)}.xp-panel__inner{padding:0 0 clamp(22px, 3vw, 46px) calc(var(--xp-idx) + var(--xp-gap))}.xp-meta{color:var(--dim-inverse);margin-bottom:12px;display:block}.xp-detail{color:#ffffffd9;max-width:52ch;font-size:16px;font-weight:500;line-height:1.55}@media (width<=820px){.xp-body{grid-template-columns:1fr}.xp-arrow{display:none}.xp-panel__inner{padding-left:0}}@media (prefers-reduced-motion:reduce){.xp-arrow,.xp-arrow path,.xp-item,.xp-item:after,.xp-title,.xp-idx,.xp-sign,.xp-sign i{transition:none}.xp-arrow path{stroke-dashoffset:0}}.contact{min-height:100svh;padding-top:var(--nav-h);padding-bottom:var(--nav-h);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.contact__title{margin-bottom:clamp(24px,6vh,72px)}.disperse{white-space:nowrap;flex-wrap:nowrap;display:inline-flex}.disperse__char{display:inline-block}.contact-link{letter-spacing:-.03em;text-transform:lowercase;transition:color var(--dur-fast) var(--ease);font-weight:900;line-height:1.05;display:inline-block}.contact-link:hover,.contact-link:focus-visible{color:var(--accent)}.contact-mail{padding:.7em .7em .75em;font-size:clamp(19px,5.2vw,84px)}.contact-social{margin-top:clamp(20px,5vh,56px);padding:.7em .7em .75em;font-size:clamp(17px,2.9vw,40px)}.contact-copy{color:var(--dim)}@media (prefers-reduced-motion:reduce){.contact-link{transition:none}}.footer{background:var(--ink);color:var(--white);padding:26px var(--margin);flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.footer span{color:var(--dim-inverse)}@media (prefers-reduced-motion:reduce){.u-link:after{transition:none}.u-link:hover{text-shadow:none}.nav,.nav__logo,.cursor__inner,.filter button{transition:none}.nav__logo:hover{transform:none}.is-resonant .resonant{animation:none}}.notfound,.errorstate{min-height:100svh;padding-top:var(--nav-h);flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(16px,3vh,32px);display:flex}.notfound__meta,.errorstate__meta{color:var(--dim)}
