/* The selected B composition, built from rectangular cells at every scale. */
.home-page {
  --cell-gap: 4px;
  --cell-pad: 20px;
}

.home-page .tile,
.home-page .brand-icon,
.home-page .logo-matrix > a {
  border-radius: 0;
}

/* Black joints divide the contents; text stays on solid, quiet surfaces. */
.home-page :is(.intro-tile, .focus-tile, .service-tile, .research-tile,
  .person-tile, .scope-tile, .contact-tile, .portfolio-tile) {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: auto 1fr auto;
  gap: var(--cell-gap);
  padding: 0;
  background: var(--bg);
}

.home-page :is(.intro-tile, .focus-tile, .service-tile, .research-tile,
  .person-tile, .scope-tile, .contact-tile, .portfolio-tile) > * {
  min-width: 0;
  margin: 0;
  max-width: none;
  padding: var(--cell-pad);
  background: var(--panel);
}

.home-page :is(.intro-tile, .focus-tile, .service-tile, .research-tile,
  .person-tile, .scope-tile, .contact-tile, .portfolio-tile) > .eyebrow {
  padding: 11px var(--cell-pad);
}

.home-page :is(.intro-tile, .focus-tile, .service-tile, .research-tile,
  .person-tile, .scope-tile, .contact-tile, .portfolio-tile) > :is(h1,h2) {
  display: flex;
  align-items: center;
}

.home-page :is(.contact-tile, .portfolio-tile) > p {
  padding-block: 15px;
  text-decoration: none;
  box-shadow: inset 0 0 0 1px #71776f;
}
.home-page .contact-tile > p {
  color: #141614;
  background: var(--fg);
  box-shadow: none;
}

/* Every navigation item is a number cell joined to a label cell. */
.home-page .b-menu .nav-cell {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: stretch;
  gap: var(--cell-gap);
  padding: 0;
  background: var(--bg);
}
.home-page .nav-cell > span {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 12px;
  background: var(--panel);
}
.home-page .nav-cell > .nav-number {
  justify-content: center;
  padding: 0;
  background: #222522;
  font-variant-numeric: tabular-nums;
}

/* Image, identity, sector, work and attribution occupy separate cells. */
.home-page .project-tile {
  gap: var(--cell-gap);
  background: var(--bg);
}
.home-page .project-body {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: var(--cell-gap);
  padding: 0;
  background: var(--bg);
}
.home-page .project-body > :is(.eyebrow,p,.project-foot) {
  margin: 0;
  padding: 12px var(--cell-pad);
  background: var(--panel);
}
.home-page .project-body > p {
  padding-block: 17px;
}
.home-page .project-heading {
  display: grid;
  grid-template-columns: 64px minmax(0,1fr);
  gap: var(--cell-gap);
  align-items: stretch;
}
.home-page .project-heading .brand-icon {
  width: 64px;
  height: 64px;
}
.home-page .project-heading .brand-icon img {
  width: 68%;
  height: 62%;
}
.home-page .project-heading h2 {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 12px 14px;
  background: var(--panel);
}

/* Film controls form a small four-cell index below the uninterrupted image. */
.home-page .film-tile {
  gap: var(--cell-gap);
  background: var(--bg);
}
.home-page .film-caption {
  display: grid;
  grid-template-columns: minmax(0,1fr) 64px;
  align-items: stretch;
  gap: var(--cell-gap);
  padding: 0;
}
.home-page .film-caption > div {
  padding: 13px var(--cell-pad);
  background: var(--panel);
}
.home-page .motion-control {
  align-self: stretch;
  padding: 12px 5px;
  border: 0;
  background: var(--panel);
}
.home-page .film-scenes {
  gap: var(--cell-gap);
  padding: 0;
  counter-reset: scene;
}
.home-page .film-scenes button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 48px;
  padding: 12px 15px;
  background: var(--panel);
  counter-increment: scene;
}
.home-page .film-scenes button::before {
  content: counter(scene,decimal-leading-zero);
  position: static;
  width: auto;
  height: auto;
  background: none;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  opacity: .7;
}
.home-page .film-scenes button[aria-pressed=true] {
  color: #141614;
  background: var(--fg);
}
.home-page .film-scenes button[aria-pressed=true]::before {
  background: none;
}

/* The masthead follows the same joints as the content below it. */
.home-page .b-masthead .identity-tile {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: 1fr 1fr;
  gap: var(--cell-gap);
  padding: 0;
  background: var(--bg);
}
.home-page .identity-tile > :is(.wordmark,p) {
  margin: 0;
  padding: 16px var(--cell-pad);
  background: var(--panel);
}
.home-page .masthead-description {
  padding-inline: var(--cell-pad);
}

/* Small squares repeat the grid in the project index and the process. */
.home-page .archive-tile {
  gap: var(--cell-gap);
  padding: 0;
  background: var(--bg);
}
.home-page .archive-tile > :is(.eyebrow,.text-link) {
  padding: 13px var(--cell-pad);
  background: var(--panel);
}
.home-page .logo-matrix {
  gap: var(--cell-gap);
}
.home-page .logo-matrix > a {
  display: grid;
  grid-template-rows: minmax(48px,1fr) auto;
  place-items: center;
  gap: 0;
  padding: 0;
  aspect-ratio: 1;
  background: var(--panel);
}
.home-page .logo-matrix > a > span:last-child {
  width: 100%;
  padding: 8px 3px;
  border-top: var(--cell-gap) solid var(--bg);
}
.home-page .process-tile {
  gap: var(--cell-gap);
  padding: 0;
  background: var(--bg);
}
.home-page .process-tile > :is(.eyebrow,h2) {
  padding: 14px var(--cell-pad);
  background: var(--panel);
}
.home-page .process-tile > h2 {
  padding-block: 20px;
}
.home-page .process-tile ol {
  display: grid;
  gap: var(--cell-gap);
  margin: 0;
}
.home-page .process-tile li {
  align-items: center;
  border: 0;
  padding: 11px 14px;
  background: var(--panel);
}
.home-page .process-tile li span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border: 1px solid #4e554e;
}
.home-page .page-footer {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 8px;
  padding: 8px 0 0;
}
.home-page .page-footer > * {
  padding: 16px var(--cell-pad);
  background: var(--panel);
}
.home-page a.tile:hover > :is(h2,p,.eyebrow),
.home-page .nav-cell:hover > span,
.home-page .project-tile:hover .project-heading h2,
.home-page .logo-matrix > a:hover {
  background: #272b27;
}
.home-page a.contact-tile:hover > p {
  background: #fff;
}
.home-page a:is(.intro-tile, .focus-tile, .service-tile, .research-tile,
  .person-tile, .scope-tile, .contact-tile, .portfolio-tile,
  .project-tile, .process-tile):hover {
  background: var(--bg);
}

@media (min-width:1700px) {
  .home-page { --cell-pad: 24px; }
}
@media (max-width:1100px) {
  .home-page { --cell-pad: 17px; }
  .home-page .b-menu .nav-cell { grid-template-columns: 36px minmax(0,1fr); }
}
@media (max-width:700px) {
  .home-page { --cell-pad: 14px; --cell-gap: 3px; }
  .home-page .b-menu .nav-cell { grid-template-columns: 30px minmax(0,1fr); }
  .home-page .nav-cell > span { padding: 10px 8px; }
  .home-page .project-heading { grid-template-columns: 42px minmax(0,1fr); }
  .home-page .project-heading .brand-icon { width: 42px; height: 52px; }
  .home-page .project-heading h2 { font-size: 21px; padding: 10px 8px; }
  .home-page .film-scenes button { gap: 4px; padding: 11px 8px; font-size: 11px; }
  .home-page .film-scenes button::before { font-size: 10px; }
  .home-page .process-tile li { gap: 8px; padding-inline: 10px; }
  .home-page .process-tile li span { width: 22px; height: 22px; }
  .home-page .page-footer { grid-template-columns: 1fr 1fr; }
  .home-page .page-footer > a[href^="mailto:"] { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width:370px) {
  .home-page { --cell-pad: 12px; }
  .home-page .project-heading { grid-template-columns: 1fr; }
  .home-page .project-heading .brand-icon { width: 100%; height: 44px; }
  .home-page .project-heading .brand-icon img { width: 30px; height: 30px; }
  .home-page .film-scenes button { padding-inline: 6px; font-size: 10px; }
}

/* The luminous perimeter completes before either image layer changes. */
.home-page .film-image .reveal-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 600ms cubic-bezier(.2,.7,.2,1);
}
.home-page .film-image .reveal-photo.is-current { opacity: 1; }
.home-page .film-scenes button[data-pending] { color: var(--fg); box-shadow: inset 0 -2px var(--fg); }

/* Hidden variants reserve the tallest copy; only the current one is readable. */
.home-page .cycle-slot { display: grid !important; min-width: 0; }
.home-page .cycle-slot > .cycle-copy {
  grid-area: 1 / 1;
  min-width: 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
  visibility: hidden;
  pointer-events: none;
}
.home-page .cycle-slot > .cycle-copy.is-current { visibility: visible; }
.home-page :is(h1,h2).cycle-slot > .cycle-copy { align-self: center; }
.home-page .community-work p > .work-copy { color: inherit; font-size: inherit; }

/* One scene, one brief. Each case has its own evidence and work description. */
.home-page .campaign-context { grid-area: peaq; }
.home-page .community-case { grid-area: polygon; }
.home-page .connection-case { grid-area: sahara; }
.home-page :is(.campaign-context,.community-case,.connection-case) {
  display: grid;
  gap: var(--cell-gap);
  padding: 0;
  background: var(--bg);
}
.home-page .campaign-context { grid-template-rows: auto auto 1fr 1fr auto auto; }
.home-page :is(.campaign-context,.connection-case) > *,
.home-page .community-title,
.home-page .community-work > * {
  min-width: 0;
  padding: var(--cell-pad);
  background: var(--panel);
}
.home-page .campaign-context > .eyebrow { padding-block: 11px; }
.home-page .campaign-identity { display: flex; align-items: center; gap: 14px; }
.home-page .campaign-identity h2 { font-size: clamp(22px,2vw,30px); }
.home-page .campaign-identity .brand-icon { width: 48px; height: 48px; }
.home-page .campaign-context :is(.campaign-brief,.campaign-work) { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
.home-page .campaign-context .campaign-brief p { color: var(--fg); font-size: clamp(19px,1.65vw,25px); line-height: 1.2; letter-spacing: -.02em; }
.home-page .campaign-context .campaign-work p { font-size: 15px; }
.home-page :is(.campaign-case,.case-link) { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 14px; }
.home-page .campaign-case { background: #e2e6e3; color: #141614; padding-block: 17px; }
.home-page .campaign-attribution { color: var(--muted); line-height: 1.45; padding-block: 12px; }
.home-page .community-case { grid-template-columns: 1.1fr 1fr; min-height: 300px; }
.home-page .community-title { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 20px; }
.home-page .community-title h2 { font-size: clamp(27px,2.6vw,40px); line-height: 1.06; letter-spacing: -.035em; }
.home-page .community-work { display: grid; grid-template-rows: auto repeat(3,1fr) auto auto; gap: var(--cell-gap); }
.home-page .community-work > * { padding-block: 12px; }
.home-page .community-work p { display: flex; align-items: center; gap: 14px; color: var(--fg); font-size: 15px; }
.home-page .community-work p > span { color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.home-page :is(.community-work,.connection-case) > small { font-size: 11px; color: var(--muted); }
.home-page .connection-case { grid-template-rows: auto 1fr repeat(3,auto) auto auto; }
.home-page .connection-heading { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.home-page .connection-case h2 { display: flex; align-items: center; min-height: 130px; font-size: clamp(26px,2.3vw,35px); }
.home-page .connection-step { display: grid; gap: 10px; }
.home-page .connection-step > span { color: var(--muted); font-size: 11px; }
.home-page .connection-step p { color: var(--fg); font-size: 15px; }
.home-page .connection-case > :is(.case-link,small) { padding-block: 13px; }
.home-page a:is(.community-case,.connection-case):hover { background: var(--bg); }
.home-page a:is(.community-case,.connection-case):hover .case-link { background: #303630; }
.home-page .nav-number,.home-page .project-foot,.home-page .film-credit { color: #9ba29c; }
.home-page .masthead-description p { max-width: 390px; }
@media(max-width:1100px) {
  .home-page .campaign-context .campaign-brief p { font-size: 23px; }
  .home-page .campaign-identity { flex-wrap: wrap; gap: 12px; }
}
@media(max-width:700px) {
  .home-page .campaign-context { grid-area: briefing; }
  .home-page .b-field { grid-template-areas: 'film film' 'briefing briefing' 'intro menu' 'polygon polygon' 'metric sahara' 'gtm partner' 'focus process' 'r0 r0' 'r1 r2' 'aptos bybit' 'archive archive' 'ondo person' 'scope scope' 'contact contact' 'portfolio portfolio'; }
  .home-page .campaign-context { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto 1fr auto; }
  .home-page .campaign-context > .eyebrow { grid-column: 1 / -1; }
  .home-page .campaign-identity { grid-column: 1 / -1; flex-wrap: nowrap; }
  .home-page .campaign-context .campaign-brief p { font-size: 21px; }
  .home-page .campaign-context .campaign-work p { font-size: 14px; }
  .home-page .campaign-context .campaign-attribution { font-size: 10px; }
  .home-page .community-case { grid-template-columns: 1fr 1fr; }
  .home-page .community-title h2 { font-size: 28px; }
  .home-page .community-work p { font-size: 13px; gap: 8px; }
  .home-page .connection-heading { flex-wrap: wrap; }
  .home-page .connection-case h2 { min-height: 120px; font-size: 26px; }
  .home-page .connection-step p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .film-image .reveal-photo { transition: none; }
}

/* Six windows into the work, fitted into the existing interlocking grid. */
.home-page .case-media {
  display: grid;
  grid-template-rows: minmax(0,1fr) auto;
  gap: var(--cell-gap);
  min-width: 0;
  margin: 0;
  padding: 0;
  background: var(--bg);
  overflow: hidden;
}
.home-page .case-media-view {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: #101210;
}
.home-page .case-media-view :is(img,video) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-page .case-media-view video { opacity: 0; }
.home-page .case-media-view video.is-playing { opacity: 1; }
.home-page .case-media figcaption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  height: 64px;
  padding: 10px 14px;
  background: var(--panel);
  font-size: 11px;
  line-height: 1.3;
}
.home-page .media-caption { color: var(--fg); }
.home-page .media-credit { color: var(--muted); font-size: 10px; }
.home-page .community-case { grid-template-columns: 1.15fr 1fr; min-height: 360px; }
.home-page .community-title {
  display: grid;
  grid-template-rows: minmax(260px,1fr) auto;
  grid-template-columns: minmax(0,1fr);
  justify-content: stretch;
  align-items: stretch;
  gap: var(--cell-gap);
  padding: 0;
  background: var(--bg);
}
.home-page .community-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--panel);
}
.home-page .community-identity .brand-icon { width: 36px; height: 36px; }
.home-page .community-identity .eyebrow { font-size: 12px; }
.home-page .community-work { grid-template-rows: 1fr repeat(3,auto) auto auto; }
.home-page .community-work h2 { display: grid; align-items: center; font-size: clamp(23px,2vw,31px); }
.home-page .community-work p { padding-block: 11px; }
.home-page .connection-case { grid-template-rows: minmax(260px,1fr) auto auto repeat(3,auto) auto auto; }
.home-page .connection-case > .case-media { padding: 0; }
.home-page .connection-case .connection-heading { padding-block: 12px; }
.home-page .connection-heading .brand-icon { width: 36px; height: 36px; }
.home-page .connection-case h2 { min-height: 0; font-size: clamp(23px,2vw,30px); padding-block: 14px; }
.home-page .connection-step { grid-template-columns: 68px minmax(0,1fr); gap: 8px; padding-block: 11px; }
.home-page .connection-step p { font-size: 13px; }
.home-page .connection-case > small { padding-block: 10px; }
.home-page .project-tile.with-photo { display: grid; grid-template-rows: minmax(290px,1fr) auto; }
.home-page .project-tile.with-photo .project-image { height: auto; min-height: 290px; }
.home-page .project-tile.with-photo .project-body { flex: none; grid-template-rows: auto auto 1fr auto; }
.home-page .project-tile.with-photo .project-body > p { font-size: 14px; padding-block: 13px; }
.home-page .project-tile.with-photo .project-foot { font-size: 10px; padding-block: 10px; }
.home-page .project-tile.with-photo .project-body > .eyebrow { padding-block: 9px; }
.home-page .project-tile.with-photo:hover .project-image img { transform: none; }
@media (min-width:1700px) {
  .home-page .community-title { grid-template-rows: minmax(310px,1fr) auto; }
  .home-page .connection-case { grid-template-rows: minmax(320px,1fr) auto auto repeat(3,auto) auto auto; }
  .home-page .project-tile.with-photo .project-image { min-height: 350px; }
}
@media (max-width:700px) {
  .home-page .community-case { grid-template-columns: 1fr; }
  .home-page .community-title { grid-template-rows: 300px auto; }
  .home-page .community-work { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; }
  .home-page .community-work h2 { grid-column: 1 / -1; font-size: 27px; }
  .home-page .community-work p { align-items: flex-start; }
  .home-page .community-work > small { grid-column: 1 / -1; }
  .home-page .connection-case { grid-template-rows: 240px auto auto repeat(3,auto) auto auto; }
  .home-page .connection-step { grid-template-columns: 1fr; }
  .home-page .connection-case h2 { font-size: 23px; }
  .home-page .case-media figcaption { height: 84px; padding: 9px 11px; }
  .home-page .project-tile.with-photo { grid-template-rows: 245px auto; }
  .home-page .project-tile.with-photo .project-image { min-height: 0; }
  .home-page .project-tile.with-photo .project-body > p { font-size: 13px; }
}
/* On narrow screens, a full-width evidence row avoids an empty tall neighbour. */
@media (max-width:700px) {
  .home-page .b-field { grid-template-areas: 'film film' 'briefing briefing' 'intro menu' 'polygon polygon' 'sahara sahara' 'metric process' 'gtm partner' 'focus focus' 'r0 r0' 'r1 r2' 'aptos bybit' 'archive archive' 'ondo person' 'scope scope' 'contact contact' 'portfolio portfolio'; }
  .home-page .connection-case {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    grid-template-rows: auto auto repeat(3,auto) auto auto;
  }
  .home-page .connection-case > .case-media { grid-column: 1; grid-row: 1 / 8; }
  .home-page .connection-case > :not(.case-media) { grid-column: 2; }
  .home-page .connection-case h2 { font-size: 22px; }
  .home-page .connection-step { gap: 5px; }
  .home-page .connection-heading { gap: 8px; font-size: 12px; }
  .home-page .focus-tile { min-height: 220px; }
}

/* Editorial B: one dominant image, a clear statement, then the connected brief. */
.home-page { --cell-pad: 22px; }
.home-page .b-masthead { grid-template-columns: 1.1fr 1.7fr .7fr .7fr; }
.home-page .b-masthead .identity-tile {
  min-height: 80px;
  display: flex;
  justify-content: center;
  background: var(--panel);
}
.home-page .b-masthead .identity-tile > .wordmark { padding: 15px 22px; font-size: 25px; }
.home-page .b-masthead .identity-tile > p { display: none; }
.home-page .b-masthead .masthead-description { padding: 16px 22px; }
.home-page .b-masthead .masthead-description p { font-size: 19px; line-height: 1.2; }
.home-page .b-masthead .masthead-link { min-height: 80px; padding: 13px 18px; font-size: 13px; flex-direction: row; align-items: center; }
.home-page .b-masthead .masthead-link > span { font-size: 28px; }
.home-page .b-field {
  grid-template-columns: repeat(12,minmax(0,1fr));
  grid-template-areas:
    'intro intro intro intro film film film film film film film film'
    'menu menu menu menu film film film film film film film film'
    'peaq peaq peaq peaq peaq peaq peaq peaq peaq peaq peaq peaq'
    'polygon polygon polygon polygon polygon polygon metric metric metric sahara sahara sahara'
    'gtm gtm gtm partner partner partner focus focus focus sahara sahara sahara'
    'r0 r0 r0 r0 r0 r0 r1 r1 r1 r2 r2 r2'
    'aptos aptos aptos aptos aptos aptos ondo ondo ondo bybit bybit bybit'
    'process process process archive archive archive archive archive archive person person person'
    'scope scope scope contact contact contact contact contact contact portfolio portfolio portfolio';
}
.home-page .intro-tile { grid-template-rows: auto 1fr auto; }
.home-page .intro-tile > .eyebrow { padding-block: 12px; font-size: 12px; }
.home-page .b-field > .intro-tile h1 {
  font-size: clamp(52px,5.1vw,90px);
  line-height: .98;
  letter-spacing: -.05em;
  padding-block: 18px 22px;
}
.home-page .intro-tile > p { font-size: 16px; line-height: 1.3; padding-block: 14px; }
.home-page .b-menu .tile-nav { gap: 4px; }
.home-page .b-menu .nav-cell { min-height: 44px; grid-template-columns: 30px minmax(0,1fr); }
.home-page .b-menu .nav-cell > span { padding: 10px 12px; font-size: 14px; }
.home-page .b-menu .nav-cell > .nav-number { font-size: 12px; padding: 0; }
.home-page .film-image { min-height: 380px; }
.home-page .film-image .reveal-photo { transition: none; }
.home-page .film-caption { grid-template-columns: 72px minmax(0,1fr) 62px; }
.home-page .film-index { display: grid; place-items: center; background: var(--panel); font-size: 12px; font-variant-numeric: tabular-nums; }
.home-page .film-caption > div { padding: 8px 14px; display: flex; align-items: center; }
.home-page .film-name { display: none; }
.home-page .film-credit { margin: 0; font-size: 12px; }
.home-page .motion-control { font-size: 12px; padding-block: 10px; }
.home-page .film-scenes button { min-height: 42px; padding: 10px 14px; font-size: 13px; }
.home-page .campaign-context {
  grid-area: peaq;
  grid-template-columns: 1.1fr 1fr 1.15fr .45fr;
  grid-template-rows: auto 1fr auto;
}
.home-page .campaign-context > .eyebrow { grid-column: 1; grid-row: 1; font-size: 12px; padding: 12px 20px 0; }
.home-page .campaign-identity { grid-column: 1; grid-row: 2; gap: 12px; padding: 13px 20px 20px; }
.home-page .campaign-identity .brand-icon { width: 40px; height: 40px; }
.home-page .campaign-identity h2 { font-size: clamp(30px,3.2vw,50px); letter-spacing: -.045em; line-height: 1; }
.home-page .campaign-context .campaign-brief { grid-column: 2; grid-row: 1 / 3; }
.home-page .campaign-context .campaign-work { grid-column: 3; grid-row: 1 / 3; }
.home-page .campaign-context :is(.campaign-brief,.campaign-work) { padding: 18px 20px; gap: 14px; justify-content: flex-start; }
.home-page .campaign-context .campaign-brief p { font-size: clamp(23px,2.25vw,35px); line-height: 1.1; letter-spacing: -.025em; }
.home-page .campaign-context .campaign-work p { font-size: 16px; line-height: 1.35; }
.home-page .campaign-context .campaign-case { grid-column: 4; grid-row: 1 / 3; font-size: 16px; align-items: flex-end; padding: 20px; }
.home-page .campaign-attribution { grid-column: 1 / -1; grid-row: 3; padding: 9px 4px; font-size: 12px; background: var(--bg); }
.home-page .campaign-context [data-reveal-state='drawing'] { box-shadow: inset 0 0 0 1px #e6f5ff; }
.home-page .community-case { grid-template-columns: 1.3fr 1fr; }
.home-page .community-title { grid-template-rows: minmax(300px,1fr) auto; }
.home-page .community-work h2 { font-size: clamp(25px,2.7vw,42px); letter-spacing: -.035em; line-height: 1.03; }
.home-page .community-work { grid-template-rows: 1fr repeat(3,auto) auto; }
.home-page .community-work > small,.home-page .connection-case > small,.home-page .project-foot { display: none; }
.home-page .community-work p { font-size: 16px; }
.home-page .connection-case { grid-template-rows: minmax(290px,1fr) auto auto repeat(3,auto) auto; }
.home-page .connection-case h2 { font-size: clamp(26px,2.6vw,39px); letter-spacing: -.035em; }
.home-page .connection-step p { font-size: 14px; }
.home-page .case-media figcaption { height: 53px; padding: 8px 14px; gap: 2px; }
.home-page .media-caption { font-size: 12px; line-height: 1.2; }
.home-page .media-credit { font-size: 12px; line-height: 1.2; }
.home-page .community-identity { padding-block: 10px; }
.home-page .community-identity .eyebrow { font-size: 12px; }
.home-page .project-tile.with-photo { grid-template-rows: minmax(340px,1fr) auto; }
.home-page .project-tile.with-photo .project-image { min-height: 340px; }
.home-page .project-body { grid-template-rows: auto auto 1fr; }
.home-page .project-tile.with-photo .project-body { grid-template-rows: auto auto 1fr; }
.home-page .project-tile.with-photo .project-body > p { font-size: 16px; padding-block: 13px; }
.home-page .project-tile.with-photo .project-heading { grid-template-columns: 52px minmax(0,1fr); }
.home-page .project-tile.with-photo .project-heading .brand-icon { width: 52px; height: 60px; }
.home-page .project-tile.with-photo .project-heading h2 { font-size: 28px; }
.home-page .project-kucoin.with-photo .project-heading h2 { font-size: 38px; }
.home-page .project-tile.with-photo .project-body > .eyebrow { font-size: 12px; }
.home-page .project-kite .project-body > p { font-size: 18px; line-height: 1.25; }
.home-page .project-kite .project-heading h2 { font-size: 32px; }
.home-page .b-field .archive-tile .logo-matrix { grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-page .archive-tile .logo-matrix > a { aspect-ratio: auto; min-height: 86px; }
.home-page .person-tile h2 { font-size: clamp(35px,3.5vw,54px); }
.home-page .scope-tile h2 { font-size: 27px; }
.home-page .b-field .contact-tile h2 { font-size: clamp(38px,4.7vw,70px); line-height: 1.02; }
@media (min-width:1700px) {
  .home-page .film-image { min-height: 470px; }
  .home-page .project-tile.with-photo .project-image { min-height: 410px; }
}
@media (max-width:1100px) and (min-width:701px) {
  .home-page { --cell-pad: 18px; }
  .home-page .b-masthead { grid-template-columns: 1.2fr 1.6fr 1fr; }
  .home-page .b-masthead .masthead-description { display: flex; }
  .home-page .b-masthead > .masthead-link:last-child { display: none; }
  .home-page .b-field {
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-template-areas: 'intro film film' 'menu film film' 'peaq peaq peaq' 'polygon polygon sahara' 'metric focus sahara' 'gtm partner process' 'r0 r0 r1' 'r2 aptos aptos' 'ondo bybit person' 'archive archive scope' 'contact contact portfolio';
  }
  .home-page .b-field > .intro-tile h1 { font-size: clamp(34px,4.65vw,49px); }
  .home-page .b-menu .nav-cell > span { padding-inline: 8px; font-size: 12px; }
  .home-page .film-image { min-height: 370px; }
  .home-page .campaign-context { grid-template-columns: 1fr 1fr 1fr; }
  .home-page .campaign-context .campaign-work { grid-column: 3; }
  .home-page .campaign-context .campaign-case { grid-column: 3; grid-row: 3; padding: 12px 18px; }
  .home-page .campaign-case br { display: none; }
  .home-page .campaign-attribution { grid-column: 1 / 3; align-self: center; }
  .home-page .campaign-identity { flex-wrap: wrap; }
  .home-page .community-case { grid-template-columns: 1.1fr 1fr; }
  .home-page .community-work h2 { font-size: 27px; }
}
@media (max-width:700px) {
  .home-page { --cell-pad: 16px; }
  .home-page .b-masthead { grid-template-columns: 1.5fr 1fr; }
  .home-page .b-masthead .identity-tile,.home-page .b-masthead .masthead-link { min-height: 65px; }
  .home-page .b-masthead .identity-tile > .wordmark { padding: 14px 16px; font-size: 22px; }
  .home-page .b-masthead .masthead-description { display: none; }
  .home-page .b-masthead .masthead-link { padding: 10px 12px; font-size: 12px; }
  .home-page .b-masthead .masthead-link > span { font-size: 24px; }
  .home-page .b-field {
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-areas: 'intro intro' 'film film' 'peaq peaq' 'menu menu' 'polygon polygon' 'sahara sahara' 'metric process' 'gtm partner' 'focus focus' 'r0 r0' 'r1 r2' 'aptos aptos' 'ondo bybit' 'archive archive' 'person scope' 'contact contact' 'portfolio portfolio';
  }
  .home-page .b-field > .intro-tile { min-height: 0; }
  .home-page .b-field > .intro-tile h1 { font-size: clamp(47px,12.5vw,82px); padding-block: 14px 18px; }
  .home-page .intro-tile > p { padding-block: 12px; font-size: 16px; }
  .home-page .b-menu .tile-nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-page .b-menu .nav-cell { grid-template-columns: 1fr; gap: 0; min-height: 54px; }
  .home-page .b-menu .nav-cell > .nav-number { display: none; }
  .home-page .b-menu .nav-cell > span { font-size: 13px; }
  .home-page .b-field > .film-tile { height: 380px; }
  .home-page .film-image { min-height: 0; }
  .home-page .film-scenes button { padding: 10px 7px; font-size: 12px; }
  .home-page .film-scenes button::before { display: none; }
  .home-page .film-caption { grid-template-columns: 55px minmax(0,1fr) 52px; }
  .home-page .film-caption > div { padding-inline: 10px; }
  .home-page .campaign-context { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto auto auto; }
  .home-page .campaign-context > .eyebrow { grid-column: 1 / -1; grid-row: 1; }
  .home-page .campaign-identity { grid-column: 1 / -1; grid-row: 2; flex-wrap: nowrap; padding-top: 8px; }
  .home-page .campaign-identity h2 { font-size: 40px; }
  .home-page .campaign-context .campaign-brief { grid-column: 1; grid-row: 3; }
  .home-page .campaign-context .campaign-work { grid-column: 2; grid-row: 3; }
  .home-page .campaign-context :is(.campaign-brief,.campaign-work) { padding: 15px; gap: 12px; }
  .home-page .campaign-context .campaign-brief p { font-size: 24px; }
  .home-page .campaign-context .campaign-work p { font-size: 14px; }
  .home-page .campaign-context .campaign-case { grid-column: 1 / -1; grid-row: 4; min-height: 48px; padding: 13px 16px; }
  .home-page .campaign-case br { display: none; }
  .home-page .campaign-attribution { grid-column: 1 / -1; grid-row: 5; font-size: 12px; }
  .home-page .community-case { grid-template-columns: 1fr; }
  .home-page .community-title { grid-template-rows: 330px auto; }
  .home-page .community-work { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; }
  .home-page .community-work h2 { font-size: 32px; }
  .home-page .community-work p { font-size: 14px; }
  .home-page .connection-case { grid-template-rows: auto auto repeat(3,auto) auto; }
  .home-page .connection-case > .case-media { grid-row: 1 / 7; }
  .home-page .connection-case h2 { font-size: 24px; }
  .home-page .case-media figcaption { height: 85px; padding: 9px 12px; }
  .home-page .community-case .case-media figcaption { height: 55px; }
  .home-page .project-tile.with-photo { grid-template-rows: 260px auto; }
  .home-page .project-tile.with-photo .project-image { min-height: 0; }
  .home-page .project-kucoin.with-photo { grid-template-rows: 300px auto; }
  .home-page .project-kucoin.with-photo .case-media figcaption { height: 55px; }
  .home-page .project-tile.with-photo .project-heading { grid-template-columns: 42px minmax(0,1fr); }
  .home-page .project-tile.with-photo .project-heading .brand-icon { width: 42px; height: 54px; }
  .home-page .project-tile.with-photo .project-heading h2 { font-size: 23px; }
  .home-page .project-kucoin.with-photo .project-heading h2 { font-size: 33px; }
  .home-page .project-tile.with-photo .project-body > p { font-size: 14px; }
  .home-page .project-kite .project-body > p { font-size: 16px; }
  .home-page .project-kite .project-heading h2 { font-size: 25px; }
  .home-page .person-tile h2 { font-size: 35px; }
  .home-page .scope-tile h2 { font-size: 24px; }
  .home-page .b-field .contact-tile h2 { font-size: 42px; }
}
@media (max-width:370px) {
  .home-page .b-masthead .masthead-link { flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; }
}
