:root {
  --v39-contact-start: #c5cec4;
  --v39-contact-end: #aab8ad;
  --v39-contact-ink: #111a18;
  --v39-contact-blue: #173fae;
  --v39-contact-line: rgba(17, 26, 24, .34);
}

/* The sound system is gesture-driven; no visual switch is part of the interface. */
.sound-toggle {
  display: none !important;
}

/* Keep the user-supplied portrait artwork fully visible in the internship card. */
.home-page--v39 .internship-v31__visual {
  align-items: start;
}

.home-page--v39 .internship-v31__visual figure {
  align-self: start;
}

.home-page--v39 .internship-v31__visual figure > a {
  grid-template-rows: auto auto;
  height: auto;
}

.home-page--v39 .internship-v31__visual--sustainable > a {
  grid-template-rows: auto auto;
}

.home-page--v39 .internship-v31__visual--sustainable img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  object-position: center;
  background: #d2d2d2;
}

.home-page--v39 .internship-v38__sustainable-note {
  display: none;
}

/* A denser final chapter replaces the previous full-viewport blank field. */
.home-page--v39 .contact-intro-v28 {
  position: relative;
  isolation: isolate;
  display: block;
  min-height: 0;
  overflow: hidden;
  color: var(--v39-contact-ink);
  border-top: 1px solid rgba(17, 26, 24, .18);
  background:
    radial-gradient(circle at 14% 18%, rgba(255, 255, 255, .38), transparent 31%),
    linear-gradient(132deg, var(--v39-contact-start), var(--v39-contact-end));
}

.home-page--v39 .contact-intro-v28::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .28;
  background-image:
    linear-gradient(rgba(17, 26, 24, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 26, 24, .12) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 40%, #000 100%);
  content: "";
}

.home-page--v39 .contact-intro-v28__grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(48px, 7vw, 112px);
  align-items: start;
  padding-block: clamp(88px, 9vw, 132px) clamp(48px, 5vw, 72px);
}

.home-page--v39 .contact-intro-v28__lead {
  align-self: start;
  padding-top: 8px;
}

.home-page--v39 .contact-intro-v28__lead .eyebrow,
.home-page--v39 .contact-intro-v28__links span {
  color: var(--v39-contact-blue);
}

.home-page--v39 .contact-intro-v28__lead > p:last-child {
  max-width: 34em;
  color: rgba(17, 26, 24, .76);
  font-size: clamp(16px, 1.2vw, 19px);
}

.home-page--v39 .contact-intro-v28__links {
  align-content: start;
  border-top: 2px solid var(--v39-contact-ink);
  background: rgba(244, 247, 241, .18);
  box-shadow: 0 24px 64px rgba(39, 55, 46, .08);
}

.home-page--v39 .contact-intro-v28__links a {
  min-height: 96px;
  padding: 18px 14px;
  border-bottom-color: var(--v39-contact-line);
}

.home-page--v39 .contact-intro-v28__links a:is(:hover, :focus-visible) {
  padding-inline: 22px;
  background: rgba(255, 255, 255, .48);
  outline-color: var(--v39-contact-ink);
}

.home-page--v39 .contact-intro-v39__closing {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: clamp(4px, 1vw, 14px);
  padding-top: 20px;
  border-top: 1px solid var(--v39-contact-line);
  color: rgba(17, 26, 24, .72);
  font: 800 .72rem/1.5 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .11em;
}

@media (max-width: 920px) {
  .home-page--v39 .contact-intro-v28__grid {
    grid-template-columns: 1fr;
    gap: 52px;
  }
}

@media (max-width: 620px) {
  .home-page--v39 .contact-intro-v28::before {
    background-size: 48px 48px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 42%, #000 100%);
  }

  .home-page--v39 .contact-intro-v28__grid {
    gap: 42px;
    padding-block: 68px 38px;
  }

  .home-page--v39 .contact-intro-v28__links a {
    min-height: 116px;
    padding-inline: 0;
  }

  .home-page--v39 .contact-intro-v28__links a:is(:hover, :focus-visible) {
    padding-inline: 12px;
  }

  .home-page--v39 .contact-intro-v39__closing {
    flex-direction: column;
    gap: 8px;
    font-size: .66rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page--v39 .contact-intro-v28__links a {
    transition: none;
  }
}
