html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}body:after{content:"";z-index:200;pointer-events:none;opacity:.08;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.9 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}em{font-family:var(--serif);letter-spacing:0;font-style:italic;font-weight:400}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline-offset:4px;outline:2px solid}.small{color:var(--ink-2);font-size:14px}.label{color:var(--ink-3)}.mark{background:var(--lime);color:var(--ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.15em .4em}.skip{z-index:300;background:var(--ink);color:var(--paper);padding:10px 16px;position:absolute;top:-80px;left:12px}.skip:focus{top:12px}.links{flex-wrap:wrap;gap:8px 28px;margin-top:18px;display:flex}.links a,.socials a,.clients a i,.fact a,.small a,.contact-lines a{transition:background-size .45s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}.links a,.socials a{font-weight:500}.links a:hover,.socials a:hover,.clients a:hover i,.fact a:hover,.small a:hover,.contact-lines a:hover{background-size:100% 1px}.tag{font:400 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 3px;display:inline-flex}.tag-live{background:var(--lime);border-color:var(--lime);color:var(--ink)}.tag-dev:before{content:"";border:1px solid;border-radius:50%;width:6px;height:6px}.tag-ghost{opacity:.75;border-style:dashed}.pill{border:1px solid var(--ink);min-height:52px;font:500 15px/1 var(--body);color:var(--ink);cursor:pointer;will-change:transform;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 26px;transition:background-color .3s,color .3s;display:inline-flex}.pill:hover,.pill-ink{background:var(--ink);color:var(--paper)}.pill-ink:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}.cursor{display:none}@media (pointer:fine){.cursor{z-index:250;pointer-events:none;mix-blend-mode:difference;width:14px;height:14px;transition:width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), opacity .3s;opacity:0;background:#fff;border-radius:50%;justify-content:center;align-items:center;margin:-7px 0 0 -7px;display:flex;position:fixed;top:0;left:0}.cursor.on{opacity:1}.cursor.big{mix-blend-mode:normal;background:var(--lime);width:84px;height:84px;margin:-42px 0 0 -42px}.cursor-label{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .2s}.cursor.big .cursor-label{opacity:1}}.bar{z-index:100;padding:18px var(--pad);color:var(--ink);align-items:center;gap:28px;transition:color .35s;display:flex;position:fixed;top:0;left:0;right:0}.on-dark .bar{color:var(--night-ink)}.bar:before{content:"";z-index:-1;background:var(--paper);border-bottom:1px solid var(--line);opacity:0;transition:opacity .35s,background-color .35s,border-color .35s;position:absolute;inset:0}.is-scrolled .bar:before{opacity:1}.on-dark .bar:before{background:var(--night);border-bottom-color:var(--night-line)}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bar-mark{font:700 24px/1 var(--display);letter-spacing:-.03em}.bar-mark i{font-family:var(--serif);font-weight:400}.bar-nav{font:500 14px/1 var(--body);gap:26px;margin-left:auto;display:none}.bar-nav a{position:relative}.bar-nav a:after{content:"";transform-origin:100%;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.bar-nav a:hover:after,.bar-nav a[aria-current=true]:after{transform-origin:0;transform:scaleX(1)}.bar-clock{opacity:.8;display:none}.bar-cta{font:500 14px/1 var(--body);border-bottom:1px solid;margin-left:auto;padding-bottom:2px}.bar-menu{color:inherit;font:500 14px/1 var(--body);cursor:pointer;background:0 0;border:0;padding:8px 0}.menu{z-index:90;padding:80px var(--pad) 40px;background:var(--ink);color:var(--paper);clip-path:inset(0 0 100%);transition:clip-path .7s var(--ease);visibility:hidden;flex-direction:column;justify-content:center;gap:4px;display:flex;position:fixed;inset:0}.menu.open{clip-path:inset(0);visibility:visible}.menu a{font:600 clamp(40px, 11vw, 72px)/1.05 var(--display);letter-spacing:-.02em}.menu sup{font:400 12px/1 var(--mono);vertical-align:top;color:var(--night-2);margin-right:12px}@media (min-width:1024px){.bar-nav{display:flex}.bar-cta{margin-left:0}.bar-menu,.menu{display:none}}@media (min-width:1240px){.bar-clock{display:block}}.cover{min-height:100svh;padding:96px var(--pad) 28px;grid-template-rows:auto 1fr auto;gap:24px;display:grid;position:relative}.cover-kicker{justify-self:start}.cover-stage{align-self:center;position:relative}.cover-gl{pointer-events:none;width:104%;height:112%;position:absolute;inset:-6% -2%}.cover-name{font-weight:400;line-height:.82;display:grid;position:relative}.cover-name [data-line]{display:block}.n1{font:700 clamp(84px, 21.5vw, 360px)/.82 var(--display);letter-spacing:-.045em;text-transform:uppercase}.n2{font:italic 400 clamp(84px, 20vw, 340px)/.9 var(--serif);letter-spacing:-.02em;justify-self:end;margin-top:-.04em}.gl-on .cover-name [data-line]{color:#0000}.cover-foot{border-top:1px solid var(--line);align-items:end;gap:22px;padding-top:22px;display:grid}.cover-roles{font:500 clamp(18px, 1.8vw, 24px)/1.25 var(--display);flex-wrap:wrap;gap:4px 14px;display:flex}.cover-roles span+span:before{content:"/";color:var(--ink-3);margin-right:14px;font-weight:400}.cover-where{color:var(--ink-2);line-height:1.7}.cover-ctas{flex-wrap:wrap;gap:10px;display:flex}.cover-hint{right:var(--pad);color:var(--ink-3);display:none;position:absolute;top:100px}@media (min-width:900px){.cover-foot{grid-template-columns:1.6fr 1fr auto}.gl-on .cover-hint{display:block}}.statement{padding:clamp(96px, 14vw, 200px) var(--pad) clamp(64px, 8vw, 120px)}.statement-grid{align-items:start;gap:40px;display:grid}.statement-text{font:500 clamp(30px, 4.6vw, 72px)/1.08 var(--display);letter-spacing:-.025em}.statement-text em{font-size:1.08em}.statement-text .w{color:#7a766f;transition:color .3s linear}.statement-text .w.on{color:var(--ink)}.portrait{max-width:260px}.portrait img{filter:grayscale()contrast(1.08);aspect-ratio:3/4;object-fit:cover;object-position:50% 20%}.portrait figcaption{color:var(--ink-3);margin-top:10px}.facts{border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(64px,9vw,140px);display:grid}.fact{border-bottom:1px solid var(--line);padding:20px 16px 24px 0}.fact dt{font:400 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.fact dd{font:600 clamp(64px, 9vw, 140px)/.95 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:18px 0 12px}.fact dd sup{font-family:var(--serif);vertical-align:top;font-size:.6em;font-style:italic;font-weight:400;position:relative;top:.1em}.fact .fact-note{color:var(--ink-2);font-size:14px}@media (min-width:900px){.statement-grid{grid-template-columns:260px minmax(0,1fr);gap:clamp(40px,6vw,96px)}.facts{grid-template-columns:repeat(4,minmax(0,1fr))}.fact+.fact{border-left:1px solid var(--line);padding-left:20px}}.sec-head{gap:14px;margin-bottom:clamp(40px,6vw,88px);display:grid}.sec-num{color:var(--ink-3)}.sec-title{font:600 clamp(52px, 9vw, 150px)/.9 var(--display);letter-spacing:-.035em}.sec-title em{font-size:1.04em}.sec-note{max-width:46ch;color:var(--ink-2)}@media (min-width:900px){.sec-head{grid-template-columns:120px minmax(0,1fr) minmax(0,30ch);align-items:end}.sec-note{padding-bottom:.6em}}.work{background:var(--night);color:var(--night-ink);padding:clamp(96px, 12vw, 180px) var(--pad);border-radius:clamp(20px,3vw,40px) clamp(20px,3vw,40px) 0 0;position:relative}.work .sec-num,.work .label,.work .sec-note,.work .small{color:var(--night-2)}.index{border-top:1px solid var(--night-line);margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--night-line)}.row summary{cursor:pointer;grid-template-columns:34px minmax(0,1fr) auto;align-items:baseline;gap:6px 16px;padding:26px 0;list-style:none;display:grid}.row summary::-webkit-details-marker{display:none}.row-n{color:var(--night-2)}.row-title{font:600 clamp(40px, 7.4vw, 120px)/.95 var(--display);letter-spacing:-.035em;transition:transform .6s var(--ease), color .3s}.row-desc{color:var(--night-2);grid-column:2/-1;font-size:15px}.row-status{flex-wrap:wrap;grid-column:2/-1;gap:8px;display:flex}.row-year{color:var(--night-2);grid-area:1/3}.row summary:hover .row-title,.row[open] .row-title{transform:translate(14px)}.row summary:hover .row-title{color:var(--lime)}.row-bench .row-title{font-size:clamp(30px,4.6vw,72px)}.row-body{gap:32px;padding:6px 0 40px;display:grid}.row-body p{color:var(--night-ink);max-width:64ch}.row-body .stack{color:var(--night-2);text-transform:none;letter-spacing:.02em;margin-top:16px}.ticks{gap:12px;margin:0;padding:0;list-style:none;display:grid}.ticks li{max-width:70ch;padding-left:22px;position:relative}.ticks li:before{content:"";background:currentColor;width:10px;height:1px;position:absolute;top:.72em;left:0}.roadmap{border-left:1px dashed;margin-top:12px;padding-left:12px}.repos ul{border-top:1px solid var(--night-line);margin:10px 0 0;padding:0;list-style:none}.repos li{border-bottom:1px solid var(--night-line)}.repos a{gap:2px;padding:12px 0;display:grid}.repos b{font:400 13px/1.4 var(--mono);overflow-wrap:anywhere;transition:color .2s}.repos span{color:var(--night-2);font-size:13px}.repos a:hover b{color:var(--lime)}.row-body .small{color:var(--night-2);margin-top:14px}.work .tag-live{color:var(--ink)}@media (min-width:900px){.row summary{grid-template-columns:70px minmax(0,1fr) minmax(0,340px) 70px;padding:30px 0}.row-desc{grid-area:1/3;align-self:center}.row-status{grid-area:2/3}.row-year{grid-column:4;justify-self:end}.row-body{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);padding-left:86px}}.cover-float{z-index:60;pointer-events:none;opacity:0;width:340px;height:230px;transition:opacity .35s, transform .5s var(--ease);background:#000;border-radius:14px;margin:-115px 0 0 -170px;display:none;position:fixed;top:0;left:0;overflow:hidden;transform:scale(.85)}.cover-float.on{opacity:1;transform:scale(1)}.cover-float canvas{width:100%;height:100%;display:block}.cover-cap{color:#eeebe4bf;font-size:10px;position:absolute;bottom:10px;left:12px}@media (pointer:fine) and (min-width:900px){.cover-float{display:block}}.exp{background:var(--night);color:var(--night-ink)}.exp .sec-num,.exp .sec-note{color:var(--night-2)}.exp-pin{padding:clamp(64px, 10vw, 140px) var(--pad)}.exp-track{gap:48px;display:grid}.exp-intro{align-content:end;gap:18px;display:grid}.exp-hint{color:var(--night-2);display:none}.role{border-top:1px solid var(--night-line);align-content:start;gap:12px;padding-top:22px;display:grid}.role-when{color:var(--lime)}.role-org{font:600 clamp(48px, 6vw, 96px)/.95 var(--display);letter-spacing:-.035em}.role-org a:hover{color:var(--lime)}.role-title{font-size:clamp(24px,2.4vw,34px);line-height:1.1}.role-kind{color:var(--night-2);text-transform:none;letter-spacing:.02em}.role-tags{flex-wrap:wrap;gap:8px;display:flex}.role .ticks{color:#d9d6cf;margin-top:8px;font-size:16px}.role-next{border-top-style:dashed}.role-next .role-org{color:var(--night-2)}.exp-rail{display:none}@media (min-width:1024px){.js .exp{height:var(--exp-h,400vh)}.js .exp-pin{flex-direction:column;justify-content:center;height:100vh;padding:0;display:flex;position:sticky;top:0;overflow:hidden}.js .exp-track{width:max-content;padding:0 var(--pad);will-change:transform;gap:0;display:flex}.js .exp-intro,.js .role{flex:none;width:min(36vw,560px);margin-right:clamp(28px,3vw,56px);padding:0 clamp(28px,3vw,56px) 0 0}.js .role{border-top:0;border-left:1px solid var(--night-line);padding-top:0;padding-left:clamp(28px,3vw,56px)}.js .role-next{border-left-style:dashed}.js .exp-intro{width:min(44vw,680px)}.js .exp-hint{display:block}.js .exp-rail{left:var(--pad);right:var(--pad);background:var(--night-line);height:1px;display:block;position:absolute;bottom:40px}.js .exp-rail-fill{background:var(--lime);transform-origin:0;transform:scaleX(var(--exp-p,0));position:absolute;inset:0}}.research{padding:clamp(96px, 12vw, 180px) var(--pad)}.paper{gap:clamp(40px,6vw,80px);display:grid}.paper-head{border-top:1px solid var(--ink);gap:20px;max-width:1180px;padding-top:28px;display:grid}.paper-status{flex-wrap:wrap;gap:8px;display:flex}.paper-title{font:500 clamp(32px, 4.4vw, 68px)/1.04 var(--display);letter-spacing:-.025em}.paper-title em{font-size:1.08em;display:block}.paper-meta{color:var(--ink-2);text-transform:none;letter-spacing:.02em}.paper-q{border-block:1px solid var(--line);gap:18px;margin:0;padding:clamp(28px,4vw,56px) 0;display:grid}.paper-q p{font:italic 400 clamp(26px, 3.3vw, 50px)/1.15 var(--serif);max-width:34ch}.paper-q footer{color:var(--ink-3)}.paper-grid{border-top:1px solid var(--ink);gap:0;display:grid}.pbox{border-bottom:1px solid var(--line);align-content:start;gap:12px;padding:26px 0 30px;display:grid}.pbox-n{color:var(--ink-3)}.pbox h4{font:600 clamp(24px, 2.3vw, 34px)/1.05 var(--display);letter-spacing:-.02em;margin:0}.pbox p{max-width:58ch}.pbox b{font-weight:500}.arms{gap:12px;margin:4px 0 0;padding:0;list-style:none;display:grid}.arms li{grid-template-columns:34px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.arms li>.mono{color:var(--ink);background:var(--lime);text-align:center;border-radius:4px;padding:2px 0;font-size:11px}.arms li:last-child>.mono{border:1px dashed var(--ink-2);background:0 0}.wip{font:400 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);white-space:nowrap;border:1px dashed;border-radius:999px;margin-left:4px;padding:3px 8px 2px;font-style:normal}.formula{font:italic 400 clamp(24px, 2.2vw, 32px)/1 var(--serif), Georgia, serif;align-items:center;gap:14px;margin:6px 0 4px;display:flex}.frac{text-align:center;font-size:.72em;display:inline-grid}.frac span:first-child{border-bottom:1.5px solid;padding-bottom:6px}.frac span:last-child{padding-top:6px}.formula sub{font-size:.6em}.design,.status{gap:10px;margin:0;padding:0;list-style:none;display:grid}.design li{padding-left:22px;position:relative}.design li:before{content:"";background:currentColor;width:10px;height:1px;position:absolute;top:.72em;left:0}.cats{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.cats span{font:400 12px/1 var(--mono);border:1px solid var(--ink);border-radius:4px;padding:6px 9px 5px}.status li{align-items:baseline;gap:12px;display:flex}.status li:before{content:"";border:1px dashed var(--ink-2);border-radius:50%;flex:none;width:10px;height:10px;transform:translateY(1px)}.status li.done:before{background:var(--ink);border:0}.status li:after{content:"In progress";font:400 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);white-space:nowrap;margin-left:auto;padding-left:12px}.status li.done:after{content:"Complete";color:var(--ink)}@media (min-width:760px){.paper-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,64px)}}@media (min-width:1100px){.paper-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.paper-q{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.flatten{background:var(--night);color:var(--night-ink);border-radius:18px;gap:22px;margin:0;padding:clamp(24px,3vw,40px);display:grid}.flatten-stage{height:clamp(300px,32vw,440px);position:relative;overflow:hidden}.fc{width:var(--gs);height:var(--gs);transform:translate(var(--gx), var(--gy));transition:transform .9s var(--ease), width .9s var(--ease), height .9s var(--ease);transition-delay:calc(var(--i) * 22ms);background:#1d1d1a;border-radius:3px;position:absolute;top:0;left:0}.fc-ink{background:var(--night-ink)}.fc-mark{background:var(--lime)}.fc-i{text-align:center;font:400 10px/1 var(--mono);color:var(--night-2);opacity:0;transition:opacity .4s;position:absolute;inset:auto 0 calc(100% + 6px)}.is-flat .fc{transform:translate(var(--sx), var(--sy));width:var(--ss);height:var(--ss)}.is-flat .fc-mark .fc-i{opacity:1;transition-delay:.9s}.fc-arc{border:1.5px solid var(--lime);opacity:0;border-bottom:0;border-radius:999px 999px 0 0;height:46px;transition:opacity .4s;position:absolute;top:0;left:0}.fc-note{font:400 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--lime);white-space:nowrap;transition:opacity .4s;position:absolute;top:0;left:0}.fc-note-flat{opacity:0}.is-flat .fc-arc,.is-flat .fc-note-flat{opacity:1;transition-delay:1.05s}.is-flat .fc-note-grid{opacity:0;transition-delay:0s}.flatten figcaption{max-width:70ch;color:var(--night-2);gap:8px;display:grid}.flatten figcaption .mono{color:var(--night-ink)}.flatten figcaption b{color:var(--night-ink);font-weight:500}.flatten-toggle{color:var(--night-ink);border:1px solid var(--night-line);cursor:pointer;background:0 0;border-radius:999px;justify-self:start;padding:10px 16px}.flatten-toggle:hover{border-color:var(--lime);color:var(--lime)}@media (min-width:900px){.flatten{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;column-gap:48px}.flatten-stage{grid-row:1/span 2}}.skills{padding:clamp(96px,12vw,180px) 0;overflow:hidden}.skills .sec-head{padding:0 var(--pad)}.belts{border-top:1px solid var(--ink)}.belt{border-bottom:1px solid var(--line);padding:18px 0 14px;position:relative}.belt-k{padding:0 var(--pad);color:var(--ink-3);margin-bottom:6px;font-weight:400}.belt-v{padding:0 var(--pad);font:500 clamp(26px, 3.6vw, 54px)/1.15 var(--display);letter-spacing:-.02em}.belt-ghost .belt-v{color:#0000;-webkit-text-stroke:1px var(--ink-2)}.belt.run .belt-v{white-space:nowrap;will-change:transform;width:max-content;padding:0;display:flex}.belt.run .belt-v span{padding-right:.5em}.ledger{padding:0 var(--pad) clamp(96px, 12vw, 160px);gap:64px;display:grid}.ledger-col{border-top:1px solid var(--ink);align-content:start;gap:14px;padding-top:22px;display:grid}.ledger-title{font:500 clamp(28px, 3.4vw, 50px)/1.05 var(--display);letter-spacing:-.02em}.langs{margin-top:10px}.clients{margin:0;padding:0;list-style:none}.clients li{border-bottom:1px solid var(--line)}.clients a,.clients div{grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:16px 0;display:grid}.clients b{font:500 clamp(22px, 2.4vw, 32px)/1.1 var(--display);letter-spacing:-.015em;transition:transform .5s var(--ease)}.clients span{color:var(--ink-2);grid-column:1;font-size:14px}.clients i{font:400 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);grid-area:1/2/span 2;align-self:center;font-style:normal}.clients a:hover b{transform:translate(8px)}@media (min-width:900px){.ledger{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(40px,6vw,96px)}}.contact{padding:clamp(96px, 12vw, 180px) var(--pad) clamp(64px, 8vw, 120px)}.contact-title{margin:18px 0 clamp(48px,7vw,100px)}.contact-title a{font:600 clamp(72px, 17vw, 300px)/.86 var(--display);letter-spacing:-.045em;will-change:transform;transition:color .3s;display:inline-block}.contact-title a em{font-size:1.05em}.contact-title a:hover{color:var(--ink);text-shadow:none}.contact-title a:hover em{background:var(--lime)}.contact-grid{border-top:1px solid var(--ink);gap:48px;padding-top:28px;display:grid}.contact-lines{align-content:start;gap:6px;display:grid}.contact-lines .label{margin-top:16px}.contact-lines .label:first-child{margin-top:0}.contact-mail{font:500 clamp(20px, 2.2vw, 28px)/1.3 var(--display);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.copy{border:1px solid var(--ink);cursor:pointer;color:var(--ink);background:0 0;border-radius:999px;padding:6px 12px}.copy:hover{background:var(--ink);color:var(--paper)}.socials{flex-wrap:wrap;gap:6px 20px;display:flex}.form{gap:22px;display:grid}.field label{font:400 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-bottom:6px;display:block}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--ink);width:100%;color:var(--ink);font:400 18px/1.4 var(--body);background:0 0;border-radius:0;outline:none;padding:12px 0}.field select{appearance:none;cursor:pointer}.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-width:2px;padding-bottom:11px}.form-foot{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.form-status{text-transform:none;letter-spacing:.02em;min-height:1.4em}.form-status.err{color:#a3260f}@media (min-width:640px){.form{grid-template-columns:1fr 1fr}.field-full,.form-foot,.form-status{grid-column:1/-1}}@media (min-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(40px,6vw,96px)}}.foot{background:var(--night);color:var(--night-ink);padding:28px var(--pad) clamp(14px, 2vw, 30px);overflow:hidden}.foot-row{color:var(--night-2);flex-wrap:wrap;justify-content:space-between;gap:10px 28px;display:flex}.foot-row a:hover{color:var(--lime)}.foot-links{gap:22px;display:flex}.foot-links a{color:var(--night-ink)}.foot-mark{margin-top:clamp(40px,8vw,120px)}.fm{width:100%;height:auto;display:block;overflow:visible}.fm-stack{display:none}@media (max-width:639px){.fm-wide{display:none}.fm-stack{display:block}}.fm .g{fill:var(--night-ink)}.fm .s{fill:var(--lime);stroke:var(--lime);stroke-width:var(--sw,5);stroke-linejoin:round;stroke-linecap:round}.sign-ready .fm .g{transform-box:fill-box;transform:translateY(118%)}.sign-ready .fm .s{stroke-dasharray:1 1;stroke-dashoffset:1px;fill-opacity:0}.sign-ready.is-signed .fm .g{transition:transform 1.1s var(--ease) calc(var(--i) * 75ms);transform:none}.sign-ready.is-signed .fm .s{stroke-dashoffset:0;fill-opacity:1;transition:stroke-dashoffset 1.05s cubic-bezier(.65, 0, .3, 1) calc(.55s + var(--i) * .15s), fill-opacity .7s ease calc(1.25s + var(--i) * .15s)}.is-loading .cover-name [data-line],.is-loading .cover-kicker,.is-loading .cover-foot{animation:none!important}.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(28px)}.js .reveal.in{opacity:1;transform:none}.js .cover-name [data-line],.js .cover-kicker,.js .cover-foot{animation:rise 1.1s var(--ease) both}.js .n2{animation-delay:80ms}.js .cover-foot{animation-delay:.25s}@keyframes rise{0%{transform:translateY(.35em)}to{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}.statement-text .w{color:var(--ink)}}.cover-roles{align-content:flex-start;min-height:calc(3.75em + 10px)}@media (max-width:899px){.cover-roles{flex-direction:column}}@media (min-width:900px){.cover-roles{min-height:2.5em}}@media (min-width:1024px){.js .exp-pin{perspective:1600px}.js .exp-track{transform-style:preserve-3d}.js .exp-track>*{transform-origin:50%;backface-visibility:hidden}}.tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease);will-change:transform}.portrait-frame{position:relative;overflow:hidden;box-shadow:0 30px 60px -36px #0e0e0c8c}.portrait-frame img{width:100%;display:block}.sheen{pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(circle at var(--sx,50%) var(--sy,30%), #ffffff8c, transparent 55%);opacity:var(--so,0);transition:opacity .5s var(--ease);position:absolute;inset:0}.contact-title .tilt{transform-origin:30% 60%;display:inline-block}.cover-float{background:#151513;width:380px;height:260px;margin:-130px 0 0 -190px;box-shadow:0 30px 80px -30px #000c}.cover-float>div,.cover-float canvas{display:block;width:100%!important;height:100%!important}.cover-cap{z-index:1;pointer-events:none}.row-3d{aspect-ratio:16/10;background:#151513;border-radius:14px;position:relative;overflow:hidden}.row-3d>div,.row-3d canvas{display:block;width:100%!important;height:100%!important}@media (pointer:fine) and (min-width:900px){.row-3d{display:none}}.flatten-stage.is-3d{overflow:visible}.flatten-stage.is-3d>div,.flatten-stage.is-3d canvas{display:block;width:100%!important;height:100%!important}
