:root {
    --brand-dark: #001f3f;
    --brand-accent: #00509e;
    --brand-light: #f0f4f8;
    --discreet-blue: #e2e7eb; /* Nova cor azul bem discreta */
    --font-sans: 'Inter', sans-serif;
}

body {
    font-family: var(--font-sans);
    color: #1e293b;
    background-color: #f8fafc;
}

/* Utilidades de Texto, Cor e Bordas */
.text-brand-accent { color: var(--brand-accent); }
.bg-brand-dark { background-color: var(--brand-dark); }
.bg-brand-accent { background-color: var(--brand-accent); }
.bg-brand-light { background-color: var(--brand-light); }
.bg-discreet-blue { background-color: var(--discreet-blue) !important; }

/* Ajuste de contraste para os ícones da barra superior (Topbar) */
#topbar .bi-telephone, 
#topbar .bi-envelope, 
#topbar .bi-clock {
    color: #60a5fa !important; /* Um azul mais vibrante/claro para alto contraste */
    font-weight: bold;
}

/* Garante que o texto da topbar permaneça legível */
#topbar span {
    color: #ffffff;
    font-weight: 500;
}


/* Efeito de levitação nos diferenciais */
.transition-hover {
    transition: all 0.3s ease-in-out;
    border-radius: 1.5rem;
}

.transition-hover:hover {
    transform: translateY(-10px);
    background-color: #ffffff;
    box-shadow: 0 20px 40px rgba(0, 31, 63, 0.08) !important;
}

/* Ajuste fino para os ícones dentro dos círculos */
.transition-hover i {
    transition: transform 0.3s ease;
}

.transition-hover:hover i {
    transform: scale(1.1);
}


/* Bordas com curvas mais visíveis */
.rounded-xl { border-radius: 1.5rem !important; }

.btn-brand {
    background-color: var(--brand-accent);
    color: white;
    font-weight: 700;
    border-radius: 50px;
    padding: 10px 24px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 80, 158, 0.4);
    border: none;
}
.btn-brand:hover {
    background-color: #003d7a;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 80, 158, 0.6);
}

/* Header e Navbar Transições */
#topbar {
    transition: all 0.3s ease;
    overflow: hidden;
}
.topbar-hidden {
    height: 0 !important;
    padding: 0 !important;
    opacity: 0;
}
#main-navbar {
    transition: all 0.3s ease;
}
.navbar-scrolled {
    background-color: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
#logo-img {
    height: 80px;
    transition: all 0.3s ease;
}
.logo-scrolled {
    height: 56px !important;
}
.nav-link {
    color: #334155 !important;
    font-weight: 600;
    font-size: 0.875rem;
    transition: color 0.3s ease;
}
.nav-link:hover {
    color: var(--brand-accent) !important;
}

/* Hero Section */
#home {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 120px;
    background: url('./capa-3.jpg') center/cover no-repeat;
}
.hero-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to right, rgba(0,31,63,0.9), rgba(0,31,63,0.7), transparent);
    z-index: 1;
}
.hero-content {
    position: relative;
    z-index: 2;
}

/* Rotacionador de Texto */
.text-rotator {
    transition: opacity 0.5s ease-in-out;
    opacity: 1;
    height: 80px;
    display: flex;
    align-items: center;
}

/* Cards de Serviço */
.service-card {
    background-color: white;
    padding: 2rem;
    border-radius: 1.5rem; /* Curva mais visível */
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    border: 1px solid #f1f5f9;
    transition: all 0.3s ease;
    height: 100%;
}
.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
}
.service-icon-wrapper {
    width: 56px; height: 56px;
    background-color: var(--discreet-blue);
    border-radius: 1rem;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
}
.service-card:hover .service-icon-wrapper {
    background-color: var(--brand-accent);
}
.service-icon {
    font-size: 28px;
    color: var(--brand-accent);
    transition: all 0.3s ease;
}
.service-card:hover .service-icon {
    color: white;
}

/* Processos */
.process-circle {
    width: 96px; height: 96px;
    margin: 0 auto 1.5rem auto;
    background-color: var(--brand-dark);
    border: 4px solid var(--brand-accent);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 0 15px rgba(0,80,158,0.5);
    font-size: 1.875rem;
    font-weight: 900;
    color: white;
    position: relative;
    z-index: 2;
}

/* Galeria / Portfólio */
.portfolio-item {
    border-radius: 1.5rem; /* Curva mais visível */
    overflow: hidden;
    aspect-ratio: 4/5;
    position: relative;
    cursor: pointer;
}
.portfolio-item img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}
.portfolio-item:hover img {
    transform: scale(1.1);
}
.portfolio-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,31,63,0.9), rgba(0,31,63,0.2), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
}
.portfolio-item:hover .portfolio-overlay {
    opacity: 1;
}
.portfolio-text {
    transform: translateY(20px);
    transition: transform 0.3s ease;
}
.portfolio-item:hover .portfolio-text {
    transform: translateY(0);
}

/* Botão WhatsApp */
.whatsapp-btn {
    position: fixed;
    bottom: 2rem; right: 2rem;
    width: 64px; height: 64px;
    background-color: #25D366;
    color: white;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 32px;
    box-shadow: 0 4px 20px rgba(37,211,102,0.4);
    z-index: 1000;
    transition: all 0.3s ease;
}
.whatsapp-btn:hover {
    background-color: #128C7E;
    transform: scale(1.1);
    color: white;
}

/* Utilitários Extras */
.section-padding { padding-top: 6rem; padding-bottom: 6rem; }
.divider-line { height: 2px; width: 32px; background-color: var(--brand-accent); }