@font-face{font-family:Archivo;src:url('assets/fonts/archivo-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('assets/fonts/archivo-extrabold.woff') format('woff');font-weight:800;font-style:normal;font-display:swap}
:root{
 --paper:#eff0f2;--ink:#181b20;--muted:#555c65;--line:#c7cbd1;--accent:#b63727;--panel:#e4e7eb;
 --paper:oklch(95.5% .003 260);--ink:oklch(22% .009 260);--muted:oklch(47% .018 260);
 --pad:clamp(20px,3.2vw,64px);--space:clamp(88px,10vw,168px);--ease:cubic-bezier(.22,1,.36,1);
 --display:clamp(2.8rem,5.6vw,6rem);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.55 Archivo,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--ink);color:var(--paper)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:800;line-height:1;letter-spacing:-.055em}h2{font-size:var(--display);text-wrap:balance}p{max-width:57ch;text-wrap:pretty}img{display:block;width:100%;height:auto}button,summary{cursor:pointer}button{border-radius:0}button:active,.text-link:active{transform:translateY(1px)}[hidden]{display:none!important}.page-inset{padding-inline:var(--pad)}.section-space{padding-top:var(--space)}.meta{font-size:.75rem;line-height:1.5;letter-spacing:.015em;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:.875rem;box-shadow:inset 0 -1px var(--ink);transition:color .18s}.text-link span[aria-hidden]{font-size:1.15rem}.text-link:hover{color:var(--accent)}
.skip{position:fixed;top:12px;left:20px;z-index:100;padding:12px 20px;background:var(--ink);color:var(--paper);transform:translateY(-180%)}.skip:focus{transform:none}
.site-header{height:64px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:32px;padding-inline:var(--pad);background:var(--paper);border-bottom:1px solid var(--line)}.home-link{font-size:1.35rem;font-weight:800;letter-spacing:-.065em;display:flex;align-items:center;min-height:44px}.header-note{font-size:.75rem;color:var(--muted)}.site-header nav{display:flex;gap:clamp(16px,2.5vw,40px);margin-left:auto;align-items:center}.site-header nav a{display:flex;align-items:center;gap:6px;min-height:44px;font-size:.8125rem}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--accent)}
.masthead{display:grid;grid-template-columns:1fr 230px auto;align-items:end;gap:32px;padding-top:36px;padding-bottom:32px}.masthead h1{font-size:clamp(7rem,16.8vw,19rem);line-height:.79;letter-spacing:-.095em;margin-left:-.018em;white-space:nowrap}.masthead-note{padding-bottom:3px;font-size:1rem;line-height:1.45}.masthead-note p+p{margin-top:16px;color:var(--muted)}.hero-link{align-self:end;margin-bottom:3px}.hero-images{display:grid;grid-template-columns:.86fr 1.14fr;gap:8px;height:clamp(360px,42vw,680px)}.hero-images figure{overflow:hidden;min-width:0;height:100%}.hero-images img{width:100%;height:100%;object-fit:contain}.hero-painted{background:#e8eefb}.hero-editorial{background:#e5e5e5}.hero-caption{display:flex;justify-content:space-between;gap:20px;padding-block:16px;border-bottom:1px solid var(--line);font-size:.875rem}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:40px}.section-heading p{font-size:.9375rem;color:var(--muted);max-width:38ch}.gallery-tabs{display:flex;gap:36px;border-bottom:1px solid var(--line);margin-top:48px}.gallery-tabs button{position:relative;appearance:none;border:0;padding:16px 0;background:transparent;font-size:.9375rem;min-height:52px;display:flex;gap:12px;align-items:center}.gallery-tabs button span{font-size:.6875rem;color:var(--muted)}.gallery-tabs button[aria-selected=true]{color:var(--accent)}.gallery-tabs button[aria-selected=true]::after{content:'';height:2px;background:var(--accent);position:absolute;bottom:-1px;left:0;right:0}.gallery-tabs button:hover{color:var(--accent)}.gallery-intro{display:grid;grid-template-columns:1fr 2fr auto;align-items:start;gap:32px;margin-block:24px 40px}.gallery-intro h3{font-size:1rem;letter-spacing:-.02em;line-height:1.5}.gallery-intro p{font-size:.9375rem;max-width:54ch;color:var(--muted)}.gallery-panel+.gallery-panel{margin-top:80px}.enhanced .gallery-panel{margin-top:0}.image-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:64px 40px;align-items:start}.image-grid>.image-item:nth-child(2n){margin-top:80px}.image-link{display:block;position:relative;background:var(--panel)}.image-link img{width:100%;aspect-ratio:3/4;object-fit:contain;transition:opacity .25s var(--ease)}.image-open{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--paper);font-size:1.3rem;opacity:0;transition:opacity .2s}.image-link:hover .image-open,.image-link:focus-visible .image-open{opacity:1}.image-item figcaption,.form-hero figcaption,.translation-pair figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:12px;font-size:.8125rem}.collection{margin-top:40px;border-block:1px solid var(--line)}.collection summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;font-size:.875rem;list-style:none}.collection summary::-webkit-details-marker,.method-detail summary::-webkit-details-marker{display:none}.plus{font-size:1.5rem;line-height:1;transition:transform .2s}.collection[open] .plus{transform:rotate(45deg)}.expanded-grid{padding-block:16px 48px}.collection summary:hover{color:var(--accent)}
.form-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:64px;align-items:start}.form-note{padding-top:24px}.form-note h2{margin-block:48px 32px}.form-note p{font-size:.9375rem;color:var(--muted);max-width:30ch;margin-bottom:24px}.form-hero img{aspect-ratio:1;object-fit:contain;background:var(--panel)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 24px;padding-block:16px 40px}.form-grid .image-link img{aspect-ratio:1}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.film-image{display:block;position:relative}.film-image img{aspect-ratio:1.85;object-fit:contain;background:#202022}.film-action{position:absolute;right:12px;bottom:12px;padding:10px 14px;font-size:.75rem;background:var(--paper);display:flex;gap:24px}.project-caption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:20px}.project-caption h3{font-size:1rem;letter-spacing:-.025em}.film>p{margin-top:14px;font-size:.9375rem;color:var(--muted);max-width:45ch}.film-image:hover .film-action{color:var(--accent)}
.approach-heading{max-width:900px}.approach-heading h2{margin-top:24px}.approach-heading>p{margin-top:24px;font-size:1rem;max-width:50ch;color:var(--muted)}.translation-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px}.translation-pair img{aspect-ratio:3/4;object-fit:contain;background:#e6eaf1}.translation-pair figure:last-child img{background:#f7f7f7}.method{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:56px;margin-top:48px;border-top:1px solid var(--line)}.method h3{font-size:clamp(2rem,3.1vw,3.5rem);line-height:1.05}.method p{max-width:50ch}.method p+p{margin-top:20px;color:var(--muted)}.method-detail{margin-top:24px}.method-detail summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;font-size:.875rem;border-block:1px solid var(--line);list-style:none}.method-detail summary span{font-size:1.5rem}.method-detail[open] summary span{transform:rotate(45deg)}.method-detail ol{padding:0;list-style:none;counter-reset:steps}.method-detail li{counter-increment:steps;padding:20px 0 20px 36px;position:relative;border-bottom:1px solid var(--line);font-size:.9375rem}.method-detail li::before{content:'0' counter(steps);position:absolute;left:0;top:22px;font-size:.6875rem;color:var(--muted)}.method-detail li b{font-weight:800}.method-detail li p{color:var(--muted);margin-top:8px}.about{display:grid;grid-template-columns:1fr 1fr;gap:64px}.about-heading h2{margin-top:24px}.about-copy{padding-top:48px}.about-copy>p{max-width:48ch}.about-copy>p+p{color:var(--muted);margin-top:20px}.about-copy>.text-link{margin-top:24px}.client-history{margin-top:48px;border-top:1px solid var(--line);padding-top:24px}.client-history p{margin-top:16px;font-size:1rem;line-height:1.8}.services h2{font-size:clamp(2.8rem,4.8vw,5rem);margin-bottom:40px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:64px 1fr 1fr;gap:24px;align-items:start;padding-block:28px;border-bottom:1px solid var(--line)}.service-list h3{font-size:1rem;letter-spacing:-.015em;line-height:1.5}.service-list p{font-size:.9375rem;color:var(--muted);max-width:46ch}.research{display:flex;align-items:center;gap:48px;padding-block:64px 96px;flex-wrap:wrap}.research>.meta{margin-right:auto}.research .text-link{font-size:.8125rem}
.contact{background:var(--ink);color:var(--paper);padding-top:40px;padding-bottom:24px}.contact .meta{color:#b7bdc6}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:24px}.back-top{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:.75rem}.contact-title{position:relative;display:block;font-size:clamp(3.5rem,9vw,10rem);font-weight:800;line-height:.99;letter-spacing:-.065em;padding-block:64px 72px;padding-right:1.2em}.contact-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);transition:transform .25s var(--ease)}.contact-title:hover .contact-arrow{transform:translate(4px,calc(-50% - 4px))}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #494f58;padding-top:20px;font-size:.8125rem}.contact-bottom a{min-height:44px;display:flex;align-items:center}.contact-bottom a:hover{text-decoration:underline;text-underline-offset:5px}.image-error{min-height:160px;display:grid;place-items:center;padding:24px;background:var(--panel);color:var(--ink);font-size:.875rem}
@media(min-width:1800px){.page-inset,.site-header{padding-inline:max(var(--pad),calc((100vw - 1760px)/2))}}
@media(max-width:1000px){.masthead{grid-template-columns:1fr 190px;gap:24px}.hero-link{display:none}.masthead h1{font-size:19vw}.header-note{display:none}.image-grid{gap:40px 24px}.image-grid>.image-item:nth-child(2n){margin-top:56px}.gallery-intro{grid-template-columns:1fr 2fr}.gallery-intro>.meta{display:none}.form-layout{gap:32px;grid-template-columns:.8fr 1.2fr}.form-note h2{font-size:clamp(2.8rem,6vw,4.5rem)}.method,.about{gap:40px}.research{gap:24px}.research>.meta{flex-basis:100%}.service-list article{grid-template-columns:40px 1fr 1fr}.section-heading p{max-width:30ch}}
@media(max-width:640px){:root{--space:80px;--display:2.75rem;--pad:20px}html{scroll-padding-top:80px}.site-header{height:60px;gap:16px}.site-header nav{gap:20px}.site-header nav a{font-size:.75rem}.home-link{font-size:1.1rem}.masthead{padding-block:28px 24px;grid-template-columns:1fr;gap:20px}.masthead h1{font-size:29.5vw;line-height:.82}.masthead-note{display:flex;justify-content:space-between;font-size:.8125rem;align-items:end}.masthead-note p+p{margin:0}.hero-images{height:auto;grid-template-columns:1fr;gap:8px}.hero-images .hero-painted{height:110vw;max-height:650px}.hero-images .hero-editorial{height:82vw;max-height:500px}.hero-caption{font-size:.75rem;align-items:baseline}.hero-caption>.meta{font-size:.6875rem;max-width:140px;text-align:right}.section-heading{display:block;margin-bottom:28px}.section-heading p{margin-top:20px;max-width:40ch}.gallery-tabs{gap:28px;margin-top:32px}.gallery-tabs button{font-size:.8125rem;gap:8px}.gallery-intro{display:block;margin-block:20px 28px}.enhanced .gallery-intro h3{display:none}.gallery-intro p{font-size:.875rem}.image-grid{grid-template-columns:1fr 1fr;gap:28px 12px}.image-grid>.image-item:nth-child(2n){margin-top:40px}.image-item figcaption{font-size:.6875rem;gap:8px;margin-top:8px}.image-item figcaption .meta{font-size:.6875rem}.image-open{opacity:1;width:28px;height:28px;bottom:8px;right:8px;font-size:1rem}.collection{margin-top:28px}.collection summary{font-size:.8125rem;min-height:64px}.collection summary .meta{font-size:.6875rem}.form-layout{display:flex;flex-direction:column;gap:32px}.form-note{padding-top:0}.form-note h2{font-size:var(--display);margin-block:20px}.form-note h2 br{display:none}.form-note h2 br::after{content:' '}.form-note p{max-width:42ch;margin-bottom:12px}.form-hero{width:100%}.form-grid{grid-template-columns:1fr 1fr;gap:24px 12px}.film-grid{grid-template-columns:1fr;gap:40px}.project-caption{margin-top:16px}.film>p{font-size:.875rem}.film-action{font-size:.6875rem;right:8px;bottom:8px}.approach-heading h2{margin-top:20px}.approach-heading>p{font-size:.9375rem;margin-top:20px}.translation-pair{gap:8px;margin-top:32px}.translation-pair figcaption{display:block;font-size:.6875rem;margin-top:8px}.translation-pair figcaption>.meta{display:block;font-size:.6875rem;margin-top:4px}.method{grid-template-columns:1fr;gap:24px;padding-top:32px;margin-top:32px}.method h3{font-size:2rem}.method p{font-size:.9375rem}.about{grid-template-columns:1fr;gap:28px}.about-copy{padding-top:0}.about-copy p{font-size:.9375rem}.client-history{margin-top:32px}.services h2{font-size:2.75rem;line-height:1.02;margin-bottom:28px}.service-list article{grid-template-columns:24px 1fr;gap:12px;padding-block:24px}.service-list p{grid-column:2;font-size:.875rem}.research{padding-block:40px 64px;gap:16px;align-items:start;flex-direction:column}.research>.meta{margin-bottom:8px}.contact{padding-top:24px}.contact-top{align-items:start;gap:16px}.contact-top>.meta{font-size:.6875rem;max-width:175px}.back-top{font-size:.6875rem;gap:12px;white-space:nowrap;margin-top:-10px}.contact-title{font-size:clamp(2.65rem,9.6vw,4rem);padding-block:48px 56px;letter-spacing:-.055em}.contact-bottom{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:.75rem}.contact-bottom a{grid-column:1/-1}.contact-bottom>span:last-child{text-align:right}}
@media(max-width:370px){.site-header .home-link{display:none}.site-header nav{width:100%;justify-content:space-between;gap:12px}.gallery-tabs{gap:20px}.gallery-tabs button{font-size:.75rem;gap:6px}.gallery-tabs button span{font-size:.625rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.contact-title:hover .contact-arrow{transform:translateY(-50%)}}

/* Digital Streetwear Director: latest work, 2026-09-09. */
.masthead{grid-template-columns:1fr 290px auto}.masthead-note strong{font-weight:800;font-size:1.35rem;letter-spacing:-.025em;line-height:1.15;display:block}.masthead-note p+p{font-size:.875rem;line-height:1.5}
.hero-images{grid-template-columns:1fr 1fr}.hero-painted{background:#fcfcfe}.hero-editorial{background:#013dad}
.earlier-work>.gallery-panel{margin-block:48px}.earlier-work .gallery-intro h3{display:block}.further-work{padding-top:56px}.further-work .films{padding:40px 0}.form-hero img{aspect-ratio:3/4}
@media(max-width:1000px){.masthead{grid-template-columns:1fr 230px}.masthead-note strong{font-size:1.125rem}}
@media(max-width:640px){.masthead{grid-template-columns:1fr}.masthead-note{align-items:start;gap:20px}.masthead-note strong{font-size:1.125rem}.masthead-note p+p{font-size:.75rem;text-align:right}.hero-images{grid-template-columns:1fr}.hero-images .hero-editorial{height:110vw;max-height:650px}.gallery-tabs{gap:24px}.earlier-work>.gallery-panel{margin-block:32px}.hero-caption>span:first-child{max-width:180px}.form-note h2 br{display:block}}

/* Subject and dialect are independent ways into the same library. */
.hero-editorial{background:#e5e5e5}
.dialect-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.dialect-image{display:block;background:var(--panel)}.dialect-image img{aspect-ratio:3/4;object-fit:contain}
.dialect-cards article>p{font-size:.9375rem;color:var(--muted);margin-top:16px;max-width:36ch}
.dialect-cards .text-link{margin-top:16px}.dialect-cards .project-caption{gap:12px}
.library-controls .gallery-tabs{margin-top:32px;gap:32px}
.library-controls button[aria-pressed=true]{color:var(--accent)}
.library-controls .gallery-tabs button[aria-pressed=true]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}
.dialect-controls{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-block:12px;border-bottom:1px solid var(--line)}
.dialect-controls button,.library-status button,.library-empty button{border:0;background:transparent;font-size:.8125rem;min-height:44px;padding:8px 0}
.dialect-controls button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px}
.library-status{display:flex;justify-content:space-between;align-items:center;min-height:64px;gap:24px;font-size:.8125rem;color:var(--muted)}
.library-status button{text-decoration:underline;text-underline-offset:4px}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;align-items:start}
.library-item .image-link{scroll-margin-top:88px}.library-item figcaption{align-items:start;gap:4px;flex-direction:column}
.library-item figcaption>span:first-child{font-size:.8125rem}.library-item figcaption .meta{font-size:.75rem}
.load-library{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:64px;margin-top:40px;padding:12px 0;border:0;border-block:1px solid var(--line);background:transparent;font-size:.875rem}
.load-library:hover,.library-controls button:hover{color:var(--accent)}.load-library span{font-size:1.5rem}
.library-empty{padding:40px 0}.library-empty button{text-decoration:underline}
@media(max-width:1000px){.dialect-cards{gap:20px}.dialect-cards .project-caption{display:block}.dialect-cards .project-caption>.meta{display:block;margin-top:8px}}
@media(max-width:640px){.dialect-cards{grid-template-columns:1fr;gap:40px}.dialect-image img{max-height:115vw}.dialect-cards .project-caption{display:flex}.dialect-cards .project-caption>.meta{margin:0}.library-controls .gallery-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.library-controls .gallery-tabs button{justify-content:space-between}.dialect-controls{gap:0 20px}.dialect-controls>.meta{flex-basis:100%;margin-block:8px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.library-item figcaption>span:first-child{font-size:.75rem}.library-item .meta{font-size:.75rem}.library-status{min-height:60px}}

/* Phosphor icons: fixed vector shapes, independent of platform emoji fonts. */
.ui-icon{display:block;width:20px;height:20px;flex:none;fill:currentColor}
.site-header nav a{display:inline-flex;align-items:center;gap:8px}
.site-header .ui-icon{width:16px;height:16px}
.text-link>span[aria-hidden],.back-top>span[aria-hidden]{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid currentColor;border-radius:50%}
.text-link .ui-icon,.back-top .ui-icon{width:16px;height:16px}
.image-open{width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;color:var(--ink);background:var(--paper);opacity:1;transition:background .18s,color .18s}
.image-open .ui-icon{width:18px;height:18px}
.image-link:hover .image-open,.image-link:focus-visible .image-open{background:var(--ink);color:var(--paper)}
.film-action{align-items:center;min-height:44px}
.film-action .ui-icon{width:18px;height:18px}
.plus,.method-detail summary>span[aria-hidden],.load-library>span[aria-hidden]{display:grid;place-items:center;flex:none;width:32px;height:32px}
.contact-arrow{display:grid;place-items:center;width:.95em;height:.95em;min-width:52px;min-height:52px;border:1px solid currentColor;border-radius:50%;transition:background .2s,color .2s}
.contact-arrow .ui-icon{width:50%;height:50%}
.contact-title:hover .contact-arrow,.contact-title:focus-visible .contact-arrow{transform:translateY(-50%);background:var(--paper);color:var(--ink)}
@media(max-width:640px){.image-open{width:32px;height:32px;bottom:8px;right:8px}.image-open .ui-icon{width:16px;height:16px}.contact-title{padding-right:68px}.contact-arrow{width:52px;height:52px}.text-link{gap:16px}}
@media(hover:none),(pointer:coarse){.image-open{width:44px;height:44px}.image-open .ui-icon{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.contact-arrow,.image-open{transition:none}}
