/* About page specific styles. Assumes base styles from style.css exist. */

.vx-about-hero {
  position: relative;
  min-height: 60vh;
  background-image: url('../img/about-hero.jpg');
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: stretch;
  color: #f9fafb;
}

.vx-about-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(15, 23, 42, 0.85), rgba(15, 23, 42, 0.96)),
    radial-gradient(circle at top left, rgba(248, 250, 252, 0.12), transparent 55%);
}

.vx-about-inner {
  position: relative;
  z-index: 1;
  padding: 4.2rem 1.5rem 3.2rem;
  display: flex;
  align-items: center;
}

.vx-about-copy {
  max-width: 680px;
}

.vx-about-copy h1 {
  font-size: 2.6rem;
  margin-bottom: 1rem;
}

.vx-about-copy p {
  margin-bottom: 0.85rem;
  font-size: 0.98rem;
}

/* About content grid */

.vx-about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  font-size: 0.96rem;
}

/* Reuse existing list style but ensure spacing here */

.vx-list {
  list-style: none;
  margin-top: 0.5rem;
  padding-left: 0;
}

.vx-list li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.45rem;
}

.vx-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #f97316;
}

/* Contact call-to-action block */

.vx-about-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.8rem;
}

/* Responsive tweaks */

@media (max-width: 960px) {
  .vx-about-inner {
    padding-top: 4.4rem;
    padding-bottom: 2.8rem;
  }
  .vx-about-contact {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 720px) {
  .vx-about-copy h1 {
    font-size: 2.1rem;
  }
}
