.hero {
  position: relative;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--space-10);
  align-items: center;
}

.hero-content {
  max-width: 640px;
}

.hero-lead {
  font-size: var(--font-size-lg);
  color: var(--color-gray-100, var(--color-text));
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.hero-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.hero-meta-item p {
  margin-bottom: 0;
}

.hero-image-wrapper {
  position: relative;
  max-width: 480px;
  justify-self: center;
}

.hero-image-glow {
  position: absolute;
  inset: 10%;
  border-radius: 32px;
  background: radial-gradient(circle at top, rgba(249,115,22,0.4), transparent 70%);
  filter: blur(18px);
  opacity: 0.7;
}

.hero-image {
  position: relative;
  border-radius: 32px;
  box-shadow: var(--shadow-strong);
  border: 1px solid rgba(148,163,184,0.35);
}

.section-header {
  max-width: 720px;
}

.section-header-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.section-header-center p {
  margin-left: auto;
  margin-right: auto;
}

.section-highlight-grid {
  align-items: center;
  gap: var(--space-10);
}

.section-image-wrapper {
  position: relative;
  max-width: 520px;
  justify-self: center;
}

.section-image-glow {
  position: absolute;
  inset: 10%;
  border-radius: 28px;
  background: radial-gradient(circle at top, rgba(249,115,22,0.45), transparent 70%);
  filter: blur(20px);
  opacity: 0.8;
}

.section-image {
  position: relative;
  border-radius: 28px;
  box-shadow: var(--shadow-strong);
  border: 1px solid rgba(148,163,184,0.35);
}

.chips-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.section-cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.services-grid .card-list,
.community-mission .card-list,
.pricing-card .card-list,
.cases-grid .card-list,
.benefit-card .card-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-3);
  margin-bottom: var(--space-3);
  font-size: var(--font-size-sm);
}

.card-list li::before {
  content: "•";
  color: var(--color-primary);
  margin-right: 0.4rem;
}

.card-list li {
  display: flex;
  align-items: flex-start;
}

.section-community {
  background: radial-gradient(circle at top, rgba(15,23,42,0.85), #020617 70%);
}

.community-grid {
  align-items: flex-start;
  gap: var(--space-8);
}

.community-highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.community-item p {
  margin-bottom: 0;
}

.gallery-container {
  text-align: center;
}

.gallery-main {
  position: relative;
  max-width: 880px;
  margin: var(--space-8) auto var(--space-4);
}

.gallery-glow {
  position: absolute;
  inset: 12%;
  border-radius: 32px;
  background: radial-gradient(circle at top, rgba(249,115,22,0.35), transparent 75%);
  filter: blur(22px);
}

.gallery-image {
  position: relative;
  border-radius: 32px;
  border: 1px solid rgba(148,163,184,0.35);
  box-shadow: var(--shadow-strong);
}

.gallery-cta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.testimonials-grid {
  align-items: stretch;
}

.testimonial-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.testimonial-text {
  font-style: italic;
}

.testimonial-author {
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.benefits-grid,
.pricing-grid,
.cases-grid {
  align-items: stretch;
}

.faq-container {
  max-width: 880px;
}

.faq-grid {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.faq-item {
  border-radius: var(--radius-lg);
  border: 1px solid rgba(148,163,184,0.28);
  background-color: rgba(15,23,42,0.95);
  padding: var(--space-4);
}

.faq-question {
  list-style: none;
  cursor: pointer;
  font-weight: 500;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-item[open] {
  border-color: rgba(249,115,22,0.7);
  box-shadow: var(--shadow-soft);
}

.faq-answer {
  margin-top: var(--space-3);
}

.pricing-card .card-meta {
  color: var(--color-primary);
}

.section-cta-final {
  border-top: 1px solid rgba(31,41,55,0.8);
  border-bottom: 1px solid rgba(31,41,55,0.8);
  background: radial-gradient(circle at top, rgba(249,115,22,0.14), #020617 70%);
}

.final-cta-container {
  text-align: center;
  max-width: 760px;
}

.final-cta-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

@media (max-width: 992px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-image-wrapper {
    order: -1;
  }

  .hero-meta {
    grid-template-columns: 1fr;
  }

  .section-highlight-grid {
    grid-template-columns: 1fr;
  }

  .community-grid {
    grid-template-columns: 1fr;
  }

  .community-highlights {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .hero-actions,
  .section-cta,
  .gallery-cta,
  .final-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero,
  .section-highlight,
  .section-community,
  .section-gallery,
  .section-testimonials,
  .section-benefits,
  .section-faq,
  .section-pricing,
  .section-cases,
  .section-cta-final {
    text-align: left;
  }

  .section-header-center {
    text-align: left;
  }
}
