.home-page .manifesto {
  min-height: 100svh;
  padding: clamp(180px, 20svh, 240px) clamp(24px, 4vw, 64px);
}

.manifesto-copy {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: max-content 200px minmax(0, 1fr);
  align-items: center;
  gap: 32px;
  width: min(100%, 820px);
  min-width: 0;
  margin-inline: auto;
  color: var(--red);
  font-family: var(--font-text);
  font-size: 36px;
  line-height: 1.18;
  font-weight: var(--weight-text);
  letter-spacing: 0;
  text-align: left;
  text-align-last: left;
}
.manifesto-copy p { min-width: 0; margin: 0; }
.manifesto-copy__body { grid-column: 1 / -1; }
.manifesto-copy__word,
.manifesto-copy__char { display: inline-block; }
.manifesto-copy__word { white-space: nowrap; }
.manifesto-copy__char { transform-origin: 50% 50%; }
.manifesto-copy__face {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.manifesto-copy__face img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-marquee-band {
  --band-height: 148px;
  --band-size: 96px;
  position: relative;
  min-width: 0;
  color: var(--red);
}

.home-work-band.section-heading,
.home-contact-band.audiences-contact { display: block; padding: 0; }
.home-contact-band { --band-height: 104px; --band-size: 64px; }
.home-page .audiences {
  --audiences-gutter: clamp(28px, 8vw, 150px);
  padding-bottom: 0;
}
.home-contact-band.audiences-contact {
  margin-inline: calc(-1 * var(--audiences-gutter));
  border-top: 1px solid var(--red);
}
.home-page #audiences-title {
  max-width: none;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--red);
}
#audiences-title > span:not(.elastic-rule) { display: block; max-width: 940px; }
.home-page #audiences-title.has-elastic-bottom { border-bottom-color: transparent; }
#audiences-title .elastic-rule { color: var(--red); }

.home-marquee {
  position: relative;
  display: block;
  height: var(--band-height);
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: var(--red);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.home-marquee__layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.home-marquee__rest {
  --card-pointer-x: 50%;
  --card-pointer-y: 50%;
  color: var(--red);
  background: #fff;
  clip-path: circle(145% at var(--card-pointer-x) var(--card-pointer-y));
  transition: clip-path 640ms cubic-bezier(.22, 1, .36, 1);
}

.home-marquee__viewport { position: absolute; inset: 0; overflow: hidden; }
.home-marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
  font-size: var(--band-size);
  line-height: 1;
  font-weight: var(--weight-label);
  white-space: nowrap;
  animation: home-cta-marquee var(--marquee-duration, 40s) linear infinite;
  animation-play-state: paused;
}
.home-marquee__group { display: flex; flex: none; }
.home-marquee__word { flex: none; padding-right: 48px; }
.home-marquee-band[data-moving="true"] .home-marquee__track { animation-play-state: running; }
.home-work-band .home-marquee__track { animation-direction: reverse; }

@keyframes home-cta-marquee { to { transform: translateX(-50%); } }

@media (hover: hover) and (pointer: fine) {
  .home-marquee:hover .home-marquee__rest { clip-path: circle(0 at var(--card-pointer-x) var(--card-pointer-y)); }
}
.home-marquee:is(:focus-visible, :active) .home-marquee__rest { clip-path: circle(0 at var(--card-pointer-x) var(--card-pointer-y)); }
.home-marquee:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }
.home-marquee:active { background: var(--red); }
.home-marquee:active .home-marquee__rest { transition-duration: 0ms; }

@media (min-width: 1800px) {
  .manifesto-copy { width: min(100%, 920px); grid-template-columns: max-content 224px minmax(0, 1fr); font-size: 40px; }
}
@media (max-width: 1100px) { .home-page .audiences { --audiences-gutter: 40px; } }
@media (max-width: 1023px) {
  .manifesto-copy { grid-template-columns: max-content 168px minmax(0, 1fr); column-gap: 32px; font-size: 30px; }
  .home-marquee-band { --band-size: 64px; --band-height: 112px; }
  .home-contact-band { --band-size: 48px; --band-height: 88px; }
}
@media (max-width: 760px) {
  .home-page .manifesto { min-height: 76svh; padding-block: 116px; }
  .manifesto-copy { grid-template-columns: minmax(0, 1fr) 136px; gap: 24px; font-size: 28px; }
  .manifesto-copy__break { display: none; }
  .home-page .audiences { --audiences-gutter: 20px; }
  .home-marquee-band { --band-size: 48px; --band-height: 96px; }
  .home-contact-band { --band-size: 40px; --band-height: 80px; }
  .home-marquee__word { padding-right: 32px; }
  .home-page .audiences { padding-block-start: 36px; }
}
@media (max-width: 479px) {
  .manifesto-copy { grid-template-columns: minmax(0, 1fr) 104px; column-gap: 20px; font-size: 23px; }

  .home-page .audiences {
    grid-template-columns: minmax(0, 1fr) 104px;
  }

  .home-page #audiences-title {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .home-page .audiences-mark {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    justify-self: end;
  }

  .home-page .audience-columns {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .home-page .audience-columns article:first-child > :is(h3, p) {
    width: calc(100% - 122px);
    max-width: calc(100% - 122px);
  }

  .home-page .audiences-contact {
    grid-row: 3;
  }
}
@media (max-width: 359px) { .manifesto-copy { grid-template-columns: minmax(0, 1fr) 88px; column-gap: 16px; font-size: 20px; } }
@media (prefers-reduced-motion: reduce) {
  .manifesto-copy__char,
  .manifesto-copy__face { transform: none !important; filter: none !important; opacity: 1 !important; visibility: visible !important; }
  .home-marquee__track { animation: none; }
  .home-marquee__rest { clip-path: none; transition: opacity 160ms ease; }
  .home-marquee:is(:hover, :focus-visible, :active) .home-marquee__rest { clip-path: none; opacity: 0; }
}
.home-page .audience-columns p {
  line-height: 1.3;
}

/* Desktop home rhythm follows the shared 12-column layout used in the artboard. */
@media (min-width: 761px) {
  .home-opening .hero {
    min-height: 100vh;
  }

  .home-page .manifesto {
    min-height: clamp(880px, 60vw, 1120px);
    padding-block: clamp(172px, 12vw, 225px);
  }

  .manifesto-copy {
    width: min(100%, 860px);
  }

  .home-page .work-row {
    grid-template-columns: 30% minmax(0, 70%);
  }

  .home-page .audiences {
    box-sizing: border-box;
    height: clamp(624px, 34vw, 670px);
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr) auto;
    row-gap: clamp(52px, 4vw, 68px);
    padding-top: clamp(64px, 3.8vw, 76px);
  }

  .home-page .audience-columns {
    grid-row: 2;
    align-self: start;
    padding-top: clamp(28px, 2vw, 40px);
  }

  .home-page .audiences-mark {
    grid-row: 2;
    align-self: center;
    margin-block: 0;
  }

  .home-page .home-contact-band {
    grid-row: 3;
    align-self: end;
  }

  .home-page .home-blog {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: clamp(520px, 28.5vw, 580px);
  }

  .home-page .home-blog__gallery {
    min-height: 100%;
  }

  .home-page .home-blog__panel {
    align-content: center;
    gap: 32px;
    padding-block: 44px 40px;
    padding-inline: clamp(42px, 3.8vw, 72px);
  }

  .home-page .home-blog__article {
    padding-block: 18px 20px;
  }
}

/* 2026 home collaborations and news composition. */
.home-page .audiences {
  height: auto;
  min-height: clamp(720px, 56vw, 920px);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: auto auto minmax(240px, 1fr);
  column-gap: clamp(20px, 2.8vw, 52px);
  row-gap: clamp(48px, 5vw, 88px);
  overflow: hidden;
  padding: clamp(64px, 6vw, 112px) clamp(24px, 5vw, 96px) clamp(72px, 7vw, 132px);
  background: #fff;
  color: var(--ink);
}

.home-page #audiences-title {
  grid-column: 1 / -1;
  grid-row: 1;
  max-width: none;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--ink);
  color: var(--ink);
  opacity: var(--audiences-progress);
  transform: translateY(calc((1 - var(--audiences-progress)) * 36px));
}

.home-page #audiences-title > span:not(.elastic-rule) { max-width: none; }
.home-page #audiences-title .elastic-rule { color: var(--ink); }

.home-page .audience-columns {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none;
  gap: clamp(36px, 5vw, 92px);
  padding: 0;
  opacity: var(--audiences-progress);
  transform: translateY(calc((1 - var(--audiences-progress)) * 42px));
}

.home-page .audience-columns article {
  display: grid;
  grid-template-rows: auto minmax(8.5rem, auto) auto;
  grid-row: auto;
  align-content: start;
  min-width: 0;
}

.home-page .audience-columns h3 { margin: 0 0 20px; }
.home-page .audience-columns p { max-width: 34ch; margin: 0; }
.home-page .audience-columns .small-cta { justify-self: start; margin-top: 28px; }

.home-page .audiences-mark {
  grid-column: 5 / 9;
  grid-row: 3;
  align-self: end;
  justify-self: center;
  width: min(100%, 250px);
  margin: 0;
  opacity: var(--audiences-progress);
  transform: translateY(calc((1 - var(--audiences-progress)) * 48px));
}

.home-page .home-blog {
  display: block;
  min-height: 0;
  background: var(--red);
  color: #fff;
}

.home-news-strip {
  width: 100%;
  overflow-x: clip;
  overflow-y: visible;
  border-top: 1px solid var(--red);
  border-bottom: 1px solid var(--red);
  background: #fff;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.home-news-strip a,
.home-news-strip img {
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.home-news-strip.is-dragging,
.home-news-strip.is-dragging a,
.home-news-strip.is-dragging img { cursor: grabbing; }

.home-news-strip__track {
  display: flex;
  width: max-content;
  animation: home-news-strip 28s linear infinite;
  will-change: transform;
  isolation: isolate;
}

.home-news-strip[data-interactive="true"] .home-news-strip__track { animation: none; }

.home-news-strip__group {
  position: relative;
  z-index: 0;
  display: flex;
  flex: none;
  overflow: visible;
}

.home-news-strip__group:has(a:hover),
.home-news-strip__group:has(a:focus-visible) { z-index: 3; }

.home-news-strip a {
  position: relative;
  z-index: 0;
  flex: none;
  width: clamp(260px, 25vw, 480px);
  aspect-ratio: 16 / 9;
  overflow: visible;
  border: 0;
  background: transparent;
  transform: scale(1);
  transform-origin: center;
  transition: transform 320ms cubic-bezier(.16, 1, .3, 1);
}

.home-news-strip img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: fill;
}

.home-news-strip a:hover,
.home-news-strip a:focus-visible {
  z-index: 2;
  transform: scale(1.12);
}

.home-news-strip.is-dragging a { transform: scale(1); }

@keyframes home-news-strip { to { transform: translateX(-50%); } }

.home-blog__body { padding: 0 clamp(24px, 3.2vw, 60px) clamp(48px, 5vw, 88px); }

.home-blog__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: clamp(28px, 4vw, 64px);
  padding: 28px 0 22px;
  border-bottom: 1px solid currentColor;
}

.home-blog__header h2 {
  margin: 0;
  font-size: var(--type-section);
  line-height: var(--leading-section);
  font-weight: var(--weight-label);
}
.home-blog__header .home-blog__all { margin: 0 0 0 auto; }

.home-blog__featured {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .9fr);
  gap: clamp(44px, 6vw, 108px);
  align-items: center;
  padding: clamp(36px, 4.5vw, 76px) 0;
}

.home-blog__featured-media {
  display: block;
  min-width: 0;
  overflow: hidden;
  background: #000;
}

.home-blog__featured-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  transition: transform 650ms cubic-bezier(.22, 1, .36, 1);
}

/* Keep the News cover interactive and its layout stable while the image loads. */
.editorial-2026 .home-blog__featured-media { aspect-ratio: 2730 / 1536; }
.editorial-2026 .home-blog__featured-media > img[width][height] { aspect-ratio: 2730 / 1536; }

.home-blog__featured-media:hover img,
.home-blog__featured-media:focus-visible img { transform: scale(1.025); }

.home-blog__featured-media.has-bulge {
  position: relative;
  overflow: visible;
  background: transparent;
}

.home-blog__featured-media.has-bulge > img { opacity: 0; }

.home-blog__featured-media .work-bulge-canvas {
  position: absolute;
  top: calc(-1 * var(--bulge-gutter-y, 0px));
  left: calc(-1 * var(--bulge-gutter-x, 0px));
  display: block;
  width: calc(100% + 2 * var(--bulge-gutter-x, 0px));
  height: calc(100% + 2 * var(--bulge-gutter-y, 0px));
  max-width: none;
  pointer-events: none;
}

html.is-scrolling .home-blog__featured-media:not([data-news-bulge-ready]).has-bulge > img { opacity: 1; }
html.is-scrolling .home-blog__featured-media .work-bulge-canvas:not(.news-bulge-canvas) { opacity: 0; }

.home-blog__featured-copy { min-width: 0; }
.home-blog__featured-copy h3 {
  max-width: 13ch;
  margin: 12px 0 28px;
  font-size: var(--type-section);
  line-height: var(--leading-section);
  font-weight: var(--weight-label);
}
.home-blog__featured-copy p { max-width: 38ch; margin: 0; }
.home-blog__featured-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-width: 220px;
  margin-top: 34px;
  padding: 13px 18px;
  background: #fff;
  color: var(--red) !important;
  font-size: var(--type-ui);
  line-height: var(--leading-ui);
  font-weight: var(--weight-label);
}

.home-blog__articles { border-bottom: 0; }
.home-page .home-blog__article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  align-items: center;
  gap: 24px;
  min-height: 82px;
  padding: 14px 0 16px;
  border-top: 1px solid currentColor;
  color: inherit;
}

.home-page .home-blog__article:last-child { border-bottom: 1px solid currentColor; }

.home-page .home-blog__header.elastic-rule-host.has-elastic-bottom,
.home-page .home-blog__article.elastic-rule-host.has-elastic-top,
.home-page .home-blog__article:last-child.elastic-rule-host.has-elastic-bottom {
  border-color: transparent;
}

.home-blog__article-title {
  min-width: 0;
  font-size: 2rem;
  line-height: 2.25rem;
  font-weight: var(--weight-text);
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.home-blog__article-title .home-blog__category {
  font-size: inherit;
  line-height: inherit;
  font-weight: var(--weight-text);
}

.home-blog__project,
.home-blog__description {
  margin-inline-start: clamp(.8em, 2vw, 1.6em);
}

.home-blog__project {
  font-weight: var(--weight-heading);
}

.home-blog__description {
  font-weight: var(--weight-text);
}

.home-page .home-blog__article-arrow {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  transition: transform 260ms cubic-bezier(.22, 1, .36, 1);
}

.home-page .home-blog__article:hover .home-blog__article-arrow,
.home-page .home-blog__article:focus-visible .home-blog__article-arrow { transform: translate(4px, -4px); }

@media (max-width: 1023px) {
  .home-page .audiences {
    min-height: 760px;
    grid-template-rows: auto auto minmax(200px, 1fr);
    row-gap: 52px;
    padding-inline: 32px;
  }
  .home-page .audience-columns { gap: 34px; }
  .home-page .audience-columns article { grid-template-rows: auto minmax(11.5rem, auto) auto; }
  .home-page .audiences-mark { grid-column: 5 / 9; width: 190px; }
  .home-blog__body { padding-inline: 32px; }
  .home-blog__featured { grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 44px; }
  .home-blog__article-title { font-size: 1.5rem; line-height: 1.875rem; }
}

@media (min-width: 761px) {
  .home-page .work { padding-bottom: clamp(72px, 6vw, 112px); }
}

@media (max-width: 760px) {
  .home-page .audiences {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    row-gap: 48px;
    padding: 52px 20px 72px;
  }
  .home-page #audiences-title { grid-column: 1; grid-row: 1; padding-bottom: 16px; }
  .home-page .audience-columns {
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }
  .home-page .audience-columns article { grid-template-rows: auto auto auto; }
  .home-page .audience-columns p { max-width: 38ch; }
  .home-page .audience-columns .small-cta { margin-top: 22px; }
  .home-page .audiences-mark {
    grid-column: 1;
    grid-row: 3;
    justify-self: center;
    width: 148px;
    margin-top: 8px;
  }
  .home-news-strip a { width: clamp(250px, 68vw, 360px); }
  .home-blog__body { padding: 0 20px 52px; }
  .home-blog__header { align-items: center; padding-block: 16px 14px; }
  .home-blog__header h2 { font-size: clamp(1.75rem, 5vw, 2rem); }
  .home-blog__featured {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    padding-block: 30px 46px;
  }
  .home-blog__featured-copy h3 { max-width: none; margin-bottom: 18px; }
  .home-blog__featured-copy p { max-width: 42ch; }
  .home-blog__featured-link { width: 100%; margin-top: 28px; }
  .home-page .home-blog__article { grid-template-columns: minmax(0, 1fr) 28px; gap: 14px; min-height: 72px; }
  .home-blog__article-title { font-size: 1.125rem; line-height: 1.375rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-news-strip__track { animation: none; transform: none; }
  .home-news-strip__group[aria-hidden="true"] { display: none; }
  .home-news-strip img,
  .home-news-strip a,
  .home-blog__featured-media img,
  .home-page .home-blog__article-arrow { transition: none; }
}

@media (max-width: 760px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .home-blog__featured-media.has-bulge > img { opacity: 1; }
  .home-blog__featured-media .work-bulge-canvas { display: none !important; }
}

/* Work mobile: title, full-width cover, description, then closing metadata.
   The neutral copy wrapper dissolves into the grid only on mobile;
   desktop retains its original DOM, geometry and sticky stack. */
@media (max-width: 760px) {
  .home-page .work-row {
    --work-mobile-gutter: clamp(20px, 4vw, 30px);
    position: relative;
    top: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(4, auto);
    z-index: auto;
  }

  .home-page .work-copy { display: contents; }

  .home-page .work-copy h3 {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 28px var(--work-mobile-gutter) 24px;
    font-size: clamp(2.25rem, 8.8vw, 3rem);
    line-height: 1.06;
    font-weight: 500;
    letter-spacing: -.025em;
    overflow-wrap: normal;
  }

  .home-page .work-media {
    grid-column: 1;
    grid-row: 2;
    aspect-ratio: 1001 / 592;
  }

  .home-page .work-copy p:not(.work-year) {
    grid-column: 1;
    grid-row: 3;
    width: auto;
    max-width: 34ch;
    margin: 20px var(--work-mobile-gutter) 0;
  }

  .home-page .work-copy .work-year {
    grid-column: 1;
    grid-row: 4;
    width: auto;
    max-width: none;
    margin: 20px var(--work-mobile-gutter) 32px;
    padding-top: 12px;
    border-top: 1px solid currentColor;
    font-size: var(--type-meta);
    line-height: var(--leading-meta);
  }

  .home-page .work-year > .elastic-rule { display: none; }

  .home-page .work-media-link:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: -5px;
  }
}

/* Native stacking keeps touch scrolling direct; tall panels finish reading first. */
.home-page .work-reveal-text { display: block; }
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  .home-page .work.has-work-motion .home-work-band {
    --band-height: 80px;
    position: sticky;
    top: var(--work-heading-top, 72px);
    z-index: 10;
    background: #fff;
  }
  .home-page .work.has-work-motion .home-work-band::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 100%;
    height: var(--work-heading-top, 72px);
    background: #fff;
    pointer-events: none;
  }
  .home-page .work.has-work-motion .work-row {
    position: sticky;
    top: var(--work-stack-top, 88px);
    min-height: 0;
    grid-template-rows: repeat(4, auto);
  }
  .home-page .work.has-work-motion .work-year { align-self: start; }
  .home-page .work.has-work-motion .work-row:nth-of-type(1) { z-index: 1; }
  .home-page .work.has-work-motion .work-row:nth-of-type(2) { z-index: 2; }
  .home-page .work.has-work-motion .work-row:nth-of-type(3) { z-index: 3; }
  .home-page .work.has-work-motion .work-row:nth-of-type(4) { z-index: 4; }
  .home-page .work.has-work-motion .work-row:nth-of-type(5) { z-index: 5; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .home-page .work-copy { padding: 20px; }
  .home-page .work-copy h3 { margin-bottom: 16px; }
  .home-page .work-copy p:not(.work-year) { line-height: 26px; }
}
.home-page .work-media-link { scroll-margin-top: 96px; }
@media (prefers-reduced-motion: reduce) {
  .home-page .work .work-row { position: relative; top: auto; }
}
