:root {
  --paper: #ffffff;
  --ink: #000000;
  --muted: #6f6c66;
  --rule: #cfcac0;
  --accent: #e64a2e;
  --serif: "Newsreader", Georgia, serif;
  --sans: "Geist", Arial, sans-serif;
  --max: 1400px;
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --section-space: clamp(5.5rem, 11vw, 10rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.6; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, dl, dd, figure, ul { margin-top: 0; }
::selection { color: var(--paper); background: var(--accent); }

.skip-link { position: fixed; z-index: 100; top: -5rem; left: 1rem; padding: .7rem 1rem; color: var(--paper); background: var(--ink); }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  padding: .95rem max(var(--gutter), calc((100vw - var(--max)) / 2));
  border-bottom: 1px solid var(--rule); background: rgba(255, 255, 255, .96);
}
.masthead { font-family: var(--serif); font-size: 1.45rem; font-weight: 500; letter-spacing: 0; }
.nav { display: flex; gap: clamp(.85rem, 2vw, 2rem); font-size: .69rem; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; }
.nav a { position: relative; }
.language-switch { display: inline-flex; gap: .35rem; margin-left: .4rem; color: var(--muted); }
.language-switch a.is-active { color: var(--ink); text-decoration: underline; text-underline-offset: .25rem; }
.language-switch a::after { display: none; }
.nav a::after { position: absolute; right: 0; bottom: -.35rem; left: 0; height: 1px; content: ""; background: var(--accent); transform: scaleX(0); transform-origin: right; transition: transform 180ms ease; }
.nav a:hover::after, .nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }

.hero, .publication-strip, .section, .recognition, .contact, .site-footer, .case-hero, .case-body { width: min(100%, var(--max)); margin-inline: auto; padding-inline: var(--gutter); }
.hero { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(1.5rem, 3vw, 3.5rem); align-items: end; min-height: calc(100svh - 58px); padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.hero-copy { grid-column: 1 / span 7; padding-bottom: clamp(1rem, 4vw, 4rem); }
.eyebrow, .section-number, .credibility, .project-meta dt, .project-meta dd, .role, figcaption, .case-kicker, .case-sidebar dt, .case-sidebar dd {
  font-size: .7rem; font-weight: 600; line-height: 1.45; text-transform: uppercase; letter-spacing: .11em;
}
.eyebrow { margin-bottom: 1.5rem; color: var(--muted); }
.accent { color: var(--accent); }
.hero h1 { max-width: 9ch; margin-bottom: 2rem; font-family: var(--serif); font-size: clamp(4rem, 7.4vw, 7.6rem); font-weight: 400; line-height: .8; letter-spacing: 0; text-transform: uppercase; }
.hero-deck { max-width: 40rem; margin-bottom: 2rem; font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.35; }
.editorial-link { display: inline-flex; align-items: center; gap: .65rem; border-bottom: 1px solid var(--ink); padding-bottom: .3rem; font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .09em; }
.editorial-link span { color: var(--accent); transition: transform 180ms ease; }
.editorial-link:hover span { transform: translateX(.3rem); }
.hero-portrait { position: relative; grid-column: 8 / -1; margin: 0; aspect-ratio: 4 / 5.4; overflow: hidden; }
.hero-portrait video, .hero-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; filter: saturate(.72) contrast(1.03); }
.hero-portrait .portrait-still { z-index: 0; }
.hero-portrait .portrait-video { z-index: 1; opacity: 1; transition: opacity 1100ms ease; }
.hero-portrait.is-video-ended .portrait-video { opacity: 0; }
.hero-portrait figcaption { position: absolute; z-index: 2; right: .8rem; bottom: .7rem; margin: 0; color: rgba(255,255,255,.9); text-shadow: 0 1px 10px rgba(0,0,0,.45); }

.publication-strip { display: grid; grid-template-columns: 8fr 4fr; gap: 2rem; align-items: end; padding-top: 2rem; padding-bottom: 2rem; border-block: 1px solid var(--rule); }
.publication-strip .eyebrow { margin-bottom: .8rem; }
.publication-list { display: flex; flex-wrap: wrap; gap: .35rem 1.6rem; margin: 0; padding: 0; list-style: none; font-family: var(--serif); font-size: clamp(1.1rem, 2vw, 1.55rem); }
.credibility { margin: 0; color: var(--muted); text-align: right; }

.section { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.section-intro { display: grid; grid-template-columns: repeat(12, 1fr); gap: 2rem; margin-bottom: clamp(5rem, 10vw, 9rem); padding-top: 1rem; border-top: 1px solid var(--ink); }
.section-number { grid-column: 1 / span 3; margin: .45rem 0 0; color: var(--accent); }
.section-intro h2 { grid-column: 4 / -1; max-width: 13ch; margin: 0; font-family: var(--serif); font-size: clamp(3.1rem, 7vw, 7rem); font-weight: 400; line-height: .93; }
.section-intro.compact { margin-bottom: clamp(3rem, 7vw, 6rem); }
.section-intro.compact h2 { font-size: clamp(3.2rem, 6vw, 6rem); }

.project { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(1.5rem, 4vw, 4.5rem); align-items: center; }
.project + .project { margin-top: clamp(7rem, 14vw, 13rem); }
.project-media { position: relative; min-height: clamp(30rem, 53vw, 48rem); overflow: hidden; background: #222 url("assets/dossier-hero.jpg") center / cover no-repeat; }
.project-media::before { position: absolute; inset: 0; content: ""; background: linear-gradient(135deg, rgba(16,16,16,.05), rgba(16,16,16,.72)); transition: background 220ms ease, transform 220ms ease; }
.project-media:hover::before { background: linear-gradient(135deg, rgba(230,74,46,.08), rgba(16,16,16,.62)); }
.project-media span { position: absolute; z-index: 1; right: 1.2rem; bottom: .4rem; color: rgba(243,240,232,.92); font-family: var(--serif); font-size: clamp(5rem, 12vw, 12rem); line-height: .9; }
.media-cycling { background-position: 22% center; }
.media-animals { background-position: 72% center; filter: contrast(1.08) grayscale(.8); }
.media-housing { background-position: center 72%; filter: contrast(1.12) sepia(.18); }
.project-left .project-media { grid-column: 1 / span 7; }
.project-left .project-copy { grid-column: 8 / -1; }
.project-right .project-media { grid-column: 6 / -1; order: 2; }
.project-right .project-copy { grid-column: 1 / span 5; }
.project-copy h3 { margin-bottom: 1.5rem; font-family: var(--serif); font-size: clamp(2.7rem, 5vw, 5.5rem); font-weight: 400; line-height: .92; }
.project-copy h3 a:hover { color: var(--accent); }
.project-deck { max-width: 35rem; margin-bottom: 2.4rem; color: var(--muted); font-size: clamp(1rem, 1.45vw, 1.2rem); }
.project-meta { margin-bottom: 2.2rem; border-top: 1px solid var(--rule); }
.project-meta div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--rule); }
.project-meta dt, .project-meta dd { margin: 0; }
.project-meta dt { color: var(--muted); }

.reporting { border-top: 1px solid var(--rule); }
.article-year { display: grid; grid-template-columns: 2fr 10fr; gap: 2rem; margin-top: 4rem; }
.article-year > p { margin: .9rem 0 0; color: var(--accent); font-family: var(--serif); font-size: 2rem; }
.article-index { border-top: 1px solid var(--ink); }
.article-index a { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(8rem, .55fr) minmax(9rem, .65fr) 1.5rem; gap: 1.5rem; align-items: center; padding: 1.15rem 0; border-bottom: 1px solid var(--rule); transition: padding 180ms ease; }
.article-index strong { font-family: var(--serif); font-size: clamp(1.15rem, 2vw, 1.65rem); font-weight: 400; line-height: 1.15; }
.article-index span { color: var(--muted); font-size: .73rem; text-transform: uppercase; letter-spacing: .06em; }
.article-index i { color: var(--muted); font-style: normal; text-align: right; }
.article-index a:hover { padding-left: .55rem; }
.article-index a:hover i { color: var(--accent); }

.commissioned { border-top: 1px solid var(--rule); }
.commissioned-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--ink); }
.commissioned-list article { min-height: 24rem; padding: 2rem 2rem 2rem 0; border-bottom: 1px solid var(--rule); }
.commissioned-list article:nth-child(odd) { padding-right: clamp(2rem, 5vw, 5rem); border-right: 1px solid var(--rule); }
.commissioned-list article:nth-child(even) { padding-left: clamp(2rem, 5vw, 5rem); }
.commissioned-list h3 { margin-bottom: 1.1rem; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.8rem); font-weight: 400; line-height: 1; }
.commissioned-list article > p:not(.eyebrow):not(.role) { max-width: 36rem; color: var(--muted); }
.commissioned-list article > a, .inline-links a { border-bottom: 1px solid var(--ink); padding-bottom: .2rem; font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.role { margin-top: 2rem; color: var(--accent); }
.inline-links { display: flex; flex-wrap: wrap; gap: 1rem; }

.about { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(2rem, 6vw, 7rem); align-items: start; border-top: 1px solid var(--rule); }
.about-image { grid-column: 1 / span 5; position: sticky; top: 6rem; }
.about-image img { width: 100%; max-height: 46rem; object-fit: cover; object-position: center 30%; filter: grayscale(.85) contrast(1.03); }
.about-copy { grid-column: 3 / span 8; }
.about-copy .section-number { margin-bottom: 3rem; }
.about-copy h2 { margin-bottom: 2.5rem; font-family: var(--serif); font-size: clamp(3rem, 6vw, 6rem); font-weight: 400; line-height: .92; }
.about-copy > p { max-width: 42rem; font-family: var(--serif); font-size: clamp(1.15rem, 1.7vw, 1.4rem); line-height: 1.45; }
.about-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3.5rem; padding-top: 1rem; border-top: 1px solid var(--ink); }
.about-facts h3 { margin-bottom: .7rem; color: var(--accent); font-size: .68rem; text-transform: uppercase; letter-spacing: .09em; }
.about-facts p { color: var(--muted); font-size: .9rem; }

.recognition { display: grid; grid-template-columns: 3fr 2fr 7fr; gap: 2rem; padding-top: 2.4rem; padding-bottom: 2.4rem; border-block: 1px solid var(--ink); }
.recognition .section-number { grid-column: auto; }
.recognition-year { margin: 0; color: var(--accent); font-family: var(--serif); font-size: 2rem; }
.recognition h2 { margin: 0; font-family: var(--serif); font-size: clamp(1.6rem, 3vw, 2.8rem); font-weight: 400; }
.recognition div p { margin: .4rem 0 0; color: var(--muted); }

.contact { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.contact .section-number { margin-bottom: 3rem; }
.contact h2 { max-width: 12ch; margin-bottom: 2rem; font-family: var(--serif); font-size: clamp(4rem, 9vw, 9rem); font-weight: 400; line-height: .8; text-transform: uppercase; }
.contact > p { max-width: 38rem; color: var(--muted); font-size: 1.1rem; }
.contact-links { display: flex; flex-wrap: wrap; gap: 1.5rem 3rem; margin-top: 3rem; }
.contact-links a { border-bottom: 1px solid var(--ink); font-family: var(--serif); font-size: clamp(1.3rem, 2.5vw, 2rem); }
.contact-links a:hover { color: var(--accent); border-color: var(--accent); }
.site-footer { display: grid; grid-template-columns: 2fr 3fr 2fr 2fr; gap: 1.5rem; padding-top: 1.5rem; padding-bottom: 1.5rem; border-top: 2px solid var(--ink); color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .07em; }
.site-footer strong { color: var(--ink); }
.site-footer div { display: flex; gap: 1rem; }

/* Case files */
.case-page .site-header { position: relative; }
.case-hero { display: grid; grid-template-columns: repeat(12, 1fr); gap: 2rem; padding-top: clamp(4rem, 8vw, 8rem); padding-bottom: clamp(4rem, 8vw, 7rem); }
.case-headline { grid-column: 1 / span 8; }
.case-kicker { margin-bottom: 1.5rem; color: var(--accent); }
.case-headline h1 { max-width: 11ch; margin-bottom: 2rem; font-family: var(--serif); font-size: clamp(4rem, 9vw, 9rem); font-weight: 400; line-height: .82; }
.case-headline > p:last-child { max-width: 44rem; color: var(--muted); font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.65rem); }
.case-sidebar { grid-column: 10 / -1; align-self: end; border-top: 1px solid var(--ink); }
.case-sidebar div { padding: .8rem 0; border-bottom: 1px solid var(--rule); }
.case-sidebar dt, .case-sidebar dd { margin: 0; }
.case-sidebar dt { margin-bottom: .25rem; color: var(--muted); }
.case-visual { width: min(100%, var(--max)); min-height: min(58vw, 48rem); margin: 0 auto; background: #222 url("assets/dossier-hero.jpg") center / cover no-repeat; }
.case-body { display: grid; grid-template-columns: 2fr 10fr; gap: 2rem; padding-top: var(--section-space); padding-bottom: var(--section-space); }
.case-body > .section-number { grid-column: 1; }
.case-articles { grid-column: 2; border-top: 1px solid var(--ink); }
.case-year { padding: 2rem 0 .6rem; color: var(--accent); font-family: var(--serif); font-size: 2rem; }
.case-article { display: grid; grid-template-columns: 4rem minmax(0, 1.4fr) minmax(12rem, .65fr) 2rem; gap: 1.3rem; align-items: start; padding: 1.35rem 0; border-bottom: 1px solid var(--rule); }
.case-article > span:first-child { color: var(--accent); font-size: .72rem; font-weight: 600; }
.case-article h2 { margin-bottom: .4rem; font-family: var(--serif); font-size: clamp(1.35rem, 2.3vw, 2rem); font-weight: 400; line-height: 1.08; }
.case-article p { margin: 0; color: var(--muted); font-size: .9rem; }
.case-article .article-source { font-size: .7rem; text-transform: uppercase; letter-spacing: .07em; }
.case-article i { color: var(--muted); font-style: normal; }
.case-article:hover h2, .case-article:hover i { color: var(--accent); }
.back-link { display: inline-block; margin-top: 2rem; border-bottom: 1px solid var(--ink); font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }

.reveal { opacity: 0; transform: translateY(12px); transition: opacity 420ms ease, transform 420ms ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .hero { align-items: start; min-height: auto; }
  .hero-copy { grid-column: 1 / span 7; }
  .hero-portrait { grid-column: 8 / -1; aspect-ratio: 4 / 5; }
  .hero h1 { font-size: clamp(3.5rem, 9vw, 6rem); }
  .project-left .project-media, .project-right .project-media { grid-column: 1 / span 7; order: 0; }
  .project-left .project-copy, .project-right .project-copy { grid-column: 8 / -1; }
  .article-index a { grid-template-columns: minmax(0, 1.6fr) minmax(7rem, .5fr) 1.5rem; }
  .article-index a span:nth-of-type(2) { display: none; }
}

@media (max-width: 680px) {
  :root { --gutter: 1.15rem; --section-space: 5.5rem; }
  .site-header { position: relative; align-items: flex-start; }
  .masthead { font-size: 1.25rem; }
  .nav { display: grid; grid-template-columns: repeat(2, auto); gap: .4rem 1rem; }
  .hero { display: flex; flex-direction: column; gap: 2.5rem; padding-top: 3.5rem; }
  .hero-copy { order: 1; padding-bottom: 0; }
  .hero-portrait { order: 2; width: 100%; aspect-ratio: 4 / 4.8; }
  .hero h1 { font-size: clamp(3.55rem, 17vw, 5.5rem); line-height: .8; }
  .hero-deck { font-size: 1.2rem; }
  .publication-strip { grid-template-columns: 1fr; }
  .credibility { text-align: left; }
  .publication-list { gap: .25rem 1rem; }
  .section-intro { display: block; margin-bottom: 4rem; }
  .section-number { margin-bottom: 1.7rem; }
  .section-intro h2 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .project { display: flex; flex-direction: column; align-items: stretch; }
  .project + .project { margin-top: 7rem; }
  .project-media { width: 100%; min-height: 29rem; }
  .project-copy h3 { font-size: clamp(2.8rem, 13vw, 4.5rem); }
  .article-year { grid-template-columns: 1fr; gap: .5rem; }
  .article-year > p { margin-top: 0; }
  .article-index a { grid-template-columns: minmax(0, 1fr) 1.5rem; gap: .8rem; }
  .article-index a span { display: none; }
  .commissioned-list { grid-template-columns: 1fr; }
  .commissioned-list article, .commissioned-list article:nth-child(odd), .commissioned-list article:nth-child(even) { min-height: auto; padding: 2rem 0; border-right: 0; }
  .about { display: flex; flex-direction: column; }
  .about-image { position: static; width: 100%; }
  .about-image img { max-height: 34rem; }
  .about-facts { grid-template-columns: 1fr 1fr; }
  .about-facts div:last-child { grid-column: 1 / -1; }
  .recognition { grid-template-columns: 1fr; gap: .7rem; }
  .recognition .section-number { margin-bottom: .5rem; }
  .contact h2 { font-size: clamp(3.7rem, 17vw, 5.5rem); }
  .site-footer { grid-template-columns: 1fr; }
  .case-hero { display: block; }
  .case-headline h1 { font-size: clamp(4rem, 17vw, 6rem); }
  .case-sidebar { margin-top: 3rem; }
  .case-visual { min-height: 25rem; }
  .case-body { display: block; }
  .case-articles { margin-top: 2rem; }
  .case-article { grid-template-columns: 2.5rem minmax(0, 1fr) 1.5rem; }
  .case-article .article-source { display: none; }
}

/* 2026 editorial front-page composition */
.hero-name {
  margin: 0 0 .55rem;
  font-family: var(--serif);
  font-size: clamp(1.2rem, 1.8vw, 1.65rem);
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .025em;
}

.hero .eyebrow {
  margin-bottom: clamp(2.5rem, 5vw, 4.75rem);
  color: var(--accent);
  font-size: .72rem;
}

.hero h1 {
  max-width: 12.5ch;
  font-size: clamp(3.5rem, 6.3vw, 6.55rem);
  line-height: .93;
}

.hero-portrait {
  grid-column: 9 / -1;
  height: min(31rem, 62vh);
  align-self: end;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.investigations {
  padding-top: clamp(6rem, 11vw, 11rem);
  padding-bottom: clamp(7rem, 13vw, 13rem);
}

.investigations .section-intro {
  grid-template-columns: 2fr 10fr;
  margin-bottom: clamp(4rem, 8vw, 8rem);
}

.investigations .section-intro h2 {
  font-size: clamp(4.2rem, 9.5vw, 10rem);
  line-height: .82;
}

.project-byline,
.project-methods {
  margin: 0 0 1rem;
  color: var(--accent);
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.project-methods {
  margin: 1.45rem 0 1.55rem;
  color: var(--muted);
  font-weight: 600;
}

.investigations > .project {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  padding-bottom: clamp(5rem, 10vw, 9rem);
  border-bottom: 1px solid var(--ink);
}

.investigations > .project .project-media {
  grid-column: 1 / span 8;
  min-height: clamp(31rem, 51vw, 48rem);
}

.investigations > .project .project-copy {
  grid-column: 9 / -1;
  padding: 0 0 .2rem;
}

.investigations > .project .project-copy h3 {
  max-width: 11ch;
  font-size: clamp(3.4rem, 5.9vw, 6.1rem);
  line-height: .88;
}

.project-media {
  display: block;
  width: 100%;
  background-image: url("assets/dossier-hero.jpg");
  box-shadow: none;
}

.project-media::before {
  background: linear-gradient(180deg, rgba(15,15,15,.02), rgba(15,15,15,.5));
}

.project-media span {
  right: auto;
  bottom: .65rem;
  left: 1rem;
  font-family: var(--sans);
  font-size: clamp(3rem, 6vw, 6.5rem);
  font-weight: 700;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 clamp(2rem, 5vw, 5rem);
  margin-top: clamp(5rem, 10vw, 9rem);
}

.project-grid .project {
  display: block;
  margin: 0;
  align-self: start;
}

.project-grid .project:nth-child(1) {
  grid-column: 1 / span 7;
  padding-right: clamp(1rem, 2vw, 2rem);
  border-right: 1px solid var(--rule);
}

.project-grid .project:nth-child(2) {
  grid-column: 8 / -1;
  margin-top: clamp(4rem, 9vw, 8rem);
  padding-top: 1.15rem;
  border-top: 3px solid var(--ink);
}

.project-grid .project:nth-child(3) {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-top: clamp(6rem, 11vw, 11rem);
  padding-top: 1.15rem;
  border-top: 1px solid var(--ink);
}

.project-grid .project:nth-child(1) .project-media {
  min-height: clamp(24rem, 37vw, 35rem);
}

.project-grid .project:nth-child(2) .project-media {
  display: none;
}

.project-grid .project:nth-child(3) .project-media {
  min-height: clamp(23rem, 34vw, 33rem);
}

.project-grid .project:nth-child(3) .project-copy {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.project-grid .project:nth-child(3) .project-media {
  grid-column: 2;
  grid-row: 1;
}

.project-grid .project-copy {
  margin-top: 1.6rem;
}

.project-grid .project-copy h3 {
  max-width: 13ch;
  font-size: clamp(2.5rem, 4.3vw, 4.6rem);
  line-height: .92;
}

.project-grid .project:nth-child(2) .project-copy h3 {
  font-size: clamp(2.35rem, 3.7vw, 3.8rem);
}

.project-deck {
  max-width: 37rem;
  margin-bottom: 0;
  font-family: var(--sans);
  font-size: 1.04rem;
  line-height: 1.58;
}

.method,
.beats,
.reporting,
.about {
  border-top: 1px solid var(--ink);
}

.method-grid article {
  min-height: 12rem;
}

.publication-strip {
  background: transparent;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.about-copy {
  grid-column: 4 / span 7;
}

.about-copy > p:first-of-type {
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2.4vw, 2.05rem);
  line-height: 1.4;
}

.commissioned {
  position: relative;
  margin-top: clamp(2rem, 5vw, 5rem);
  border-top: 4px double var(--ink);
}

.commissioned::before {
  position: absolute;
  top: -2.05rem;
  left: var(--gutter);
  padding-right: .8rem;
  color: var(--muted);
  background: var(--paper);
  content: "TRAVAIL SUR MANDAT / COMMISSIONED WORK";
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.commissioned .section-intro {
  grid-template-columns: 3fr 9fr;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  border-top: 0;
}

.commissioned .section-intro > div {
  grid-column: 2;
}

.commissioned .section-intro h2 {
  max-width: 12ch;
  font-size: clamp(2.7rem, 5vw, 4.8rem);
}

.section-note {
  max-width: 47rem;
  margin: 1.4rem 0 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
}

.commissioned-list {
  display: block;
  border-top: 1px solid var(--ink);
}

.commissioned-list article,
.commissioned-list article:nth-child(odd),
.commissioned-list article:nth-child(even) {
  display: grid;
  grid-template-columns: 2.5fr 3.5fr 4fr 2fr;
  gap: 1.5rem;
  align-items: start;
  min-height: 0;
  padding: 1.5rem 0;
  border-right: 0;
  border-bottom: 1px solid var(--rule);
}

.commissioned-list .eyebrow {
  margin: .35rem 0 0;
}

.commissioned-list h3 {
  margin: 0;
  font-size: clamp(1.55rem, 2.5vw, 2.4rem);
}

.commissioned-list article > p:not(.eyebrow):not(.role) {
  margin: 0;
  font-size: .92rem;
}

.commissioned-list .role {
  margin: .25rem 0 0;
  color: var(--muted);
}

.commissioned-list article > a,
.commissioned-list .inline-links {
  grid-column: 4;
  margin-top: .4rem;
}

@media (max-width: 900px) {
  .hero-portrait { grid-column: 8 / -1; }
  .investigations > .project .project-media { grid-column: 1 / span 7; }
  .investigations > .project .project-copy { grid-column: 8 / -1; }
  .project-grid .project:nth-child(1) { grid-column: 1 / span 6; }
  .project-grid .project:nth-child(2) { grid-column: 7 / -1; }
  .commissioned-list article,
  .commissioned-list article:nth-child(odd),
  .commissioned-list article:nth-child(even) { grid-template-columns: 1.5fr 2fr 3fr; }
  .commissioned-list .role { display: none; }
  .commissioned-list article > a,
  .commissioned-list .inline-links { grid-column: 3; }
}

@media (max-width: 680px) {
  .hero-name { margin-top: 0; }
  .hero .eyebrow { margin-bottom: 2.75rem; }
  .hero h1 { font-size: clamp(3.15rem, 14vw, 4.35rem); }
  .hero-portrait { width: 82%; border: 0; }
  .investigations .section-intro h2 { font-size: clamp(4rem, 19vw, 5.7rem); }
  .investigations > .project { display: block; }
  .investigations > .project .project-media { min-height: 27rem; }
  .investigations > .project .project-copy { margin-top: 2rem; }
  .project-grid { display: block; }
  .project-grid .project:nth-child(1),
  .project-grid .project:nth-child(2),
  .project-grid .project:nth-child(3) {
    display: block;
    margin: 0;
    padding: 3.5rem 0;
    border-top: 1px solid var(--ink);
    border-right: 0;
  }
  .project-grid .project:nth-child(1) { padding-top: 0; border-top: 0; }
  .project-grid .project:nth-child(2) { margin-top: 0; border-top-width: 3px; }
  .project-grid .project:nth-child(3) .project-copy { margin-top: 1.6rem; }
  .about-copy { width: 100%; }
  .commissioned::before { content: "MANDATS DISTINCTS"; }
  .commissioned .section-intro > div { grid-column: auto; }
  .commissioned-list article,
  .commissioned-list article:nth-child(odd),
  .commissioned-list article:nth-child(even) { display: block; padding: 1.7rem 0; }
  .commissioned-list h3 { margin: .55rem 0 .8rem; }
  .commissioned-list article > a,
  .commissioned-list .inline-links { margin-top: 1.1rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Newsroom direction */
:root {
  --paper: #ffffff;
  --ink: #000000;
  --accent: #54c86a;
  --serif: "Newsreader", Georgia, serif;
  --sans: "Roboto Condensed", Arial Narrow, sans-serif;
}

body { font-family: var(--serif); }

.site-header {
  position: sticky;
  padding-top: .8rem;
  padding-bottom: .8rem;
  border-bottom: 2px solid var(--ink);
  background: rgba(255, 255, 255, .97);
}

.masthead {
  display: inline-flex;
  align-items: flex-start;
  gap: .6rem;
  font-family: var(--sans);
}

.masthead strong {
  font-size: clamp(1.6rem, 2.7vw, 2.65rem);
  font-weight: 900;
  line-height: .8;
  text-transform: uppercase;
}

.masthead span {
  padding-top: .08rem;
  font-family: var(--serif);
  font-size: .66rem;
  line-height: 1.05;
}

.nav,
.eyebrow,
.section-number,
.credibility,
.project-meta dt,
.project-meta dd,
.role,
figcaption,
.case-kicker,
.case-sidebar dt,
.case-sidebar dd,
.site-footer {
  font-family: var(--sans);
}

.nav { font-weight: 700; }

.hero {
  align-items: stretch;
  min-height: min(48rem, calc(100svh - 70px));
  padding-top: 0;
  padding-bottom: 0;
  border-bottom: 2px solid var(--ink);
}

.hero-copy {
  position: relative;
  z-index: 3;
  grid-column: 1 / span 7;
  align-self: center;
  padding: 4rem 0;
  text-align: center;
}

.hero-copy::before {
  display: block;
  width: .72rem;
  height: .72rem;
  margin: 0 auto 1.3rem;
  content: "";
  background: var(--accent);
  transform: rotate(45deg);
}

.hero .eyebrow { margin-bottom: 1rem; color: var(--ink); }

.hero h1 {
  max-width: none;
  margin: 0 auto 1.3rem;
  font-family: var(--sans);
  font-size: clamp(3.55rem, 5.6vw, 5.9rem);
  font-weight: 900;
  line-height: .86;
}

.hero-deck {
  max-width: 36rem;
  margin: 0 auto 1.8rem;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  font-style: italic;
  line-height: 1.25;
}

.hero-portrait {
  grid-column: 8 / -1;
  width: 100%;
  aspect-ratio: auto;
  overflow: hidden;
  background: transparent;
}

.hero-symbol {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  color: var(--accent);
  font-family: var(--sans);
  font-size: clamp(30rem, 52vw, 50rem);
  font-weight: 900;
  line-height: .6;
  transform: translate(-50%, -50%) scaleX(1.1);
}

.hero-portrait video,
.hero-portrait img {
  top: auto;
  right: 6%;
  bottom: 0;
  left: auto;
  width: 70%;
  height: 84%;
  object-position: 50% 38%;
  filter: grayscale(.9) contrast(1.08);
}

.hero-portrait figcaption { color: var(--ink); text-shadow: none; }

.publication-strip {
  padding-top: 1.35rem;
  padding-bottom: 1.35rem;
  border-bottom: 2px solid var(--ink);
}

.publication-list { font-family: var(--sans); font-weight: 700; text-transform: uppercase; }

.section-intro { border-top: 2px solid var(--ink); }

.section-intro h2,
.project-copy h3,
.commissioned-list h3,
.about-copy h2,
.contact h2,
.case-headline h1,
.case-article h2 {
  font-family: var(--sans);
  font-weight: 900;
}

.section-intro h2 {
  max-width: 11ch;
  font-size: clamp(3.4rem, 7.6vw, 8rem);
  line-height: .82;
  text-transform: uppercase;
}

.project:first-of-type {
  padding-bottom: clamp(4rem, 8vw, 7rem);
  border-bottom: 2px solid var(--ink);
}

.project-media { min-height: clamp(28rem, 45vw, 40rem); }

.project-copy h3 {
  font-size: clamp(3.1rem, 5.7vw, 6rem);
  line-height: .83;
}

.project-deck { color: var(--ink); font-family: var(--serif); font-size: 1.06rem; line-height: 1.35; }

.project-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(2rem, 5vw, 5rem);
  margin-top: clamp(4rem, 8vw, 7rem);
}

.project-grid .project {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}

.project-grid .project-media { display: block; width: 100%; min-height: clamp(19rem, 30vw, 27rem); }
.project-grid .project-copy { margin-top: 1.7rem; }
.project-grid .project-copy h3 { max-width: 14ch; font-size: clamp(2.4rem, 4.2vw, 4.3rem); }
.project-grid .project-media span { font-size: clamp(4rem, 8vw, 8rem); }

.article-index { border-top: 2px solid var(--ink); }
.article-index strong { font-family: var(--sans); font-weight: 900; line-height: 1; }
.article-index a:hover strong { text-decoration-color: var(--accent); text-decoration-line: underline; text-decoration-thickness: .3em; text-underline-offset: -.22em; text-decoration-skip-ink: none; }

.commissioned-list h3 { line-height: .88; text-transform: uppercase; }
.about-copy h2 { line-height: .83; text-transform: uppercase; }
.contact h2 { line-height: .76; }

.case-headline h1 { max-width: 9ch; line-height: .78; text-transform: uppercase; }
.case-article h2 { line-height: .95; }

@media (max-width: 900px) {
  .hero { min-height: 42rem; }
  .hero-copy { grid-column: 1 / span 7; }
  .hero-portrait { grid-column: 8 / -1; }
  .hero h1 { font-size: clamp(3.2rem, 8vw, 5.2rem); }
}

@media (max-width: 680px) {
  .site-header { position: relative; display: block; }
  .masthead span { display: none; }
  .nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .35rem 1rem; margin-top: .85rem; }
  .language-switch { margin-left: 0; }
  .hero { display: block; min-height: auto; }
  .hero-copy { padding: 4rem 0 3rem; }
  .hero h1 { font-size: clamp(3.15rem, 13vw, 4.6rem); }
  .hero-portrait { height: 30rem; }
  .hero-symbol { font-size: 31rem; }
  .hero-portrait video, .hero-portrait img { right: 4%; width: 74%; height: 84%; }
  .project-grid { grid-template-columns: 1fr; gap: 5rem; }
  .project-grid .project-media { min-height: 24rem; }
}

/* Front-page composition */
.investigations {
  padding-top: clamp(2.2rem, 4vw, 4rem);
}

.investigations .section-intro {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 1.6rem;
  padding-top: 0;
  border-top: 0;
}

.investigations .section-number {
  display: none;
}

.investigations .section-intro h2 {
  max-width: none;
  font-size: .76rem;
  letter-spacing: .1em;
  line-height: 1;
}

.investigations .section-intro h2::before {
  display: inline-block;
  width: .55rem;
  height: .55rem;
  margin-right: .7rem;
  content: "";
  background: var(--accent);
  transform: rotate(45deg);
}

.investigations > .project {
  align-items: start;
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

.investigations > .project .project-media {
  min-height: clamp(28rem, 42vw, 38rem);
}

.investigations > .project .project-copy {
  padding-top: clamp(1rem, 3vw, 2.5rem);
}

.investigations > .project .project-copy h3 {
  font-size: clamp(3.4rem, 6vw, 6.4rem);
}

.project-grid {
  grid-template-columns: minmax(0, 1fr) minmax(12rem, .75fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 4vw, 4.5rem);
}

.project-grid .project-media {
  min-height: clamp(14rem, 21vw, 20rem);
}

.project-grid .project-copy h3 {
  font-size: clamp(2.1rem, 3.2vw, 3.4rem);
}

.project-grid .project-deck,
.project-grid .project-meta {
  display: none;
}

.editorial-note {
  align-self: center;
  padding: clamp(2rem, 5vw, 5rem) 0;
  text-align: center;
}

.editorial-note span {
  display: block;
  height: 2.5rem;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 5rem;
  font-weight: 900;
  line-height: 1;
}

.editorial-note p {
  margin: 1rem 0 0;
  font-family: var(--sans);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  font-weight: 900;
  line-height: 1.02;
}

.investigations + .publication-strip {
  border-top: 2px solid var(--ink);
}

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

  .editorial-note {
    grid-column: 1 / -1;
    grid-row: 2;
    max-width: 32rem;
    margin-inline: auto;
  }
}

@media (max-width: 680px) {
  .investigations .section-intro { margin-bottom: 1.2rem; }
  .investigations > .project .project-media { min-height: 24rem; }
  .investigations > .project .project-copy h3 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .project-grid { grid-template-columns: 1fr; }
  .editorial-note { grid-column: auto; grid-row: auto; padding: 2rem 1rem; }
}

/* Investigative editorial refinement */
:root {
  --paper: #fbfaf7;
  --ink: #151515;
  --muted: #615e59;
  --rule: #d7d2c9;
  --accent: #6f1d2b;
  --serif: "Newsreader", Georgia, serif;
  --sans: "Source Sans 3", Arial, sans-serif;
  --max: 1320px;
}

body { background: var(--paper); font-family: var(--sans); }

.site-header {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ink);
  background: rgba(251, 250, 247, .97);
}

.masthead { gap: .8rem; }
.masthead strong { font-family: var(--serif); font-size: clamp(1.55rem, 2.2vw, 2.2rem); font-weight: 600; line-height: .9; text-transform: none; }
.masthead span { padding-top: .02rem; color: var(--muted); font-family: var(--sans); font-size: .64rem; font-weight: 500; line-height: 1.15; text-transform: uppercase; letter-spacing: .06em; }
.nav { font-size: .69rem; font-weight: 600; letter-spacing: .08em; }

.hero {
  min-height: min(43rem, calc(100svh - 70px));
  align-items: center;
  padding-top: clamp(4rem, 7vw, 6rem);
  padding-bottom: clamp(4rem, 7vw, 6rem);
  border-bottom: 1px solid var(--ink);
}

.hero-copy { grid-column: 1 / span 8; align-self: center; padding: 0; text-align: left; }
.hero-copy::before, .hero-symbol { display: none; }
.hero .eyebrow { margin-bottom: 1.5rem; color: var(--accent); }
.hero h1 {
  max-width: 13ch;
  margin: 0 0 1.6rem;
  font-family: var(--serif);
  font-size: clamp(3.15rem, 5.9vw, 6.1rem);
  font-weight: 500;
  line-height: .94;
  text-transform: none;
}
.hero-method { max-width: 40rem; margin: 0 0 1.1rem; font-family: var(--sans); font-size: clamp(1.05rem, 1.5vw, 1.3rem); font-weight: 600; line-height: 1.4; }
.hero-location { margin: 0 0 2rem; color: var(--muted); font-size: .76rem; font-weight: 600; text-transform: uppercase; letter-spacing: .09em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 1.2rem 2rem; }
.editorial-link.secondary { color: var(--muted); border-color: var(--rule); }
.hero-portrait { grid-column: 9 / -1; width: 100%; height: min(34rem, 65vh); aspect-ratio: 4 / 5; }
.hero-portrait video, .hero-portrait img { inset: 0; width: 100%; height: 100%; object-position: 50% 35%; filter: grayscale(.92) contrast(1.05); }
.hero-portrait figcaption { right: .65rem; bottom: .5rem; color: rgba(255,255,255,.92); text-shadow: 0 1px 5px rgba(0,0,0,.6); }

.section { padding-top: clamp(5rem, 9vw, 8.5rem); padding-bottom: clamp(5rem, 9vw, 8.5rem); }
.section-intro, .investigations .section-intro { display: grid; grid-template-columns: 3fr 9fr; gap: 2rem; align-items: baseline; margin-bottom: clamp(3rem, 7vw, 6rem); padding-top: 1.1rem; border-top: 1px solid var(--ink); }
.investigations .section-number { display: block; }
.investigations .section-intro h2::before { display: none; }
.section-intro h2, .section-intro.compact h2, .investigations .section-intro h2 {
  max-width: none;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(3.2rem, 6.5vw, 6.7rem);
  font-weight: 500;
  line-height: .92;
  letter-spacing: 0;
  text-transform: none;
}
.section-number { color: var(--accent); }

.investigations { padding-top: clamp(5rem, 9vw, 8.5rem); }
.investigations > .project { padding-bottom: clamp(4rem, 8vw, 7rem); border-bottom: 1px solid var(--ink); }
.investigations > .project .project-media { min-height: clamp(27rem, 42vw, 39rem); }
.investigations > .project .project-copy { padding-top: 1.2rem; }
.investigations > .project .project-copy h3 { font-size: clamp(3rem, 5.4vw, 5.6rem); }
.project-copy h3, .project-grid .project-copy h3 {
  max-width: 15ch;
  margin-bottom: 1.2rem;
  font-family: var(--serif);
  font-weight: 500;
  line-height: .96;
  text-transform: none;
}
.project-deck { color: var(--ink); font-family: var(--sans); font-size: 1.02rem; line-height: 1.5; }
.project-meta dt, .project-meta dd { font-family: var(--sans); }
.project-media { background-color: #e7e2da; filter: grayscale(1) contrast(1.08); }
.project-media::before { background: linear-gradient(135deg, rgba(111,29,43,.03), rgba(15,15,15,.55)); }
.project-media:hover::before { background: linear-gradient(135deg, rgba(111,29,43,.08), rgba(15,15,15,.48)); }
.project-media span { font-family: var(--serif); font-weight: 500; }
.media-psychedelics { background-position: center 42%; filter: grayscale(1) contrast(1.16); }

.project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); }
.project-grid .project-media { min-height: clamp(15rem, 22vw, 20rem); }
.project-grid .project-copy h3 { font-size: clamp(2rem, 3vw, 3rem); }
.project-grid .project-deck { display: block; margin-bottom: 1.6rem; }
.project-grid .project-meta { display: block; margin-bottom: 1.5rem; }
.project-grid .project-meta div { display: block; }
.project-grid .project-meta dt { margin-bottom: .2rem; }

.method { border-top: 1px solid var(--rule); }
.method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.method-grid article { padding: 1.5rem clamp(1.25rem, 2.5vw, 2.5rem) 2rem 0; border-bottom: 1px solid var(--rule); }
.method-grid article + article { padding-left: clamp(1.25rem, 2.5vw, 2.5rem); border-left: 1px solid var(--rule); }
.method-grid h3 { margin-bottom: .8rem; font-family: var(--serif); font-size: clamp(1.7rem, 2.7vw, 2.6rem); font-weight: 500; }
.method-grid p { margin: 0; color: var(--muted); line-height: 1.55; }

.beats { border-top: 1px solid var(--rule); }
.beats-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.beats-list li { padding: 1.05rem 1.2rem 1.05rem 0; border-bottom: 1px solid var(--rule); font-family: var(--serif); font-size: clamp(1.25rem, 2.1vw, 1.8rem); }
.beats-list li:nth-child(even) { padding-left: 1.5rem; border-left: 1px solid var(--rule); }

.publication-strip { border-block: 1px solid var(--ink); background: #f4f1eb; }
.publication-list { font-family: var(--serif); font-weight: 500; text-transform: none; }
.reporting { border-top: 0; }
.article-index { border-top: 1px solid var(--ink); }
.article-index strong { font-family: var(--serif); font-weight: 500; line-height: 1.08; }
.article-index a:hover strong { color: var(--accent); text-decoration: none; }
.article-year > p, .recognition-year { color: var(--accent); }

.commissioned-list h3, .about-copy h2, .contact h2, .recognition h2 {
  font-family: var(--serif);
  font-weight: 500;
  line-height: .95;
  text-transform: none;
}
.commissioned-list article { min-height: 21rem; }
.role { color: var(--accent); }
.recognition { border-block: 1px solid var(--ink); }
.about { border-top: 0; }
.about-copy { grid-column: 3 / span 8; }
.about-copy h2 { font-size: clamp(3.3rem, 6vw, 6rem); }
.about-copy > p { font-family: var(--sans); font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.65; }
.contact h2 { font-size: clamp(4rem, 8vw, 8rem); line-height: .9; text-transform: none; }
.contact > p { color: var(--ink); }
.contact .secure-note { margin-top: -.8rem; color: var(--muted); font-size: .95rem; }
.contact-links { align-items: baseline; }
.contact-links a { font-family: var(--serif); }
.contact-links span { color: var(--muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.site-footer { border-top: 1px solid var(--ink); }

.case-headline h1, .case-article h2 { font-family: var(--serif); font-weight: 500; text-transform: none; }
.case-headline h1 { line-height: .88; }
.case-article h2 { line-height: 1.05; }
.reveal { transform: translateY(4px); transition: opacity 260ms ease, transform 260ms ease; }

@media (max-width: 900px) {
  .hero-copy { grid-column: 1 / span 7; }
  .hero-portrait { grid-column: 8 / -1; height: 30rem; }
  .hero h1 { font-size: clamp(3rem, 6.7vw, 4.7rem); }
  .project-grid { grid-template-columns: 1fr 1fr; }
  .project-grid .project:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
  .project-grid .project:last-child .project-copy { margin-top: 0; }
  .method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .method-grid article:nth-child(3) { padding-left: 0; border-left: 0; }
}

@media (max-width: 680px) {
  :root { --gutter: 1.15rem; --section-space: 5rem; }
  .site-header { display: block; }
  .masthead span { display: block; }
  .nav { justify-content: flex-start; gap: .55rem 1.25rem; }
  .hero { display: flex; gap: 3rem; padding-top: 3.7rem; padding-bottom: 0; }
  .hero-copy { padding: 0; }
  .hero h1 { font-size: clamp(3rem, 13vw, 4.2rem); line-height: .92; }
  .hero-method { font-size: 1.05rem; }
  .hero-portrait { width: min(88%, 22rem); height: auto; aspect-ratio: 4 / 5; margin-inline: auto; }
  .section-intro, .investigations .section-intro { display: block; margin-bottom: 3rem; }
  .section-intro h2, .section-intro.compact h2, .investigations .section-intro h2 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .investigations > .project .project-copy h3 { font-size: clamp(2.8rem, 12vw, 4rem); }
  .project-grid { grid-template-columns: 1fr; gap: 4.5rem; }
  .project-grid .project:last-child { grid-column: auto; display: block; }
  .project-grid .project:last-child .project-copy { margin-top: 1.7rem; }
  .project-grid .project-media { min-height: 23rem; }
  .method-grid, .beats-list { grid-template-columns: 1fr; }
  .method-grid article, .method-grid article + article, .beats-list li, .beats-list li:nth-child(even) { padding: 1.2rem 0; border-left: 0; }
  .about-copy { width: 100%; }
  .contact h2 { font-size: clamp(3.6rem, 16vw, 5rem); }
}
