@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/archivo-black.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/dm-sans-regular.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/dm-sans-semibold.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/instrument-serif-italic.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/instrument-serif-regular.ttf) format('truetype');
}


:root{--ink:#0a0a0a;--paper:#f1efe9;--blue:#1559ff;--line:rgba(10,10,10,.22)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px}
a{color:inherit;text-decoration:none}
.skip{position:fixed;left:1rem;top:-4rem;background:#fff;padding:.75rem 1rem;z-index:100}.skip:focus{top:1rem}
.nav{position:fixed;z-index:20;top:0;left:0;width:100%;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2.2vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.3);mix-blend-mode:difference}
.wordmark{font-family:"Archivo Black",sans-serif;font-size:1.4rem;letter-spacing:-.08em}.wordmark span{font:500 .52rem "DM Sans";vertical-align:top;margin-left:.2rem}.nav nav{display:flex;gap:2.2rem;font-size:.83rem;text-transform:uppercase;letter-spacing:.12em}.nav a:hover{opacity:.62}.nav-contact{justify-self:end;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}
.hero{height:100svh;min-height:670px;position:relative;overflow:hidden;color:#fff;background:#151515}.hero-image{position:absolute;inset:0;background:url('assets/studio-surface.png') center/cover no-repeat;transform:scale(1.015);animation:slowZoom 18s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.63) 0%,rgba(0,0,0,.16) 58%,rgba(0,0,0,.35) 100%)}
.hero-copy{position:absolute;inset:0;padding:clamp(7.5rem,13vh,10rem) 3vw 3vw;display:flex;flex-direction:column}.kicker,.eyebrow{font-size:.73rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600}.hero h1{font:clamp(4.8rem,11.7vw,11rem)/.77 "Archivo Black",sans-serif;letter-spacing:-.095em;margin:auto 0}.hero h1 span{color:transparent;-webkit-text-stroke:2px #fff}.hero-foot{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:2rem;border-top:1px solid rgba(255,255,255,.5);padding-top:1rem}.hero-foot p{max-width:34rem;font-size:clamp(1rem,1.55vw,1.35rem);margin:0}.hero-foot a{justify-self:end;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.edition{position:absolute;right:2.2vw;top:48%;writing-mode:vertical-rl;font-size:.68rem;letter-spacing:.18em}
.ticker{overflow:hidden;background:var(--blue);color:#fff;border-block:1px solid var(--ink);white-space:nowrap}.ticker div{font:1.15rem "Archivo Black";letter-spacing:-.02em;padding:.8rem 0;word-spacing:1rem;animation:marquee 25s linear infinite;width:max-content}.ticker span{color:var(--ink)}
.work{padding:8rem 2.5vw 10rem}.section-head{display:grid;grid-template-columns:1fr 3fr;align-items:end;border-bottom:2px solid var(--ink);padding-bottom:1.2rem;margin-bottom:1.2rem}.section-head p{margin:0 0 .7rem;text-transform:uppercase;font-size:.72rem;letter-spacing:.15em}.section-head h2{font:clamp(4.1rem,9vw,9rem)/.8 "Archivo Black";letter-spacing:-.08em;margin:0}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(210px,26vw);gap:1rem}.piece{padding:1.2rem;display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s ease}.piece:hover{transform:translateY(-6px)}.piece span,.piece p{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;margin:0}.piece h3{font:clamp(2.1rem,5vw,5rem)/.87 "Archivo Black";letter-spacing:-.065em;margin:auto 0}.piece:nth-child(1){grid-column:span 7}.piece:nth-child(2){grid-column:span 5}.piece:nth-child(3){grid-column:span 4}.piece:nth-child(4){grid-column:span 8}.piece:nth-child(5){grid-column:span 7}.piece:nth-child(6){grid-column:span 5}.piece-black{background:#090909;color:#fff}.piece-paper{border:2px solid var(--ink);background:#e8e4da}.piece-blue{background:var(--blue);color:#fff}.piece-silver{background:linear-gradient(125deg,#777,#eee 42%,#999 68%,#f5f5f5)}.piece-outline{background:var(--paper);border:2px solid var(--ink)}.work-note{max-width:64rem;margin:3rem 0 0 auto;font:clamp(1.5rem,3vw,2.7rem)/1.1 "Instrument Serif",serif}
.statement{position:relative;background:var(--ink);color:#fff;padding:8rem 3vw 6rem;min-height:90vh;overflow:hidden}.statement>h2{font:clamp(4rem,9.5vw,9rem)/.85 "Archivo Black";letter-spacing:-.075em;margin:4rem 0}.statement h2 em{font-family:"Instrument Serif",serif;font-weight:400}.statement-copy{width:min(48rem,63%);margin-left:auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;font-size:1.05rem;line-height:1.6}.statement-copy p{margin:0}.signature{position:absolute;bottom:-4.5rem;left:2vw;color:var(--blue);font:12rem "Instrument Serif",serif;font-style:italic;transform:rotate(-8deg);opacity:.9}
.commissions{display:grid;grid-template-columns:1.35fr 1fr;gap:8vw;padding:9rem 3vw;background:var(--blue);color:#fff}.commissions h2{font:clamp(3.5rem,7.8vw,8rem)/.84 "Archivo Black";letter-spacing:-.075em;margin:3rem 0 0}.commission-info{align-self:end}.commission-info>p{font:clamp(1.25rem,2.3vw,2rem)/1.25 "Instrument Serif",serif}.commission-info dl{margin:3rem 0;border-top:1px solid rgba(255,255,255,.45)}.commission-info dl div{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(255,255,255,.45);padding:1rem 0}.commission-info dt{text-transform:uppercase;font-size:.7rem;letter-spacing:.14em}.commission-info dd{margin:0}.button{display:flex;justify-content:space-between;align-items:center;border:2px solid #fff;padding:1.1rem 1.2rem;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;transition:.25s}.button:hover{background:#fff;color:var(--blue)}
footer{background:var(--paper);display:grid;grid-template-columns:1fr 1fr auto;align-items:end;padding:5rem 3vw 2rem;border-top:2px solid var(--ink)}.footer-mark{font:clamp(2.8rem,6vw,6rem)/.78 "Archivo Black";letter-spacing:-.075em}.footer-mark:hover{color:var(--blue)}footer p{margin:.25rem 0}.copyright{text-transform:uppercase;font-size:.67rem;letter-spacing:.12em}
@keyframes slowZoom{to{transform:scale(1.06)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:760px){.nav{height:62px;padding:0 1rem;grid-template-columns:1fr auto}.nav nav{display:none}.hero-copy{padding:7rem 1rem 1.25rem}.hero h1{font-size:clamp(4.1rem,22vw,7rem);line-height:.8}.hero-foot{grid-template-columns:1fr}.hero-foot a{justify-self:start}.edition{display:none}.work{padding:5rem 1rem}.section-head{grid-template-columns:1fr}.section-head h2{font-size:18vw}.work-grid{display:block}.piece{min-height:260px;margin-bottom:1rem}.work-note{font-size:1.7rem}.statement{padding:6rem 1rem}.statement>h2{font-size:15.2vw}.statement-copy{width:100%;grid-template-columns:1fr;gap:1.5rem}.signature{font-size:8rem;opacity:.45}.commissions{grid-template-columns:1fr;padding:6rem 1rem}.commissions h2{font-size:15vw}.commission-info{margin-top:4rem}.commission-info dl div{grid-template-columns:1fr;gap:.5rem}footer{grid-template-columns:1fr;gap:3rem;padding:4rem 1rem 2rem}.copyright{margin-top:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image,.ticker div{animation:none}.piece{transition:none}}

section[id]{scroll-margin-top:80px}
.work-heading-meta>a{display:inline-block;font-size:.875rem;text-decoration:underline;text-underline-offset:.25em;margin-bottom:.75rem}
.renew{padding:6rem 3vw 7rem;background:var(--blue);color:#fff}
.renew-head{display:grid;grid-template-columns:1fr 3fr;align-items:end;border-bottom:2px solid currentColor;padding-bottom:1.5rem}
.renew-label{font-size:.875rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 .7rem}
.renew h2{font:clamp(4rem,12vw,12rem)/.9 "Archivo Black",sans-serif;letter-spacing:-.065em;margin:0}
.renew-content{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding-top:3rem}
.renew-lead{font:clamp(2rem,3.8vw,4rem)/1.12 "Instrument Serif",serif;margin:0;max-width:34rem}
.renew-copy{max-width:42rem;font-size:1.125rem;line-height:1.65}
.renew-copy p{margin:0 0 1.5rem}.renew-copy p:last-child{margin-bottom:0}
.renew-artwork{padding:3rem 3vw 6rem;background:var(--paper)}
.renew-artwork figure{margin:0}.renew-artwork img{display:block;width:100%;height:auto}
.renew-artwork+.renew-artwork{border-top:1px solid var(--line)}
.renew-artwork-portrait figure>a{display:block;width:min(100%,48rem);margin-inline:auto}
.renew-artwork figcaption{display:grid;grid-template-columns:1fr 1fr;gap:4vw;margin-top:2rem;font-size:1rem;line-height:1.6}
.renew-artwork h3{font:clamp(1.75rem,3.4vw,3.5rem)/1.1 "Archivo Black",sans-serif;letter-spacing:-.045em;margin:.75rem 0 1rem}
.renew-artwork p{margin:0}.renew-piece-label{font-size:.875rem;text-transform:uppercase;letter-spacing:.12em}.renew-piece-description{max-width:42rem}
.renew-piece-description p+p{margin-top:1.25rem}
@media(max-width:760px){.renew-artwork{padding:1rem 1rem 4rem}.renew-artwork figcaption{grid-template-columns:1fr;gap:1.5rem}}
@media(min-width:761px) and (max-width:1100px){.nav nav{gap:1rem;font-size:.75rem;letter-spacing:.05em}}
@media(max-width:760px){.renew{padding:4rem 1rem 5rem}.renew-head,.renew-content{grid-template-columns:1fr}.renew h2{font-size:22vw}.renew-label{margin-bottom:1.5rem}.renew-content{gap:2rem;padding-top:2rem}.work-heading-meta{margin-bottom:1rem}}
.publications{padding:7rem 3vw;background:var(--paper)}
.publications h2{font:clamp(2rem,7.4vw,7rem)/1 "Archivo Black",sans-serif;letter-spacing:-.06em;margin:0 0 3rem}
.publication-entry{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;border-block:1px solid var(--ink);padding:2rem 0}
.publication-entry h3{font:clamp(1.7rem,3vw,3rem)/1.15 "Instrument Serif",serif;margin:0}
.publication-entry p{font-size:1rem;margin:0}
.email-link{display:inline-block;overflow-wrap:anywhere;font-size:1rem}
.commission-info>.email-link{margin-top:1.2rem}
.email-link:hover{text-decoration:underline}
footer>div{min-width:0}
@media(max-width:760px){.publications{padding:5rem 1rem}.publication-entry{flex-direction:column;gap:.75rem}}

.publication-entry>div{min-width:0;max-width:52rem}.publication-entry .publication-title{margin-top:1rem;line-height:1.5}.publication-entry .publication-date{margin-top:.6rem;font-size:.875rem}.publication-link{flex-shrink:0;font-size:1rem;text-decoration:underline;text-underline-offset:.3em}.publication-link:hover{color:var(--blue)}

.work-grid{grid-template-rows:auto auto auto}.artwork-piece{gap:1.2rem}.artwork-image-link{display:block;min-height:0}.artwork-image-link img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}.artwork-piece .artwork-caption h3{font-size:clamp(2rem,4vw,3.5rem);margin:0 0 1rem}.artwork-piece .artwork-caption p{font-size:1rem;letter-spacing:normal;text-transform:none;margin:.4rem 0}.artwork-caption>a{display:inline-block;margin-top:.7rem;text-decoration:underline;text-underline-offset:.25em;font-size:1rem}

.nav nav{gap:clamp(.75rem,1.5vw,1.6rem);font-size:.875rem;letter-spacing:.06em}
.menu-toggle{display:none;font:inherit;color:inherit;background:none;border:1px solid currentColor;padding:.6rem .9rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;min-height:44px}
.nav a:focus-visible,.menu-toggle:focus-visible{outline:2px solid currentColor;outline-offset:5px}
#contact{scroll-margin-top:80px}
@media(max-width:1150px){
 .nav{height:72px;grid-template-columns:1fr auto auto;gap:1rem;padding:0 1rem}
 .menu-toggle{display:block;font-size:.875rem}
 .nav nav{display:none}
 .nav.menu-open{mix-blend-mode:normal;background:var(--ink);color:#fff}
 .nav.menu-open nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:.75rem 1rem 1.25rem;background:var(--ink);border-bottom:1px solid #555;max-height:calc(100dvh - 72px);overflow-y:auto;font-size:1rem;letter-spacing:.08em}
 .nav.menu-open nav a{padding:.85rem .25rem;border-bottom:1px solid #333}
 .nav-contact{font-size:.875rem;letter-spacing:.04em}
}
