/* ═══════════════════════════════════════
   HERO
═══════════════════════════════════════ */

.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.hero__media-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero__media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 30%;
  filter: grayscale(0%);
  transform-origin: center;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    rgba(10,8,6,0.90) 0%,
    rgba(10,8,6,0.78) 38%,
    rgba(10,8,6,0.22) 62%,
    rgba(10,8,6,0.04) 100%
  );
}

.hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: calc(var(--nav-height) + var(--space-16));
  padding-bottom: var(--space-24);
  gap: var(--space-16);
}

.hero__text {
  max-width: 680px;
}

.hero__eyebrow {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent-300);
  margin-bottom: var(--space-5);
  animation: fadeUp 0.8s var(--ease-out) both;
  animation-delay: 0.1s;
}

.hero__title {
  font-family: var(--font-display);
  font-size: clamp(3rem, 7vw, 5.5rem);
  font-weight: 300;
  color: var(--neutral-0);
  line-height: 1.05;
  letter-spacing: -0.02em;
  animation: fadeUp 0.9s var(--ease-out) both;
  animation-delay: 0.2s;
}

.hero__title em {
  font-style: italic;
  color: var(--accent-300);
  display: block;
}

.hero__subtitle {
  font-size: var(--text-lg);
  font-weight: 400;
  color: rgba(245,242,236,0.82);
  line-height: 1.7;
  margin-top: var(--space-6);
  max-width: 520px;
  animation: fadeUp 1s var(--ease-out) both;
  animation-delay: 0.35s;
}

.hero__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-8);
  flex-wrap: wrap;
  animation: fadeUp 1s var(--ease-out) both;
  animation-delay: 0.5s;
}

/* Credentials bar inside hero */
.hero__credentials {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  padding: var(--space-5) var(--space-8);
  border: 1px solid rgba(255,255,255,0.12);
  background-color: rgba(26,26,26,0.5);
  backdrop-filter: blur(8px);
  width: fit-content;
  animation: fadeUp 1s var(--ease-out) both;
  animation-delay: 0.65s;
}

.hero__cred-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hero__cred-value {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 500;
  color: var(--neutral-0);
  letter-spacing: 0.02em;
}

.hero__cred-label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent-300);
}

.hero__cred-divider {
  width: 1px;
  height: 36px;
  background-color: rgba(255,255,255,0.15);
}

/* Scroll cue */
.hero__scroll-cue {
  position: absolute;
  bottom: var(--space-8);
  right: var(--space-8);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  z-index: 1;
}

.hero__scroll-dot {
  animation: scrollBounce 1.6s var(--ease-in-out) infinite;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scrollBounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(8px); }
}

@media (max-width: 768px) {
  .hero__credentials {
    gap: var(--space-5);
    padding: var(--space-4) var(--space-5);
  }

  .hero__cred-divider {
    height: 28px;
  }

  .hero__scroll-cue {
    display: none;
  }
}

/* ═══════════════════════════════════════
   SPECIALTIES SECTION
═══════════════════════════════════════ */

.specialties {
  background-color: var(--neutral-50);
}

.specialties__header {
  margin-bottom: var(--space-12);
  max-width: 560px;
}

.specialties__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
}

.specialty-card--featured {
  transform: translateY(calc(-1 * var(--space-8)));
}

@media (max-width: 960px) {
  .specialties__grid {
    grid-template-columns: 1fr;
    max-width: 480px;
  }
}

/* ═══════════════════════════════════════
   ABOUT PREVIEW
═══════════════════════════════════════ */

.about-preview {
  background-color: var(--neutral-0);
}

.about-preview__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-20);
  align-items: center;
}

.about-preview__visual {
  position: relative;
}

.about-preview__image-wrap {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
}

.about-preview__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform var(--duration-slower) var(--ease-smooth);
}

.about-preview__image-wrap:hover img {
  transform: scale(1.03);
}

.about-preview__badge {
  position: absolute;
  bottom: calc(-1 * var(--space-6));
  right: calc(-1 * var(--space-6));
  background-color: var(--primary-900);
  padding: var(--space-6) var(--space-8);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  z-index: 1;
  border-top: 2px solid var(--accent-500);
}

.about-preview__badge-value {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 500;
  color: var(--accent-300);
  line-height: 1;
}

.about-preview__badge-label {
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--neutral-400);
}

.about-preview__text {
  font-size: var(--text-base);
  color: var(--primary-700);
  line-height: 1.75;
  margin-bottom: var(--space-4);
}

.about-preview__credentials {
  display: flex;
  gap: var(--space-6);
  flex-wrap: wrap;
  margin-block: var(--space-8);
}

.about-preview__cred-code {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  color: var(--neutral-500);
  border: 1px solid var(--neutral-300);
  padding: var(--space-2) var(--space-3);
}

@media (max-width: 960px) {
  .about-preview__grid {
    grid-template-columns: 1fr;
    gap: var(--space-12);
  }

  .about-preview__visual {
    max-width: 480px;
  }

  .about-preview__badge {
    bottom: var(--space-4);
    right: var(--space-4);
  }
}

/* ═══════════════════════════════════════
   STATS SECTION
═══════════════════════════════════════ */

.stats-section {
  padding-block: 0;
}

/* ═══════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════ */

.testimonials {
  background-color: var(--neutral-50);
}

.testimonials__header {
  margin-bottom: var(--space-12);
}

.testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
}

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

/* ═══════════════════════════════════════
   LOCATIONS PREVIEW
═══════════════════════════════════════ */

.locations-preview {
  background-color: var(--neutral-0);
}

.locations-preview__header {
  margin-bottom: var(--space-12);
}

.locations-preview__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
  margin-bottom: var(--space-10);
}

.locations-preview__cta {
  text-align: center;
}

@media (max-width: 960px) {
  .locations-preview__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .locations-preview__grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════
   CTA FINAL
═══════════════════════════════════════ */

.cta-final {
  background-color: var(--primary-900);
  padding-block: var(--space-24);
  position: relative;
  overflow: hidden;
}

.cta-final::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(135deg, transparent 0%, rgba(197,165,114,0.08) 100%);
  pointer-events: none;
}

.cta-final__content {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--space-16);
}

.cta-final__eyebrow {
  font-family: var(--font-impact);
  font-size: var(--text-base);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent-300);
  margin-bottom: var(--space-5);
}

.cta-final__title {
  font-family: var(--font-display);
  font-size: var(--text-6xl);
  font-weight: 300;
  color: var(--neutral-0);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.cta-final__title em {
  font-style: italic;
  color: var(--accent-300);
}

.cta-final__subtitle {
  font-size: var(--text-lg);
  font-weight: 400;
  color: rgba(245,242,236,0.78);
  line-height: 1.7;
  margin-top: var(--space-5);
  max-width: 460px;
}

.cta-final__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  flex-shrink: 0;
}

.cta-final__note {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.3);
  text-align: center;
}

@media (max-width: 960px) {
  .cta-final__content {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .cta-final__title {
    font-size: var(--text-4xl);
  }

  .cta-final__subtitle {
    margin-inline: auto;
  }

  .cta-final__action {
    width: 100%;
  }

  .btn--whatsapp {
    width: 100%;
    justify-content: center;
  }
}
