/* =========================================================
   SouCorretor — Design System
   Tokens extraídos da referência visual (navy / amber / whatsapp).
   ========================================================= */

:root {
    /* Base */
    --background:        #ffffff;
    --foreground:        #14181f;
    --card:              #ffffff;
    --secondary:         #f4f2ee;
    --muted-foreground:  #6b7280;
    --border:            #e6e3dd;

    /* Navy — fundo das seções escuras e da identidade */
    --navy:              #16233b;
    --navy-foreground:   #f5f3ef;
    --navy-muted:        #9aa5b8;

    /* Amber — cor de ação (CTAs, destaques) */
    --amber:             #f5a524;
    --amber-hover:       #e0940f;
    --amber-foreground:  #1a1305;

    /* WhatsApp */
    --whatsapp:            #25d366;
    --whatsapp-foreground: #05300f;
}

html { scroll-behavior: smooth; }

body {
    font-family: 'Manrope', ui-sans-serif, system-ui, sans-serif;
    background: var(--background);
    color: var(--foreground);
}

/* ---------- Scroll reveal ----------
   .reveal começa deslocado e invisível; o IntersectionObserver
   em site.js adiciona .is-visible. Se o JS falhar, o fallback
   no fim do arquivo garante que nada fique invisível. */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .6s cubic-bezier(.16,1,.32,1),
                transform .6s cubic-bezier(.16,1,.32,1);
}

.reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* Fallback: sem JS, o conteúdo aparece normalmente. */
.no-js .reveal {
    opacity: 1;
    transform: none;
}

/* ---------- Float (cards suspensos do hero) ---------- */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-10px); }
}

.animate-float { animation: float 6s ease-in-out infinite; }

/* ---------- Acessibilidade ---------- */
@media (prefers-reduced-motion: reduce) {
    .reveal        { opacity: 1; transform: none; transition: none; }
    .animate-float { animation: none; }
    html           { scroll-behavior: auto; }
}

/* ---------- Utilitários ---------- */
.text-balance { text-wrap: balance; }

.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
