:root{
  --brand-dark:#0b2a4a;
  --brand-teal:#00b3b3;
  --text:#1b1b1b;
  --bg:#ffffff;
  --muted:#f5f7fb;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:var(--text);background:var(--bg);line-height:1.5}

/* Utilidades */
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.visually-hidden{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:8px 12px;background:#000;color:#fff;border-radius:6px;z-index:1000}

/* Header */
.site-header{position:sticky;top:0;z-index:999;background:var(--bg);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.site-header .container{
  display:flex;
  align-items:center;
  gap:16px;
  min-height:150px;     /* header acompanha a logo */
  padding:0 20px;
}

/* Marca */
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--brand-dark)}
.brand img{
  height:150px;         /* logo sempre com 150px */
  width:auto;
  object-fit:contain;
  display:block;
}
.brand-text{font-weight:700;letter-spacing:.3px;font-size:3rem;}

/* Navegação */
.nav{margin-left:auto}
.menu{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.menu a{color:var(--brand-dark);text-decoration:none;font-weight:500;padding:10px 0;position:relative}
.menu a:hover,.menu a:focus{color:var(--brand-teal)}
.menu a:focus-visible{outline:2px solid var(--brand-teal);outline-offset:2px}

/* === Submenu (dropdown) === */
.menu li.has-submenu{position:relative}
.menu li.has-submenu > a::after{
  content:"▾";
  font-size:.75rem;
  margin-left:6px;
  vertical-align:middle;
  color:var(--brand-dark);
}
.menu li.has-submenu:hover > a,
.menu li.has-submenu:focus-within > a{
  color:var(--brand-teal);
}

.menu li.has-submenu .submenu{
  position:absolute;
  top:100%;
  left:0;
  display:none;
  min-width:220px;
  background:#fff;
  border:1px solid #e6ebf1;
  border-radius:8px;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
  padding:8px 0;
  z-index:1000;
}
.menu li.has-submenu:hover .submenu,
.menu li.has-submenu:focus-within .submenu{display:block}

.menu li.has-submenu .submenu li{list-style:none}
.menu li.has-submenu .submenu a{
  display:block;
  padding:10px 14px;
  color:var(--brand-dark);
  text-decoration:none;
  font-weight:500;
  white-space:nowrap;
}
.menu li.has-submenu .submenu a:hover,
.menu li.has-submenu .submenu a:focus{
  background:#f5f7fb;
  color:var(--brand-teal);
  outline:none;
}

/* CTA */
.cta{margin-left:16px;background:var(--brand-teal);color:#fff;text-decoration:none;padding:10px 16px;border-radius:999px;font-weight:700;white-space:nowrap}
.cta:hover,.cta:focus{filter:brightness(.95)}

/* Botão Hamburguer (mobile) */
.nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer}
.nav-toggle:focus-visible{outline:2px solid var(--brand-teal);outline-offset:2px}
.nav-toggle .bar{display:block;width:20px;height:2px;background:var(--brand-dark);margin:3px 0;transition:transform .2s ease,opacity .2s ease}

/* Hero */
.hero{
  padding: 24px 0; 
  background:var(--muted);
  color:#051D40;
}
.hero h1{
  margin:0 0 8px 0;
  font-size:clamp(24px,3vw,40px);
}
.hero p {
  font-size:clamp(14px,4.5vw,20px);
}

/* Footer */
.site-footer{border-top:1px solid #e5e7eb;background:#fff}
.site-footer .container{padding:24px 0}

/* ===== Responsivo ===== */
/* Mobile order for brand/social/toggle */
@media (max-width: 900px){
  .site-header .container{display:flex}
  .brand{order:0}
  .actions{order:1;margin-left:auto;}
  #navToggle.nav-toggle{order:2;margin-left:8px;}
  .nav{order:3}
}

@media (max-width: 1024px){
  .menu{gap:18px}
}

@media (max-width: 900px){
  .nav{position:fixed;inset:64px 0 auto 0;background:#fff;border-top:1px solid #eef2f7;transform:translateY(-120%);transition:transform .25s ease;box-shadow:0 8px 20px rgba(0,0,0,.06)}
  .nav.open{transform:translateY(0)}
  .menu{flex-direction:column;padding:12px}
  .menu li{border-bottom:1px solid #f0f2f6}
  .menu a{padding:14px 8px;display:block}
  .cta{display:none}
  .nav-toggle{display:flex;margin-left:auto}

  /* Submenu no mobile: ocupa largura total e segue o fluxo */
  .menu li.has-submenu .submenu{
    position:static;
    display:block;
    box-shadow:none;
    border:0;
    border-radius:0;
    padding:0;
    min-width:0;
  }
  .menu li.has-submenu .submenu a{padding:12px 12px}
}

@media (max-width: 480px){
  .brand-text {font-size: 1rem;}
  .brand img{height:36px;}
  .hero{padding: 16px 0;}
}

/* Social links azul */
.social-links{
  display:flex;
  gap:12px;
  align-items:center;
  margin-left:12px;
  margin-right:12px;
}
.social-links a img{
  height:24px;
  width:24px;
  display:block;
  transition:transform .2s ease;
}
.social-links a:hover img{
  transform:scale(1.1);
}

/* Responsivo Social */
@media (max-width: 900px){
  .social-links{
    justify-content:center;
    margin:8px 0;
  }
}
@media (max-width: 480px){
  .social-links{
    gap:10px;
  }
  .social-links a img{
    height:20px;
    width:20px;
  }
}

/* Ações do header: redes acima do CTA */
.actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
@media (max-width: 900px){
  .actions{align-items:center}
}

/* ===== Carousel ===== */
.carousel-section{padding:24px 0}
.carousel{position:relative;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.c-track{display:flex;transition:transform .4s ease}
.c-slide{min-width:100%;height:0;padding-top:35%;position:relative;background:#eef2f7}
.c-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.c-caption{position:absolute;left:16px;bottom:16px;background:rgba(0,0,0,.45);color:#fff;padding:8px 12px;border-radius:8px;font-size:.95rem}

.c-btn{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.9);width:40px;height:40px;border-radius:8px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.c-btn:hover{background:#fff}
.c-btn.prev{left:8px}
.c-btn.next{right:8px}

.c-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px}
.c-dot{
  width: 12px;
  height: 12px;
  padding: 0;
  line-height: 0;
  display: inline-block;
  flex: 0 0 auto;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(0,0,0,.15);
  cursor: pointer;
  box-sizing: content-box;
  aspect-ratio: 1 / 1;
}
.c-dot.active{background:#00b3b3}

@media (max-width: 900px){
  .c-btn{width:36px;height:36px}
  .c-caption{font-size:.9rem}
}
@media (max-width:600px){
  .no-crop-mobile .c-slide img{
    object-fit: contain;
    background:#000; /* pode trocar para var(--bg) ou outra cor */
  }
}

/* ===== Destaque ===== */
.feature-section{padding:24px 0}
.feature-label{
  display:inline-block;
  background:var(--brand-dark);
  color:#fff;
  font-weight:700;
  letter-spacing:.4px;
  padding:6px 12px;
  border-radius:4px 4px 0 0;
  margin:0 0 8px 0;
}

.feature-card{
  display:grid;
  grid-template-columns: 1.1fr 1.4fr;
  gap:20px;
  background:#fff;
  border:1px solid #e6ebf1;
  border-radius:8px;
  padding:16px;
  box-shadow:0 4px 14px rgba(0,0,0,.05);
}

/* MOSTRAR A IMAGEM 1024×1024 INTEIRA (sem cortes) DENTRO DO QUADRO */
.feature-media{
  margin:0;
  border-radius:6px;
  overflow:hidden;
  background:#f0f3f8;
  aspect-ratio:1/1;          /* quadro quadrado para não cortar topo/base */
}
.feature-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;        /* mostra 100% da imagem, sem cortar */
  object-position:center;    /* centraliza se sobrar espaço */
}

.feature-content{display:flex;flex-direction:column;gap:10px}
.feature-title{margin:0;color:var(--brand-dark);font-size:clamp(18px,2.4vw,26px);line-height:1.25}
.feature-excerpt{margin:0;color:#4a5568;font-size:clamp(14px,1.8vw,16px);line-height:1.55}

.btn-news{
  align-self:flex-start;
  background:var(--brand-teal);
  color:#fff;
  text-decoration:none;
  padding:10px 14px;
  border-radius:8px;
  font-weight:700;
  transition:filter .2s ease;
}
.btn-news:hover,.btn-news:focus{filter:brightness(.95)}
.btn-news:focus{outline:2px solid var(--brand-teal);outline-offset:2px}

@media (max-width: 900px){
  .feature-card{grid-template-columns:1fr;gap:14px}
  .feature-media{aspect-ratio:1/1}
}

/* ---------- PÁGINA SOBRE NÓS ---------- */
.section.pad{padding:28px 0}

/* títulos */
.h2{margin:0 0 12px 0;color:var(--brand-dark);font-size:clamp(20px,2.6vw,28px)}

/* parágrafo maior */
.big{font-size:clamp(16px,2vw,18px);line-height:1.6}

/* grid 2 colunas */
.split-2{
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap:20px;
}
@media (max-width: 900px){
  .split-2{grid-template-columns:1fr}
}

/* cartão claro à direita */
.card-muted{
  background:#fff;
  border:1px solid #e6ebf1;
  border-radius:10px;
  padding:16px;
  box-shadow:0 4px 14px rgba(0,0,0,.05);
}

/* listas */
.list-check{list-style:none;margin:0;padding:0}
.list-check li{position:relative;padding-left:26px;margin:10px 0}
.list-check li::before{
  content:"✔";
  position:absolute;left:0;top:0.05em;
  color:var(--brand-teal);font-weight:700;
}
.list-dash{margin:0;padding-left:18px}
.list-dash li{margin:8px 0}

/* cards de missão/visão/valores */
.cards-3{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:16px;
}
.cards-3 .card{
  background:#fff;border:1px solid #e6ebf1;border-radius:10px;padding:16px;
  box-shadow:0 4px 14px rgba(0,0,0,.05)
}
.card-title{margin:0 0 8px 0;font-size:clamp(18px,2vw,22px);color:var(--brand-dark)}
@media (max-width: 900px){
  .cards-3{grid-template-columns:1fr}
}

/* grid dos membros */
.team-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
@media (max-width: 900px){
  .team-grid{grid-template-columns: repeat(2,1fr)}
}
@media (max-width: 560px){
  .team-grid{grid-template-columns:1fr}
}
.team-card{
  background:#fff;border:1px solid #e6ebf1;border-radius:12px;padding:14px;
  text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.05)
}
.team-card img{
  width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:50%; /* deixa redondo */
  background:#f0f3f8
}
.team-card h3{margin:10px 0 4px 0;font-size:clamp(16px,2vw,18px);color:var(--brand-dark)}
.team-card .role{margin:0 0 8px 0;color:#6b7280;font-size:.95rem}
.team-card .link{
  display:inline-block;background:var(--brand-teal);color:#fff;text-decoration:none;
  padding:8px 12px;border-radius:8px;font-weight:700;transition:filter .2s ease
}
.team-card .link:hover,.team-card .link:focus{filter:brightness(.95)}

/* ===== FOOTER SIMPLES E DISCRETO ===== */
.site-footer {
  background: #f8f9fa;   /* Cinza bem claro */
  color: #555;           /* Texto suave */
  font-size: 0.8rem;     /* Texto menor */
  text-align: center;
  padding: 0.2rem 0;     /* Menos alto */
  border-top: 1px solid #ddd; /* Linha discreta no topo */
}
.site-footer p { margin: 0; line-height: 1.2; }
.site-footer span { font-weight: 500; color: #333; }

/* ===== Página: ANAIS ===== */
.anais-hero{ margin-top: 30px; }
.anais-hero .container{
  background: var(--brand-dark);
  color:#fff;
  padding: 14px 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  border-radius: 4px;
}
.anais-hero h1{
  margin:0;
  text-transform: uppercase;
  letter-spacing:.4px;
  font-weight:800;
  font-size: clamp(20px, 3vw, 32px);
}

.anais-body{padding:26px 0}
.anais-subtitle{
  margin:0 0 6px 0;
  color: var(--brand-dark);
  font-weight:700;
  font-size: clamp(16px, 2.2vw, 20px);
}
.anais-meta{ margin:0 0 18px 0; color:#4a5568; }

.anais-quicklinks{
  list-style:none;
  padding:0;
  margin: 18px 0 26px;
}
.anais-quicklinks li{ margin:8px 0; }
.anais-quicklinks a{
  text-transform: uppercase;
  text-decoration: none;
  color: var(--brand-dark);
  border-bottom: 1px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
.anais-quicklinks a:hover,
.anais-quicklinks a:focus{
  color: var(--brand-teal);
  border-bottom-color: var(--brand-teal);
  outline: none;
}

.anais-section-title{
  text-transform: uppercase;
  font-weight:800;
  color:#2d3748;
  margin: 28px 0 10px;
  font-size: clamp(16px, 2.4vw, 22px);
}

.anais-card{
  background: #eafcfc;
  border-left: 4px solid var(--brand-teal);
  padding: 14px 16px;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  margin-bottom: 14px;
}
.anais-year{ margin:0 0 6px 0; font-weight:700; color:#1f2937; }
.anais-theme{ margin:0; color:#374151; }
.anais-theme a{ color: var(--brand-teal); text-decoration: underline; }
.anais-theme a:hover, .anais-theme a:focus{ filter: brightness(.9); outline: none; }

/* responsivo */
@media (max-width: 600px){
  .anais-hero .container{padding:12px 16px}
  .anais-card{padding:12px}
}

/* ===== Footer fixo somente no desktop ===== */
@media (min-width: 992px) {
  html, body {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
  }
  .site-main { flex: 1; }
  .site-footer { margin-top: auto; }
}

/* ===== Footer sempre embaixo (apenas desktop) + compacto ===== */
@media (min-width: 992px) {
  html, body { height: 100%; margin: 0; display: flex; flex-direction: column; }
  .site-main { flex: 1; }
  .site-footer {
    margin-top: auto;
    padding: 0.25rem 0;
    font-size: 0.8rem;
  }
  .site-footer .container {
    padding: 0 !important;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* ===== Ajustes 'In Memoriam' e estrela do Geraldo ===== */
.team-card .in-memoriam{
  display:block;
  margin: -2px 0 10px 0;   /* aparece logo abaixo da role */
  color:#b91c1c;
  font-weight:600;
  font-size: 0.9rem;
}

/* contêiner da foto para suportar a estrela interna */
.team-card .avatar{
  position: relative;
  border-radius: 50%;
  overflow: hidden;        /* mantém a foto redonda e segura a estrela dentro */
  background:#f0f3f8;
}
.team-card .avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit: cover;
  aspect-ratio: 1/1;
}

/* Estrela no canto superior esquerdo (apenas no card do Geraldo) */
.team-card.geraldo .avatar .badge-star{
  position:absolute;
  top:8px;
  left:8px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  box-shadow:0 1px 3px rgba(0,0,0,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  color:#f59e0b;           /* dourado suave */
  pointer-events:none;     /* não interfere em cliques */
  z-index: 2;              /* garante que fique visível sobre a foto */
}
