
:root { --paper:#eee9df; --ink:#191815; --red:#d53a26; --line:rgba(25,24,21,.24); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
.topbar { min-height:82px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; padding:0 3vw; border-bottom:1px solid var(--line); font-size:11px; line-height:1; letter-spacing:.14em; text-transform:uppercase; }
.topbar p { margin:0; } .nav-project { text-align:right; }
.wordmark { width:35px; height:35px; display:grid; place-items:center; border-radius:50%; background:var(--red); color:var(--paper); font:italic 21px Georgia,serif; }
.hero { min-height:calc(100vh - 82px); padding:8vh 3vw 4vh; display:grid; grid-template-columns:2fr 1fr; grid-template-rows:auto 1fr auto; }
.eyebrow { grid-column:1/-1; margin:0; color:var(--red); font-size:clamp(17px,1.5vw,24px); letter-spacing:.28em; }
h1 { grid-column:1/-1; align-self:center; margin:0; font:400 clamp(68px,11.2vw,190px)/.78 Arial,Helvetica,sans-serif; letter-spacing:-.075em; text-transform:uppercase; }
h1 em { padding-left:13vw; font-family:Georgia,"Times New Roman",serif; font-weight:400; text-transform:none; }
.hero-note { grid-column:2; display:grid; grid-template-columns:42px 1fr; gap:18px; align-items:start; font-size:14px; line-height:1.45; }
.hero-note span { color:var(--red); font-size:11px; } .hero-note p { margin:0; max-width:38ch; }
.editorial-image { margin:0; position:relative; overflow:hidden; background:var(--ink); }
.editorial-image img { width:100%; height:100%; display:block; object-fit:cover; }
.hero-image { height:min(82vw,88vh); }
.hero-image img { object-position:center 52%; filter:saturate(.82) contrast(1.04); }
.hero-image figcaption { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; padding:24px 3vw; color:white; background:linear-gradient(transparent,rgba(0,0,0,.72)); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.intro { min-height:72vh; padding:9vw 3vw; display:grid; grid-template-columns:1fr 2fr; border-top:1px solid var(--line); }
.section-index { margin:5px 0 0; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.intro h2 { margin:0 0 5vh; font:italic 400 clamp(45px,6vw,100px)/.95 Georgia,serif; }
.lede { max-width:22ch; margin:0 0 0 auto; font-size:clamp(24px,3.2vw,50px); line-height:1.08; letter-spacing:-.035em; }
.project { background:#0d0d0c; color:var(--paper); }
.project-header { min-height:90vh; padding:9vw 3vw 7vw; display:grid; grid-template-columns:1fr 2fr; grid-template-rows:auto 1fr auto; border-bottom:1px solid rgba(238,233,223,.2); }
.project-header .section-index { color:var(--red); }
.project-header>div { grid-column:2; }
.project-kicker { margin:0 0 4vh; font:italic 19px Georgia,serif; }
.project-header h2 { margin:0; font-size:clamp(68px,10.5vw,174px); line-height:.77; letter-spacing:-.075em; text-transform:uppercase; }
.project-header h2 em { display:block; padding-left:5vw; font-family:Georgia,serif; font-weight:400; text-transform:none; color:var(--red); }
.project-statement { grid-column:2; width:min(100%,37ch); margin:8vh 0 0 auto; font-size:clamp(20px,2.2vw,35px); line-height:1.12; letter-spacing:-.025em; }
.gallery { padding:7vw 3vw 10vw; display:grid; grid-template-columns:repeat(3,1fr); gap:8vw 3vw; }
.artwork { margin:0; }
.artwork:nth-child(3n+2) { margin-top:12vw; }
.artwork img { width:100%; aspect-ratio:2/3; display:block; object-fit:cover; background:#171613; box-shadow:0 22px 60px rgba(0,0,0,.38); }
.artwork figcaption { display:flex; justify-content:space-between; padding-top:14px; color:rgba(238,233,223,.68); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.project-about { padding:10vw 3vw; display:grid; grid-template-columns:1fr 2fr; border-top:1px solid rgba(238,233,223,.2); }
.project-about .section-index { color:var(--red); }
.project-quote { max-width:19ch; margin:0 0 10vh; font:italic clamp(35px,5vw,75px)/1 Georgia,serif; }
.project-copy { display:grid; grid-template-columns:1fr 1fr; gap:4vw; font-size:16px; line-height:1.55; }
.project-copy p { margin:0; }
.exhibit-call { min-height:85vh; padding:7vw 3vw; display:grid; grid-template-columns:1fr 2fr; grid-template-rows:auto 1fr auto; background:var(--red); color:var(--paper); }
.exhibit-call>span { grid-column:1/-1; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.exhibit-call h3 { grid-column:1/-1; align-self:center; margin:5vh 0; font-size:clamp(62px,10vw,165px); line-height:.78; letter-spacing:-.07em; text-transform:uppercase; }
.exhibit-call p { grid-column:2; max-width:42ch; margin:0; font:italic 21px/1.35 Georgia,serif; }
.exhibit-call a { grid-column:2; width:max-content; margin-top:6vh; padding-bottom:8px; border-bottom:1px solid currentColor; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.destinations { display:grid; grid-template-columns:1fr 1fr; min-height:105vh; }
.destination { padding:3vw; display:flex; flex-direction:column; gap:4vh; justify-content:space-between; border-top:1px solid var(--line); transition:background-color .3s ease,color .3s ease; }
.destination + .destination { border-left:1px solid var(--line); }
.destination:hover,.destination:focus-visible { background:var(--ink); color:var(--paper); }
.destination:focus-visible { outline:3px solid var(--red); outline-offset:-3px; }
.destination-top { display:flex; justify-content:space-between; font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.destination-top>span:last-child { font-size:28px; line-height:.6; }
.destination-image { height:34vh; margin:0 -1vw; overflow:hidden; background:#111; }
.destination-image img { width:100%; height:100%; display:block; object-fit:cover; filter:grayscale(1) contrast(1.08); transition:filter .35s ease,transform .7s ease; }
.destination:hover .destination-image img,.destination:focus-visible .destination-image img { filter:grayscale(0) contrast(1); transform:scale(1.025); }
.shop-image { background:white; }
.shop-image img { object-fit:contain; }
.destination h2 { margin:0 0 24px; font-size:clamp(40px,5.8vw,92px); line-height:.88; letter-spacing:-.06em; }
.destination p { max-width:32ch; margin:0; font:italic 20px/1.3 Georgia,serif; }
.domain { font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
footer { min-height:180px; padding:35px 3vw; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; background:var(--red); color:var(--paper); font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
footer p { margin:0; } footer a { text-align:right; }
@media (max-width:720px) {
  .topbar { grid-template-columns:1fr 1fr; padding:0 20px; } .topbar p { text-align:right; } .nav-project { display:none; }
  .hero { padding:9vh 20px 28px; display:flex; flex-direction:column; gap:11vh; min-height:calc(100svh - 82px); }
  h1 { margin:auto 0; font-size:clamp(58px,20vw,100px); } h1 em { padding-left:0; }
  .hero-note { width:min(100%,350px); margin-left:auto; }
  .hero-image { height:78vh; } .hero-image figcaption { padding:20px; } .hero-image figcaption span:last-child { display:none; }
  .intro { min-height:auto; padding:90px 20px; grid-template-columns:1fr; gap:70px; } .lede { margin-left:0; }
  .project-header { min-height:82vh; padding:80px 20px 45px; display:block; }
  .project-header>div { margin-top:20vh; } .project-header h2 { font-size:clamp(58px,18vw,88px); } .project-header h2 em { padding-left:0; }
  .project-statement { margin:10vh 0 0; }
  .gallery { padding:70px 20px 110px; grid-template-columns:1fr 1fr; gap:70px 14px; }
  .artwork:nth-child(3n+2) { margin-top:0; } .artwork:nth-child(even) { margin-top:70px; }
  .project-about { padding:100px 20px; grid-template-columns:1fr; gap:70px; }
  .project-quote { margin-bottom:70px; } .project-copy { grid-template-columns:1fr; gap:30px; }
  .exhibit-call { min-height:80vh; padding:70px 20px 40px; display:flex; flex-direction:column; }
  .exhibit-call h3 { margin:auto 0; font-size:clamp(54px,17vw,84px); } .exhibit-call p { max-width:30ch; margin-left:auto; } .exhibit-call a { margin-left:auto; }
  .destinations { grid-template-columns:1fr; } .destination { min-height:92vh; padding:28px 20px; } .destination + .destination { border-left:0; }
  .destination-image { height:38vh; margin:0; }
  footer { grid-template-columns:1fr 1fr; padding:30px 20px; } footer p:nth-child(2) { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .destination { transition:none; } }
