/* Home — escolha de divisão */
:root {
    --blue:    #1a5fa8;
    --blue-h:  #144d8c;
    --navy:    #0a1c41;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
body {
    font-family: 'Inter', sans-serif;
    background: var(--navy);
    color: #fff;
    min-height: 100vh;
    overflow-x: hidden;
}

/* ─── BACKGROUND (mesmo do hero das páginas) ─ */
.bg, .bg-overlay, .bg-grid, .bg-vignette { position:fixed; inset:0; z-index:0; }
.bg {
    background: url('https://images.unsplash.com/photo-1581091226825-a6a2a5aee158?w=1920&q=80') center/cover no-repeat;
    filter: brightness(.22) saturate(.7);
}
.bg-overlay { background: linear-gradient(125deg, rgba(10,28,65,.94) 0%, rgba(26,95,168,.45) 60%, rgba(10,28,65,.9) 100%); }
.bg-grid {
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 64px 64px;
    transform: perspective(600px) rotateX(55deg) scale(2) translateY(-20%);
    animation: gridScroll 15s linear infinite;
}
@keyframes gridScroll { to { background-position: 0 64px; } }
.bg-vignette { background: radial-gradient(ellipse 80% 70% at 50% 55%, transparent 30%, rgba(10,28,65,.75) 85%); }

/* ─── LAYOUT ──────────────────────────────── */
.home-page {
    position:relative; z-index:1;
    min-height:100vh;
    max-width:1200px; margin:0 auto;
    padding: 2.5rem 2rem 2rem;
    display:flex; flex-direction:column; align-items:center;
}
.logo { display:block; animation: fadeUp .7s ease both; }
.logo img { display:block; height:110px; width:auto; }

.intro { text-align:center; margin:2rem 0 3rem; animation: fadeUp .7s .15s ease both; }
.intro-tag {
    display:inline-flex; align-items:center; gap:.6rem;
    background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25);
    padding:.4rem 1.1rem; border-radius:100px;
    font-size:.75rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
    margin-bottom:1.1rem;
}
.intro-tag span { width:8px; height:8px; border-radius:50%; background:#7dd3fc; animation: blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(1.6)} }
.intro h1 {
    font-size: clamp(1.7rem, 3.4vw, 2.7rem);
    font-weight:900; line-height:1.15; letter-spacing:-1px;
    margin-bottom:.9rem;
}
.intro h1 .hl { color:#7dd3fc; }
.intro p { color: rgba(255,255,255,.72); font-size:1.05rem; line-height:1.65; max-width:620px; margin:0 auto; }

/* ─── DIVISION CARDS ──────────────────────── */
.divisions {
    display:grid; grid-template-columns:1fr 1fr; gap:1.75rem;
    width:100%;
}
.division {
    display:flex; flex-direction:column;
    background:#fff; color:#1a2332;
    border-radius:20px; overflow:hidden;
    text-decoration:none;
    box-shadow: 0 20px 50px rgba(0,0,0,.45);
    transition: transform .3s, box-shadow .3s;
    animation: fadeUp .7s ease both;
}
.division:nth-child(1) { animation-delay:.3s; }
.division:nth-child(2) { animation-delay:.45s; }
.division:hover { transform:translateY(-8px); box-shadow: 0 30px 70px rgba(0,0,0,.55), 0 0 0 3px #7dd3fc; }
.division-img {
    height:240px; background:#f0f2f5; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
}
.division-img img { display:block; width:100%; height:100%; object-fit:cover; transition: transform .5s; }
.division-img.contain { background:#fff; padding:1rem 1.5rem 0; }
.division-img.contain img { object-fit:contain; }
.division:hover .division-img img { transform:scale(1.04); }
.division-body { padding:1.75rem 2rem 2rem; display:flex; flex-direction:column; flex:1; }
.division-tag { color:var(--blue); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:2.5px; margin-bottom:.6rem; }
.division h2 { font-size:1.45rem; font-weight:800; line-height:1.25; margin-bottom:.75rem; }
.division p { color:#64748b; font-size:.92rem; line-height:1.7; margin-bottom:1.1rem; }
.chips { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.5rem; }
.chips span {
    background:#e8f1fb; border:1px solid #bdd4ef; color:var(--blue);
    font-size:.72rem; font-weight:700; padding:.3rem .7rem; border-radius:100px;
}
.division-cta {
    margin-top:auto;
    display:flex; align-items:center; justify-content:center; gap:.6rem;
    background:var(--blue); color:#fff;
    padding:.95rem; border-radius:10px;
    font-weight:700; font-size:.98rem;
    transition: background .3s;
}
.division-cta i { transition: transform .3s; }
.division:hover .division-cta { background:var(--blue-h); }
.division:hover .division-cta i { transform:translateX(4px); }

/* ─── FOOTER ──────────────────────────────── */
.foot { margin-top:auto; padding-top:3rem; text-align:center; animation: fadeUp .7s .6s ease both; }
.foot-copy { color:rgba(255,255,255,.3); font-size:.78rem; }

@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }

@media (max-width:820px) {
    .divisions { grid-template-columns:1fr; }
    .division-img { height:200px; }
}
@media (max-width:520px) {
    .home-page { padding:1.75rem 1rem 1.5rem; }
    .logo img { height:84px; }
    .intro { margin:1.5rem 0 2rem; }
    .division-body { padding:1.5rem 1.35rem 1.6rem; }
}
    
