/* Recruiter-focused homepage and contact-section refinements. */
@import url("/css/index-system-concept.css");

.contact-concept {
  position: relative;
  padding-top: clamp(3rem, 8vw, 8rem);
  padding-bottom: clamp(3rem, 7vw, 7rem);
  border-top: 1px solid #252525;
}

.contact-concept__intro {
  grid-column: 4 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 7rem);
  margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.contact-concept__context {
  grid-column: 1 / span 3;
  grid-row: 1;
}

.contact-concept h2.giant {
  grid-column: auto;
  max-width: 900px;
  margin: 0;
  font-size: clamp(64px, 8vw, 118px);
  letter-spacing: -0.055em;
}

.contact-concept__statement {
  max-width: 470px;
  margin: 0 0 0.5rem;
  font-size: clamp(18px, 1.55vw, 23px);
  line-height: 1.45;
}

.contact-actions {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1.15fr 0.925fr 0.925fr;
  gap: 1px;
  padding: 1px;
  background: #2d2d2d;
}

.contact-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: clamp(1.4rem, 2.5vw, 2.5rem);
  overflow: hidden;
  background: #070707;
  color: var(--white);
  text-decoration: none;
  transition: background 180ms ease, transform 180ms ease, opacity 180ms ease;
}

.contact-card--primary {
  background:
    radial-gradient(circle at 14% 18%, rgb(217 232 92 / 5%), transparent 34%),
    #080908;
}

.contact-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #d9e85c;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
}

.contact-card:hover,
.contact-card:focus-visible {
  background: #0d0e09;
  outline: none;
  transform: translateY(-3px);
}

.contact-card:hover::after,
.contact-card:focus-visible::after,
.contact-card--primary::after { transform: scaleX(1); }

.contact-actions:has(.contact-card:hover) .contact-card:not(:hover),
.contact-actions:has(.contact-card:focus-visible) .contact-card:not(:focus-visible) {
  opacity: 0.62;
}

.contact-actions:has(.contact-card:hover) .contact-card--primary:not(:hover)::after,
.contact-actions:has(.contact-card:focus-visible) .contact-card--primary:not(:focus-visible)::after {
  transform: scaleX(0);
}

.contact-actions:has(.contact-card:hover) .contact-card--primary:not(:hover),
.contact-actions:has(.contact-card:focus-visible) .contact-card--primary:not(:focus-visible) {
  background: #070707;
}

.contact-card__index,
.contact-card__action {
  font-family: "Space Grotesk", monospace;
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-card__index { color: #686868; }

.contact-card__title {
  max-width: 330px;
  margin: auto 0 1rem;
  color: var(--white);
  font-size: clamp(25px, 2.5vw, 38px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.contact-card__copy {
  max-width: 330px;
  color: #969696;
  font-size: 14px;
  line-height: 1.5;
}

.contact-card__action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid #292929;
  color: #d9e85c;
}

.contact-card__action i {
  font-size: 18px;
  font-style: normal;
  transition: transform 180ms ease;
}

.contact-card:hover .contact-card__action i,
.contact-card:focus-visible .contact-card__action i {
  transform: translate(3px, -3px);
}

@media (max-width: 767px) {
  .contact-concept__context {
    grid-column: auto;
    grid-row: auto;
    margin-bottom: 1.5rem;
  }

  .contact-concept__intro {
    grid-column: auto;
    display: block;
    margin-bottom: 2.5rem;
  }

  .contact-concept h2.giant {
    margin-bottom: 1.5rem;
    font-size: clamp(54px, 17vw, 72px);
  }

  .contact-actions {
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: 1fr;
  }

  .contact-card { min-height: 260px; }

  .contact-actions:has(.contact-card:hover) .contact-card:not(:hover),
  .contact-actions:has(.contact-card:focus-visible) .contact-card:not(:focus-visible) {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-card { transition: none; }
  .contact-card:hover,
  .contact-card:focus-visible { transform: none; }

  .contact-card__action i { transition: none; }
}
