/* ============================================
   NEXUS IDEAS — SERVIÇOS
   Conceito iceberg — imersão progressiva
   Mobile First — código limpo
   ============================================ */

/* --- VARIÁVEIS LOCAIS --- */
.nexus-servicos {
    --etapa-1: #D26F38;
    --etapa-2: #AA5E35;
    --etapa-3: #482825;
    --etapa-4: #3A2020;
    --etapa-5: #352523;
  }
  
  /* ============================================
     HERO
     ============================================ */
  
  .servicos-hero {
    position: relative;
    min-height: 100svh;
    background-color: var(--nexus-laranja);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
  }
  
  /* Iceberg decorativo */
  .servicos-hero__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
  }
  
  .iceberg-shape {
    position: absolute;
    left: -5%;
    top: calc(var(--header-height) + 2rem);
    width: 55vw;
    max-width: 500px;
    opacity: 0.12;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .iceberg-top {
    width: 0;
    height: 0;
    border-left: 16vw solid transparent;
    border-right: 16vw solid transparent;
    border-bottom: 20vw solid #fff;
  }
  
  .iceberg-bottom {
    width: 0;
    height: 0;
    border-left: 26vw solid transparent;
    border-right: 26vw solid transparent;
    border-top: 38vw solid rgba(255,255,255,0.7);
  }
  
  .iceberg-reflection {
    width: 0;
    height: 0;
    border-left: 18vw solid transparent;
    border-right: 18vw solid transparent;
    border-top: 12vw solid rgba(255,255,255,0.25);
    transform: scaleY(-0.6);
    margin-top: 0.5rem;
  }
  
  /* Conteúdo do hero */
  .servicos-hero__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-top: calc(var(--header-height) + 3rem);
    padding-bottom: 4rem;
    display: flex;
    flex-direction: column;
    gap: 3rem;
  }
  
  .servicos-hero__conteudo {
    max-width: 680px;
  }
  
  .nexus-subtitulo--claro {
    color: rgba(255,255,255,0.65);
  }
  
  .servicos-hero__titulo {
    font-size: clamp(2.5rem, 8vw, 5.5rem);
    font-weight: 300;
    color: #fff;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 1rem 0 1.5rem;
  }
  
  .servicos-hero__texto {
    font-size: var(--texto-md);
    color: rgba(255,255,255,0.75);
    line-height: 1.7;
    max-width: 520px;
  }
  
  /* Scroll indicator */
  .servicos-hero__scroll {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  
  .servicos-hero__scroll span {
    font-family: var(--fonte-corpo);
    font-size: var(--texto-xs);
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
  }
  
  .servicos-hero__scroll-line {
    width: 1px;
    height: 56px;
    background: linear-gradient(to bottom, rgba(255,255,255,0.45), transparent);
    animation: scrollPulse 2.2s ease-in-out infinite;
  }
  
  @keyframes scrollPulse {
    0%, 100% { opacity: 1; transform: scaleY(1); }
    50%       { opacity: 0.3; transform: scaleY(0.5); }
  }
  
  /* ============================================
     ETAPAS
     ============================================ */
  
  .servicos-etapas {
    display: flex;
    flex-direction: column;
  }
  
  .servico-etapa {
    position: relative;
    padding: 5rem 0 7rem;
    overflow: hidden;
  }
  
  /* Cores por etapa */
  .servico-etapa[data-etapa="1"] { background-color: var(--etapa-1); }
  .servico-etapa[data-etapa="2"] { background-color: var(--etapa-2); }
  .servico-etapa[data-etapa="3"] { background-color: var(--etapa-3); }
  .servico-etapa[data-etapa="4"] { background-color: var(--etapa-4); }
  .servico-etapa[data-etapa="5"] { background-color: var(--etapa-5); }
  
  /* Onda de transição entre etapas */
  .servico-etapa__onda {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70px;
    overflow: hidden;
  }
  
  .servico-etapa__onda svg {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
  }
  
  /* Número gigante marca d'água */
  .servico-etapa__numero-bg {
    position: absolute;
    right: -0.05em;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--fonte-display);
    font-size: clamp(8rem, 22vw, 20rem);
    font-weight: 700;
    color: rgba(255,255,255,0.04);
    line-height: 1;
    letter-spacing: -0.05em;
    pointer-events: none;
    user-select: none;
  }
  
  /* Afunilamento progressivo */
  .servico-etapa[data-etapa="1"] .nexus-container { max-width: min(800px, 100%) }
  .servico-etapa[data-etapa="2"] .nexus-container { max-width: min(740px, 100%) }
  .servico-etapa[data-etapa="3"] .nexus-container { max-width: min(680px, 100%) }
  .servico-etapa[data-etapa="4"] .nexus-container { max-width: min(620px, 100%) }
  .servico-etapa[data-etapa="5"] .nexus-container { max-width: min(560px, 100%) }
  
  .servico-etapa__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
  }
  
  /* Header da etapa */
  .servico-etapa__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }
  
  .servico-etapa__categoria,
  .servico-etapa__num {
    font-family: var(--fonte-corpo);
    font-size: var(--texto-xs);
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  
  .servico-etapa__categoria { color: rgba(255,255,255,0.5); }
  .servico-etapa__num       { color: rgba(255,255,255,0.25); }
  
  /* Título */
  .servico-etapa__titulo {
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 300;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -0.01em;
    margin: 0;
  }
  
  /* Texto */
  .servico-etapa__texto {
    font-size: var(--texto-base);
    color: rgba(255,255,255,0.65);
    line-height: 1.8;
    max-width: none;
  }
  
  /* Entregas */
  .servico-etapa__entregas {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,0.1);
  }
  
  .servico-etapa__entregas li {
    position: relative;
    padding-left: 1.25rem;
    font-family: var(--fonte-corpo);
    font-size: var(--texto-sm);
    color: rgba(255,255,255,0.55);
    line-height: 1.5;
  }
  
  .servico-etapa__entregas li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: rgba(255,255,255,0.25);
  }
  
  /* Animação de entrada */
  .servico-etapa__conteudo {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 0.75s ease, transform 0.75s ease;
  }
  
  .servico-etapa__conteudo.visivel {
    opacity: 1;
    transform: translateY(0);
  }
  
  /* ============================================
     CTA FINAL
     ============================================ */
  
  .servicos-cta {
    background-color: var(--nexus-escuro);
    padding: 5rem 0;
  }
  
  .servicos-cta__inner {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  
  .servicos-cta__titulo {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 300;
    color: #fff;
    line-height: 1.15;
  }
  
  .servicos-cta__texto {
    font-size: var(--texto-base);
    color: rgba(255,255,255,0.55);
    line-height: 1.75;
    max-width: none;
  }
  
  .servicos-cta .nexus-btn-primario {
    background-color: var(--nexus-laranja);
    color: #fff;
  }
  
  .servicos-cta .nexus-btn-primario:hover {
    background-color: var(--nexus-terracota);
    color: #fff;
  }
  
  .servicos-cta__micro {
    font-family: var(--fonte-corpo);
    font-size: var(--texto-xs);
    color: rgba(255,255,255,0.25);
    letter-spacing: 0.05em;
  }
  
  /* ============================================
     DESKTOP
     ============================================ */
  
  @media (min-width: 1024px) {
    .servicos-hero__inner {
      padding-top: 0;
      min-height: 100svh;
      justify-content: flex-end;
    }
  
    .iceberg-top {
      border-left-width: 10vw;
      border-right-width: 10vw;
      border-bottom-width: 14vw;
    }
  
    .iceberg-bottom {
      border-left-width: 18vw;
      border-right-width: 18vw;
      border-top-width: 28vw;
    }
  
    .servico-etapa {
      padding: 7rem 0 9rem;
    }
  
    .servico-etapa__onda {
      height: 90px;
    }
  
    .servicos-cta {
      padding: 8rem 0;
    }
  }

  /* ============================================
   ESPECIALIDADES
   Grid com ícones SVG lineares
   ============================================ */

.servicos-especialidades {
  background-color: var(--nexus-off-white);
  padding: 5rem 0;
}

.servicos-especialidades__titulo {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 300;
  color: var(--nexus-escuro);
  line-height: 1.15;
  margin: 1rem 0 3rem;
  max-width: 560px;
}

.servicos-especialidades__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.servicos-especialidade {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 0;
  border-bottom: 1px solid rgba(53, 37, 35, 0.08);
}

.servicos-especialidade:last-child {
  border-bottom: none;
}

.servicos-especialidade__icone {
  width: 40px;
  height: 40px;
  color: var(--nexus-laranja);
  flex-shrink: 0;
}

.servicos-especialidade__icone svg {
  width: 100%;
  height: 100%;
}

.servicos-especialidade__titulo {
  font-family: var(--fonte-display);
  font-size: var(--texto-xl);
  font-weight: 400;
  color: var(--nexus-escuro);
  margin: 0;
  line-height: 1.2;
}

.servicos-especialidade__texto {
  font-size: var(--texto-sm);
  color: var(--nexus-cinza-quente);
  line-height: 1.7;
  max-width: none;
}

@media (min-width: 640px) {
  .servicos-especialidade {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
  }

  .servicos-especialidade__icone {
    margin-top: 0.25rem;
  }
}

/* --- ÍCONE DA ETAPA --- */
.servico-etapa__icone {
  width: 56px;
  height: 56px;
  color: rgba(255,255,255,0.5);
  flex-shrink: 0;
  margin-bottom: 0.5rem;
}

.servico-etapa__icone svg {
  width: 100%;
  height: 100%;
}

@media (min-width: 1024px) {
  .servicos-especialidades {
    padding: 7rem 0;
  }

  .servicos-especialidades__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 4rem;
  }

  .servicos-especialidade {
    border-bottom: 1px solid rgba(53, 37, 35, 0.08);
  }

  /* Remove borda das duas últimas no desktop */
/* Remove borda dos dois últimos itens no desktop */
.servicos-especialidade:nth-last-child(-n+2) {
  border-bottom: none;
  }
}