/* =========================
   ABOUT PAGE - CLEAN STABLE VERSION
========================= */

.about-page {
  width: 100% !important;
  background: #ffffff !important;
  overflow: visible !important;
}

/* =========================
   HERO
========================= */

.about-hero {
  width: 100% !important;
  padding: 90px 48px 70px 48px !important;
  box-sizing: border-box !important;

  background:
    radial-gradient(circle at 18% 10%, rgba(120,220,205,0.38) 0%, rgba(120,220,205,0.10) 30%, rgba(120,220,205,0) 58%),
    radial-gradient(circle at 82% 12%, rgba(100,200,220,0.28) 0%, rgba(100,200,220,0.08) 28%, rgba(100,200,220,0) 56%),
    linear-gradient(180deg, #dff7f6 0%, #edfafa 48%, #ffffff 100%) !important;
}

.about-hero-inner {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* TITLE */
.about-title .elementor-heading-title,
.about-title h1,
.about-hero h1 {
  color: #17191c !important;
  font-size: clamp(52px, 5.5vw, 78px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.06em !important;
  text-transform: none !important;
  margin: 0 !important;
}

/* SUBTITLE */
.about-subtitle .elementor-widget-container,
.about-subtitle p {
  max-width: 760px !important;
  color: #2f373d !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  margin: 20px 0 0 0 !important;
}

/* META ROW */
.about-meta-row {
  width: 100% !important;
  margin-top: 44px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(20,40,45,0.10) !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

.about-meta-item,
.about-meta-item .elementor-widget,
.about-meta-item .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.about-meta-item p,
.about-meta-item .elementor-heading-title,
.about-meta-item .elementor-widget-container {
  color: #17191c !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================
   MISSION SECTION
========================= */

.about-mission-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 0 24px 96px 24px !important;
  box-sizing: border-box !important;

  background: #ffffff !important;
  overflow: visible !important;
}

.about-mission-band {
  width: 100% !important;
  max-width: none !important;
  min-height: 560px !important;
  margin: 0 auto !important;

  border-radius: 0 0 34px 34px !important;
  overflow: visible !important;
  position: relative !important;
  box-sizing: border-box !important;

  background:
    radial-gradient(circle at 74% 38%, rgba(120, 220, 205, 0.08) 0%, rgba(120, 220, 205, 0) 34%),
    radial-gradient(circle at 20% 84%, rgba(100, 200, 220, 0.055) 0%, rgba(100, 200, 220, 0) 36%),
    linear-gradient(135deg, #0f1115 0%, #14171c 58%, #101f24 100%) !important;
}

/* niente pseudo-elementi/decorazioni finché la sezione è stabile */
.about-mission-band::before,
.about-mission-band::after {
  content: none !important;
  display: none !important;
}

/* INNER */
.about-mission-inner {
  width: 100% !important;
  max-width: 1320px !important;
  min-height: 560px !important;
  margin: 0 auto !important;
  padding: 86px 72px 92px 72px !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 430px !important;
  align-items: center !important;
  gap: 120px !important;
}

/* =========================
   MISSION LEFT
========================= */

.about-mission-left {
  max-width: 680px !important;
  box-sizing: border-box !important;
}

.about-mission-left .elementor-widget,
.about-mission-left .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* OUR MISSION SMALL HEADING */
.our-mission .elementor-heading-title,
.our-mission h2,
.our-mission h3,
.our-mission p,
.about-mission-kicker .elementor-heading-title,
.about-mission-kicker p {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 20px 0 !important;
}

/* MISSION MAIN TITLE - STRONG GRADIENT TEXT */
.mission-gradient-title .elementor-heading-title,
.mission-gradient-title h1,
.mission-gradient-title h2,
.mission-gradient-title h3,
.mission-gradient-title p,
.mission-gradient-title span {
  max-width: 680px !important;
  margin: 0 !important;

  font-size: clamp(38px, 3.5vw, 56px) !important;
  font-weight: 600 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.045em !important;

  background: linear-gradient(
    120deg,
    #ffffff 0%,
    #ffffff 14%,
    #b8fff5 38%,
    #6fd4df 66%,
    #ffffff 100%
  ) !important;

  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* fallback */
.about-mission-title .elementor-heading-title,
.about-mission-title h2 {
  max-width: 680px !important;
  margin: 0 !important;
}

/* TEXT UNDER TITLE */
.about-mission-text {
  margin-top: 30px !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}

.about-mission-text p {
  max-width: 610px !important;
  color: rgba(255,255,255,0.78) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

.about-mission-small p {
  max-width: 610px !important;
  color: rgba(255,255,255,0.66) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  margin: 16px 0 0 0 !important;
}

/* =========================
   STATS CARD - STABLE VERSION
========================= */

.about-mission-right {
  width: 100% !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  overflow: visible !important;
}

.about-stats-wrap {
  position: relative !important;

  width: 100% !important;
  max-width: 390px !important;
  margin-left: auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;

  overflow: visible !important;
  box-sizing: border-box !important;
}

/* CARD PRINCIPALE */
.about-stats-card {
  position: relative !important;
  width: 100% !important;

  padding: 30px 34px 34px 34px !important;
  box-sizing: border-box !important;

  border-radius: 30px !important;
  overflow: hidden !important;

  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0) 42%),
    radial-gradient(circle at 82% 18%, rgba(120,220,205,0.14) 0%, rgba(120,220,205,0) 44%),
    radial-gradient(circle at 18% 88%, rgba(100,200,220,0.10) 0%, rgba(100,200,220,0) 48%),
    linear-gradient(180deg, #fcfdfd 0%, #f4f9f9 100%) !important;

  border: 1px solid rgba(20,40,45,0.06) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08) !important;
  z-index: 1 !important;

  clip-path: none !important;
}

/* elimina pseudo-elementi rotti */
.about-stats-card::before,
.about-stats-card::after {
  content: none !important;
  display: none !important;
}

/* ITEMS */
.about-stat-item {
  position: relative !important;
  z-index: 2 !important;

  margin: 0 !important;
  padding: 18px 0 18px 18px !important;

  border-bottom: 1px solid rgba(20,40,45,0.10) !important;
}

.about-stat-item:first-child {
  padding-top: 8px !important;
}

.about-stat-item:last-child {
  border-bottom: none !important;
  padding-bottom: 8px !important;
}

/* lineetta verticale a sinistra */
.about-stat-item::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 20px !important;
  width: 2px !important;
  height: 54px !important;
  background: rgba(20,40,45,0.08) !important;
  border-radius: 999px !important;
}

/* reset widget interni */
.about-stat-item .elementor-widget,
.about-stat-item .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* numero */
.about-stat-item .elementor-heading-title,
.about-stat-item h1,
.about-stat-item h2,
.about-stat-item h3,
.about-stat-item h4 {
  color: #17191c !important;
  font-size: 38px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  margin: 0 0 8px 0 !important;
}

/* descrizione */
.about-stat-item p,
.about-stat-item .elementor-widget-container p,
.about-stat-item .elementor-text-editor {
  color: #626b72 !important;
  font-size: 12.8px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  max-width: 250px !important;
}

/* BOTTONE SOTTO LA CARD */
.about-stats-button {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 5 !important;

  width: auto !important;
  margin: 14px 0 0 auto !important;
  padding: 0 !important;
}

.about-stats-button .elementor-widget-container,
.about-stats-button .elementor-button-wrapper {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.about-stats-button .elementor-button {
  min-height: 48px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: #2f343a !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 8px 18px rgba(0,0,0,0.14) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;

  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.about-stats-button .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.about-stats-button .elementor-button:hover {
  background: #3a4047 !important;
  color: #ffffff !important;
}

.about-hero {
  margin-top: -110px !important;
  padding-top: 200px !important;
  position: relative !important;
  z-index: 1 !important;
}

.about-page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}