/* Restore the center homepage photo's hover zoom */
.home .selected [data-image="updated-chess"] .picture img {
  transform: scale(1) !important;
}

.home .selected [data-image="updated-chess"]:hover .picture img {
  transform: scale(1.025) !important;
}

/* Two portrait videos per row on mobile */
@media (max-width: 900px) {
  .video-social .sound-projects-portrait {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

/* Fit the showreel precisely inside its frame */
.video-player .watch-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.video-player .watch-frame iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Center “Wrapped in light” on mobile */
@media (max-width: 760px) {
  .photo-grid [data-image="updated-bow"] {
    grid-column: 1 / -1;
    width: calc((100% - 12px) / 2);
    justify-self: center;
  }
}

/* Audio: two portrait videos per row on mobile */
@media (max-width: 760px) {
  .audio-intro .sound-projects-portrait {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  /* Center the final video when the total is odd */
  .audio-intro .sound-projects-portrait
  > .sound-frame:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc((100% - 16px) / 2);
    justify-self: center;
  }
}

/* Design: two graphics per row on mobile */
@media (max-width: 760px) {
  .design-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 16px;
  }

  .design-gallery .project-caption h3 {
    font-size: 16px;
  }
}

/* About page: a more connected mobile introduction */
@media (max-width: 760px) {
  .page-template-template-about-php .intro-row > p {
    max-width: 19ch;
    margin: 22px 0 0;
    text-align: left;
    line-height: 1.55;
  }

  .page-template-template-about-php .intro-row > p br {
    display: block;
  }

  .page-template-template-about-php .page-intro {
    padding-bottom: 28px;
  }
}

/* Design page: restore the intended mobile line break */
@media (max-width: 760px) {
  .page-template-template-graphic-design-php .intro-row > p br {
    display: block;
  }
}

@media (max-width: 760px) {
  /* Restore intentional breaks in page introductions */
  #main .page-intro .intro-row > p br {
    display: block;
  }

  /* Balance short descriptions and project titles */
  #main .page-intro .intro-row > p,
  #main .section-heading > p,
  #main .project-caption h3 {
    text-wrap: balance;
  }

  /* Reduce isolated final words in longer paragraphs */
  #main .article-body p,
  #main .audio-project-notes p,
  #main .video-project-notes p {
    text-wrap: pretty;
  }
}

/* Reduce space after the Design and Writing introductions */
@media (max-width: 760px) {
  .page-template-template-graphic-design-php .page-intro,
  .blog .page-intro {
    padding-bottom: 20px;
  }

  .page-template-template-graphic-design-php .design-ads,
  .blog .writing-feature {
    padding-top: 12px;
  }
}

/* About page: give the heading more breathing room */
@media (max-width: 760px) {
  .about-main {
    row-gap: 42px;
  }

  .about-main .studio-heading + p {
    margin-top: 36px;
  }
}

/* Slightly smaller project descriptions on mobile */
@media (max-width: 760px) {
  .video-project-notes p,
  .audio-project-notes p {
    font-size: 15px;
    line-height: 1.75;
  }
}

/* Center project descriptions on mobile */
@media (max-width: 760px) {
  .video-project-notes,
  .audio-project-notes {
    text-align: center;
  }
}

@media (max-width: 760px) {
  /* Match the audio heading to the video page */
  .audio-intro > .section-heading > h2 {
    font-size: 32px;
    line-height: 1.12;
    letter-spacing: -1.2px;
    white-space: normal;
    text-wrap: balance;
  }

  /* Smaller, left-aligned descriptions on both pages */
  .video-project-notes,
  .audio-project-notes {
    width: 100%;
    text-align: left;
  }

  .video-project-notes p,
  .audio-project-notes p {
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
    text-wrap: pretty;
    margin-bottom: 20px;
  }

  /* Consistent space between headings and descriptions */
  .video-project-overview,
  .audio-intro > .section-heading {
    gap: 24px;
  }
}

@media (max-width: 760px) {
  /* Consistent collection headings */
  #main .video-ad-projects > h3,
  #main .sound-for-picture > h3 {
    font-size: 32px;
    line-height: 1.12;
    letter-spacing: -1.2px;
    text-align: left;
    justify-self: start;
    margin: 0;
    text-wrap: balance;
  }

  /* Consistent collection descriptions */
  #main .video-ad-projects > p,
  #main .sound-for-picture > p {
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
    justify-self: start;
    width: 100%;
    margin: 0;
    text-wrap: pretty;
  }

@media (max-width: 760px) {
  /* Space above each headline */
  #main .video-ad-projects,
  #main .sound-for-picture {
    padding-top: 36px;
    padding-bottom: 0;
  }

  /* Extra space between the description and first videos */
  #main .video-ad-projects > p + .sound-projects,
  #main .sound-for-picture > p + .sound-projects {
    margin-top: 12px;
  }
}
	
	@media (max-width: 760px) {
  /* Section heading and description */
  #main .design-ads > .section-heading {
    text-align: left;
    margin-bottom: 20px;
  }

  #main .design-ads > .section-heading h2 {
    font-size: 32px;
    line-height: 1.12;
    letter-spacing: -1.2px;
  }

  #main .design-ads > .section-heading > p {
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
    margin-top: 16px;
    text-wrap: pretty;
  }

  /* Smaller instructions, closer to the gallery */
  #main .design-gallery-note {
    font-size: 12px;
    line-height: 1.6;
    margin: 0 0 24px;
    text-wrap: pretty;
  }

  /* Keep captions within their columns */
  #main .design-gallery .project-caption {
    width: 100%;
    min-width: 0;
    margin-top: 14px;
    gap: 8px;
    text-align: left;
  }

  #main .design-gallery .project-caption h3 {
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: -0.3px;
    white-space: normal;
    text-wrap: balance;
    min-height: 2.6em;
  }

  #main .design-gallery .project-caption > span {
    font-size: 9px;
    line-height: 1.5;
    letter-spacing: 0.4px;
    white-space: normal;
  }

  #main .design-formats {
    margin-top: 12px;
    gap: 6px;
  }

  #main .design-format {
    font-size: 11px;
    padding: 8px 10px;
  }
}
	
	/* About: match the space below the copy to the space above */
@media (max-width: 760px) {
  .about-main {
    padding-bottom: 36px;
  }

  .about-main .studio-copy > p:last-child {
    margin-bottom: 0;
  }
}
	
	@media (max-width: 760px) {
  /* Bring “Behind the work” closer to the reel */
  .video-advertising {
    padding-top: 40px;
  }

  /* More space between the body copy and crimson divider */
  .video-project-overview {
    margin-bottom: 40px;
  }
}
	
	/* Design: tighten the gap before the next divider */
@media (max-width: 760px) {
  .design-ads {
    padding-bottom: 20px;
  }

  .design-intro {
    padding-top: 12px;
  }
}
	
	@media (max-width: 760px) {
  .design-ads {
    padding-bottom: 28px;
  }

  .design-intro {
    padding-top: 16px;
  }

  .design-intro > .section-heading {
    padding-top: 32px;
  }
}
	
	}

/* Hide the duplicate About-page contact button */
#connect > .button {
  display: none;
}
	
	/* Hide the duplicate About-page contact button */
#connect > .button {
  display: none;
}

/* Add an arrow to the footer contact button */
footer .footer-contact {
  gap: 12px;
}

footer .footer-contact::after {
  content: "↗";
  font-size: 18px;
  line-height: 1;
}
	
	/* Hide the duplicate contact button on all screen sizes */
#connect > .button {
  display: none !important;
}

/* Keep the arrow on the footer button */
footer .footer-contact {
  gap: 12px;
}

footer .footer-contact::after {
  content: "↗";
  font-size: 18px;
  line-height: 1;
}
	
	/* Hide the duplicate contact button on all screen sizes */
#connect > .button {
  display: none !important;
}

/* Keep the arrow on the footer button */
footer .footer-contact {
  gap: 12px;
}

footer .footer-contact::after {
  content: "↗";
  font-size: 18px;
  line-height: 1;
}

/* Align the desktop contact text above the footer button */
@media (min-width: 761px) {
  #connect {
    text-align: right;
  }
}

/* Compact mobile video shortcuts */
@media (max-width: 760px) {
  #main #ij-video-shortcuts .ij-shortcuts-label {
    display: none;
  }

  #main #ij-video-shortcuts ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 12px;
    overflow-x: auto;
  }

  #main #ij-video-shortcuts li {
    flex: 0 0 auto;
  }

  #main #ij-video-shortcuts a {
    font-size: 11px;
    white-space: nowrap;
  }
}

/* Bring mobile shortcuts closer to the introduction */
@media (max-width: 760px) {
  .page-template-template-video-php .page-intro {
    padding-bottom: 20px;
  }
}

/* Cover small gaps around the homepage reel */
.home .reel {
  overflow: hidden;
}

.home #videoMount iframe {
  position: absolute;
  inset: -2px;
  width: calc(100% + 4px) !important;
  height: calc(100% + 4px) !important;
  max-width: none;
  display: block;
  border: 0;
}