/* Able About section (ported from Next.js) */
.able-about-section {
  position: relative;
}

.able-about-section .aboutContent {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(24px, 3cqw, 64px);
  text-align: left;
  box-sizing: border-box;
  container-type: inline-size;
}

.able-about-section .eyebrowParent {
  flex: 0 0 auto;
  width: clamp(280px, 39.3cqw, 580px);
  border-radius: 0 0 clamp(12px, 1.43cqw, 24px) 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(24px, 3.8cqw, 64px);
}

.able-about-section .imageIcon {
  position: relative;
  object-fit: cover;
  width: clamp(435px, 50vw, 915px);
  height: clamp(268.4px, 40vw + 50px, 774px);
  border-radius: clamp(12px, 1vw + 6px, 24px);
}

.able-about-section .imageContainer {
  position: relative;
  flex: 0 0 auto;
  width: clamp(345px, 50vw, 915px);
  height: clamp(268.4px, 40vw + 50px, 774px);
}

.able-about-section .heading {
  position: relative;
  font-size: clamp(22px, 2.5vw + 1rem, 48px);
  letter-spacing: -0.03em;
  text-transform: capitalize;
  font-weight: 500;
  font-family: 'P22 Mackinac Pro';
  color: #333f5b;
  text-align: left;
  display: flex;
  align-items: center;
  margin: 0;
  line-height: initial;
}

.able-about-section .subheadingParent {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 80px;
  font-size: clamp(15px, 1vw + 0.5rem, 20px);
  color: #6d717b;
}

.able-about-section .aboutSubheading {
  align-self: stretch;
  letter-spacing: clamp(-0.02em, -0.025em, -0.03em);
  line-height: 150%;
  font-family: 'Avenir Next';
}

.able-about-section .aboutSubheading p {
    margin-top: 0px;
}

.able-about-section .aboutSubheading p:last-child {
    margin-bottom: 0px;
}

.able-about-section .foundedBySeasonedInvestorF {
  margin-block-start: 0;
  margin-block-end: 5px;
}

.able-about-section .foundedBySeasoned {
  font-weight: 500;
  font-family: 'Avenir Next';
  color: #6d717b;
}

.able-about-section .fredMartin {
  font-family: 'Avenir Next';
  color: #3495ff;
}

.able-about-section .yearsObjectiveMeasure {
  font-weight: 500;
}

.able-about-section .blankLine {
  margin-block-start: 0;
  margin-block-end: 5px;
  font-weight: 500;
}

.able-about-section .ourBoldGoalEmpower20Mill {
  margin: 0;
}

.able-about-section .ourBoldGoal {
  font-family: 'Avenir Next';
  color: #f37f54;
}

.able-about-section .learnMore {
  display: flex;
  align-items: center;
}

/* Learn more button (matches Next.js structure) */
.able-about-section .learn-more-button_button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: none;
  background: transparent;
  color: #3495ff;
  font-family: 'PP Neue Montreal', sans-serif;
  font-size: 16px;
  font-weight: 500;
  padding: 0;
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
}

.able-about-section .learn-more-button_button:hover {
  color: #e97c4a;
  transform: translateX(2px);
}

.able-about-section .learn-more-button_exploreOurResources {
  letter-spacing: -0.01em;
  line-height: 150%;
}

.able-about-section .learn-more-button_solararrowRightLinearIcon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.able-about-section .learn-more-button_button:hover .learn-more-button_solararrowRightLinearIcon {
  transform: translateX(4px);
}

/* Quote overlay */
.able-about-section .quoteCard {
  position: absolute;
  bottom: clamp(12px, 2vw, 32px);
  left: clamp(12px, 2vw, 32px);
  right: clamp(12px, 2vw, 32px);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: clamp(8px, 1vw, 12px);
  padding: clamp(16px, 3vw, 24px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 2vw, 16px);
  max-width: 400px;
}

.able-about-section .quote {
  margin: 0;
  font-family: 'P22 Mackinac Pro';
  font-size: clamp(16px, 2vw + 0.5rem, 26px);
  font-weight: 500;
  line-height: 1.4;
  color: #333f5b;
  letter-spacing: -0.01em;
}

.able-about-section .attribution {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.able-about-section .authorName {
  font-family: 'Avenir Next';
  font-size: clamp(14px, 1.5vw + 0.25rem, 24px);
  font-weight: 600;
  color: #3495ff;
  line-height: 1.2;
}

.able-about-section .authorTitle {
  font-family: 'Avenir Next';
  font-size: clamp(12px, 1.2vw + 0.2rem, 14px);
  font-weight: 400;
  color: #6d717b;
  line-height: 1.2;
}

@media (min-width: 481px) and (max-width: 1024px) {
  .able-about-section .aboutContent {
    gap: clamp(32px, 4vw, 48px);
  }

  .able-about-section .eyebrowParent {
    width: 100%;
    max-width: 580px;
    gap: clamp(32px, 4vw, 48px);
  }

  .able-about-section .heading {
    font-size: clamp(32px, 4vw + 1rem, 42px);
    line-height: 1.2;
    letter-spacing: -0.02em;
  }

  .able-about-section .subheadingParent {
    gap: clamp(40px, 6vw, 60px);
    max-width: 500px;
    font-size: clamp(17px, 2vw + 0.5rem, 22px);
  }

  .able-about-section .aboutSubheading {
    line-height: 1.6;
    letter-spacing: -0.015em;
    font-size: clamp(17px, 2vw + 0.5rem, 22px);
  }

  .able-about-section .foundedBySeasonedInvestorF,
  .able-about-section .ourBoldGoalEmpower20Mill {
    margin-bottom: clamp(12px, 2vw, 16px);
  }

  .able-about-section .imageContainer {
    width: 100%;
    max-width: 600px;
    height: clamp(468.4px, 40vw + 50px, 774px);
    aspect-ratio: 915 / 774;
  }

  .able-about-section .imageIcon {
    width: 100%;
    height: 100%;
  }

  .able-about-section .quoteCard {
    bottom: clamp(16px, 2.5vw, 24px);
    left: clamp(16px, 2.5vw, 24px);
    right: clamp(16px, 2.5vw, 24px);
    padding: clamp(20px, 3.5vw, 28px);
    max-width: 450px;
    border-radius: clamp(10px, 1.2vw, 14px);
  }

  .able-about-section .quote {
    font-size: clamp(18px, 2.2vw + 0.5rem, 22px);
  }

  .able-about-section .authorName {
    font-size: clamp(15px, 1.8vw + 0.25rem, 17px);
  }

  .able-about-section .authorTitle {
    font-size: clamp(13px, 1.4vw + 0.2rem, 15px);
  }
}

@media (max-width: 1024px) {
  .able-about-section .aboutContent {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    font-family: 'Avenir Next';
  }

  .able-about-section .eyebrowParent {
    display: contents;
  }

  .able-about-section .subheadingParent {
    display: contents;
  }

  .able-about-section .eyebrow { order: 1; }
  .able-about-section .heading {
    order: 2;
    margin-bottom: clamp(16px, 3vw, 24px);
  }
  .able-about-section .aboutSubheading {
    order: 3;
    margin-bottom: clamp(24px, 4vw, 32px);
  }
  .able-about-section .subheadingParent > :last-child {
    order: 4;
    justify-self: left;
  }
  .able-about-section .imageContainer {
    order: 5;
    width: 100%;
    height: auto;
    aspect-ratio: 915 / 774;
    max-width: none;
  }
}

@media (max-width: 480px) {
  .able-about-section .aboutContent {
    gap: clamp(20px, 5vw, 32px);
  }

  .able-about-section .eyebrowParent {
    gap: clamp(20px, 5vw, 32px);
  }

  .able-about-section .subheadingParent {
    gap: clamp(32px, 8vw, 48px);
  }

  .able-about-section .heading {
    font-size: clamp(24px, 6vw, 32px);
    line-height: 1.3;
    letter-spacing: -0.015em;
    margin-bottom: 16px;
  }

  .able-about-section .imageContainer {
    width: 100%;
    height: clamp(360px, 55vw, 280px);
    max-width: 100%;
    aspect-ratio: 4/3;
  }

  .able-about-section .imageIcon {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: clamp(8px, 2vw, 12px);
  }

  .able-about-section .aboutSubheading {
    font-size: clamp(15px, 4vw, 18px);
    line-height: 1.5;
    margin-bottom: 20px;
  }

  .able-about-section .foundedBySeasonedInvestorF,
  .able-about-section .ourBoldGoalEmpower20Mill {
    margin-bottom: 10px;
  }

  .able-about-section .quoteCard {
    margin-top: 16px;
    max-width: none;
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    padding: clamp(16px, 4vw, 20px);
    border-radius: clamp(8px, 2vw, 12px);
  }

  .able-about-section .quote {
    font-size: clamp(16px, 4vw, 18px);
  }

  .able-about-section .authorName {
    font-size: clamp(14px, 3.5vw, 16px);
  }

  .able-about-section .authorTitle {
    font-size: clamp(12px, 3vw, 14px);
  }
}

@media (max-width: 375px) {
  .able-about-section .imageContainer {
    height: clamp(360px, 50vw, 240px);
    aspect-ratio: 16/11;
  }

  .able-about-section .heading {
    font-size: clamp(22px, 5.5vw, 28px);
  }
}
