:root{--ink:#111;--muted:#777;--line:#e9e9e9;--sans:'DM Mono',monospace;--serif:'Libre Baskerville',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:12px var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:36px 27px 23px 32px;display:flex;flex-direction:column;background:#fff;z-index:5}.logo-link{display:block;width:100%;margin:0 0 27px}.logo{display:block;width:100%;height:auto}.side-label,.kicker,.project-note,.sidebar-bottom,.photo-index,.page-footer,.bio-portrait>span,.product>p,.shop-note{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.side-label{margin:0 0 20px}.main-nav{display:flex;flex-direction:column;gap:13px}.nav-link{display:block;font:400 13px/1.4 var(--sans);transition:opacity .2s;width:max-content}.nav-link:hover,.nav-link.active{opacity:.48}.nav-link.secondary{margin-top:8px;font:400 13px/1.4 var(--sans)}.sidebar-bottom{display:flex;align-items:center;gap:18px;margin-top:auto;font-size:8px}.sidebar-bottom span{margin-left:auto}.sidebar-bottom a{display:flex;width:18px;height:18px;color:#111}.sidebar-bottom svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom svg .fill{fill:currentColor;stroke:none}.content{margin-left:250px;max-width:1700px;padding:0 clamp(34px,5vw,88px)}.mobile-brand{display:none}.project-page,.shop-page{padding-top:57px}.project-head{margin:0 0 30px}.kicker{margin:0 0 11px}.project-head h1,.home-intro h1,.bio-copy h1{font:400 clamp(32px,4vw,52px)/1.1 var(--sans);letter-spacing:0;margin:0}.project-head h1 em,.home-intro h1 em,.bio-copy h1 em{font-weight:400}.project-note{margin:12px 0 0;font-size:8px;letter-spacing:.08em}.masonry{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;column-gap:clamp(12px,2vw,32px);row-gap:clamp(45px,7vw,100px);padding:5px 0 30px}.photo{position:relative;display:block;padding:0;border:0;background:#f5f5f5;overflow:hidden;cursor:zoom-in;grid-column:span 6;line-height:0}.photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.photo:hover img{transform:scale(1.02)}.photo:nth-child(5n+1){grid-column:1/span 7}.photo:nth-child(5n+2){grid-column:8/span 5;margin-top:clamp(65px,9vw,135px)}.photo:nth-child(5n+3){grid-column:3/span 6}.photo:nth-child(5n+4){grid-column:8/span 5;margin-top:-5px}.photo:nth-child(5n){grid-column:1/span 6;margin-top:clamp(35px,5vw,75px)}.photo-index{position:absolute;bottom:10px;right:11px;color:#fff;font-size:8px;line-height:1;text-shadow:0 1px 5px #000;opacity:0;transition:opacity .2s}.photo:hover .photo-index{opacity:1}.home-content{min-height:100vh;display:flex;flex-direction:column}.home-intro{padding:clamp(100px,18vh,190px) 0 80px}.home-intro h1{font-size:clamp(54px,8vw,104px);line-height:.98}.home-intro>p:last-child{font:12px var(--serif);margin:25px 0 0;color:#555}.project-index{border-top:1px solid var(--line)}.project-index>a{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:12px;padding:19px 0;border-bottom:1px solid var(--line)}.project-index>a>span,.project-index>a>i{font:9px var(--sans);font-style:normal;color:var(--muted);letter-spacing:.08em}.project-index>a>strong{font:17px var(--sans);font-weight:400}.project-index>a:hover strong{opacity:.5}.page-footer{display:flex;justify-content:space-between;margin-top:auto;padding:18px 0 22px;font-size:8px}.page-footer a:hover{color:#000}.bio-layout{padding:clamp(55px,10vh,120px) 0 60px;display:grid;grid-template-columns:minmax(250px,.9fr) minmax(300px,1fr);gap:clamp(35px,7vw,110px);align-items:center;min-height:85vh}.bio-portrait{margin:0}.bio-portrait img{width:100%;height:auto;max-height:72vh;object-fit:cover;display:block}.bio-portrait>span{display:block;margin-top:9px;font-size:8px}.bio-copy h1{font-size:clamp(40px,5vw,66px)}.bio-copy>p:not(.kicker){font:13px/1.9 var(--serif);color:#555;margin:25px 0;max-width:480px}.text-link{display:inline-block;font:10px var(--sans);border-bottom:1px solid #aaa;padding-bottom:6px;margin-top:5px}.shop-page .project-head{margin-bottom:45px}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px)}.product .photo{width:100%;grid-column:auto;aspect-ratio:4/5}.product .photo img{width:100%;height:100%;object-fit:cover}.product h2{font:17px var(--sans);font-weight:400;margin:17px 0 7px}.product>p{margin:0 0 16px;font-size:8px}.product>a{font:9px var(--sans);border-bottom:1px solid #aaa;padding-bottom:5px}.shop-note{margin-top:50px;font-size:8px}.lightbox{padding:36px 70px;border:0;background:rgba(255,255,255,.98);color:#111;width:100vw;height:100vh;max-width:none;max-height:none;overflow:hidden}.lightbox::backdrop{background:rgba(255,255,255,.98)}.lightbox figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.lightbox figure img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain}.lightbox figcaption,.lightbox-count{font:9px var(--sans);letter-spacing:.1em;color:#666;text-transform:uppercase}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:none;color:#111;cursor:pointer;font:24px var(--sans);padding:10px}.lightbox-close{top:20px;right:25px;font-size:30px}.lightbox-prev{left:20px;top:48%}.lightbox-next{right:20px;top:48%}.lightbox-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%)}
@media(max-width:900px){.sidebar{width:205px;padding:30px 22px}.content{margin-left:205px;padding:0 30px}.photo:nth-child(5n+1){grid-column:1/span 7}.photo:nth-child(5n+2){grid-column:8/span 5}.bio-layout{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:620px){.sidebar{position:sticky;top:0;inset:auto;width:100%;height:auto;padding:10px 16px 8px;display:block}.sidebar>.logo-link,.sidebar>.side-label,.sidebar>.sidebar-bottom{display:none}.main-nav{flex-direction:row;align-items:center;gap:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.nav-link{font:10px var(--sans);padding:8px 12px;border-right:1px solid var(--line)}.nav-link:first-child{padding-left:0}.nav-link.secondary{margin:0 0 0 3px;font:10px var(--sans)}.content{margin:0;padding:0 17px}.mobile-brand{display:flex;align-items:center;justify-content:space-between;padding:14px 0 11px}.mobile-brand img{width:min(53vw,235px);height:auto}.mobile-brand span{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.project-page,.shop-page{padding-top:35px}.project-head{margin-bottom:21px}.project-head h1{font-size:34px}.masonry{column-gap:10px;row-gap:34px;padding-bottom:15px}.photo:nth-child(5n+1){grid-column:1/span 8}.photo:nth-child(5n+2){grid-column:6/span 7;margin-top:32px}.photo:nth-child(5n+3){grid-column:2/span 9}.photo:nth-child(5n+4){grid-column:5/span 8;margin-top:0}.photo:nth-child(5n){grid-column:1/span 8;margin-top:25px}.photo img{max-height:none}.home-intro{padding:80px 0 60px}.home-intro h1{font-size:66px}.project-index>a{grid-template-columns:32px 1fr auto;padding:16px 0}.project-index>a>strong{font-size:15px}.project-index>a>i{font-size:7px}.bio-layout{padding:40px 0;display:flex;flex-direction:column;align-items:stretch;gap:32px;min-height:0}.bio-portrait{max-width:420px}.bio-portrait img{max-height:none;max-width:100%}.bio-copy h1{font-size:44px}.bio-copy>p:not(.kicker){font-size:12px}.shop-grid{grid-template-columns:1fr 1fr;gap:30px 14px}.product h2{font-size:15px}.page-footer{margin-top:35px}.lightbox{padding:40px 36px}.lightbox-close{top:8px;right:10px}.lightbox-prev{left:0}.lightbox-next{right:0}}
@media(max-width:390px){.shop-grid{grid-template-columns:1fr}.product .photo{aspect-ratio:5/4}}
.nav-link{max-width:190px;white-space:normal}
.project-description{max-width:650px;margin:13px 0 0;font:13px/1.75 var(--sans);color:#555}
.project-head h1.long-title{font-size:clamp(20px,2.5vw,36px);line-height:1.3;letter-spacing:0}
@media(max-width:620px){.nav-link{max-width:none;white-space:nowrap}.project-description{font-size:12px}.project-head h1.long-title{font-size:clamp(18px,5vw,26px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.product-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:17px 0 7px}.product-meta h2{margin:0;flex:1;min-width:0}.availability{flex:none;font:9px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#555}

/* Give the second book and the zine their own image rhythms. */
.project-page[data-project="libro-2"] .photo:nth-child(5n+1){grid-column:1/span 5;margin-top:0}
.project-page[data-project="libro-2"] .photo:nth-child(5n+2){grid-column:7/span 6;margin-top:clamp(70px,9vw,130px)}
.project-page[data-project="libro-2"] .photo:nth-child(5n+3){grid-column:2/span 8;margin-top:0}
.project-page[data-project="libro-2"] .photo:nth-child(5n+4){grid-column:9/span 4;margin-top:clamp(55px,7vw,105px)}
.project-page[data-project="libro-2"] .photo:nth-child(5n){grid-column:1/span 7;margin-top:20px}
.project-page[data-project="zine"] .photo:nth-child(5n+1){grid-column:3/span 6;margin-top:0}
.project-page[data-project="zine"] .photo:nth-child(5n+2){grid-column:9/span 4;margin-top:clamp(45px,7vw,105px)}
.project-page[data-project="zine"] .photo:nth-child(5n+3){grid-column:1/span 8;margin-top:10px}
.project-page[data-project="zine"] .photo:nth-child(5n+4){grid-column:8/span 5;margin-top:clamp(60px,8vw,120px)}
.project-page[data-project="zine"] .photo:nth-child(5n){grid-column:4/span 7;margin-top:0}
.product-details{margin:0 0 16px;padding:0;list-style:none;color:#555;font:9px/1.7 var(--sans);letter-spacing:.025em}
.product-details li{margin:0}
.first-project-footer{justify-content:flex-end}
@media(max-width:620px){
  .top-brand{justify-content:center;padding:0}
  .top-brand img{object-position:center}
  .content{margin:0;padding:0}
  .project-page,.shop-page{padding-top:25px}
  .project-head{padding:0 18px;margin-bottom:22px}
  .project-head h1{font-size:clamp(27px,8vw,36px);line-height:1.2}
  .project-head h1.long-title{font-size:clamp(20px,6vw,27px);overflow-wrap:anywhere}
  .project-description{font-size:12px;line-height:1.75}
  .masonry{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:0 0 12px}
  .masonry .photo,.project-page[data-project="libro-2"] .masonry .photo,.project-page[data-project="zine"] .masonry .photo{width:100%;max-width:none;margin:0!important;grid-column:auto!important}
  .masonry .photo img{width:100%;height:auto;max-height:none;object-fit:cover}
  .photo-index{opacity:1;right:13px;bottom:12px}
  .page-footer{padding:18px;gap:15px;align-items:flex-start}
  .page-footer a{max-width:48%;line-height:1.6}
  .bio-layout{padding:24px 18px 45px;align-items:stretch}
  .bio-portrait{width:100%;max-width:100%}
  .bio-portrait img{width:100%;height:auto;max-height:none}
  .bio-copy h1{font-size:42px}
  .shop-page .project-head{margin-bottom:24px}
  .shop-grid{grid-template-columns:1fr;gap:34px;padding:0 18px}
  .product .photo{aspect-ratio:4/5}
  .product-meta h2{font-size:16px}
  .product-details{font-size:10px;line-height:1.8}
  .shop-note{margin:30px 18px}
}

/* Fixed transparent masthead logo */
.top-brand{height:118px;display:flex;justify-content:flex-start;align-items:center;padding-left:0;overflow:hidden;background:transparent;position:relative;z-index:6}.top-brand a{display:block;width:min(405px,33vw);height:112px}.top-brand img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.sidebar{top:118px;height:calc(100vh - 118px);padding-top:25px}.sidebar>.logo-link{display:none}.content{padding-top:6px}.mobile-brand{display:none}
@media(max-width:620px){.top-brand{height:91px;padding-left:0;background:transparent}.top-brand a{width:min(345px,63vw);height:88px}.sidebar{position:sticky;top:0;height:auto;padding:9px 16px 7px}.content{padding-top:0}.mobile-brand{display:none}}

/* Keep the masthead fixed while the page content scrolls; use sans-serif throughout. */
:root{--serif:'DM Sans',Arial,sans-serif}
body{padding-top:118px}
.top-brand{position:fixed;top:0;left:0;right:0}
@media(max-width:620px){body{padding-top:91px}.sidebar{top:91px}.top-brand{justify-content:center}.top-brand a{margin-inline:auto}.top-brand img{object-position:center center}}
