/* About page — full-bleed hero (Elementor-style) + linear content */

.tga-about--linear {
  max-width: 100%;
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

/*
 * Hero is printed via astra_header_after, outside .ast-container,
 * so it can span the full viewport like Services/FCC heroes.
 */
.tga-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: none;
  min-height: 420px;
  margin: 0;
  padding: 0;
  background-color: #1a1a1a;
  background-image: var(--tga-hero-image);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

.tga-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

.tga-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 3.5rem 1.5rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tga-hero__title {
  margin: 0 auto !important;
  width: 100%;
  text-align: center !important;
  color: #ffffff !important;
  /* Match FCC hero heading (.elementor-element-1d5ae90) */
  font-family: 'DM Sans', sans-serif !important;
  font-size: 67px !important;
  font-weight: 400 !important;
  letter-spacing: -3px !important;
  line-height: 1.4em !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.tga-about--linear .tga-content {
  max-width: 1100px;
  margin: 2.5rem auto 0;
}

.tga-about--linear .tga-section {
  margin: 0 0 2.25rem;
}

.tga-about--linear .tga-section--projects > .tga-section {
  margin: 1.25rem 0 0;
}

.tga-about--linear .tga-h2 {
  margin: 0 0 1rem;
  color: var(--e-global-color-primary, var(--ast-global-color-0, #0170b9));
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.3;
}

.tga-about--linear .tga-h3 {
  margin: 0 0 0.75rem;
  color: var(--e-global-color-secondary, var(--ast-global-color-1, #3a3a3a));
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.35;
}

.tga-about--linear .tga-body {
  color: var(--e-global-color-text, var(--ast-global-color-3, #4b4f58));
}

.tga-about--linear .tga-body > *:first-child {
  margin-top: 0;
}

.tga-about--linear .tga-body > *:last-child {
  margin-bottom: 0;
}

.tga-about--linear .tga-body p {
  margin: 0 0 1em;
}

.tga-about--linear .tga-body ul,
.tga-about--linear .tga-body ol {
  margin: 0 0 1em;
  padding-left: 1.25em;
}

.tga-about--linear .tga-body li {
  margin: 0.35em 0;
}

.tga-about--linear .tga-body a {
  color: var(--e-global-color-primary, var(--ast-global-color-0, #0170b9));
}

.tga-about--linear .tga-body h1,
.tga-about--linear .tga-body h2,
.tga-about--linear .tga-body h3 {
  color: inherit;
  font-size: 1.1em;
  margin: 1em 0 0.5em;
}

.tga-about--linear .tga-error {
  margin: 0;
  padding: 0.75rem 1rem;
  border-left: 3px solid #c0392b;
  background: #fdf2f2;
  color: #8a1f1f;
}

@media (max-width: 1024px) {
  .tga-hero__title {
    font-size: 98px !important;
    letter-spacing: -2px !important;
  }
}

@media (max-width: 767px) {
  .tga-hero {
    min-height: 330px;
  }
  .tga-hero__inner {
    padding: 2.5rem 1rem;
  }
  .tga-hero__title {
    font-size: 72px !important;
    letter-spacing: -2px !important;
  }
}
