:root {
    --color-background: #FDFDFD;
    --color-text: #111111;
    --color-text-light: #555;
    --color-icons-bg: #d5d5d5; 
    --color-accent: #007BFF;
    --color-accent-dark: #0056b3;
    --font-primary: 'Inter', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    background-color: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-primary);
    overflow-x: hidden;
}

/* --- FUNDO DE ÍCONES --- */
#icon-background { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; overflow: hidden; }
#icon-background .icon { position: absolute; bottom: -150px; color: var(--color-icons-bg); animation: floatUp linear infinite; }
@keyframes floatUp { to { transform: translateY(-120vh); } }

/* --- BOTÃO WHATSAPP FLUTUANTE --- */
.whatsapp-float { position: fixed; width: 60px; height: 60px; bottom: 30px; right: 30px; background-color: #25D366; color: #FFF; border-radius: 50px; text-align: center; font-size: 30px; box-shadow: 2px 2px 10px rgba(0,0,0,0.2); z-index: 100; display: flex; justify-content: center; align-items: center; text-decoration: none; animation: pulse 2s infinite; }
@keyframes pulse {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(37, 211, 102, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

/* --- ESTRUTURA E CONTEÚDO PRINCIPAL --- */
.content { position: relative; z-index: 1; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 4%; padding-top: 125px; }

/* --- HEADER FIXO --- */
.header { position: fixed; top: 0; left: 0; width: 100%; display: flex; justify-content: center; align-items: center; padding: 20px 0; z-index: 1000; background-color: rgba(253, 253, 253, 0.85); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid #eee; }
.logo { height: 60px; }

.section { padding: 100px 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.hero { padding-top: 0; }

h1 { font-size: 3.8rem; font-weight: 800; margin-bottom: 20px; max-width: 800px; line-height: 1.1; }
h2.section-title { font-size: 2.8rem; font-weight: 800; margin-bottom: 20px; }
h3.section-subtitle { font-size: 1rem; color: var(--color-text-light); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 30px; }
p { font-size: 1.2rem; max-width: 650px; line-height: 1.6; margin-bottom: 40px; color: var(--color-text-light); }
p.section-description { margin-top: -10px; margin-bottom: 50px; }

/* --- BOTÕES --- */
.cta-button.primary { background-color: var(--color-accent); color: #fff; padding: 18px 45px; font-size: 1.1rem; font-weight: 700; text-decoration: none; border-radius: 5px; transition: transform 0.3s ease, background-color 0.3s ease; }
.cta-button.primary:hover { transform: translateY(-5px); background-color: var(--color-accent-dark); }

/* --- SEÇÃO DE TECNOLOGIAS --- */
.tech-stack { padding: 40px 0; }
.tech-icons { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 40px; }
.tech-icon img { height: 50px; filter: grayscale(100%); transition: filter 0.3s ease, transform 0.3s ease; }
.tech-icon:hover img { filter: grayscale(0%); transform: scale(1.1); }

/* --- ESTILOS DO CARROSSEL --- */
.swiper-container { position: relative; width: 100%; }
.swiper { padding: 0 40px 60px 40px; } 
.swiper-slide { display: flex; justify-content: center; align-items: stretch; height: auto; padding: 10px 0; } 
.service-card, .project-card { width: 100%; height: 100%; display: flex; flex-direction: column; } 
.service-card:hover, .project-card:hover { transform: translateY(-5px); }

/* ========= BOTÕES DE NAVEGAÇÃO CORRIGIDOS (VERSÃO DEFINITIVA) ========= */
.swiper-button-next,
.swiper-button-prev {
    color: var(--color-accent);
    top: 50%;
    transform: translateY(-70%);
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: 'Font Awesome 6 Free';
    font-size: 1.6rem;
    font-weight: 900;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
}

.swiper-button-prev:after {
    content: '\f053';
}

.swiper-button-next:after {
    content: '\f054';
}
/* =================================================================== */

/* Paginação */
.swiper-pagination-bullet { background-color: var(--color-text-light); width: 10px; height: 10px; transition: background-color 0.3s; }
.swiper-pagination-bullet-active { background-color: var(--color-accent); }

/* --- SERVIÇOS --- */
.service-card { background: #fff; padding: 40px 30px; border: 1px solid #eee; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.service-card i { font-size: 2.5rem; color: var(--color-accent); margin-bottom: 20px; }
.service-card h3 { font-size: 1.3rem; margin-bottom: 10px; }
.service-card p { font-size: 1rem; max-width: 100%; margin-bottom: 0; }

/* --- PROJETOS --- */
.project-card {
    background: #fff;
    border: 1px solid #eee;
    text-align: left;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
    position: relative;
    aspect-ratio: 1 / 1; 
}
.project-card:hover { box-shadow: 0 15px 30px rgba(0,0,0,0.07); }
.project-card img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* <-- ALTERAÇÃO FEITA AQUI */
    display: block;
}
.project-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 123, 255, 0.8), transparent);
    color: #fff;
    padding: 40px 20px 20px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.project-card:hover .project-overlay { opacity: 1; transform: translateY(0); }
.project-overlay h3 { font-size: 1.3rem; }

/* --- SEÇÃO DO CEO --- */
.ceo-section { background-color: #f9f9f9; width: 100vw; max-width: 100%; padding-left: calc((100vw - 1200px)/2); padding-right: calc((100vw - 1200px)/2); }
.ceo-content { display: flex; align-items: center; gap: 60px; text-align: left; }
.ceo-image { flex: 1; }
.ceo-image img { width: 100%; }
.ceo-text { flex: 1.2; }
.ceo-text h3 { font-size: 2.2rem; margin-bottom: 20px; }
p.ceo-quote { font-size: 1.3rem; font-style: italic; line-height: 1.7; margin-bottom: 30px; color: var(--color-text); }
.ceo-text strong { font-size: 1.2rem; font-weight: 700; }
.ceo-text span { display: block; color: var(--color-text-light); }

/* --- ÍCONES DE REDES SOCIAIS --- */
.social-icons { margin-top: 30px; display: flex; gap: 25px; align-items: center; }
.social-icons a { text-decoration: none; color: var(--color-text-light); font-size: 1.6rem; transition: color 0.3s ease, transform 0.3s ease; }
.social-icons a:hover { color: var(--color-accent); transform: translateY(-3px); }

/* --- RODAPÉ --- */
.footer { display: flex; justify-content: center; align-items: center; padding: 40px 0; color: #aaa; width: 100%; }

/* --- AJUSTES DE RESPONSIVIDADE --- */
@media (max-width: 992px) {
    h1 { font-size: 3rem; }
    .ceo-content { flex-direction: column; }
    .ceo-section { padding-left: 4%; padding-right: 4%; }
}
@media (max-width: 768px) {
    h1 { font-size: 2.5rem; }
    h2.section-title { font-size: 2.2rem; }
    .ceo-text { text-align: center; }
    .social-icons { justify-content: center; }
    .swiper { padding: 0 0 60px 0; }
}
