/* Secao de anuncio da home: card com cara de pop-up, fixo no HTML (substitui o pop-up de entrada).
   Isolada aqui para nao tocar no desktop aprovado. Classes .announce* e .class-modal* apenas. */
.announce{position:relative;padding:clamp(3rem,6vw,5.5rem) 0;background:radial-gradient(120% 90% at 50% 0%,#FBE3EC 0%,#F6DCE5 45%,#F1D3DE 100%);border-bottom:1px solid var(--line)}
.announce-card{position:relative;display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);max-width:1080px;margin-inline:auto;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(122,28,70,.35),0 12px 28px -12px rgba(42,35,33,.18);outline:1px solid rgba(194,40,108,.12)}
.announce-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--brand-deep),var(--brand),#E9A0BC);z-index:2}
.announce-media{position:relative;margin:0;min-height:100%}
.announce-photo{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;object-position:50% 30%}
.announce-seal{position:absolute;right:1rem;bottom:1rem;width:96px;height:96px;border-radius:50%;background:#fff;box-shadow:0 10px 24px -10px rgba(42,35,33,.45)}
.announce-body{padding:clamp(2.25rem,4vw,3.5rem) clamp(1.75rem,4vw,3.5rem)}
.announce-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:1.25rem}
.announce-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.2rem .6rem 1rem;border-radius:999px;background:linear-gradient(135deg,var(--brand-deep),var(--brand));color:#fff;font-family:var(--font-body);font-size:.95rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 22px -10px rgba(194,40,108,.7)}
.announce-dot{position:relative;width:.6rem;height:.6rem;border-radius:50%;background:#fff}
.announce-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#fff;animation:announce-pulse 1.8s ease-out infinite}
@keyframes announce-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.announce-dot::after{animation:none}}
.announce-kicker-text{font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-text)}
.announce-title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.4rem,4.6vw,3.5rem);line-height:1.02;color:var(--ink);margin:0 0 .85rem;text-align:left}
.announce-lede{font-family:var(--font-display);font-style:italic;font-size:clamp(1.2rem,1.8vw,1.4rem);line-height:1.4;color:var(--ink-muted);margin:0 0 1.6rem;max-width:40ch}
.announce-facts{margin:0 0 1.4rem;padding:1.15rem 1.25rem;background:#FCF4F7;border-radius:14px;display:grid;gap:.8rem}
.announce-facts div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;align-items:baseline}
.announce-facts dt{font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-deep)}
.announce-facts dd{margin:0;font-family:var(--font-body);font-size:.975rem;line-height:1.5;color:var(--ink)}
.announce-facts div:first-child dd{font-weight:600}
.announce-list{list-style:none;margin:0 0 1.75rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.5rem}
.announce-list li{position:relative;padding-left:1.5rem;font-family:var(--font-body);font-size:.95rem;color:var(--ink)}
.announce-list li::before{content:"";position:absolute;left:0;top:.28em;width:1rem;height:1rem;border-radius:50%;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}
.announce-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}
.announce-cta .btn-primary{display:inline-flex}
.announce-note{font-family:var(--font-body);font-size:.825rem;line-height:1.5;color:var(--ink-muted);margin:0}
.announce-note a{color:var(--brand-deep);font-weight:600}
.class-modal-label{color:var(--brand-deep);margin-bottom:.35rem}
@media (max-width:1023.98px){
  .announce-card{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .announce-list{grid-template-columns:1fr}
  .announce-seal{width:80px;height:80px}
}
@media (max-width:767.98px){
  .announce{padding:2rem 0 2.5rem}
  .announce-card{grid-template-columns:1fr;border-radius:18px}
  .announce-photo{min-height:0;height:auto;aspect-ratio:4/3.4;object-position:50% 28%}
  .announce-seal{width:68px;height:68px;right:.75rem;bottom:.75rem}
  .announce-body{padding:1.75rem 1.25rem 2rem}
  .announce-badge{font-size:.85rem}
  .announce-facts div{grid-template-columns:1fr;gap:.2rem}
  .announce-cta .btn{width:100%;margin:0}
}
