/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.contents{display:contents}.grid{display:grid}.table{display:table}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#11120f;--paper:#e9e7df;--acid:#b7ff2a;--muted:#a6a69e;--line:#11120f2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{width:100%;display:block}::selection{background:var(--acid);color:var(--ink)}.site-header{z-index:20;height:82px;color:var(--paper);font:11px/1 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #e9e7df3d;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2.2vw;display:grid;position:absolute;inset:0 0 auto}.wordmark{letter-spacing:-.08em;width:min-content;font:700 26px/1 Arial,sans-serif}.wordmark-dot{color:var(--acid)}.site-header nav{gap:1.8rem;display:flex}.site-header nav a{padding:.6rem 0;position:relative}.site-header nav a:after{content:"";background:var(--acid);width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}.site-header nav a:hover:after{width:100%}.availability{justify-self:end;align-items:center;gap:.6rem;display:flex}.availability i{background:var(--acid);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #b7ff2a24}.hero{min-height:100svh;color:var(--paper);background:#11120f;grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1.15fr .85fr;padding:120px 2.2vw 44px;display:grid;position:relative;overflow:hidden}.hero-grid{opacity:.35;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0e 1px,#0000 1px);background-size:6.25vw 6.25vw;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.eyebrow{font:10px/1.4 var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin:0}.hero>.eyebrow{grid-column:1/-1;position:relative}.hero h1{z-index:3;letter-spacing:-.075em;grid-column:1/-1;align-self:center;margin:2rem 0 4rem;font-size:clamp(62px,10vw,154px);font-weight:600;line-height:.82;position:relative}.hero h1 span{color:#0000;-webkit-text-stroke:1px var(--acid)}.hero-image-wrap{z-index:1;width:min(38vw,570px);position:absolute;top:18vh;right:8vw;transform:rotate(2.5deg)}.hero-image{aspect-ratio:1;object-fit:cover;filter:grayscale()contrast(1.08);opacity:.68}.image-tag{font:9px var(--font-geist-mono), monospace;letter-spacing:.12em;position:absolute;bottom:-23px;right:0}.hero-intro{z-index:4;letter-spacing:-.025em;grid-column:2;align-self:end;max-width:540px;margin:0;font-size:clamp(17px,1.5vw,24px);line-height:1.35;position:relative}.round-link{aspect-ratio:1;width:118px;font:10px var(--font-geist-mono), monospace;text-transform:uppercase;z-index:5;border:1px solid #e9e7df80;border-radius:50%;grid-column:3;justify-content:center;place-self:end;align-items:center;gap:.9rem;transition:all .3s;display:flex;position:relative}.round-link:hover{background:var(--acid);color:var(--ink);border-color:var(--acid);transform:rotate(-8deg)}.statement{padding:9rem 8vw 8rem 24vw}.statement>p:nth-child(2){letter-spacing:-.06em;max-width:1080px;margin:2.5rem 0 6rem;font-size:clamp(36px,5.2vw,80px);line-height:1.03}.statement-foot{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:2rem;padding-top:1.2rem;font:10px/1.4 monospace;display:flex}.section-kicker{border-bottom:1px solid var(--line);font:10px var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;padding:1.25rem 2.2vw;display:flex}.practice{padding-top:5rem}.practice-list{padding:0 2.2vw 8rem}.practice-row{border-bottom:1px solid var(--line);isolation:isolate;grid-template-columns:6vw 1fr 32vw 4vw;align-items:center;min-height:148px;display:grid;position:relative}.practice-row h2{letter-spacing:-.065em;margin:0;font-size:clamp(38px,5.7vw,92px);font-weight:500;line-height:.9;transition:transform .35s}.practice-id,.practice-row p{font:10px/1.5 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em}.practice-row p{max-width:270px;margin:0}.practice-arrow{justify-self:end;font-size:24px}.practice-row img{object-fit:cover;opacity:0;z-index:-1;pointer-events:none;filter:saturate(.2);width:230px;height:145px;transition:all .28s;position:absolute;right:12vw;transform:rotate(5deg)scale(.92)}.practice-row:hover h2{transform:translate(2vw)}.practice-row:hover img{opacity:.85;transform:rotate(-3deg)scale(1)}.practice-row:hover .practice-arrow{color:var(--acid)}.work{background:#d8d5cc;padding:9rem 2.2vw}.work-heading{grid-template-columns:1fr 1fr;align-items:end;margin-bottom:6rem;display:grid}.work-heading h2{letter-spacing:-.08em;margin:1.4rem 0 0;font-size:clamp(70px,11vw,170px);font-weight:600;line-height:.78}.work-heading>p{justify-self:end;max-width:430px;margin:0;font-size:18px;line-height:1.4}.project-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:8rem 2.2vw;display:grid}.project-card--wide{grid-column:1/-1;width:78%}.project-card--portrait{width:88%}.project-card--square{margin-top:20vw}.project-image{background:var(--ink);display:block;position:relative;overflow:hidden}.project-image img{aspect-ratio:16/9;object-fit:cover;filter:grayscale(.8);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s}.project-card--portrait .project-image img{aspect-ratio:3/4}.project-card--square .project-image img{aspect-ratio:1}.project-card .project-image--uncropped{background:0 0}.project-card .project-image--uncropped img{aspect-ratio:auto;object-fit:contain;height:auto}.project-image>span{background:var(--acid);font:10px var(--font-geist-mono), monospace;text-transform:uppercase;padding:.65rem .8rem;transition:transform .3s;position:absolute;inset:auto 1rem 1rem auto;transform:translateY(150%)}.project-image:hover img{filter:grayscale(0);transform:scale(1.025)}.project-image:hover span{transform:translateY(0)}.iphone-stage{background:#d8d5cc;place-items:center;display:grid;overflow:hidden}.iphone-shell{aspect-ratio:830/1800;background:#090a08;border:9px solid #090a08;border-radius:48px;width:min(100%,380px);position:relative;overflow:hidden;box-shadow:0 28px 70px #11120f47,inset 0 0 0 1px #ffffff24}.iphone-shell img{object-fit:contain;width:100%;height:100%;display:block;aspect-ratio:auto!important;filter:none!important}.iphone-island{z-index:2;background:#090a08;border-radius:999px;width:28%;height:2.7%;position:absolute;top:1.2%;left:36%;box-shadow:0 0 0 1px #ffffff0d}.iphone-stage--card{aspect-ratio:16/9;background:radial-gradient(circle at 65% 25%,#b7ff2a70,#0000 26%),#1a1c17;padding:2.5%}.iphone-stage--card .iphone-shell{border-width:4px;border-radius:20px;width:auto;height:100%;box-shadow:0 12px 35px #00000073}.project-hero>.iphone-stage--hero{background:0 0;grid-column:3;align-self:end;width:100%;height:48vh}.iphone-stage--hero .iphone-shell{border-width:7px;border-radius:38px;width:auto;height:46vh}.project-gallery--devices{align-items:start}.project-gallery--devices figure:nth-child(3n+1){width:100%}.project-gallery--devices .iphone-shell img{object-fit:contain;height:100%;min-height:0;max-height:none}.iphone-stage--gallery{background:#d8d5cc;min-height:76vh;padding:4rem}.iphone-stage--gallery .iphone-shell{width:min(100%,360px)}.desktop-stage{background:#d8d5cc;place-items:center;display:grid;overflow:hidden}.desktop-window{background:#101324;border:1px solid #e9e7df38;border-radius:12px;width:min(100%,1120px);overflow:hidden;box-shadow:0 28px 80px #080a1457}.desktop-titlebar{color:#8e93ab;height:30px;font:8px var(--font-geist-mono), monospace;letter-spacing:.08em;background:#181b2c;align-items:center;gap:6px;padding:0 11px;display:flex}.desktop-titlebar i{background:#4b5168;border-radius:50%;width:7px;height:7px}.desktop-titlebar i:first-child{background:#d86d72}.desktop-titlebar i:nth-child(2){background:#d7a45e}.desktop-titlebar i:nth-child(3){background:#6eac7c}.desktop-titlebar span{margin-left:auto}.desktop-window img{width:100%;height:auto;display:block;aspect-ratio:auto!important;object-fit:contain!important;filter:none!important;min-height:0!important;max-height:none!important}.desktop-stage--card{aspect-ratio:16/9;background:radial-gradient(circle at 20% 20%,#5d4cff61,#0000 32%),#10121f;padding:5%}.desktop-stage--card .desktop-window{border-radius:7px;width:92%}.desktop-stage--card .desktop-titlebar{height:16px}.desktop-stage--card .desktop-titlebar i{width:4px;height:4px}.project-hero>.desktop-stage--hero{background:0 0;grid-column:3;align-self:end;width:100%;height:48vh}.desktop-stage--hero .desktop-window{width:100%}.device-figure--desktop{grid-column:1/-1!important;width:100%!important}.desktop-stage--gallery{background:#d8d5cc;min-height:62vh;padding:4vw}.signal-visual{min-height:48vh;color:var(--paper);isolation:isolate;background:#11120f;position:relative;overflow:hidden}.signal-grid{opacity:.32;background-image:linear-gradient(#b7ff2a1f 1px,#0000 1px),linear-gradient(90deg,#b7ff2a1f 1px,#0000 1px);background-size:8% 12.5%;position:absolute;inset:0}.signal-noise{color:#8e9388;font:clamp(14px, 1.7vw, 28px)/1.4 var(--font-geist-mono), monospace;letter-spacing:.34em;word-spacing:1.2em;opacity:.62;position:absolute;inset:12% 6% auto;transform:rotate(-2deg)}.signal-tones{grid-template-rows:repeat(8,1fr);gap:3%;display:grid;position:absolute;inset:20% 5% 19% 42%}.signal-tones i{width:var(--tone-width,72%);background:var(--acid);height:2px;transform:translateX(var(--tone-x,0));align-self:center;display:block;box-shadow:0 0 15px #b7ff2ab3}.signal-tones i:nth-child(2n){--tone-width:46%;--tone-x:28%}.signal-tones i:nth-child(3n){--tone-width:84%;--tone-x:8%}.signal-tones i:nth-child(5n){--tone-width:32%;--tone-x:51%}.signal-core{z-index:2;gap:1rem;display:grid;position:absolute;inset:auto auto 8% 6%}.signal-core strong{color:var(--acid);letter-spacing:-.07em;font-size:clamp(42px,6vw,92px);line-height:.72}.signal-core small,.signal-readout{font:8px var(--font-geist-mono), monospace;letter-spacing:.11em}.signal-readout{color:var(--acid);gap:1.2rem;display:flex;position:absolute;inset:7% 5% auto auto}.signal-visual--compact{aspect-ratio:16/9;min-height:0}.signal-visual--compact .signal-core strong{font-size:clamp(34px,5vw,76px)}.signal-visual--compact .signal-core small{display:none}.project-hero>.signal-visual{grid-column:3;align-self:end;width:100%;height:48vh;min-height:0}.project-meta{border-top:1px solid var(--line);grid-template-columns:7vw 1fr auto auto;align-items:baseline;gap:1rem;margin-top:.8rem;padding-top:.9rem;display:grid}.project-meta span{font:9px var(--font-geist-mono), monospace;text-transform:uppercase}.project-meta h3{letter-spacing:-.04em;margin:0;font-size:clamp(22px,2.3vw,38px);font-weight:500}.playground-teaser{background:var(--acid);grid-template-columns:1fr 1fr;min-height:86vh;padding:8rem 2.2vw;display:grid;position:relative;overflow:hidden}.playground-mark{opacity:.1;font:500 62vw/1 Arial,sans-serif;position:absolute;top:-18vw;right:-2vw}.playground-copy,.lab-card{z-index:2;position:relative}.playground-copy h2{letter-spacing:-.085em;margin:2rem 0 3rem;font-size:clamp(76px,12vw,184px);line-height:.8}.playground-lead{letter-spacing:-.04em;max-width:510px;font-size:clamp(21px,2vw,32px);line-height:1.2}.inline-arrow{text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid;margin-top:2rem;padding-bottom:.4rem;font:10px monospace;display:inline-block}.lab-card{background:var(--ink);color:var(--paper);place-self:end;width:min(100%,630px);padding:1.6rem;transform:rotate(1.2deg);box-shadow:14px 14px #11120f21}.lab-card-top{font:9px var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;padding-bottom:5rem;display:flex}.status{color:var(--acid)}.lab-card h3{letter-spacing:-.055em;margin:0 0 1.6rem;font-size:clamp(32px,4vw,64px);font-weight:500;line-height:.95}.tag-row{flex-wrap:wrap;gap:.4rem;display:flex}.tag-row span{font:9px var(--font-geist-mono), monospace;text-transform:uppercase;border:1px solid #e9e7df59;border-radius:2rem;padding:.45rem .65rem}.lab-card>p{max-width:480px;color:var(--muted);margin:2.2rem 0;line-height:1.5}.github-link{border-top:1px solid #e9e7df40;grid-template-columns:42px 1fr auto;align-items:center;gap:1rem;padding-top:1.2rem;display:grid}.github-symbol{background:var(--paper);width:42px;height:42px;color:var(--ink);border-radius:50%;place-items:center;font-size:20px;display:grid}.github-link span:nth-child(2){gap:.25rem;font-size:16px;display:grid}.github-link small{color:var(--muted);font:8px var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em}.site-footer{background:var(--ink);color:var(--paper);flex-direction:column;justify-content:space-between;gap:4rem;min-height:88vh;padding:8rem 2.2vw 2rem;display:flex}.contact-form{border-bottom:1px solid #e9e7df4d;padding-bottom:2.8rem}.contact-form-heading{letter-spacing:-.075em;justify-content:space-between;align-items:center;padding:1rem 0 3.4rem;font-size:clamp(68px,11.5vw,178px);line-height:.88;display:flex}.contact-form-heading span{color:var(--acid);font-size:.5em}.contact-fields{grid-template-columns:1fr 1fr;gap:1rem 2.2vw;display:grid}.contact-fields label{border-top:1px solid #e9e7df3d;gap:.7rem;padding-top:.8rem;display:grid}.contact-fields label>span{font:9px var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.contact-fields input,.contact-fields textarea{width:100%;color:var(--paper);resize:vertical;background:0 0;border:0;border-bottom:1px solid #e9e7df5c;border-radius:0;outline:none;padding:.5rem 0 1rem;font:22px/1.35 Arial,sans-serif}.contact-fields input:focus,.contact-fields textarea:focus{border-color:var(--acid)}.contact-message{grid-column:1/-1}.contact-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.contact-submit-row{grid-template-columns:1fr auto;align-items:end;gap:2rem;margin-top:1.5rem;display:grid}.contact-submit-row>p{max-width:440px;color:var(--muted);font:10px/1.5 var(--font-geist-mono), monospace;margin:0}.contact-submit-row>p a{color:var(--paper);text-underline-offset:.2em;text-decoration:underline}.contact-submit-row>div{justify-items:end;gap:1rem;display:grid}.contact-submit-row button{border:1px solid var(--acid);background:var(--acid);min-width:210px;min-height:54px;color:var(--ink);font:10px var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;padding:.8rem 1.2rem}.contact-submit-row button:disabled{cursor:wait;opacity:.62}.contact-status{min-height:1.4em;font:10px var(--font-geist-mono), monospace;margin:1rem 0 0}.contact-status--sent{color:var(--acid)}.contact-status--error{color:#ff907f}.footer-bottom{font:9px var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;grid-template-columns:1fr 1fr 1fr;display:grid}.footer-bottom>:last-child{justify-self:end}.legal-links{align-items:center;gap:1.2rem;display:flex}.legal-links button{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.site-header--dark{background:0 0;position:absolute}.category-hero{background:var(--ink);min-height:92svh;color:var(--paper);flex-direction:column;justify-content:space-between;padding:125px 2.2vw 4vw;display:flex;position:relative;overflow:hidden}.category-hero h1{z-index:2;letter-spacing:-.085em;margin:2rem 0;font-size:clamp(76px,13vw,196px);font-weight:600;line-height:.78;position:relative}.category-hero>img{object-fit:cover;opacity:.57;filter:grayscale(.7);width:min(42vw,660px);height:66vh;position:absolute;top:16vh;right:7vw;transform:rotate(2deg)}.category-hero--photography>img,.category-hero--creative-direction>img,.category-hero--drawing-painting>img{object-fit:contain}.category-intro{z-index:3;letter-spacing:-.03em;width:min(580px,52vw);margin:0 0 0 35vw;font-size:clamp(18px,2vw,31px);line-height:1.25;position:relative}.category-projects{background:#d8d5cc;padding-bottom:10rem}.category-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:9rem 2.2vw;padding:8rem 2.2vw;display:grid}.category-grid .project-card--wide{grid-column:1/-1;width:74%}.category-grid .project-card:nth-child(3n){margin-top:12vw}.photo-archive{padding-top:2rem}.photo-archive-heading{z-index:2;background:#d8d5cc;position:sticky;top:0}.photo-archive-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:8vw 1.1vw;padding:4.5rem 2.2vw 0;display:grid}.photo-archive-grid figure{grid-column:span 5;margin:0}.photo-archive-grid figure:nth-child(3n+2){grid-column:8/span 5;margin-top:10vw}.photo-archive-grid figure:nth-child(3n){grid-column:2/span 9}.photo-archive-grid img{width:100%;height:auto;display:block}.photo-archive-grid figcaption{font:8px var(--font-geist-mono), monospace;letter-spacing:.1em;margin-top:.65rem}.project-page{background:var(--paper)}.project-hero{background:var(--ink);min-height:100svh;color:var(--paper);grid-template-rows:auto auto 1fr;grid-template-columns:.75fr 1.3fr .95fr;padding:130px 2.2vw 0;display:grid;overflow:hidden}.project-hero-meta{text-transform:uppercase;letter-spacing:.09em;grid-column:1/-1;justify-content:space-between;font:9px monospace;display:flex}.language-badge,.project-status{color:var(--acid)}.project-hero h1{z-index:2;letter-spacing:-.08em;grid-column:1/-1;max-width:1280px;margin:5vh 0 2rem;font-size:clamp(64px,11vw,166px);font-weight:600;line-height:.82;position:relative}.project-hero>p{z-index:2;letter-spacing:-.035em;grid-column:2;align-self:center;max-width:620px;font-size:clamp(19px,2.1vw,32px);line-height:1.25;position:relative}.project-hero>img{object-fit:cover;filter:grayscale(.45);grid-column:3;align-self:end;width:100%;height:48vh}.project-page--uncropped .project-hero>img,.project-hero--cover>img{object-fit:contain;height:auto;max-height:58vh}.project-hero--cover>img{filter:none}.project-story{grid-template-columns:1fr 2fr;gap:8vw;padding:10rem 8vw 12rem;display:grid}.project-story aside small{color:#55564f;max-width:260px;margin-top:2rem;line-height:1.5;display:block}.tag-row--light{margin-top:1.2rem}.tag-row--light span{border-color:var(--line)}.project-body p{letter-spacing:-.04em;margin:0 0 2rem;font-size:clamp(24px,3vw,48px);line-height:1.18}.project-video{background:var(--ink);padding:0 2.2vw 10rem}.project-video video{background:#000;width:100%;max-height:90vh;display:block}.project-gallery{grid-template-columns:1fr 1fr;gap:10rem 2.2vw;padding:0 2.2vw 12rem;display:grid}.project-gallery figure{margin:0}.project-gallery figure:nth-child(3n+1){grid-column:1/-1;width:78%}.project-gallery img{object-fit:cover;min-height:38vw;max-height:86vh}.project-page--uncropped .project-gallery img{object-fit:contain;height:auto;min-height:0;max-height:none}.project-gallery figcaption{letter-spacing:.1em;margin-top:.65rem;font:8px monospace}.source-panel{background:var(--acid);max-width:900px;margin:0 2.2vw 12rem;padding:4rem}.source-panel h2{letter-spacing:-.06em;margin:2rem 0;font-size:clamp(42px,6vw,86px);line-height:.9}.source-panel>p:not(.eyebrow){max-width:620px;font-size:18px;line-height:1.5}.source-panel .source-language{border-left:3px solid var(--ink);text-transform:uppercase;margin:1.5rem 0 2rem;padding:.9rem 1rem;font:12px/1.5 monospace}.github-cta{border-top:1px solid #11120f40;justify-content:space-between;align-items:center;margin-top:3rem;padding-top:1.2rem;display:flex}.github-cta span{gap:.35rem;font-size:20px;display:grid}.github-cta small{text-transform:uppercase;letter-spacing:.08em;font:9px monospace}.github-cta b{font-size:30px}.next-project{border-top:1px solid var(--line);background:#d8d5cc;grid-template-columns:12vw 1fr auto;align-items:center;min-height:42vh;padding:3rem 2.2vw;display:grid}.next-project span{text-transform:uppercase;letter-spacing:.1em;font:9px monospace}.next-project strong{letter-spacing:-.07em;font-size:clamp(48px,8vw,125px);font-weight:500}.next-project b{color:#758f22;font-size:42px}.legal-page{background:var(--paper)}.legal-page .site-header{background:var(--ink)}.legal-document{max-width:1120px;margin:0 auto;padding:150px 3rem 10rem}.legal-document h1{letter-spacing:-.08em;margin:3rem 0 8rem;font-size:clamp(74px,12vw,176px);line-height:.8}.legal-lead{letter-spacing:-.035em;max-width:900px;font-size:clamp(25px,3vw,44px);line-height:1.2}.legal-document section{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:4rem;padding:2.2rem 0;display:grid}.legal-document h2{margin:0;font-size:17px}.legal-document section>p{margin:0;line-height:1.65}.legal-document section a{text-underline-offset:.2em;text-decoration:underline}.legal-status{text-transform:uppercase;letter-spacing:.1em;margin-top:4rem;font:9px monospace}.consent-layer{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#11120fb8;justify-content:flex-end;align-items:flex-end;padding:1.2rem;display:flex;position:fixed;inset:0}.consent-card{background:var(--paper);width:min(560px,100%);padding:2rem;position:relative;box-shadow:0 12px 80px #00000059}.consent-card h2{letter-spacing:-.06em;margin:2rem 0;font-size:clamp(40px,5vw,68px);line-height:.9}.consent-card>p:not(.eyebrow){max-width:460px;line-height:1.5}.consent-close{cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:.8rem;right:1rem}.consent-detail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-transform:uppercase;grid-template-columns:1fr auto;gap:.45rem 2rem;margin:1.5rem 0;padding:1rem 0;font:10px monospace;display:grid}.consent-detail small{text-transform:none;color:#5d5d57;grid-column:1/-1;margin-bottom:1rem;line-height:1.4}.text-button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0 0 .25rem}.consent-actions{grid-template-columns:1fr 1fr;gap:.5rem;margin:2rem 0 1rem;display:grid}.consent-actions button{border:1px solid var(--ink);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:0 0;min-height:50px;font:9px monospace}.consent-actions .button-acid{background:var(--acid)}.consent-card>a{text-transform:uppercase;font:9px monospace}@media (max-width:800px){.site-header{grid-template-columns:1fr auto;height:66px}.site-header nav{display:none}.availability{font-size:8px}.hero{grid-template-rows:auto 1fr auto auto;grid-template-columns:1fr;padding-top:94px}.hero h1{align-self:start;margin-top:17vh}.hero-image-wrap{width:72vw;top:22vh;right:-14vw}.hero-intro{grid-column:1;max-width:88%}.round-link{grid-column:1;justify-self:end;width:92px;margin-top:2rem}.statement{padding:6rem 2.2vw}.statement-foot{flex-direction:column}.practice{padding-top:2rem}.practice-list{padding-bottom:5rem}.practice-row{grid-template-columns:40px 1fr 30px;min-height:112px}.practice-row p,.practice-row img{display:none}.practice-arrow{grid-column:3}.work{padding-top:6rem}.work-heading{grid-template-columns:1fr;gap:3rem}.work-heading>p{justify-self:start}.project-grid{grid-template-columns:1fr;gap:5rem}.project-card--wide,.project-card--portrait,.project-card--square{grid-column:auto;width:100%;margin-top:0}.project-meta{grid-template-columns:50px 1fr auto}.project-meta span:nth-last-child(2){display:none}.playground-teaser{grid-template-columns:1fr;gap:4rem;padding-top:6rem}.lab-card{width:100%}.footer-bottom{grid-template-columns:1fr;gap:1rem}.footer-bottom span:nth-child(2){display:none}.footer-bottom>:last-child{justify-self:start}.legal-links{flex-wrap:wrap;gap:.7rem}.site-footer{padding-top:6rem}.contact-form-heading{padding-bottom:2.5rem}.contact-fields{grid-template-columns:1fr}.contact-message{grid-column:1}.contact-submit-row{grid-template-columns:1fr}.contact-submit-row>div{justify-items:stretch}.contact-submit-row button{width:100%}.category-hero{min-height:84svh;padding-top:95px}.category-hero>img{width:72vw;height:46vh;top:25vh;right:-10vw}.category-intro{width:86%;margin-left:8vw}.category-grid{grid-template-columns:1fr;gap:5rem;padding-top:5rem}.category-grid .project-card--wide{grid-column:auto;width:100%}.category-grid .project-card:nth-child(3n){margin-top:0}.photo-archive-grid{grid-template-columns:1fr;gap:4rem;padding-top:3rem}.photo-archive-grid figure,.photo-archive-grid figure:nth-child(3n+2),.photo-archive-grid figure:nth-child(3n){grid-column:1;margin-top:0}.project-hero{grid-template-rows:auto auto auto 1fr;grid-template-columns:1fr;min-height:92svh;padding-top:95px}.project-hero h1,.project-hero>p,.project-hero>img,.project-hero>.iphone-stage,.project-hero>.desktop-stage{grid-column:1}.project-hero h1{margin-top:8vh}.project-hero>p{align-self:start}.project-hero>img,.project-hero>.iphone-stage,.project-hero>.desktop-stage{height:34vh;margin-top:2rem}.iphone-stage--hero .iphone-shell{border-width:5px;border-radius:28px;height:33vh}.project-story{grid-template-columns:1fr;padding:6rem 2.2vw}.project-gallery{grid-template-columns:1fr;gap:4rem;padding-bottom:7rem}.project-gallery figure:nth-child(3n+1){grid-column:auto;width:100%}.project-gallery img{min-height:95vw}.iphone-stage--gallery{min-height:0;padding:2rem 1rem}.iphone-stage--gallery .iphone-shell{width:min(100%,310px)}.desktop-stage--hero .desktop-window{width:96%}.desktop-stage--gallery{min-height:0;padding:1.2rem .7rem}.source-panel{margin-bottom:7rem;padding:2rem}.next-project{grid-template-columns:1fr auto}.next-project span{grid-column:1/-1}.legal-document{padding:120px 1.2rem 7rem}.legal-document h1{margin-bottom:5rem}.legal-document section{grid-template-columns:1fr;gap:1rem}.consent-layer{padding:.5rem}.consent-card{padding:1.4rem}.consent-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
