﻿:root {
    /* Paleta inspirada na marca Alteridade CAPES */
    --navy: #102D3D; /* fundo institucional */
    --blue: #5fb3d9; /* azul-claro de apoio */
    --gold: #e9ac66; /* destaque primário */
    --coral: #f26a5a; /* CTAs/hover */
    --pink: #f29db2; /* detalhes sutis */
    --ink: #0c202a; /* texto escuro */
    --paper: #ffffff; /* branco */
}

* { box-sizing: border-box }

html, body {
    margin: 0;
    height: 100%;
    font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--ink);
    background: var(--paper)
}

main{
    padding: 40px 0;
}

/* ---------- Layout util ---------- */
.container { width: min(1100px, 92%); margin-inline: auto }

.btn {
    display: inline-block;
    padding: .9rem 1.25rem;
    border-radius: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: .2s ease;
}

.btn-primary { background: var(--gold); color: #1a1a1a; border-width: 0 }
.btn-primary:hover { background: var(--coral); color: #111 }

.btn-outline { border: 2px solid var(--gold); color: var(--gold) }
.btn-outline:hover { background: var(--gold); color: #1a1a1a }

/* ---------- Header ---------- */
header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
    background: color-mix(in oklab, var(--navy) 92%, black 0%);
    color: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.12)
}
/* On small screens, do not keep the header fixed/sticky */
@media (max-width: 640px) {
    header { position: static; }
    /* remove top padding offset when header is not fixed */
    body.has-fixed-header main, body.has-fixed-header section:first-of-type { padding-top: 0 }
}

/* offset to prevent content hiding under fixed header; applied when header is injected */
body.has-fixed-header main, body.has-fixed-header section:first-of-type { 
    /* approx header height; adjust responsive via media queries below */
    padding-top: 82px;
}
@media (max-width: 640px) {
    body.has-fixed-header main, body.has-fixed-header section:first-of-type { padding-top: 56px }
}

.nav { display: flex; align-items: center; justify-content: space-between; padding: 14px 0 }

.brand { display: flex; gap: 12px; align-items: center }

.brand-mark { width: 64px; height: 64px; border-radius: 12px; display: block; object-fit: contain }
@media (max-width: 640px) { .brand-mark { width: 34px; height: 34px } }

.brand h1 { font-size: 2.5rem; line-height: 1.1; margin: 0 }

.nav a { color: #fff; text-decoration: none; font-weight: 500; opacity: .95 }

.nav-links { display: flex; gap: 22px }

/* ---------- Hero ---------- */
.hero { position: relative; isolation: isolate; background: var(--navy); color: #fff }
.hero-inner { grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: center; padding: 80px 0 }
.hero h2 { font-size: clamp(0.8rem, 3.4vw, 2.2rem); letter-spacing: .02em; margin: 0 0 8px }
.hero h3 { font-size: 1.5rem; font-weight: 700; margin: .2rem 0 1rem }
.hero p { font-weight: 300; opacity: .95 }

.features p { text-align: left }

p { text-align: justify }

/* Triângulo com padrão de linhas (inline SVG) */
.hero-art { position: relative; height: 380px }
.hero-art::after {
    content: ""; position: absolute; inset: 0;
    clip-path: polygon(30% 0, 100% 0, 100% 100%);
    background: linear-gradient(0deg, #fff, #fff), url('assets/carinhas.jpeg');
    background-size: cover; background-position: center; background-repeat: no-repeat;
    background-blend-mode: multiply; border-left: 10px solid color-mix(in oklab, var(--blue) 60%, white 40%);
}

/* ---------- Seções ---------- */
section { padding: 70px 0 }
.section-dark { background: var(--navy); color: #fff }

.kicker { color: var(--coral); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .8rem }
.title { margin: .4rem 0 1rem; font-size: clamp(1.6rem, 3.2vw, 2.2rem) }

h1 { font-family: "Shadows Into Light", cursive; font-size: clamp(2.6rem, 6vw, 4.6rem); letter-spacing: .02em; margin: 0 0 8px }

.lead { font-size: 1.05rem; opacity: .9 }

.features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 28px }
.contact-form {display: flex; flex-direction: column; gap: 24px; margin-top: 28px }

.card { background: #fff; border: 1px solid #e7e7e7; border-radius: 18px; padding: 22px; box-shadow: 0 10px 30px rgba(0,0,0,.06) }
.card h4 { margin: 0 0 6px }
.card-alt {
    background: linear-gradient(135deg, color-mix(in oklab, var(--blue) 80%, white 20%), color-mix(in oklab, var(--pink) 60%, white 40%));
    border: none;
}

.chip { display: inline-block; padding: 6px 10px; border-radius: 999px; background: color-mix(in oklab, var(--blue) 20%, white 80%); border: 1px solid color-mix(in oklab, var(--blue) 50%, white 50%); font-size: .8rem; margin-right: 6px }

/* ---------- CTA bloco ---------- */
.cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: linear-gradient(135deg, color-mix(in oklab, var(--blue) 80%, white 20%), color-mix(in oklab, var(--pink) 60%, white 40%)); padding: 28px; border-radius: 22px; margin-top: 36px; color: #0f1a20 }

/* ---------- Rodapé e Logos ---------- */
footer { background: var(--navy); color: #fff; padding: 36px 0 }
.logos { display: flex; gap: 28px; flex-wrap: wrap; align-items: center }
.logos img { height: 60px; filter: grayscale(0%) }

/* ---------- Responsivo ---------- */
@media (max-width: 960px) {
    .hero-inner { grid-template-columns: 1fr; gap: 24px; padding: 56px 0 }
    .hero-art { height: 260px }
    .features { grid-template-columns: 1fr }
    .cta { flex-direction: column; align-items: flex-start }

    /* Nav responsiva: empilha links e mantém CTA visível e alinhado */
    .nav { flex-wrap: wrap; gap: 10px }
    .nav-links { width: 100%; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between }
    .nav-links a { flex: 1 1 auto; text-align: center }
    .nav-links .btn { flex: 0 0 auto; margin-left: auto }
}

/* Correções de contraste e responsividade para o bloco de e-mail direto no contato */
#email-direto { color: var(--ink) }
#email-direto h4, #email-direto p, #email-direto a, #email-direto strong { color: var(--ink) }
#email-direto .btn.btn-outline { border-color: var(--gold); color: var(--gold) }
#email-direto .btn.btn-outline:hover { background: var(--gold); color: #1a1a1a }

/* Layout: em telas pequenas, empilhar texto e botão */
@media (max-width: 640px) {
    #email-direto .flex-row { flex-direction: column; align-items: flex-start; gap: 8px }
    #email-direto .btn { width: 100%; text-align: center }
}

.align-center { align-items: center }
.justify-center { justify-content: center }
.justify-between { justify-content: space-between }
.justify-around { justify-content: space-around }
.justify-evenly { justify-content: space-evenly }
.flex-center { display: flex; justify-content: center; align-items: center }
.flex-column { display: flex; flex-direction: column }
.flex-row { display: flex; flex-direction: row }
