.aniversarios { position:relative; overflow:hidden; padding:76px 0 88px; background:linear-gradient(115deg,#f0f6f2,#f4f5fc 75%); scroll-margin-top:110px; }
.aniversarios__topo { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:32px; }
.aniversarios h2 { font-size:clamp(1.8rem,3.4vw,2.7rem); margin:0; text-wrap:wrap; }
.aniversarios h2 span { display:inline-block; }
.aniversarios__topo { flex-wrap:wrap; }
.aniversarios__mes { width:fit-content; position:relative; padding-bottom:12px; }
.aniversarios__mes::after { content:''; position:absolute; bottom:0; left:0; width:60px; height:4px; background:var(--vermelho); border-radius:2px; }
.aniversarios__intro { margin:20px 0 0; color:var(--cinza-600); font-size:1.15rem; }
.aniversarios__edicao { color:var(--verde); font-weight:700; white-space:nowrap; padding-bottom:4px; }
.aniversarios__lista { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.aniversarios__card { position:relative; overflow:hidden; display:flex; align-items:center; gap:24px; padding:32px; background:white; border-radius:14px; box-shadow:var(--sombra); animation:aniversario-entrada .65s cubic-bezier(.16,1,.3,1) both; }
.aniversarios__card:only-child { grid-column:1/-1; padding:44px; min-height:230px; }
.aniversarios__data { flex:none; width:88px; height:88px; border-radius:50%; background:var(--verde-claro); color:var(--verde); display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; }
.aniversarios__data strong { font:800 2.4rem/1 var(--fonte-titulo); font-variant-numeric:tabular-nums; }
.aniversarios__data span { font-size:.75rem; font-weight:700; letter-spacing:.1em; margin-top:7px; }
.aniversarios__card:only-child .aniversarios__data { width:116px; height:116px; }
.aniversarios__card:only-child .aniversarios__data strong { font-size:3.2rem; }
.aniversarios__texto { position:relative; z-index:1; min-width:0; }
.aniversarios__saudacao { display:block; color:var(--verde); font-weight:700; margin-bottom:8px; }
.aniversarios__texto h3 { font-size:clamp(1.25rem,2.5vw,1.85rem); color:var(--azul); margin:0 0 10px; overflow-wrap:anywhere; }
.aniversarios__texto p { color:var(--cinza-600); margin:0; max-width:48ch; }
.aniversarios__arte { margin-left:auto; flex:none; width:210px; height:auto; color:var(--azul); }
.aniversarios__card:not(:only-child) { display:grid; grid-template-columns:1fr auto; }
.aniversarios__card:not(:only-child) .aniversarios__arte { display:block; width:140px; height:auto; grid-column:2; grid-row:1; }
.aniversarios__card:not(:only-child) .aniversarios__texto { grid-column:1/-1; grid-row:2; }
.aniversarios__rodape { display:flex; align-items:center; gap:12px; margin:25px 0 0; color:var(--verde); font-size:.95rem; }
.aniversarios__rodape::before { content:''; width:26px; height:1px; background:var(--verde); }
.aniversarios__vazio { padding:30px 0; color:var(--cinza-600); }
.aniversarios [hidden] { display:none; }
.aniversarios ::selection { background:var(--verde-claro); color:var(--verde-escuro); }
@keyframes aniversario-entrada { from { transform:translateY(12px); } to { transform:translateY(0); } }
@media(max-width:760px) { .aniversarios { padding:48px 0 60px; } .aniversarios__topo { display:block; } .aniversarios__edicao { display:block; margin-top:18px; } .aniversarios__lista { grid-template-columns:1fr; } .aniversarios__card,.aniversarios__card:only-child { padding:26px 22px; gap:18px; align-items:flex-start; min-height:0; } .aniversarios__card:only-child .aniversarios__data { width:72px; height:72px; } .aniversarios__card:only-child .aniversarios__data strong { font-size:2rem; } .aniversarios__arte { display:none; } .aniversarios__texto h3 { font-size:1.3rem; } }
@media(prefers-reduced-motion:reduce) { .aniversarios__card { animation:none; } }
@media(max-width:760px) {
  .aniversarios__card,.aniversarios__card:only-child { display:grid; grid-template-columns:1fr auto; }
  .aniversarios__card .aniversarios__arte,.aniversarios__card:not(:only-child) .aniversarios__arte { display:block; width:120px; height:auto; grid-column:2; grid-row:1; }
  .aniversarios__card .aniversarios__texto { grid-column:1/-1; grid-row:2; }
  .aniversarios__card .aniversarios__data { width:72px; height:72px; }
}
