:root{--paper: #f4f1ea;--ink: #111110;--mute: #77736b;--red: #d62b1f;--blue: #1f3fbf;--yellow: #f2b705;--line: rgba(17, 17, 16, .14);--ease: cubic-bezier(.76, 0, .24, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--pad: clamp(1.25rem, 4vw, 4rem)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:Archivo,sans-serif;font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}em{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;letter-spacing:-.01em}.mono{font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}::selection{background:var(--yellow);color:var(--ink)}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;pointer-events:none;z-index:100;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .8s steps(4) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}.cursor{position:fixed;top:0;left:0;width:14px;height:14px;border-radius:50%;background:var(--red);pointer-events:none;z-index:200;mix-blend-mode:multiply;transform:translate(-50%,-50%);transition:width .35s var(--ease-out),height .35s var(--ease-out),border-radius .35s var(--ease-out),background .3s}.cursor.big{width:64px;height:64px;background:var(--blue)}.cursor.sq{border-radius:0;background:var(--yellow)}@media(hover:none){.cursor{display:none}}.nav{position:fixed;top:0;inset-inline:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1.25rem var(--pad);mix-blend-mode:difference;color:#fff}.mark{display:flex;gap:4px;align-items:flex-end}.mark i{display:block;width:14px;height:14px;background:#fff;transition:transform .6s var(--ease)}.mark .c{border-radius:50%}.mark .t{clip-path:polygon(50% 0,100% 100%,0 100%)}.mark:hover .c{transform:translateY(-6px)}.mark:hover .s{transform:rotate(45deg)}.mark:hover .t{transform:translateY(-6px) rotate(180deg)}.nav nav{display:flex;gap:2rem;align-items:center;font-size:.85rem;font-weight:500}.nav nav a{position:relative}.nav nav a:not(.pill):after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.nav nav a:hover:after{transform:scaleX(1);transform-origin:left}.pill{border:1px solid currentColor;padding:.45rem 1rem;border-radius:99px}.hero{position:relative;min-height:100svh;padding:7rem var(--pad) 3rem;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;overflow:hidden}.hero-meta{grid-column:1 / -1;display:flex;justify-content:space-between;color:var(--mute);border-top:1px solid var(--line);padding-top:1rem}.hero-title{grid-column:1 / 2;align-self:center;z-index:2;line-height:.86;font-weight:800;font-size:clamp(4rem,13vw,12.5rem);letter-spacing:-.045em;font-variation-settings:"wdth" 125}.hero-title .line{display:block;overflow:hidden;padding-bottom:.04em}.hero-title .word{display:inline-block;transform:translateY(110%)}.hero-title .sub{font-size:.26em;font-weight:400;letter-spacing:-.02em;margin-top:.6em;font-variation-settings:"wdth" 100}.hero-title .sub em{font-size:1.2em}.dot{color:var(--red)}.loaded .hero-title .word{transform:none;transition:transform 1.3s var(--ease)}.loaded .hero-title .line:nth-child(2) .word{transition-delay:.1s}.loaded .hero-title .line:nth-child(3) .word{transition-delay:.3s}.compo{grid-column:2 / 3;grid-row:2 / 3;align-self:center;justify-self:center;width:min(100%,44vw);overflow:visible}.compo .layer{transition:transform .9s var(--ease-out)}.compo .sq{fill:var(--blue)}.compo .ci{fill:var(--red);mix-blend-mode:multiply}.compo .tr{fill:var(--ink)}.compo .hc{fill:var(--yellow)}.compo .ln{stroke:var(--ink);stroke-width:1;stroke-dasharray:600;stroke-dashoffset:600}.compo .sq,.compo .ci,.compo .tr,.compo .hc{transform-box:fill-box;transform-origin:center;transform:scale(0)}.loaded .compo .ln{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--ease) .2s}.loaded .compo .sq{animation:pop 1.2s var(--ease-out) .45s forwards}.loaded .compo .ci{animation:pop 1.2s var(--ease-out) .6s forwards,breathe 7s ease-in-out 2s infinite}.loaded .compo .tr{animation:pop 1.2s var(--ease-out) .75s forwards}.loaded .compo .hc{animation:pop 1.2s var(--ease-out) .9s forwards,spin 14s linear 2.2s infinite}@keyframes pop{0%{transform:scale(0) rotate(-90deg)}to{transform:scale(1) rotate(0)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes spin{to{transform:rotate(360deg)}}.hero-lede{grid-column:1 / 2;max-width:30ch;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.5;color:#3a3833}.scroll{grid-column:2 / 3;justify-self:end;align-self:end;display:flex;align-items:center;gap:.75rem}.scroll span{width:1px;height:48px;background:var(--ink);position:relative;overflow:hidden}.scroll span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--paper);animation:drip 2s var(--ease) infinite}@keyframes drip{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.marquee{border-block:1px solid var(--ink);overflow:hidden;padding:1.1rem 0;background:var(--ink);color:var(--paper)}.track{display:flex;gap:2.5rem;width:max-content;animation:marq 30s linear infinite;font-size:1rem}.track i{font-style:normal;color:var(--yellow)}.track i:nth-of-type(3n+1){color:var(--red)}.track i:nth-of-type(3n+2){color:var(--blue);filter:brightness(1.6)}@keyframes marq{to{transform:translate(-50%)}}section{position:relative}.sec-head{display:grid;grid-template-columns:1fr 2fr;align-items:end;border-top:1px solid var(--line);padding-top:1.25rem;margin-bottom:clamp(3rem,7vw,6rem)}.sec-head span{color:var(--mute)}.sec-head h2,.contact h2{font-weight:700;font-size:clamp(2.5rem,7vw,6rem);letter-spacing:-.04em;line-height:.95;font-variation-settings:"wdth" 115}.practice,.work{padding:clamp(6rem,14vw,12rem) var(--pad)}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line)}.card{position:relative;padding:2.5rem 2rem 3rem;border-right:1px solid var(--line);min-height:26rem;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);z-index:-1;clip-path:circle(0% at 50% 30%);transition:clip-path .9s var(--ease)}.card:hover:before{clip-path:circle(150% at 50% 30%)}.card:hover{color:var(--paper)}.card[style*=yellow]:hover{color:var(--ink)}.card .idx{position:absolute;top:1.5rem;left:2rem;color:inherit;opacity:.6}.card h3{font-size:1.75rem;font-weight:600;letter-spacing:-.02em;margin-bottom:1rem;font-variation-settings:"wdth" 110}.card p{line-height:1.55;opacity:.8;max-width:32ch}.shape{position:absolute;top:4.5rem;left:50%;width:120px;height:120px;background:var(--accent);transform:translate(-50%);transition:transform 1s var(--ease),background .4s}.shape.circle{border-radius:50%}.shape.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.card:hover .shape{background:var(--paper)}.card:hover .circle{transform:translate(-50%) scale(.6) translateY(-30px)}.card:hover .square{transform:translate(-50%) rotate(225deg) scale(.6)}.card:hover .triangle{transform:translate(-50%) rotate(180deg) scale(.6)}.card[style*=yellow]:hover .shape{background:var(--ink)}.statement{padding:clamp(5rem,12vw,10rem) var(--pad);background:var(--ink);color:var(--paper)}.big{font-size:clamp(2rem,5.2vw,5rem);line-height:1.08;letter-spacing:-.035em;font-weight:500;max-width:20ch}.big .w{opacity:.12;transition:opacity .4s}.big .w.on{opacity:1}.list{list-style:none;border-top:1px solid var(--ink)}.row{position:relative;display:grid;grid-template-columns:4rem 1.2fr 2fr auto;gap:2rem;align-items:center;padding:2.25rem 0;border-bottom:1px solid var(--ink);overflow:hidden;isolation:isolate;transition:color .5s,padding .6s var(--ease)}.row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease)}.row:hover:before{transform:scaleY(1)}.row:hover{color:var(--paper);padding-inline:1.5rem}.row h3{font-size:clamp(1.75rem,3.5vw,3rem);font-weight:700;letter-spacing:-.03em;font-variation-settings:"wdth" 120}.row p{color:inherit;opacity:.7;line-height:1.5}.tag{border:1px solid currentColor;border-radius:99px;padding:.35rem .8rem}.row:nth-child(1):hover .tag{background:var(--red);border-color:var(--red)}.row:nth-child(2):hover .tag{background:var(--blue);border-color:var(--blue)}.row:nth-child(3):hover .tag{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.row:nth-child(4):hover .tag{background:var(--paper);color:var(--ink)}.contact{min-height:100svh;padding:clamp(6rem,12vw,10rem) var(--pad);display:flex;flex-direction:column;justify-content:center;gap:2.5rem;overflow:hidden}.contact>.mono{color:var(--mute)}.contact h2{font-size:clamp(3rem,9vw,8.5rem);position:relative;z-index:1}.contact-bg span{position:absolute;display:block}.contact-bg .b1{width:38vw;height:38vw;border-radius:50%;background:var(--yellow);right:-8vw;top:10%}.contact-bg .b2{width:18vw;height:18vw;background:var(--blue);right:18vw;bottom:8%;mix-blend-mode:multiply}.contact-bg .b3{width:12vw;height:24vw;background:var(--red);right:4vw;bottom:14%;mix-blend-mode:multiply;clip-path:polygon(0 0,100% 50%,0 100%)}.contact-bg span{transition:transform 1.2s var(--ease-out)}.mail{position:relative;z-index:1;display:inline-flex;align-items:center;gap:1.5rem;align-self:flex-start;font-size:clamp(1.25rem,3vw,2.25rem);font-weight:500;padding:1.25rem 2rem;background:var(--ink);color:var(--paper);border-radius:99px;transition:background .4s}.mail i{font-style:normal;display:inline-block;transition:transform .5s var(--ease)}.mail:hover{background:var(--red)}.mail:hover i{transform:translate(8px) rotate(-45deg)}.socials{list-style:none;display:flex;gap:2rem;position:relative;z-index:1}.socials a{border-bottom:1px solid var(--ink);padding-bottom:2px}.socials a:hover{color:var(--red);border-color:var(--red)}.foot{display:flex;justify-content:space-between;padding:1.5rem var(--pad);border-top:1px solid var(--line);color:var(--mute)}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease-out),transform 1.2s var(--ease-out)}.reveal.in{opacity:1;transform:none}.cards .reveal:nth-child(2){transition-delay:.12s}.cards .reveal:nth-child(3){transition-delay:.24s}@media(max-width:860px){.hero{grid-template-columns:1fr}.hero-title,.hero-lede,.scroll{grid-column:1}.compo{grid-column:1;grid-row:auto;width:80vw;margin:2rem 0}.sec-head{grid-template-columns:1fr;gap:1rem}.cards{grid-template-columns:1fr;border-left:0}.card{border-right:0;border-top:1px solid var(--line);min-height:22rem}.row{grid-template-columns:2.5rem 1fr;gap:.5rem 1rem}.row p,.row .tag{grid-column:2;justify-self:start}.nav nav a:not(.pill){display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-title .word,.compo *,.reveal{transform:none!important;opacity:1!important;stroke-dashoffset:0!important}}.legal{padding:9rem var(--pad) clamp(5rem,10vw,8rem)}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);margin-bottom:clamp(4rem,8vw,7rem)}.facts div{padding:1.75rem 2rem 1.75rem 0;border-bottom:1px solid var(--line)}.facts dt{color:var(--mute);margin-bottom:.6rem}.facts dd{font-size:1.15rem;line-height:1.45;font-weight:500}.facts dd a{border-bottom:1px solid var(--red)}.terms{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem 4rem}.terms article{border-top:1px solid var(--line);padding-top:1.25rem}.terms .mono{color:var(--red)}.terms h3{font-size:1.35rem;font-weight:600;letter-spacing:-.02em;margin:.6rem 0 .75rem}.terms p{line-height:1.6;color:#3a3833;max-width:52ch}.foot a:hover{color:var(--red)}@media(max-width:860px){.facts,.terms{grid-template-columns:1fr}}
