@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600&family=DM+Sans:wght@400;500&family=DM+Serif+Display:ital@0;1&family=IBM+Plex+Mono:wght@400&display=swap');

:root {
  --black:#141513; --dark:#10110f; --gold:#c6a777; --bronze:#a38660;
  --silver:#e4e3dc; --text:#d0d0c7; --muted:#b0b0a4; --line:#42443b;
  --serif:'DM Serif Display',Georgia,serif; --sans:'DM Sans',Arial,sans-serif;
  --mono:'IBM Plex Mono',monospace; --condensed:'Barlow Condensed',Impact,sans-serif;
  --pad:clamp(26px,4.5vw,80px); --gap:clamp(85px,10vw,150px); --rail:184px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--black);color:var(--text);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:var(--black)}
h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400}
a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}a:hover{color:var(--gold)}
a:focus-visible,button:focus-visible,video:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
button{font:inherit;color:inherit;cursor:pointer}img,video{display:block;width:100%;height:auto}svg{display:block}
p{max-width:64ch}p+p{margin-top:1.1em}[hidden]{display:none!important}
.site-content{margin-left:var(--rail)}.frame{max-width:1600px;padding-inline:var(--pad);margin-inline:auto}
.meta{font:400 11px/1.7 var(--mono);letter-spacing:.035em;text-transform:uppercase}
.muted{color:var(--muted)}.gold{color:var(--gold)}.rule{border-top:1px solid var(--line)}.space{margin-top:var(--gap)}
.skip{position:fixed;left:20px;top:16px;transform:translateY(-200%);padding:12px 18px;background:var(--gold);color:var(--black);z-index:100}.skip:focus{transform:none}
.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);overflow-y:auto;padding:30px 25px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--dark);z-index:30}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:19px}.mark{width:70px;height:70px}
.brand-copy{font:500 29px/.96 var(--condensed);letter-spacing:.02em;color:var(--gold)}
.rail nav{display:flex;flex-direction:column;margin-top:68px}
.rail nav a{position:relative;padding:12px 0;font-size:13px;border-bottom:1px solid var(--line);transition:color .18s}
.rail nav a[aria-current=page]{color:var(--gold)}.rail nav a[aria-current=page]::after{content:'↗';position:absolute;right:0}
.rail-foot{margin-top:auto;padding-top:30px}.rail-foot .meta{font-size:9px;color:var(--muted)}.rail-foot>a{display:block;font:400 11px var(--mono);margin-top:17px}
.topline{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:97px}
.top-contact{font:400 11px var(--mono);border-bottom:1px solid var(--bronze);padding-block:10px;white-space:nowrap}
.cover{display:grid;grid-template-columns:.78fr 1.45fr;align-items:center;padding-top:26px;gap:30px}
.cover-text{position:relative;z-index:1;padding-block:20px 70px}
.cover h1{font:400 clamp(88px,9.4vw,148px)/.86 var(--serif);letter-spacing:-.055em;color:var(--silver);margin:30px -50px 34px 0}
.cover h1 em{color:var(--gold)}.cover-deck{font-size:15px;line-height:1.7;max-width:28ch}
.cover-photo{align-self:start}.cover-photo .photo-link{display:block;overflow:hidden}.cover-photo img{aspect-ratio:1.04;object-fit:cover;object-position:52% 70%}
.photo-link{display:block}.photo-link img{transition:filter .25s}.photo-link:hover img{filter:brightness(1.07)}
.caption{font:400 10px/1.7 var(--mono);color:var(--muted);margin-top:14px;display:flex;justify-content:space-between;gap:20px}
.plain-link{display:inline-block;border-bottom:1px solid var(--bronze);padding:8px 0;margin-top:25px;font-size:13px}
.plain-link span{display:inline-block;margin-left:18px;transition:transform .18s}.plain-link:hover span{transform:translate(3px,-2px)}
.project-record{border-top:1px solid var(--bronze);margin-top:55px;padding-top:40px;display:grid;grid-template-columns:.85fr 1.3fr;gap:clamp(35px,6vw,90px)}
.record-heading h2{font:400 clamp(38px,4.2vw,67px)/1.07 var(--serif);letter-spacing:-.035em;margin-top:18px;color:var(--silver)}
.lead{font-size:clamp(21px,2.1vw,28px);line-height:1.45;color:var(--silver)}
.record-copy>p{max-width:47ch}.project-facts{margin-top:28px;border-top:1px solid var(--line)}
.project-facts>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.project-facts dt{font:400 10px/1.8 var(--mono);color:var(--muted);text-transform:uppercase}.project-facts dd{font-size:13px}
.work-index{display:grid;grid-template-columns:.85fr 1.3fr;gap:clamp(35px,6vw,90px);border-top:1px solid var(--line);padding-top:36px}
.index-intro h2{font:400 clamp(30px,3.2vw,48px)/1.13 var(--serif);letter-spacing:-.025em;margin:17px 0 24px;color:var(--silver)}
.index-intro em{color:var(--gold)}.index-intro>p:last-child{max-width:28ch;font-size:14px}
.index-rows>a{display:grid;grid-template-columns:1fr 30px;gap:4px 15px;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .2s,color .2s}
.index-rows>a:first-child{padding-top:0}.index-rows>a:hover{padding-left:7px}.index-rows span{font:400 clamp(24px,2.5vw,36px)/1.2 var(--serif)}
.index-rows small{font:400 10px/1.6 var(--mono);color:var(--muted);grid-column:1}.index-rows b{grid-column:2;grid-row:1 / 3;font-size:20px;font-weight:400;align-self:center;color:var(--gold)}
.film-section{margin-top:var(--gap);background:var(--dark);border-block:1px solid var(--line);padding-block:34px 55px}
.section-label{display:flex;justify-content:space-between;gap:30px;margin-bottom:38px}
.film-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(35px,5vw,80px);align-items:start}
.film-layout video{aspect-ratio:16/9;object-fit:cover;background:#080908}
.film-copy .film-title{font:500 clamp(60px,7vw,105px)/.95 var(--condensed);color:var(--gold);letter-spacing:-.02em;margin:16px 0 22px}
.film-copy p{font-size:14px;max-width:36ch}.material-line{font:400 10px/1.9 var(--mono);color:var(--muted);padding-top:17px;border-top:1px solid var(--line);margin-top:29px}
.objects{display:grid;grid-template-columns:.9fr 1.25fr;gap:clamp(35px,6vw,90px);align-items:start}
.objects-photo img{aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}.objects-copy{padding-top:45px}
.objects-copy h2{font:400 clamp(42px,4.9vw,78px)/1.04 var(--serif);letter-spacing:-.035em;margin:22px 0 30px;color:var(--silver)}
.objects-copy h2 em{color:var(--gold)}.objects-copy p{font-size:15px;max-width:40ch}
.sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:55px;margin-bottom:18px}
.gallery-controls{display:flex;gap:6px}.gallery-controls button{width:45px;min-height:42px;background:transparent;border:1px solid var(--line);font-size:21px;transition:color .18s,border-color .18s}.gallery-controls button:hover{border-color:var(--gold);color:var(--gold)}
.contact-sheet{display:flex;gap:25px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:var(--bronze) var(--dark);scrollbar-width:thin;padding:3px 3px 20px}
.contact-sheet figure{flex:0 0 38%;min-width:240px;scroll-snap-align:start}.contact-sheet img{height:360px;object-fit:cover}.contact-sheet figcaption{font:400 10px/1.7 var(--mono);color:var(--muted);margin-top:13px}
.studio{display:grid;grid-template-columns:1fr 1fr;gap:40px 70px;padding-top:35px;border-top:1px solid var(--line)}
.studio h2{font:400 clamp(35px,4.3vw,68px)/1.08 var(--serif);letter-spacing:-.035em;margin-top:22px;color:var(--silver)}.studio h2 em{color:var(--gold)}
.studio-copy{padding-top:40px}.studio p{max-width:48ch;font-size:15px}.studio-signature{margin-top:25px;font:400 24px var(--serif);color:var(--gold)}
.studio-photo{grid-column:1/-1;margin-left:18%}.studio-photo img{aspect-ratio:2;object-fit:cover;object-position:50% 48%}
.footer{margin-top:var(--gap);padding-block:42px 35px;background:var(--dark);border-top:1px solid var(--bronze)}
.contact-heading{font:400 clamp(62px,8vw,128px)/1.05 var(--serif);letter-spacing:-.045em;margin:20px 0 34px;color:var(--gold)}
.contact-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px}.contact-body>p{font-size:14px;max-width:34ch}
.contact-address{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-style:normal;font-size:clamp(16px,1.8vw,28px);line-height:1.6}
.contact-address a{border-bottom:1px solid var(--bronze);overflow-wrap:anywhere}.contact-address span{font:400 10px/1.7 var(--mono);color:var(--muted);margin-top:10px}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:23px;margin-top:60px;font-size:9px}
.page-title{padding-top:40px;padding-bottom:45px}.page-title h1{font:400 clamp(58px,8vw,124px)/1.02 var(--serif);letter-spacing:-.045em;color:var(--silver);max-width:14ch;margin-top:22px}.page-title h1 em{color:var(--gold)}
.page-deck{max-width:43ch;margin:30px 0 0 auto;font-size:clamp(18px,1.8vw,25px);line-height:1.55}
.wide-photo img{max-height:790px;object-fit:cover}
.article-body{display:grid;grid-template-columns:.8fr 1.25fr;gap:clamp(35px,6vw,90px);margin-top:65px}
.article-body h2{font:400 clamp(34px,4vw,62px)/1.09 var(--serif);letter-spacing:-.025em;color:var(--gold)}
.article-body aside .meta{margin-top:25px;max-width:25ch}.article-body .prose{max-width:62ch}.prose p{max-width:55ch}
.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,90px);align-items:start}.image-pair figure:nth-child(2){margin-top:100px}.image-pair img{aspect-ratio:4/5;object-fit:cover}
.material-record{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:35px 0;border-top:1px solid var(--line)}.material-record:last-child{border-bottom:1px solid var(--line)}
.material-record h2{font:500 clamp(42px,5.5vw,85px)/1 var(--condensed);letter-spacing:-.025em;color:var(--gold)}.material-record .meta{margin-top:10px}.material-record p{max-width:49ch}
.material-record a{font:400 11px var(--mono);border-bottom:1px solid var(--bronze);padding-bottom:6px;display:inline-block;margin-top:20px}
.material-note{font-size:13px;color:var(--muted);max-width:66ch;margin:30px 0 0 auto}
.page-navigation{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:25px 0;border-block:1px solid var(--line);margin-top:var(--gap)}
.page-navigation a{font:400 clamp(24px,3.3vw,45px)/1.15 var(--serif)}.page-navigation span{font:400 10px var(--mono);color:var(--muted)}
@media(min-width:1750px){.cover-photo img{aspect-ratio:1.35}.cover-text{padding-bottom:40px}}
@media(max-width:1150px) and (min-width:801px){:root{--rail:148px;--pad:35px}.rail{padding:25px 20px}.brand-copy{font-size:26px}.cover{grid-template-columns:.8fr 1.2fr;gap:20px}.cover h1{font-size:102px}.cover-text{padding-bottom:35px}.cover-photo img{aspect-ratio:.87}.contact-body{grid-template-columns:1fr}.objects{gap:40px}.objects-copy{padding-top:10px}.film-layout{grid-template-columns:1.2fr 1fr}.film-copy .film-title{font-size:72px}.studio{gap:30px}}
@media(max-width:800px){:root{--pad:25px;--gap:85px}.site-content{margin-left:0}.rail{position:static;overflow:visible;width:100%;padding:18px var(--pad);border-right:0;border-bottom:1px solid var(--line)}.brand{flex-direction:row;align-items:center;gap:16px}.mark{width:51px;height:51px}.brand-copy{font-size:25px}.rail-foot{display:none}.rail nav{position:fixed;bottom:0;left:0;right:0;display:flex;flex-direction:row;overflow-x:auto;gap:22px;margin:0;padding:7px 22px calc(7px + env(safe-area-inset-bottom));background:var(--dark);border-top:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--bronze) var(--dark)}.rail nav a{flex-shrink:0;font-size:12px;min-height:45px;border:0;display:flex;align-items:center;padding:6px 0}.rail nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.rail nav a[aria-current=page]::after{display:none}.topline{min-height:74px;gap:20px}.topline>.meta{font-size:9px;max-width:22ch}.top-contact{font-size:10px}.cover{padding-top:16px;gap:22px;grid-template-columns:.8fr 1.2fr}.cover h1{font-size:clamp(82px,13.5vw,116px);margin-right:-25px}.cover-text{padding-bottom:30px}.cover-deck{font-size:13px}.cover-photo img{aspect-ratio:.85}.cover-photo .caption{display:block}.cover-photo .caption span{display:block}.project-record,.work-index{gap:35px;grid-template-columns:.85fr 1.2fr}.project-facts>div{grid-template-columns:80px 1fr;gap:12px}.record-heading h2{font-size:39px}.film-layout{grid-template-columns:1fr;gap:30px}.film-copy{max-width:600px}.film-copy .film-title{font-size:84px}.film-copy p{max-width:52ch}.objects{gap:30px}.objects-copy{padding-top:10px}.objects-copy h2{font-size:45px}.contact-sheet figure{flex-basis:44%}.contact-sheet img{height:320px}.studio{gap:35px}.studio-copy{padding-top:0}.studio h2{font-size:39px}.contact-body{grid-template-columns:1fr 1.2fr;gap:30px}.contact-address{font-size:18px}.footer{padding-bottom:110px}.article-body{gap:35px}.article-body h2{font-size:38px}}
@media(max-width:680px){.cover{grid-template-columns:1fr;padding-top:5px}.cover-text{padding:5px 0 0}.cover-text>.meta{font-size:10px}.cover h1{font-size:clamp(82px,20vw,110px);line-height:.92;margin:20px 0}.cover h1 em{margin-left:0}.cover-deck{font-size:14px}.cover-text .plain-link{margin-top:15px}.cover-photo{margin-left:12%;margin-top:5px}.cover-photo img{aspect-ratio:1.05}.cover-photo .caption{font-size:9px}.project-record{margin-top:35px;padding-top:28px;grid-template-columns:1fr;gap:30px}.record-heading{display:grid;grid-template-columns:1fr auto;gap:16px}.record-heading>.meta{grid-column:1/-1}.record-heading h2{margin:0;font-size:42px}.record-heading .plain-link{align-self:end;margin:0;font-size:12px}.record-copy>.lead{font-size:23px}.project-facts>div{grid-template-columns:90px 1fr}.work-index{grid-template-columns:1fr;gap:30px}.index-intro h2{font-size:35px}.index-intro>p:last-child{max-width:37ch}.index-rows span{font-size:29px}.index-rows small{font-size:10px}.section-label{display:block;margin-bottom:25px}.section-label p+p{margin-top:8px}.film-section{padding-block:28px 40px}.objects{grid-template-columns:1fr;gap:28px}.objects-copy{padding:0}.objects-copy h2{font-size:50px}.objects-photo{margin-left:13%}.objects-photo img{aspect-ratio:1}.objects-copy p{max-width:none}.sheet-heading{margin-top:35px}.contact-sheet{gap:20px}.contact-sheet figure{flex-basis:82%;min-width:230px}.contact-sheet img{height:305px}.studio{grid-template-columns:1fr;gap:28px}.studio h2{font-size:43px}.studio-photo{margin-left:0}.studio-photo img{aspect-ratio:1.3}.contact-body{grid-template-columns:1fr;gap:28px}.contact-heading{font-size:72px}.contact-address{font-size:clamp(16px,4.5vw,23px)}.footer-bottom{gap:17px;margin-top:40px}.page-title{padding-top:28px;padding-bottom:30px}.page-title h1{font-size:clamp(47px,11.6vw,67px)}.page-deck{font-size:19px;margin-top:25px}.article-body{grid-template-columns:1fr;gap:27px;margin-top:35px}.article-body aside .meta{max-width:none;margin-top:18px}.article-body h2{font-size:40px}.image-pair{gap:20px}.image-pair figure:nth-child(2){margin-top:60px}.material-record{grid-template-columns:1fr;gap:22px;padding-block:30px}.material-record h2{font-size:59px}.material-note{margin-left:0}.page-navigation{align-items:flex-start;flex-direction:column;gap:16px}.page-navigation a{font-size:31px}.caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.rail,.top-contact,.skip,.gallery-controls{display:none}.site-content{margin:0}.footer{padding-bottom:20px}.space{margin-top:40px}body{background:white;color:black}.gold,.muted,h1,h2{color:#333!important}.contact-sheet{overflow:visible;flex-wrap:wrap}.contact-sheet figure{min-width:0;flex-basis:45%}}

.objects-copy>.meta,.studio-heading>.meta,.film-copy>.meta{font-size:11px}

/* The welcome page introduces the whole workshop before individual projects. */
.welcome-cover{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(30px,4vw,65px);align-items:center;padding-block:30px 20px}
.welcome-copy{min-width:0;padding-bottom:25px}
.welcome-copy h1{font:400 clamp(60px,6.5vw,105px)/.99 var(--serif);letter-spacing:-.045em;color:var(--silver);margin:0 0 28px}
.welcome-copy h1 em{color:var(--gold)}
.welcome-kicker{display:block;font:400 12px/1.8 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.welcome-copy>p{font-size:15px;max-width:48ch}
.welcome-copy>.welcome-lead{font-size:clamp(21px,2vw,28px);line-height:1.4;color:var(--silver);max-width:26ch;margin-bottom:22px}
.welcome-photo{margin-top:65px;min-width:0}
.welcome-photo img{aspect-ratio:4/5;object-fit:cover;object-position:48% 43%}
.welcome-photo .caption{flex-wrap:wrap;gap:8px 20px}
.project-example{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,75px);align-items:center;border-top:1px solid var(--line);padding-top:35px}
.example-photo img{aspect-ratio:4/3;object-fit:cover;object-position:50% 70%}
.project-example h2{font:400 clamp(36px,4vw,62px)/1.08 var(--serif);letter-spacing:-.03em;color:var(--silver);margin:18px 0 24px}
.project-example h2 em{color:var(--gold)}
.project-example p:not(.meta){font-size:15px;max-width:42ch}
@media(min-width:801px) and (max-width:1150px){.welcome-cover{grid-template-columns:1.2fr .85fr;gap:26px}.welcome-copy h1{font-size:clamp(54px,6.3vw,74px)}.welcome-photo img{aspect-ratio:3/5}}
@media(max-width:800px){.welcome-cover{gap:30px;padding-top:15px}.welcome-copy h1{font-size:clamp(50px,7.9vw,64px)}.welcome-photo img{aspect-ratio:3/5}.welcome-copy>p{font-size:14px}}
@media(max-width:680px){.welcome-cover{grid-template-columns:1fr;gap:15px;padding-top:8px}.welcome-copy{padding-bottom:0}.welcome-copy h1{font-size:clamp(57px,12vw,82px);margin-bottom:25px}.welcome-kicker{font-size:11px;margin-bottom:20px}.welcome-copy>p{font-size:15px;max-width:48ch}.welcome-copy>.welcome-lead{font-size:23px;margin-bottom:20px;max-width:25ch}.welcome-photo{margin:20px 0 0 10%}.welcome-photo img{aspect-ratio:1.2;object-position:center}.project-example{grid-template-columns:1fr;gap:27px}.project-example h2{font-size:43px}.example-photo{margin-right:10%}}
