
:root{
  --bg:#eae7de; --ink:#141310; --muted:#57544c; --line:#c9c4b6;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Inter', -apple-system, sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:13px;line-height:1.55}
a{color:inherit;text-decoration:none}
a:hover{opacity:.6}
img{max-width:100%;display:block}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;gap:4vw;align-items:flex-start;
  padding:1.1rem 2rem;background:linear-gradient(var(--bg) 55%,rgba(234,231,222,0));}
.logo{font-family:var(--serif);font-size:1.5rem;font-weight:400;letter-spacing:.01em;margin-right:2vw}
.nav-block{display:flex;flex-direction:column;gap:0}
.label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.sub{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--muted);line-height:1.3}
.sub a.on{border-bottom:1px solid var(--ink);color:var(--ink)}
.nav .center{margin-left:auto;margin-right:auto}

/* homepage — scattered collage, one tile per project */
.collage{padding:8rem 2rem 20vh;max-width:1600px;margin:0 auto}
.home-name{font-family:var(--serif);font-weight:300;
  font-size:clamp(4rem,13vw,13rem);line-height:.9;margin-bottom:10vh}
.cols{display:flex;gap:4vw;align-items:flex-start}
.colA{width:55%}
.colB{width:41%;margin-top:26vh}
.tile{display:block}
.tile img{width:100%;height:auto}
.tile:hover img{opacity:.85}
.tile-cap{display:flex;flex-direction:column;gap:1px;margin-top:.7rem}
.colA .tile+.tile{margin-top:18vh}
.colB .tile+.tile{margin-top:22vh}
.tile.dom{width:72%;margin-left:8%}
.tile.swp{width:64%}
.tile.cst{width:84%;margin-left:8%}
.tile.cry{width:92%}

/* project pages */
.project{display:grid;grid-template-columns:300px 1fr;gap:4vw;padding:9rem 2rem 30vh;max-width:1500px;margin:0 auto}
.statement{position:sticky;top:8rem;align-self:start;font-size:12.5px;color:var(--ink)}
.statement p{margin-bottom:.9em}
.statement .note{color:var(--muted);font-style:italic;font-family:var(--serif);font-size:14px}
.statement .meta{margin-top:1.5em;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.stream{display:grid;grid-template-columns:repeat(12,1fr);gap:0 2vw;max-width:1100px}
.stream figure{margin:0 0 5.5rem}
.stream img{width:100%;height:auto;box-shadow:0 1px 2px rgba(0,0,0,.06)}
/* repeating 6-step scatter: varied widths + offsets */
.stream figure:nth-child(6n+1){grid-column:1/11}
.stream figure:nth-child(6n+2){grid-column:7/13;margin-top:2rem}
.stream figure:nth-child(6n+3){grid-column:1/7;margin-top:-2rem}
.stream figure:nth-child(6n+4){grid-column:3/12}
.stream figure:nth-child(6n+5){grid-column:1/6;margin-top:1.5rem}
.stream figure:nth-child(6n+6){grid-column:7/13;margin-top:-3rem}
figcaption{margin-top:.7rem;display:flex;flex-direction:column;gap:1px}
.cap-title{font-size:11.5px;letter-spacing:.12em}
.cap-detail{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--muted)}
.giant{position:fixed;left:1.5rem;bottom:1rem;z-index:5;pointer-events:none;
  font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,7vw,7.5rem);line-height:.95;
  max-width:55vw;mix-blend-mode:multiply}
.giant-year{display:block;font-style:italic;font-size:.35em;color:var(--muted);margin-top:.3em}
.giant.static{position:static;pointer-events:auto;max-width:none;margin-bottom:3rem}

/* press & exhibitions */
.logo-wall{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:92px;
  gap:0 1rem;place-items:center;max-width:880px;margin:.5rem 0 4.5rem}
.logo-wall img{max-height:40px;max-width:72%;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1);mix-blend-mode:multiply;opacity:.85}
.logo-wall img:nth-child(1){max-height:74px;max-width:96%}   /* Vogue: thin serif reads small */
.logo-wall img:nth-child(4){max-height:52px;max-width:80%}   /* Marie Claire */
.logo-wall img:nth-child(7){max-height:50px}                 /* Washington Post */
.logo-wall img:nth-child(9){max-height:58px}                 /* BBC */
.press-head{font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:.02em;margin:2rem 0 2.5rem}
.p-entry{display:flex;flex-direction:column;gap:3px;margin-bottom:2.8rem;max-width:70ch}
/* an entry sits TIGHT above its own image, LOOSE before the next article */
.p-entry:has(+ .p-clip),.p-entry:has(+ .p-clip-grid),.p-entry:has(+ .clip-grid){margin-bottom:.7rem}
.p-entry + .clip-grid{margin-top:0}
.p-pub{font-family:var(--sans);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.p-title{font-family:var(--sans);font-size:15px;line-height:1.5}
.p-author{font-family:var(--sans);font-size:12px;color:var(--muted)}
.p-clip{display:block;max-width:640px;margin:0 0 3.2rem}
.p-clip:has(+ .p-clip-grid){margin-bottom:1.2rem}
.p-clip img{width:100%;height:auto;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.p-clip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;align-items:start;max-width:900px;margin:0 0 3.5rem}
.p-clip-grid img{width:100%;height:auto;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.entry{margin-bottom:1.6rem}
.entry h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;margin:2.5rem 0 1rem}
.entry p{font-size:15px;line-height:1.7;max-width:70ch}
.entry a{border-bottom:1px solid var(--line)}
.clip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;
  align-items:center;margin:2.5rem 0 3.5rem}
.clip-grid img{width:100%;height:auto;mix-blend-mode:multiply}

/* contact form */
.contact-form{max-width:520px;display:flex;flex-direction:column;gap:1.4rem}
.contact-form label{display:flex;flex-direction:column;gap:.4rem;
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.contact-form input,.contact-form textarea{font-family:var(--sans);font-size:15px;
  padding:.7rem .8rem;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:0}
.contact-form input:focus,.contact-form textarea:focus{outline:1px solid var(--ink);border-color:var(--ink)}
.contact-form button{align-self:flex-start;font-family:var(--sans);font-size:11.5px;
  letter-spacing:.18em;text-transform:uppercase;padding:.9rem 2.4rem;cursor:pointer;
  background:var(--ink);color:var(--bg);border:0}
.contact-form button:hover{opacity:.85}

/* exhibitions list */
.x-row{display:flex;gap:1.2rem;margin-bottom:.6rem;max-width:78ch;align-items:baseline}
.x-year{flex:0 0 64px;font-size:11.5px;letter-spacing:.12em;color:var(--muted)}
.x-line{font-family:var(--sans);font-size:15px;line-height:1.5}

/* about */
.about{padding:9rem 2rem 6rem;max-width:900px;margin:0 auto}
.about-text p{font-size:15px;line-height:1.7;margin-bottom:1.2em;max-width:65ch}

.foot{padding:3rem 2rem;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.foot-lm{display:flex;align-items:center;gap:.8rem}
.foot-lm img{height:16px;width:auto;mix-blend-mode:multiply;opacity:.9}
.foot-lm:hover img{opacity:.6}

@media (max-width:900px){
  .logo-wall{grid-template-columns:repeat(3,1fr);grid-auto-rows:72px}
  .nav{position:static;flex-wrap:wrap;gap:1rem 2rem;background:var(--bg)}
  .project{grid-template-columns:1fr;padding-top:2rem}
  .about{padding-top:2rem}
  .statement{position:static}
  .giant{position:static;max-width:none;margin-top:3rem;mix-blend-mode:normal}
  .collage{padding-top:2rem}
  .home-name{margin-bottom:6vh}
  .cols{flex-direction:column}
  .colA,.colB{display:contents}
  .tile{width:100% !important;margin:14vh 0 0 !important}
  .tile.brr{order:1;margin-top:0 !important}
  .tile.dom{order:2}
  .tile.iwh{order:3}
  .tile.cst{order:4}
  .tile.swp{order:5}
  .tile.cry{order:6}
  .stream figure{grid-column:1/-1 !important;margin:0 0 5rem !important}
}

/* lightbox slideshow */
.lb{position:fixed;inset:0;z-index:100;background:rgba(16,15,13,.96);display:none;
  align-items:center;justify-content:center}
.lb.on{display:flex}
.lb figure{max-width:88vw;max-height:92vh;display:flex;flex-direction:column;gap:.6rem;margin:0}
.lb img{max-width:88vw;max-height:84vh;width:auto;height:auto;object-fit:contain;box-shadow:none}
.lb figcaption{color:#cfcac0;font-family:var(--serif);font-style:italic;font-size:15px;text-align:center}
.lb button{position:fixed;background:none;border:0;color:#eae7de;font-size:2rem;cursor:pointer;
  padding:1rem;line-height:1;opacity:.8}
.lb button:hover{opacity:1}
.lb-x{top:.8rem;right:1rem;font-size:2.6rem}
.lb-prev{left:.6rem;top:50%;transform:translateY(-50%)}
.lb-next{right:.6rem;top:50%;transform:translateY(-50%)}
.lb-count{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);
  color:#8d887c;font-size:11.5px;letter-spacing:.14em}
@media (max-width:900px){.lb-prev,.lb-next{display:none}}
