@charset "UTF-8";
:root{--paper:#f3f0e8;--ink:#252822;--muted:#686b61;--line:#c9c7bb;--accent:#a3432d;--serif:"Newsreader",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.site-shell{max-width:1600px;margin:0 auto;padding:0 clamp(22px,5vw,82px)}.site-header{padding:30px 0 26px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:22px}.wordmark{display:flex;flex-direction:column;width:max-content;font-size:clamp(18px,2vw,27px);font-weight:600;letter-spacing:-.065em;line-height:.95}.header-note,.eyebrow,.section-label,.small-link,.project-year,.project-arrow,.site-footer,.back-link{font-family:var(--mono);font-size:10px;letter-spacing:.045em;text-transform:uppercase}.header-note{text-align:right;color:var(--muted);padding-bottom:4px}nav{grid-column:1/-1;display:flex;gap:clamp(18px,3vw,42px);padding-top:15px}nav a{font-size:13px;color:var(--muted)}nav a.active{color:var(--ink)}nav a.active:before{content:"↗ ";color:var(--accent)}.home-intro{padding:clamp(72px,12vw,166px) 0 clamp(70px,10vw,132px);max-width:1050px}.eyebrow{color:var(--muted);margin:0 0 25px}h1{font-weight:400;letter-spacing:-.065em;line-height:.94;font-size:clamp(48px,8.7vw,124px);margin:0}.home-intro h1{font-family:var(--serif);max-width:1050px}.intro-copy{font-size:clamp(17px,2vw,23px);line-height:1.45;max-width:560px;margin:38px 0 0;color:#4f534a}.home-index{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.index-block{padding:27px 8% 35px 0;min-height:215px}.index-block+.index-block{border-left:1px solid var(--line);padding-left:8%}.section-label{color:var(--muted);margin:0 0 25px}.index-description{max-width:310px;min-height:50px;font-family:var(--serif);font-size:25px;line-height:1.15;margin:0 0 28px}.text-link{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:5px;display:inline-flex;gap:24px;align-items:center}.text-link span{color:var(--accent)}.selected-work{padding:80px 0 94px}.section-heading{display:flex;justify-content:space-between;align-items:baseline}.small-link{color:var(--muted)}.project-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.project-list li{border-bottom:1px solid var(--line)}.project-list li>a{display:grid;grid-template-columns:minmax(0,1fr) 90px 22px;align-items:baseline;gap:20px;padding:17px 0}.project-title{font-family:var(--serif);font-size:clamp(21px,2.8vw,34px);letter-spacing:-.035em;line-height:1.15}.project-year,.project-arrow{color:var(--muted)}.project-arrow{text-align:right;color:var(--accent)}.empty-note{color:var(--muted);font-family:var(--serif);font-size:20px;padding:20px 0}.closing-note{border-top:1px solid var(--line);padding:34px 0 76px;display:flex;justify-content:space-between;align-items:center;gap:30px}.closing-note p{font-family:var(--serif);font-size:clamp(22px,3vw,38px);max-width:650px;line-height:1.1;margin:0}.page-heading{padding:clamp(70px,10vw,130px) 0 44px;max-width:1000px}.page-heading h1{font-family:var(--serif);font-size:clamp(52px,8vw,100px)}.page-deck{font-family:var(--serif);font-size:clamp(21px,3vw,32px);line-height:1.2;max-width:650px;color:#55594f;margin:27px 0 0}.page-prose,.project-body{max-width:760px;padding:10px 0 90px}.prose{font-size:17px;line-height:1.7}.prose h2,.prose h3{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;line-height:1.15;margin-top:2em}.prose h2{font-size:35px}.prose h3{font-size:27px}.prose p{margin:0 0 1.2em}.prose a{border-bottom:1px solid var(--line)}.prose img{max-width:100%;height:auto;display:block;margin:30px 0}.prose blockquote{border-left:1px solid var(--accent);padding-left:20px;margin-left:0;color:var(--muted);font-family:var(--serif);font-size:24px}.project-list-large{margin-bottom:100px}.list-description{font-size:13px;color:var(--muted);max-width:600px;margin:0 0 18px}.project-card-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px}.project-card-images img{display:block;width:100%;height:clamp(150px,24vw,320px);object-fit:cover}.project-images{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 38px}.project-images figure{margin:0}.project-images img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;object-position:top}.media-links,.credits{border-top:1px solid var(--line);padding:25px 0;margin:35px 0 0;max-width:760px}.media-links p:not(.section-label),.credits p:not(.section-label){margin:0 0 12px}.credits{font-size:13px;color:var(--muted);white-space:pre-line}.back-link{display:inline-block;margin:20px 0 80px;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:20px 0 28px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px}code{font-size:.85em;background:#e9e5da;padding:.1em .3em}@media(max-width:650px){.site-header{grid-template-columns:1fr;gap:16px}.header-note{text-align:left;grid-row:2}.site-header nav{grid-column:1;gap:20px;flex-wrap:wrap;padding-top:7px}.home-intro{padding-top:78px}.desktop-break{display:none}.home-index{grid-template-columns:1fr}.index-block{min-height:0;padding:24px 0 30px}.index-block+.index-block{border-left:0;border-top:1px solid var(--line);padding-left:0}.index-description{min-height:0}.project-list li>a{grid-template-columns:minmax(0,1fr) 55px 15px;gap:10px}.project-year,.project-arrow{font-size:9px}.project-card-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-card-images img{height:clamp(130px,42vw,220px)}.project-images{grid-template-columns:1fr}.closing-note{align-items:flex-start;flex-direction:column}.site-footer{flex-direction:column;gap:6px}.page-prose,.project-body{padding-bottom:50px}}
/* Editorial page imagery */
.page-feature-image{max-width:680px;margin:2rem 0 2.5rem}.page-feature-image img{display:block;width:100%;height:auto;object-fit:contain}.page-image-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:900px;margin:2rem 0}.page-image-list figure{margin:0}.page-image-list img{display:block;width:100%;height:auto;object-fit:contain}@media(max-width:640px){.page-image-list{grid-template-columns:1fr}}

.home-logo{max-width:min(340px,70vw);margin:34px 0 0}.home-logo img{display:block;width:100%;max-height:170px;height:auto;object-fit:contain;object-position:left}

/* Project archive cards */
.project-card-list .project-card {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
  padding: 28px 0;
}
.project-card-list .project-card:not(.project-card-with-images) {
  grid-template-columns: 1fr;
}
.project-card-copy { min-width: 0; }
.project-card-list .project-card-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px 20px;
  align-items: baseline;
  gap: 14px;
  padding: 0;
}
.project-card-list .list-description {
  max-width: 620px;
  margin: 18px 0 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.5;
}
.project-card-list .project-card-images {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.project-card-list .project-card-images img {
  width: 100%;
  height: clamp(190px, 25vw, 360px);
  object-fit: cover;
}
.project-card-list .project-card-images.single img {
  grid-column: 1 / -1;
}
.project-card-list .project-card-images:not(.single) img {
  height: clamp(150px, 19vw, 270px);
}
.text-list-item { padding: 18px 0 24px; }
.text-list .text-list-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px 20px;
  align-items: baseline;
  gap: 14px;
  padding: 0;
}
.text-meta {
  margin: 10px 0 0;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 12px;
}
.text-summary {
  max-width: 760px;
  margin: 12px 0 0;
  color: #4f534a;
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.45;
}
.text-pdf-link {
  display: inline-flex;
  gap: 16px;
  align-items: center;
  margin-top: 16px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.text-pdf-link span { color: var(--accent); }
.text-downloads {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  margin: 0 0 34px;
}
.text-detail-summary { margin-top: 24px; }
.text-transcript h2 {
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
}
@media (max-width: 760px) {
  .project-card-list .project-card {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .project-card-list .project-card-images {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .project-card-list .project-card-images img,
  .project-card-list .project-card-images:not(.single) img {
    height: clamp(150px, 46vw, 250px);
  }
}
@media (max-width: 650px) {
  .project-card-list .project-card-heading,
  .text-list .text-list-heading {
    grid-template-columns: minmax(0, 1fr) 48px 16px;
    gap: 8px;
  }
  .text-list .project-year { font-size: 9px; }
  .text-summary { font-size: 17px; }
  .text-downloads { flex-direction: column; align-items: flex-start; }
}

/* Keep project artwork below the description and preserve full image proportions. */
.project-card-list .project-card,
.project-card-list .project-card:not(.project-card-with-images) {
  grid-template-columns: 1fr;
  gap: 18px;
}
.project-card-list .project-card-images {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 8px;
}
.project-card-list .project-card-images img,
.project-card-list .project-card-images:not(.single) img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: top;
}
.project-card-list .project-card-images.single img {
  grid-column: 1 / -1;
}
@media (max-width: 650px) {
  .project-card-list .project-card-images {
    grid-template-columns: 1fr;
  }
  .project-card-list .project-card-images:not(.single) img {
    height: auto;
  }
}

/* Slightly reduce descriptive copy sizes across pages. */
.intro-copy { font-size: clamp(16px, 1.8vw, 21px); }
.index-description { font-size: 23px; }
.closing-note p { font-size: clamp(20px, 2.7vw, 35px); }
.page-deck { font-size: clamp(19px, 2.7vw, 28px); }
.prose { font-size: 16px; }
.project-card-list .list-description { font-size: clamp(15px, 1.2vw, 17px); }
.text-summary { font-size: 16px; }
@media (max-width: 650px) {
  .text-summary { font-size: 16px; }
}

/* Match Pages CMS rich-text formatting for project descriptions. */
.project-description {
  max-width: 760px;
  font-family: var(--serif);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.55;
}
.project-description p,
.list-description.prose p {
  margin: 0 0 1.15em;
}
.project-description p:last-child,
.list-description.prose p:last-child {
  margin-bottom: 0;
}
.list-description.prose {
  max-width: 760px;
  line-height: 1.55;
}
.project-description.prose a,
.list-description.prose a {
  border-bottom: 1px solid var(--line);
}

/* Homepage identity sizing */
.home-intro h1 {
  font-size: clamp(40px, 6.2vw, 82px);
  line-height: 1;
}
.home-logo {
  width: min(520px, 85vw);
  max-width: none;
  margin: 40px auto 0;
}
.home-logo img {
  max-height: 250px;
  object-position: center;
}

/* Responsive project video embeds */
.project-video-embeds {
  display: grid;
  gap: 24px;
  max-width: 1000px;
  margin: 44px 0 32px;
}
.project-video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e9e5da;
}
.project-video-embed iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}


/* Show project videos in the archive and keep the detail embed close to its text. */
.project-card-videos {
  display: grid;
  gap: 14px;
  min-width: 0;
}
.project-card-videos .project-video-embed {
  max-width: 760px;
}
.project-video-embeds-near-description {
  margin: 18px 0 30px;
}
.project-video-embeds-near-description .project-video-embed {
  max-width: 760px;
}


/* Give project archive images the same frame as embedded videos, without cropping. */
.project-card-list .project-card-images {
  grid-template-columns: minmax(0, 760px);
  width: 100%;
  max-width: 760px;
  gap: 16px;
  margin: 0 0 8px;
}
.project-card-list .project-card-images img,
.project-card-list .project-card-images:not(.single) img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
  background: #e9e5da;
}
@media (max-width: 650px) {
  .project-card-list .project-card-images {
    grid-template-columns: minmax(0, 1fr);
  }
}
