
:root{
  --black:#080808; --paper:#e6e0d5; --ink:#101010; --muted:#8e8b84;
  --line:rgba(255,255,255,.16); --pad:clamp(1.1rem,4vw,4.8rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:#f4f1e9;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit}
.noise{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.8rem var(--pad);mix-blend-mode:difference;color:#fff}
.brand-logo{width:clamp(155px,17vw,245px);display:block}
.brand-logo img{height:auto;object-fit:contain}
.site-nav{display:flex;gap:clamp(.9rem,2.2vw,2.3rem);font-size:.7rem;font-weight:800;letter-spacing:.08em}
.site-nav a:hover{text-decoration:line-through}
.menu-toggle{display:none;background:none;border:0;color:white;font-weight:800;letter-spacing:.1em}
.panel{position:relative;padding:var(--pad)}
.panel-black{background:var(--black);color:#f4f1e9}
.panel-paper{background:var(--paper);color:var(--ink)}
.intro-black{min-height:100svh;display:flex;align-items:flex-end;padding-top:8rem}
.eyebrow{margin:0;font-size:clamp(.75rem,1vw,.95rem);letter-spacing:.28em;font-weight:800}
.full-bleed{height:92svh;overflow:hidden;position:relative}
.title-panel{min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.question-stack{margin:0;font-size:clamp(2.6rem,6.7vw,7.2rem);line-height:.87;letter-spacing:-.055em;font-weight:900;text-transform:uppercase}
.exhibit-mark{margin:2.4rem 0 0 auto;font-size:clamp(1rem,2vw,1.8rem);font-weight:800;letter-spacing:.08em}
.split-panel{min-height:100svh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(2rem,7vw,8rem)}
.split-image{height:min(72svh,800px);position:relative}
.statement{margin:0;font-size:clamp(2rem,4.7vw,5rem);line-height:.98;font-weight:800;letter-spacing:-.035em}
.gallery-rupture{min-height:160svh;padding-top:10svh;overflow:hidden}
.photo{position:relative;z-index:2}.photo.tall{width:min(47vw,670px);height:92svh;margin-left:5vw}.photo.wide{width:min(68vw,1080px);height:65svh;margin:-16svh 3vw 0 auto}
.margin-word{position:absolute;left:-1.1rem;top:47%;margin:0;font-size:clamp(4.5rem,13vw,13rem);font-weight:900;letter-spacing:-.08em;opacity:.07;transform:rotate(-90deg) translateX(-50%);transform-origin:left top}
.underpass{height:100svh}
.alley{min-height:125svh;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,8rem);align-items:center}
.alley-copy{align-self:start;padding-top:10vh}.alley-copy p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.2rem,2vw,2.1rem);line-height:1.28;margin:0 0 2.3rem}.alley-copy .last{font-size:clamp(2rem,4vw,4rem);font-style:italic}
.alley-photo{height:90svh;position:relative}
.image-door{position:relative;display:block}.door-cue{position:absolute;right:1rem;bottom:1rem;z-index:4;background:#080808;color:white;padding:.55rem .75rem;font-size:.65rem;font-weight:900;letter-spacing:.12em;opacity:0;transition:.25s}.image-door:hover .door-cue{opacity:1}
.work-grid{min-height:150svh;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:15rem;gap:1rem}
.work-card{position:relative;overflow:hidden;background:#111}.work-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.85))}
.work-card img{transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s;filter:grayscale(100%)}.work-card:hover img{transform:scale(1.025);filter:grayscale(0)}
.work-card span{position:absolute;z-index:2;left:1rem;bottom:.9rem;font-size:clamp(1rem,2.1vw,2.2rem);font-weight:900;letter-spacing:-.03em}
.work-card:nth-child(1){grid-column:1/8;grid-row:span 3}.work-card:nth-child(2){grid-column:8/13;grid-row:span 2;margin-top:7rem}.work-card:nth-child(3){grid-column:2/6;grid-row:span 2;margin-top:5rem}.work-card:nth-child(4){grid-column:6/13;grid-row:span 3}
.archive-intro{padding-top:10rem;padding-bottom:5rem}.archive-intro h2{font-size:clamp(2.9rem,6.5vw,7rem);line-height:.84;letter-spacing:-.06em;margin:.5rem 0 2rem;max-width:10ch}.archive-intro p{max-width:42rem;font-size:clamp(1rem,1.8vw,1.45rem);line-height:1.45;color:#b8b4aa}
.series-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;padding-top:0}
.series-card{min-height:55svh;position:relative;overflow:hidden;background:#111}.series-card img{filter:grayscale(100%);transition:.45s}.series-card:hover img{filter:grayscale(0%);transform:scale(1.015)}.series-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.82))}
.series-card .label{position:absolute;z-index:2;left:1.2rem;bottom:1rem}.series-card small{letter-spacing:.18em;font-weight:800}.series-card h3{margin:.35rem 0 0;font-size:clamp(1.8rem,3.5vw,4rem);line-height:.95}
.series-card:nth-child(1){grid-column:1/8}.series-card:nth-child(2){grid-column:8/13;margin-top:8rem}.series-card:nth-child(3){grid-column:2/7}.series-card:nth-child(4){grid-column:7/13;margin-top:5rem}
.johnny-preview{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,8rem);align-items:center;min-height:100svh}.johnny-preview h2{font-size:clamp(2.8rem,5.8vw,6.5rem);line-height:.85;letter-spacing:-.055em;margin:.5rem 0 2rem}.johnny-preview p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,2vw,1.9rem);line-height:1.35;max-width:36rem}.johnny-shot{height:72svh}
.says-strip{min-height:75svh;display:flex;align-items:center}.says-strip blockquote{margin:0;font-size:clamp(2.2rem,5.4vw,6rem);font-weight:900;line-height:.9;letter-spacing:-.05em;max-width:14ch}.says-strip cite{display:block;margin-top:2rem;font-size:.75rem;letter-spacing:.2em;font-style:normal}
.creed{min-height:100svh;display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--line)}.creed-text{margin:0;font-size:clamp(2.5rem,6.1vw,6.9rem);line-height:.89;letter-spacing:-.05em;font-weight:900;max-width:13ch}.creed-text.second{margin:4rem 0 0 auto;text-align:right;max-width:14ch}
.eds{min-height:70svh;display:flex;align-items:center}.eds h2{margin:1rem 0 2rem;font-size:clamp(2.8rem,5.8vw,5.8rem);line-height:.87;letter-spacing:-.055em}.eds p{font-size:clamp(1.05rem,1.8vw,1.6rem);max-width:34rem}.text-link{display:inline-block;margin-top:2rem;font-weight:900;border-bottom:2px solid currentColor;padding-bottom:.2rem}
.site-footer{min-height:20rem;padding:2rem var(--pad);display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);font-size:.7rem;letter-spacing:.16em;font-weight:800}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}

/* gallery / section pages */
.subhead{padding:9rem var(--pad) 4rem;background:#080808;border-bottom:1px solid var(--line)}
.subhead .back{font-size:.7rem;letter-spacing:.16em;font-weight:900}.subhead h1{margin:3rem 0 1rem;font-size:clamp(3.5rem,7.8vw,8.5rem);line-height:.78;letter-spacing:-.065em;text-transform:uppercase}.subhead p{max-width:44rem;color:#aaa;font-family:Georgia,serif;font-size:clamp(1.1rem,1.8vw,1.55rem);line-height:1.45}
.gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:start;
}.gallery-item{break-inside:avoid;margin:0 0 1rem;display:block;cursor:zoom-in;overflow:hidden;background:#111}.gallery-item img{height:auto;transition:transform .35s}.gallery-item:hover img{transform:scale(1.01)}
.gallery-note{padding:3rem var(--pad) 7rem;background:#080808;color:#aaa;max-width:70rem;font-family:Georgia,serif;font-size:1.05rem;line-height:1.5}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.96);display:none;align-items:center;justify-content:center;padding:2rem}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:92vh;width:auto;height:auto;object-fit:contain}.lightbox button{position:absolute;top:1rem;right:1rem;background:none;color:white;border:1px solid #555;padding:.6rem .8rem;cursor:pointer}
.section-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem}.section-index a{height:62svh;position:relative;overflow:hidden}.section-index a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.8))}.section-index span{position:absolute;z-index:2;left:1.2rem;bottom:1rem;font-size:clamp(2rem,4vw,4rem);font-weight:900}
.section-index img{filter:grayscale(100%);transition:.4s}.section-index a:hover img{filter:none;transform:scale(1.01)}
.journal{max-width:900px;margin:0 auto;padding:8rem var(--pad)}.journal article{padding:4rem 0;border-bottom:1px solid #333}.journal time{font-size:.7rem;letter-spacing:.18em;color:#888}.journal h2{font-size:clamp(2.3rem,5vw,5rem);line-height:.95;margin:1rem 0}.journal p{font-family:Georgia,serif;font-size:1.2rem;line-height:1.55;color:#ccc}
@media(max-width:820px){
 .site-header{mix-blend-mode:normal;background:rgba(8,8,8,.92)} .brand-logo{width:160px}.menu-toggle{display:block}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;background:#080808;padding:1rem var(--pad) 1.5rem}.site-nav.open{display:flex}
 .split-panel,.alley,.johnny-preview{grid-template-columns:1fr}.split-image,.alley-photo,.johnny-shot{height:65svh}.gallery-rupture{min-height:auto}.photo.tall,.photo.wide{width:100%;height:70svh;margin:0 0 1rem}.work-grid{display:block;min-height:0}.work-card{height:65svh;margin:0 0 1rem!important}.series-grid{display:block}.series-card{margin:0 0 1rem!important;min-height:58svh}.section-index{grid-template-columns:1fr}.section-index a{height:58svh}
}


/* Draft 3 approved copy refinements */
.alley-copy .guide-line{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(2rem,4vw,4.1rem);
  line-height:.98;
  font-weight:900;
  letter-spacing:-.035em;
  margin:0 0 1.35rem;
}
.alley-copy .guide-line.last{
  font-size:clamp(2rem,4vw,4.1rem);
  font-style:normal;
  margin-top:2.7rem;
}
.archive-intro .exhibit-note{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.15rem,1.8vw,1.5rem);
  line-height:1.45;
  color:#b8b4aa;
}
.johnny-question{
  margin-top:3.4rem !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(1.55rem,2.8vw,2.8rem) !important;
  line-height:1 !important;
  font-weight:900;
  letter-spacing:-.025em;
  color:var(--ink);
}


/* v1.0 writing room — content first, responsive, intentionally quiet */
.reading-room{background:#e6e0d5;color:#101010}
.reading-room .site-header{mix-blend-mode:difference}
.writing-index{width:min(1180px,calc(100% - 2*var(--pad)));margin:0 auto;padding:clamp(8rem,14vw,12rem) 0 7rem;min-height:100svh}
.writing-index-head{padding-bottom:clamp(2.5rem,6vw,5rem);border-bottom:1px solid rgba(16,16,16,.22)}
.writing-back,.writing-kicker,.writing-type,.writing-arrow{font-size:.7rem;letter-spacing:.14em;font-weight:900;text-transform:uppercase}
.writing-back{display:inline-block;margin-bottom:clamp(3rem,8vw,7rem)}
.writing-kicker{margin:0 0 1rem;color:#6f6a61}
.writing-index h1{font-size:clamp(3.6rem,10vw,8.7rem);line-height:.8;letter-spacing:-.065em;margin:0}
.writing-list{padding-bottom:4rem}
.writing-row{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(0,3fr) auto;gap:2rem;align-items:center;padding:2.2rem 0;border-bottom:1px solid rgba(16,16,16,.22)}
.writing-row strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.25rem,2.1vw,2rem);font-weight:400}
.writing-row:hover strong{text-decoration:underline;text-underline-offset:.18em}
.writing-row-muted{color:#777168}
.writing-row-muted:hover strong{text-decoration:none}
@media(max-width:820px){
 .reading-room .site-header{mix-blend-mode:normal}
 .writing-index{width:calc(100% - 2.2rem);padding-top:7.4rem}
 .writing-back{margin-bottom:4rem}
 .writing-row{grid-template-columns:1fr auto;gap:.6rem 1rem;padding:1.55rem 0}
 .writing-row strong{grid-column:1/-1;grid-row:2}
 .writing-arrow{grid-column:2;grid-row:1}
}


/* v1.2 gallery sequence flow fix */

@media (max-width: 900px){
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 620px){
  .gallery{grid-template-columns:1fr;}
}


/* v1.3 uniform gallery tiles */
.gallery-item{
  display:block;
  width:100%;
  aspect-ratio:3 / 2;
  overflow:hidden;
}
.gallery-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}


/* v1.5 mobile/tablet exhibit navigation */
.mobile-lightbox-nav{display:none}

@media (max-width:1024px){
  .lightbox{
    padding:1rem 1rem 4.7rem;
  }
  .lightbox img{
    max-width:96vw;
    max-height:calc(100dvh - 6.5rem);
  }
  .lightbox>button{
    display:none;
  }
  .mobile-lightbox-nav{
    position:absolute;
    left:50%;
    bottom:max(.9rem,env(safe-area-inset-bottom));
    transform:translateX(-50%);
    width:min(92vw,520px);
    display:grid;
    grid-template-columns:3rem 1fr 3rem;
    align-items:center;
    gap:.5rem;
    color:rgba(255,255,255,.88);
  }
  .mobile-lightbox-nav button{
    position:static;
    appearance:none;
    border:0;
    background:transparent;
    color:inherit;
    padding:.75rem .4rem;
    cursor:pointer;
    font-family:Arial,Helvetica,sans-serif;
  }
  .mobile-lightbox-prev,
  .mobile-lightbox-next{
    font-size:2rem;
    line-height:1;
    font-weight:300;
  }
  .mobile-lightbox-back{
    font-size:.68rem;
    line-height:1;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .mobile-lightbox-nav button:disabled{
    opacity:.18;
    cursor:default;
  }
}
