:root {
  --bg:#fff;
  --fg:#111;
  --muted:#77736e;
  --line:#e8e5df;
  --soft:#f7f6f2;
  --pad-x:clamp(22px,4.8vw,78px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html, body { margin:0; min-height:100%; background:var(--bg); color:var(--fg); }
body {
  font-family:"Inter",Arial,sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
button, a { font:inherit; }
button { border:0; background:none; color:inherit; }
a { color:inherit; text-decoration:none; }

.site-header {
  height:100px;
  padding:0 var(--pad-x);
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  z-index:30;
  background:#fff;
}
.wordmark {
  font-family:"Libre Caslon Display",Georgia,serif;
  font-size:21px;
  line-height:1;
  letter-spacing:-.02em;
}
.site-nav { display:flex; align-items:center; gap:clamp(16px,3vw,42px); }
.nav-link {
  cursor:pointer;
  font-size:11px;
  letter-spacing:.07em;
  padding:8px 0;
  border-bottom:1px solid transparent;
}
.nav-link:hover,
.nav-link:focus-visible { border-color:currentColor; outline:none; }
.nav-link--gallery { border:1px solid var(--fg); padding:10px 16px; }
.nav-link--gallery:hover,
.nav-link--gallery:focus-visible { background:var(--fg); color:var(--bg); }

.hero {
  min-height:calc(100svh - 150px);
  padding:1vh var(--pad-x) 5vh;
  display:grid;
  grid-template-columns:minmax(0,1.58fr) minmax(260px,.58fr);
  align-items:center;
  gap:clamp(34px,6vw,100px);
}
.hero-art {
  margin:0;
  min-height:67vh;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  outline:none;
}
.hero-art:focus-visible { outline:1px solid var(--line); outline-offset:10px; }
.hero-art:hover img { transform:scale(1.004); }
.hero-art img {
  display:block;
  visibility:visible;
  opacity:1;
  cursor:pointer;
  max-width:100%;
  width:auto;
  height:auto;
  max-height:76vh;
  object-fit:contain;
  box-shadow:0 20px 55px rgba(0,0,0,.045);
  transition:transform 320ms cubic-bezier(.2,.75,.2,1);
}
.caption {
  align-self:center;
  display:grid;
  gap:clamp(42px,8vh,88px);
  max-width:410px;
}
.eyebrow {
  margin:0 0 18px;
  font-size:9px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.20em;
  color:var(--muted);
}
h1,h2,h3 {
  margin:0;
  font-family:"Libre Caslon Display",Georgia,serif;
  font-weight:400;
}
h1 { font-size:clamp(38px,4.2vw,66px); line-height:.98; letter-spacing:-.04em; }
h2 { font-size:clamp(43px,5.7vw,82px); line-height:1.02; letter-spacing:-.04em; }
.caption-copy p { margin:0 0 18px; font-size:13px; line-height:1.78; }
.meta { color:var(--muted); font-size:10px!important; letter-spacing:.04em; }
.series-name {
  display:inline-block;
  margin-top:4px;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.05em;
}
.next-work {
  position:fixed;
  left:var(--pad-x);
  bottom:24px;
  z-index:20;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:10px;
  letter-spacing:.04em;
  cursor:pointer;
  opacity:.68;
}
.next-work:hover,
.next-work:focus-visible { opacity:1; outline:none; }
.site-footer {
  min-height:80px;
  padding:0 var(--pad-x) 24px;
  display:flex;
  justify-content:flex-end;
  gap:20px;
  color:var(--muted);
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.static-page { padding-top:clamp(125px,16vh,180px); }
.artist-layout,
.curatorial-layout {
  min-height:100svh;
  padding:clamp(125px,16vh,180px) var(--pad-x) 100px;
  display:grid;
  grid-template-columns:minmax(350px,1.04fr) minmax(320px,.74fr);
  gap:clamp(60px,10vw,160px);
  align-items:start;
}
.artist-intro,
.curatorial-intro { max-width:760px; }
.curatorial-intro { position:sticky; top:130px; }
.artist-copy,
.curatorial-copy { max-width:580px; }
.artist-copy p,
.curatorial-copy p { margin:0 0 24px; font-size:13px; line-height:1.86; }
.artist-lead {
  font-family:"Libre Caslon Display",Georgia,serif;
  font-size:21px!important;
  line-height:1.45!important;
}
.artist-question,
.curatorial-final {
  margin-top:50px!important;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-family:"Libre Caslon Display",Georgia,serif;
  font-size:clamp(23px,2.2vw,34px)!important;
  line-height:1.3!important;
  letter-spacing:-.02em;
}
.curatorial-subtitle { margin:28px 0 0; font-size:11px; letter-spacing:.05em; color:var(--muted); }
.curatorial-section {
  margin:42px 0 10px!important;
  font-family:"Libre Caslon Display",Georgia,serif;
  font-size:21px!important;
  line-height:1.3!important;
}
.contact-layout {
  min-height:calc(100svh - 100px);
  padding:clamp(100px,18vh,190px) var(--pad-x) 90px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.contact-kicker { max-width:520px; margin:0 0 38px; font-size:13px; line-height:1.8; color:var(--muted); }
.contact-email {
  font-family:"Libre Caslon Display",Georgia,serif;
  font-size:clamp(38px,6vw,86px);
  line-height:1;
  letter-spacing:-.04em;
  border-bottom:1px solid transparent;
}
.contact-email:hover { border-color:currentColor; }

.static-gallery { padding:0 var(--pad-x) 100px; }
.gallery-hero {
  padding:clamp(70px,10vh,110px) 0 70px;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);
  gap:clamp(40px,8vw,120px);
  align-items:end;
}
.gallery-hero-copy { max-width:500px; }
.gallery-hero-copy p { margin:0; font-size:13px; line-height:1.8; color:var(--muted); }
.series-nav { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:28px; }
.series-nav a { font-size:10px; letter-spacing:.05em; border-bottom:1px solid var(--line); padding-bottom:3px; }
.series-block { padding:76px 0 30px; border-bottom:1px solid var(--line); }
.series-heading {
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(280px,1fr);
  gap:clamp(30px,7vw,100px);
  margin-bottom:38px;
}
.series-heading h2 { font-size:clamp(34px,4vw,56px); }
.series-heading p { margin:3px 0 0; max-width:620px; font-size:12.5px; line-height:1.8; color:var(--muted); }
.series-count { display:block; margin-top:12px; font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); }
.series-grid { columns:3; column-gap:22px; }
.gallery-card { display:inline-block; width:100%; break-inside:avoid; margin:0 0 42px; }
.gallery-item { display:block; }
.gallery-thumb { display:flex; width:100%; align-items:center; justify-content:center; background:var(--soft); overflow:hidden; }
.gallery-thumb img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  transition:transform 450ms cubic-bezier(.2,.75,.2,1),opacity 250ms ease;
}
.gallery-item:hover img { transform:scale(1.008); opacity:.95; }
.gallery-info { display:block; padding:12px 0 0; }
.gallery-meta-link { display:block; }
.gallery-title { font-size:10px; line-height:1.4; letter-spacing:.025em; }
.gallery-series { display:block; margin-top:4px; color:var(--muted); font-size:9px; letter-spacing:.04em; }

.artwork-page { min-height:calc(100svh - 150px); }
.artwork-caption { max-width:520px; gap:clamp(32px,5vh,58px); }
.curatorial-note>.eyebrow { margin-bottom:18px; }
.curatorial-note p:not(.eyebrow) { font-size:12.5px; line-height:1.82; margin-bottom:17px; }
.back-to-works {
  display:inline-block;
  margin-top:6px;
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  border-bottom:1px solid var(--line);
}

@media(max-width:1000px) {
  .series-grid { columns:2; }
  .gallery-hero { grid-template-columns:1fr; }
  .series-heading { grid-template-columns:1fr; }
  .artist-layout,.curatorial-layout { grid-template-columns:1fr; gap:46px; }
  .curatorial-intro { position:static; }
  .artwork-caption { max-width:none; }
}
@media(max-width:900px) {
  .site-header { height:86px; }
  .hero { min-height:auto; grid-template-columns:1fr; padding-top:1vh; gap:35px; }
  .hero-art { min-height:auto; }
  .hero-art img { max-height:62vh; }
  .caption { grid-template-columns:1fr 1fr; max-width:none; gap:34px; padding-bottom:80px; }
}
@media(max-width:560px) {
  .site-header { min-height:118px; height:auto; align-items:flex-start; padding-top:25px; padding-bottom:18px; }
  .site-nav { gap:11px; flex-wrap:wrap; justify-content:flex-end; max-width:250px; }
  .nav-link { font-size:9px; }
  .nav-link--gallery { padding:8px 11px; }
  .hero { padding-bottom:90px; }
  .hero-art img { max-height:56vh; }
  .caption { grid-template-columns:1fr; gap:28px; }
  h1 { font-size:43px; }
  .artist-layout,.curatorial-layout { padding-top:112px; }
  .contact-email { font-size:clamp(30px,10vw,48px); }
  .series-grid { columns:1; }
  .gallery-hero { padding-top:54px; }
  .series-block { padding-top:58px; }
  .next-work { bottom:18px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; }
}
