/* ============================================
   FuseIoT — About Section
   Headline, device mockup, body text, stats
   Ref: 05-about-statement-section.md
   ============================================ */

/* --- Section --- */
.about {
  background: var(--bg-alternate);
  padding-top: var(--section-gap-large);
  padding-bottom: var(--section-gap-large);
  position: relative;
  overflow: hidden;
}

/* --- Inner --- */
.about__inner {
  position: relative;
}

/* --- Headline wrapper --- */
.about__headline-wrap {
  position: relative;
  z-index: var(--z-content, 30);
  margin-bottom: 48px;
}

/* --- Headline --- */
.about__headline {
  font-size: clamp(3rem, 8.5vw, 10.8rem);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 0.95;
  color: var(--text-primary);
}

/* --- Green SVG Curve --- */
.about__curve {
  position: absolute;
  inset: 0;
  z-index: var(--z-curves, 20);
  pointer-events: none;
  width: 100%;
  height: 100%;
}

.about__curve-path {
  /* will-change removed — GPU layers auto-promoted during animation */
}

/* --- Layout (twin stage on top, story text below) --- */
.about__inner {
  display: flex;
  flex-direction: column;
}

/* --- Digital Twin Stage placement ---
   Stage chrome/HUD styles live in css/digital-twin.css; here we only place
   the stage inside the section. Entrance animation: base.css (.about__twin).
   Parallax: GSAP on the child .dt-stage (js/animations.js). */
.about__twin {
  position: relative;
  z-index: var(--z-content, 30);
  margin-bottom: 64px;
}

/* --- Body text: 2 columns on wide screens ---
   Escopado com o modificador --columns: a seção #resultados reusa
   .about__body-wrap com um único parágrafo e deve continuar fluida. */
@media (min-width: 1024px) {
  .about__body-wrap--columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 5vw;
    align-items: start;
  }

  .about__body-wrap--columns .about__body {
    margin-bottom: 0;
  }
}

/* --- Body Text --- */
.about__body-wrap {
  position: relative;
  z-index: var(--z-content, 30);
}

.about__body {
  font-size: clamp(1rem, 1.1vw, 1.125rem);
  font-weight: 400;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
}

/* --- Stats Row --- */
.about__stats {
  display: flex;
  gap: 40px;
  margin-top: 48px;
  position: relative;
  z-index: var(--z-content, 30);
}

.about__stat {
  display: flex;
  flex-direction: column;
}

.about__stat-number {
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 400;
  color: var(--text-primary);
  line-height: 1;
  letter-spacing: -0.02em;
}

.about__stat-label {
  margin-top: 8px;
}
